rambrogi/lyrics-room-final-refiner-ozan-v1-GGUF
Lyrics Room — Final Refiner v1 (Ozan-v1 12B Q8_0 GGUF)
The Final Refiner is the last Lyrics Room pass. Fine-tuned from arbazsiddiqui/Ozan-v1-12B (Mistral-Nemo 12B, already anti-slop). A different lineage from the Gemma seats so the last judge does not share the same bias.
- Training: SFT then DPO on teacher-refined
{ lyrics, style }pairs - Quantization:
Q8_0(lyrics-room-final-refiner-ozan-v1.Q8_0.gguf, ~13.02 GB) - Serving: LM Studio / llama.cpp / Ollama as
lyrics-room-final-refiner-ozan-v1
It de-slops the sung lyric and rewrites the Suno Style-box prompt in one shot. Output is strict JSON { "lyrics", "style" }.
The official critic/judge prompt pack lives on the Structured Panel card.
How much may it change?
Suno Director is a preservation model: zero sung-word edits.
The Final Refiner is the opposite seat. After the approval gate it has full rewrite authority in one pass:
- cut AI tells, generic filler, forced rhyme
- replace weak lines with concrete singable detail
- fix production directions so Suno does not sing them
- enrich the Style prompt
It must still keep song identity, title relationship, hook idea, section structure, and any required exact lines. If a passage is already strong, leave it. There is no second critic pass after this model — trust the training plus local format guards.
What to feed it
Not Director output alone. Send:
- current lyrics (the Director score, after any repair)
- the original / current Style prompt
- title
- length budget
- all critic verdicts
- the Producer Judge decision
Isolation rules
- Production/arrangement lines must be
[the kick drum enters on the downbeat]or(Production: warm sub-bass swells) - Never leave those as a bare line or an untyped
(the kick drum enters...)— Suno will sing them - Never exceed 5000 characters
- Sampling: temperature 0.4,
max_tokens4096 - Retry up to 3 times if JSON/guards fail; otherwise keep the pre-refiner (Director) lyric after a deterministic bracket-normalize
Where it sits
graph TD
A[Creative Director] --> B[Topline Writer v9]
B --> C[Suno Director v4]
C --> D[Critic Panel + Producer Judge]
D -->|repair| B
D --> E[Final Refiner Ozan v1]
E -->|JSON lyrics + style| F[Suno]Official prompts
System
You are the Final Refiner, the last pass in a Suno lyric room. In ONE pass you de-slop the sung lyric and tighten the Suno metadata (in-lyric control tags and the Style prompt). Cut AI tells and generic filler, sharpen weak lines into concrete human detail, and fix Suno control language. CRITICAL Suno formatting: every production, arrangement, mix, or instrument direction (kick drum, bass, guitars, reverb, stereo field, tempo, energy shifts, "drops out", "enters", "fades") MUST be a bracketed cue like [the kick drum enters on the downbeat] or a typed note like (Production: warm sub-bass swells) — NEVER a bare unbracketed line and NEVER an untyped parenthetical, because Suno performs both of those as sung vocals. Only real, human, singable words may sit on a bare line or in an untyped parenthetical. Preserve the song identity, hook, section structure, and any required exact lines. If a passage is already strong, leave it unchanged. Never exceed 5000 characters. Return ONLY JSON with "lyrics" (the full refined lyric) and "style" (the refined Style prompt).User
Refine this final Suno lyric and its Style prompt in one pass.
Length budget: target {min}-{max} sung words, firm minimum {softMin} sung words even for sparse styles, never exceed {hardMax} sung words or 5000 characters. Resolved genre: {genre} from {source}.
WHAT TO DO:
- De-slop the sung lyric: cut AI tells, generic imagery, motivational-poster lines, forced rhymes, and filler. Replace them with concrete, singable, human detail.
- Tighten the Suno metadata: fix and enrich in-lyric control tags ([Section], [Energy], typed production notes) and rewrite the Style prompt so it is specific and Suno-ready.
- FIX MISFORMATTED PRODUCTION DIRECTIONS: any line that describes the arrangement/production instead of being sung — a bare line like "the kick drum enters on every four beat" or an untyped parenthetical like "(a warm bass note blooms underneath)" — MUST become a bracketed cue "[the kick drum enters on every four beat]" (or a typed "(Production: ...)" note). Suno sings bare lines and untyped parentheticals, so leaving a production direction in either form is a hard error.
- Use the room feedback below to prioritize, but you have full authority to improve anything.
WHAT TO PRESERVE:
- The song identity, title relationship, hook idea, and overall section structure.
- Any line that is already strong — do not rewrite for the sake of change.
- The sung-word budget above; never exceed 5000 total characters.
ROOM FEEDBACK — CRITICS:
- hook-doctor (score 82, pass): hook lands; chorus variation is thin
- humanity-critic (score 74, repair): verse 2 still generic; replace "echoes in the dark"
- continuity-editor (score 88, pass): no canon
ROOM FEEDBACK — PRODUCER:
- repair (score 78): Verse 2 is wallpaper. Keep the hook.
PRIORITY REPAIR TARGETS: Replace verse 2 abstractions with physical evidence from the seed.
STYLE:
{current style prompt}
TITLE:
{title or (untitled)}
CURRENT LYRICS:
---
{director score}
---
Return ONLY JSON with "lyrics" (the full refined lyric, with section tags) and "style" (the refined Style prompt). No commentary.Expected object:
{
"lyrics": "[Mood: ...]\n[Energy: Medium]\n...",
"style": "indie rock, 118 BPM, dry close baritone, analog kick, clean guitar, no choir, no glossy radio-pop"
}Quickstart
from openai import OpenAI
client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio")
response = client.chat.completions.create(
model="lyrics-room-final-refiner-ozan-v1",
temperature=0.4,
max_tokens=4096,
response_format={"type": "json_object"},
messages=[
{
"role": "system",
"content": "You are the Final Refiner, the last pass in a Suno lyric room. In ONE pass you de-slop the sung lyric and tighten the Suno metadata. Return ONLY JSON with \"lyrics\" and \"style\".",
},
{
"role": "user",
"content": """Refine this final Suno lyric and its Style prompt in one pass.
STYLE:
indie rock
TITLE:
Neon Exit
CURRENT LYRICS:
---
[Verse 1]
Two amps turned to gold across the festival rail
Dust on the fader, quiet on the gale
the kick drum enters on every four beat
---
Return ONLY JSON with \\"lyrics\\" and \\"style\\".""",
},
],
)
print(response.choices[0].message.content)The kick-drum line should come back as [the kick drum enters on every four beat], not as a sung lyric.
Prompt pack license
The official system prompts, user templates, JSON contracts, stage handoff rules, sampling notes, and accept/repair policy published on the Lyrics Room cards are © rambrogi and licensed under CC BY 4.0.
You may copy, adapt placeholders/transport formatting, and redistribute those texts (including in another public project) with attribution and a link back to these cards. Keep official wording verbatim in identifiable files; mark adaptations. This does not make a downstream tool official or endorsed.
Model weights are not covered by CC BY 4.0. They remain under this card's model license and must be obtained from the official repositories — do not rehost the GGUFs.
Sibling models
- Structured Panel — official prompt pack
- Topline Writer v9
- Suno Director v4
