Views
No views yet
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.{ lyrics, style } pairsQ8_0 (lyrics-room-final-refiner-ozan-v1.Q8_0.gguf, ~13.02 GB)lyrics-room-final-refiner-ozan-v1{ "lyrics", "style" }.[the kick drum enters on the downbeat] or (Production: warm sub-bass swells)(the kick drum enters...) — Suno will sing themmax_tokens 40961graph TD
2 A[Creative Director] --> B[Topline Writer v9]
3 B --> C[Suno Director v4]
4 C --> D[Critic Panel + Producer Judge]
5 D -->|repair| B
6 D --> E[Final Refiner Ozan v1]
7 E -->|JSON lyrics + style| F[Suno]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).1Refine this final Suno lyric and its Style prompt in one pass.
2
3Length 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}.
4
5WHAT TO DO:
6- De-slop the sung lyric: cut AI tells, generic imagery, motivational-poster lines, forced rhymes, and filler. Replace them with concrete, singable, human detail.
7- 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.
8- 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.
9- Use the room feedback below to prioritize, but you have full authority to improve anything.
10
11WHAT TO PRESERVE:
12- The song identity, title relationship, hook idea, and overall section structure.
13- Any line that is already strong — do not rewrite for the sake of change.
14- The sung-word budget above; never exceed 5000 total characters.
15
16ROOM FEEDBACK — CRITICS:
17- hook-doctor (score 82, pass): hook lands; chorus variation is thin
18- humanity-critic (score 74, repair): verse 2 still generic; replace "echoes in the dark"
19- continuity-editor (score 88, pass): no canon
20
21ROOM FEEDBACK — PRODUCER:
22- repair (score 78): Verse 2 is wallpaper. Keep the hook.
23PRIORITY REPAIR TARGETS: Replace verse 2 abstractions with physical evidence from the seed.
24
25STYLE:
26{current style prompt}
27
28TITLE:
29{title or (untitled)}
30
31CURRENT LYRICS:
32---
33{director score}
34---
35
36Return ONLY JSON with "lyrics" (the full refined lyric, with section tags) and "style" (the refined Style prompt). No commentary.1{
2 "lyrics": "[Mood: ...]\n[Energy: Medium]\n...",
3 "style": "indie rock, 118 BPM, dry close baritone, analog kick, clean guitar, no choir, no glossy radio-pop"
4}1from openai import OpenAI
2
3client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio")
4
5response = client.chat.completions.create(
6 model="lyrics-room-final-refiner-ozan-v1",
7 temperature=0.4,
8 max_tokens=4096,
9 response_format={"type": "json_object"},
10 messages=[
11 {
12 "role": "system",
13 "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\".",
14 },
15 {
16 "role": "user",
17 "content": """Refine this final Suno lyric and its Style prompt in one pass.
18
19STYLE:
20indie rock
21
22TITLE:
23Neon Exit
24
25CURRENT LYRICS:
26---
27[Verse 1]
28Two amps turned to gold across the festival rail
29Dust on the fader, quiet on the gale
30the kick drum enters on every four beat
31---
32
33Return ONLY JSON with \\"lyrics\\" and \\"style\\".""",
34 },
35 ],
36)
37print(response.choices[0].message.content)[the kick drum enters on every four beat], not as a sung lyric.