{
  "prompt": "Genre: Alternative R&B with ambient pop and lo-fi hip-hop influences; BPM: 75; Key: F Major (with modal ambiguity); Rhythm: Slow, behind-the-beat trap groove with a deep, syncopated kick and skittering 16th-note hi-hats creating a laid-back but driving pocket syncopation.; Instruments: Washed-out Rhodes piano; close-mic'd felt hammers, hazy reverb. Deep 808 sub-kick; dry snap snare; skittering 16th hats. Subtle sine-wave sub; doubles piano root. Ambient, airy synth pads; slow attack/release. Pitched-up vocal chops; used as texture.; Vocals: Male tenor, shifting between relaxed singing and conversational rap-singing. intimate close-mic delivery with subtle, effect-driven pitch correction and occasional lush background vocal stacks.; Highlight: The abrupt transition where the main intimate vocal cuts out, replaced by a high-pitched, processed vocal melody that re-contextualizes the entire track's harmonic feel, creating a brain-scratching melodic hook.",
  "lyrics": "[intro]\n(Hook-DNA: Main keyboard motif is a four-chord loop with a simple, melancholic top-line melody; repeats every four bars; anchors on the tonic of Fmaj7.)\n(Inst: Washed-out Rhodes piano with heavy chorus/vibrato; solo.)\n(Mix: Wide stereo field. Prominent low-end warmth, slightly recessed low-mids for clarity. Silky, smooth high-end. Instruments sit in a lush, medium-decay plate reverb. Very dynamic, minimal bus compression.)\n\n[verse]\n(Vocal-Perf: Low-key, almost spoken-word delivery; close-mic'd with audible breath sounds.)\n(Melody-Rhythm: Vocal phrases start on the 'and' of beat 2, weaving around the sparse kick pattern.)\n(Melody-Contour: Primarily monadic with slight upward inflections at the end of lines.)\n(Chords: Fmaj7 - Gm7 - Am7 - Gm7)\n(Inst: Rhodes piano continues; a deep 808 sub-kick and crisp, dry snare enter, creating a sparse backbeat. Skittering 16th-note hi-hats provide forward momentum.)\nNew glass on the building, can’t see in\nThey just see the reflection, that ain’t him\nGot a ghost in the shell, got a twin in the mirror\nOne of us has to go when the sky gets clearer\nPaid cash for the silence, it’s expensive\nAll this space just to sit here and be pensive\nYeah, I built it all up from the concrete\nNow the echo in the hall is off-beat\n\n[chorus]\n(Vocal-Perf: Shifts to a smooth, melodic sung vocal; airy backing vocal layers enter, subtly panned.)\n(Hook-DNA: Core motif is a descending two-note phrase on “two ways”; repeats twice with identical rhythm; anchors on the 5th of the scale.)\n(Melody-Contour: Gentle arch shape, starts on the 5th, dips to the 2nd, resolves back to the 3rd.)\n(Melody-Harmonic-Tension: The first note of the main phrase creates a brief, pleasing dissonance (the 9th) over the root chord, resolving down by a step on the next beat.)\n(Chords: Fmaj7 - Gm7 - Am7 - Gm7)\n(Mix: Vocal layers widen the stereo image; snare has a touch more reverb.)\nI see it two ways, like a flat screen\nI live it two ways, a bad dream\nOne face for the light, one face for the dark night\nI see it two ways, yeah, in the sharp light\n\n[verse]\n(Vocal-Perf: Returns to the conversational, rhythmic flow of the first verse, slightly more energy.)\n(Melody-Rhythm: Tighter syncopation, more words per bar, pushing the beat slightly.)\n(Melody-Contour: Still relatively flat, but with more dynamic variation between soft and loud syllables.)\n(Inst: All elements from previous sections continue; a very subtle, low-passed synth pad with a slow attack floats underneath.)\nThey want the photograph, the clean version\nThe keynote speech from a new person\nThey don’t see the edits, the rough cuts\nThe nights spent wondering if I’ve had enough, but\nI give ‘em the smile, the white teeth\nLike my whole damn life’s on a coral reef\nSo pristine, so untouched by the pressure\nI’m a master of the game, I can’t do lesser\n\n[chorus]\n(Vocal-Perf: Stronger delivery than the first chorus; backing vocal harmonies are more prominent and complex.)\n(Hook-DNA: Core motif is a descending two-note phrase on “two ways”; repeats twice with identical rhythm; anchors on the 5th of the scale.)\n(Melody-Contour: Gentle arch shape, starts on the 5th, dips to the 2nd, resolves back to the 3rd.)\n(Melody-Harmonic-Tension: The first note of the main phrase creates a brief, pleasing dissonance (the 9th) over the root chord, resolving down by a step on the next beat.)\n(Chords: Fmaj7 - Gm7 - Am7 - Gm7)\n(Mix: Drums hit slightly harder with parallel compression; lead vocal has a short, syncopated slap delay.)\nI see it two ways, like a flat screen\nI live it two ways, a bad dream\nOne face for the light, one face for the dark night\nI see it two ways, yeah, in the sharp light\n\n[bridge]\n(Vocal-Perf: Shifts into an airy, intimate falsetto; delivery is legato and smooth.)\n(Melody-Harmonic-Tension: Melody floats over the changes, sustaining notes (the 7th and 9th) across bar lines, creating a dreamy, unresolved feeling that only settles on the final word.)\n(Chords: Dm7 - Gm7 - C7 - Fmaj7)\n(Inst: Drums drop out, leaving only the Rhodes and the washy synth pad. A reversed piano swell transitions into the section.)\nIs this the real life?\nIs this just vapor on the cold glass tonight?\nIf it all fades away\nWho’s gonna stay?\n\n[outro]\n(Vocal-Perf: Main vocal drops out completely. A new, high-pitched and heavily processed vocal sample becomes the lead instrument.)\n(Hook-DNA: The pitched-up vocal sample sings a simple, repetitive 4-note motif that cycles over the chord progression, creating an earworm hook.)\n(Inst: Drums re-enter with the same sparse pattern. Rhodes and pads continue as the track slowly fades out over 8 bars.)\n(Mix: A low-pass filter is slowly applied to the entire mix, making it sound distant as it fades.)\n(pitched vocal melody)\nTwo ways… two ways…\nIn the sharp light… sharp light…\n",
  "song_id": "04_Chanel_20260412",
  "_meta": {
    "provider": "google",
    "model": "gemini-2.5-pro",
    "usage": {
      "prompt_tokens": 10304,
      "completion_tokens": 1733,
      "total_tokens": 15245
    },
    "generated_at": "2026-04-12T17:23:37.999882+08:00"
  },
  "_prompt_compressed": {
    "from": 1456,
    "to": 964
  }
}