{
  "id": "pl-001",
  "slug": "late-night-rain-driver",
  "title": "Late Night Rain Driver",
  "status": "ready",
  "lyricLanguage": "Korean",
  "genre": "",
  "vibe": "",
  "emotion": "",
  "weatherSelection": "",
  "tempo": "",
  "instruments": [],
  "vocalStyle": "",
  "extraNotes": "",
  "country": "South Korea",
  "mood": "Melancholic but moving forward",
  "season": "Spring",
  "weather": "Rain",
  "trackCount": 10,
  "language": "Korean and English refrain",
  "visualStyle": "Moody anime city realism",
  "seoFocus": "rainy drive playlist, korean night playlist",
  "promptBuildRequest": "",
  "createdByIp": "",
  "isDeleted": false,
  "deletedAt": "",
  "updatedAt": "2026-04-06",
  "summary": "A 10-track midnight drive concept tuned for Korean listeners who want rain, city glow, and emotional lift.",
  "concept": "A rain-soaked city playlist that opens in private reflection, warms in the middle stretch, and leaves a clear emotional lift before the final fade.",
  "titleOptions": [
    "late night rain driver",
    "spring city lights on wet asphalt",
    "the bus window after midnight"
  ],
  "visualDirection": "Anime-inspired city realism with reflective pavement, bus-stop glow, and negative space for cover text.",
  "coverImagePrompt": "neon avenue reflections, rainy spring palette, cinematic playlist background, no text, emotional still frame",
  "thumbnailImagePrompt": "rainy bus-stop glow with orange headline contrast, spring night palette, strong title-safe empty area, one focal subject",
  "visualNegativePrompt": "watermark, logo, text, extra limbs, distorted hands, blurry face, cluttered composition",
  "exportPackage": [
    "Track blueprint sheet",
    "Lyrics draft pack",
    "Suno prompt pack",
    "Background image prompt pack",
    "Thumbnail copy set",
    "YouTube publishing notes",
    "YouTube upload pack",
    "Upload manifest JSON",
    "Uploader handoff guide",
    "Upload readiness report",
    "JSON export"
  ],
  "tracks": [
    {
      "index": 1,
      "title": "Tail Lights in the Drizzle",
      "titleKo": "",
      "role": "Cold open and mood lock",
      "mood": "Quiet, reflective",
      "reviewStatus": "approved",
      "reviewNotes": [
        "도입부 분위기 유지가 좋음",
        "가사 훅은 현재 버전 유지"
      ],
      "lyricsHook": "Street lamps blur like thoughts I almost keep.",
      "stylePrompt": "dreamy lo-fi pop, airy female vocal, wet-road ambience",
      "stylePromptKo": "",
      "visualCue": "expressway railing, distant brake lights, rain on glass",
      "lyricsDraft": [
        "Tail lights drag across the rain like memories I almost answer.",
        "The city keeps moving, so I let the ache move too.",
        "This verse should feel private, late, and almost whispered.",
        "Make the hook repeat like a windshield rhythm."
      ],
      "lyricsKo": "",
      "sunoPrompt": "dreamy lo-fi pop, airy female vocal, rainy spring mood, wet-road ambience, emotional late-night city warmth, clean hook, polished stereo width",
      "imagePrompt": "expressway railing, distant brake lights, rain on glass, cinematic playlist background, no text, soft depth",
      "imagePromptKo": ""
    },
    {
      "index": 2,
      "title": "Signal Turns Amber",
      "titleKo": "",
      "role": "Gentle rise",
      "mood": "Cautious hope",
      "reviewStatus": "reviewing",
      "reviewNotes": [
        "후렴 한 줄을 더 짧게 다듬을 필요 있음"
      ],
      "lyricsHook": "The city says wait, my heart says keep going.",
      "stylePrompt": "chill synth pop, warm bass, restrained drums",
      "stylePromptKo": "",
      "visualCue": "amber traffic light, side window glow, blurred storefronts",
      "lyricsDraft": [
        "An amber light holds the city still for one forgiving second.",
        "I thought stopping would hurt, but it just made room for breath.",
        "This section should move from tension to a warmer pulse.",
        "Keep the chorus easy to sing in one short phrase."
      ],
      "lyricsKo": "",
      "sunoPrompt": "chill synth pop, warm bass, restrained drums, emotional late-night city warmth, amber light imagery, gentle rise, polished chorus",
      "imagePrompt": "amber traffic light, side window glow, blurred storefronts, rainy spring city palette, title-safe negative space",
      "imagePromptKo": ""
    },
    {
      "index": 3,
      "title": "Underpass Bloom",
      "titleKo": "",
      "role": "Energy bloom",
      "mood": "Romantic momentum",
      "reviewStatus": "upload_ready",
      "reviewNotes": [
        "현재 버전으로 업로드 패키지에 포함 가능"
      ],
      "lyricsHook": "Even concrete learns how to echo spring.",
      "stylePrompt": "midtempo pop, soft kick, glossy chorus pads",
      "stylePromptKo": "",
      "visualCue": "underpass flowers, neon reflections, mist",
      "lyricsDraft": [
        "Even under concrete, something small keeps choosing bloom.",
        "The road feels lighter once the heart stops bracing.",
        "This is where the playlist should open emotionally.",
        "Let the hook feel hopeful without losing the night."
      ],
      "lyricsKo": "",
      "sunoPrompt": "midtempo pop, soft kick, glossy chorus pads, romantic momentum, rainy spring night, emotional release, clean female topline",
      "imagePrompt": "underpass flowers, neon reflections, mist, cinematic playlist art, no text, spring rain glow",
      "imagePromptKo": ""
    },
    {
      "index": 4,
      "title": "Midnight After Rain Rain Driver",
      "titleKo": "",
      "role": "Momentum lift",
      "mood": "Melancholic but moving forward · phase 4",
      "reviewStatus": "draft",
      "reviewNotes": [],
      "lyricsHook": "In the rain air, melancholic but moving forward turns into motion instead of staying still.",
      "stylePrompt": "dreamy pop and lo-fi synth textures, emotional late-night city warmth, rain spring neon avenue reflections, track 4 with a steady emotional arc",
      "stylePromptKo": "",
      "visualCue": "neon avenue reflections, rain atmosphere, spring texture",
      "lyricsDraft": [
        "Midnight After Rain Rain Driver opens with rain on the glass and melancholic but moving forward in the chest.",
        "The spring night keeps moving, so the heart decides not to stay still.",
        "This section should feel like momentum lift instead of a full confession.",
        "Write the chorus in korean and english refrain with one easy-to-repeat emotional phrase."
      ],
      "lyricsKo": "",
      "sunoPrompt": "dreamy pop and lo-fi synth textures, emotional late-night city warmth, rain spring mood, rain spring neon avenue reflections, momentum lift, korean and english refrain lyric direction, track 4 titled \"Midnight After Rain Rain Driver\", clean hook, emotional chorus, polished stereo width",
      "imagePrompt": "neon avenue reflections, rain atmosphere, spring color grading, momentum lift energy, visual inspired by \"Midnight After Rain Rain Driver\", cinematic composition, no text, soft depth, YouTube playlist background",
      "imagePromptKo": ""
    },
    {
      "index": 5,
      "title": "Spring City Wet Asphalt",
      "titleKo": "",
      "role": "Centerpiece hook",
      "mood": "Melancholic but moving forward · phase 5",
      "reviewStatus": "draft",
      "reviewNotes": [],
      "lyricsHook": "In the rain air, melancholic but moving forward turns into motion instead of staying still.",
      "stylePrompt": "dreamy pop and lo-fi synth textures, emotional late-night city warmth, rain spring neon avenue reflections, track 5 with a steady emotional arc",
      "stylePromptKo": "",
      "visualCue": "neon avenue reflections, rain atmosphere, spring texture",
      "lyricsDraft": [
        "Spring City Wet Asphalt opens with rain on the glass and melancholic but moving forward in the chest.",
        "The spring night keeps moving, so the heart decides not to stay still.",
        "This section should feel like centerpiece hook instead of a full confession.",
        "Write the chorus in korean and english refrain with one easy-to-repeat emotional phrase."
      ],
      "lyricsKo": "",
      "sunoPrompt": "dreamy pop and lo-fi synth textures, emotional late-night city warmth, rain spring mood, rain spring neon avenue reflections, centerpiece hook, korean and english refrain lyric direction, track 5 titled \"Spring City Wet Asphalt\", clean hook, emotional chorus, polished stereo width",
      "imagePrompt": "neon avenue reflections, rain atmosphere, spring color grading, centerpiece hook energy, visual inspired by \"Spring City Wet Asphalt\", cinematic composition, no text, soft depth, YouTube playlist background",
      "imagePromptKo": ""
    }
  ],
  "publishingPack": {
    "videoTitle": "late night rain driver playlist for spring city nights",
    "description": "A moody Korean-inspired playlist built for rainy spring drives, bus windows, and the hour when the city finally quiets down.",
    "chapters": [
      "00:00 Tail Lights in the Drizzle",
      "03:12 Signal Turns Amber",
      "06:28 Underpass Bloom"
    ],
    "tags": [
      "rainy night playlist",
      "spring drive music",
      "korean mood playlist"
    ],
    "thumbnailCopy": [
      "PlayList",
      "Rainy Spring Drive",
      "City Lights Stay Warm"
    ],
    "playlistName": "Night Drive Mood",
    "generationFeedback": [],
    "uploadNotes": [
      "Keep the first line emotionally concrete.",
      "Use the subtitle on the thumbnail, not the full title.",
      "Place in the Night Drive Mood channel playlist."
    ]
  },
  "seoPack": {
    "primaryKeyword": "rainy drive playlist",
    "secondaryKeywords": [
      "spring drive music",
      "korean mood playlist"
    ],
    "introHook": "Built for Korean listeners chasing emotional lift through rainy spring city scenes.",
    "pinnedComment": "If this playlist fits tonight, tell me which track should become the next full upload.",
    "checklist": [
      "Keep the main keyword in the first line of the description.",
      "Use only one short overlay line on the thumbnail.",
      "Match the title tone to the first visual impression.",
      "Keep chapters updated after final track order is locked."
    ],
    "titleScorecards": [
      {
        "title": "late night rain driver",
        "clarity": 9,
        "emotion": 9,
        "searchFit": 8
      },
      {
        "title": "spring city lights on wet asphalt",
        "clarity": 7,
        "emotion": 8,
        "searchFit": 7
      },
      {
        "title": "the bus window after midnight",
        "clarity": 8,
        "emotion": 9,
        "searchFit": 6
      }
    ]
  },
  "youtubePack": {
    "visibility": "scheduled",
    "scheduledAt": "2026-03-28T21:00",
    "defaultLanguage": "ko",
    "category": "Music",
    "audience": "general",
    "titleVariants": [
      "late night rain driver playlist for spring city nights",
      "rainy spring drive playlist for midnight city lights",
      "korean rainy night playlist for late drives"
    ],
    "descriptionVariants": [
      "A moody Korean-inspired playlist built for rainy spring drives, bus windows, and the hour when the city finally quiets down.",
      "Built for rainy city nights, late buses, and the kind of drive that keeps your thoughts moving."
    ],
    "pinnedCommentVariants": [
      "오늘 밤 가장 마음에 남는 트랙 제목을 댓글로 남겨주세요.",
      "다음 업로드에서 이어졌으면 하는 무드를 알려주세요."
    ],
    "targetPlaylists": [
      "Night Drive Mood",
      "Korea Mood Series"
    ],
    "localizations": [
      {
        "locale": "ko",
        "title": "late night rain driver playlist for spring city nights",
        "description": "A moody Korean-inspired playlist built for rainy spring drives, bus windows, and the hour when the city finally quiets down.",
        "pinnedComment": "오늘 밤 가장 마음에 남는 트랙 제목을 댓글로 남겨주세요."
      },
      {
        "locale": "en",
        "title": "rainy spring drive playlist for midnight city lights",
        "description": "Built for rainy city nights, late buses, and the kind of drive that keeps your thoughts moving.",
        "pinnedComment": "Tell me which track should become the next upload."
      }
    ]
  },
  "localUploaderPack": {
    "manifestVersion": "1.1.0",
    "uploaderProfile": "manual_local",
    "mediaFilePath": "D:/media/late-night-rain-driver.mp4",
    "thumbnailFilePath": "D:/media/late-night-rain-driver.png",
    "outputDirectory": "D:\\SMD\\project\\codex_test\\suno-helper\\samples\\dry-run-output",
    "resultFilePath": "D:\\SMD\\project\\codex_test\\suno-helper\\samples\\dry-run-output\\late-night-rain-driver-upload-result.json",
    "resultFormat": "simple_json",
    "playlistBindings": [
      {
        "playlistName": "Night Drive Mood",
        "playlistId": "PL_NIGHT_DRIVE_MOOD"
      },
      {
        "playlistName": "Korea Mood Series",
        "playlistId": ""
      }
    ],
    "notes": [
      "업로드 전 최종 videoId 기록 필요"
    ]
  },
  "uploadChecklist": [
    {
      "key": "tracks_reviewed",
      "label": "트랙 검수 완료",
      "done": false,
      "notes": [
        "2번 트랙 검수 마무리 필요"
      ]
    },
    {
      "key": "thumbnail_ready",
      "label": "썸네일 확정",
      "done": true,
      "notes": [
        "Rainy Spring Drive 시안 채택"
      ]
    },
    {
      "key": "metadata_ready",
      "label": "메타데이터 확정",
      "done": true,
      "notes": [
        "제목과 설명 1차 확정"
      ]
    },
    {
      "key": "package_exported",
      "label": "패키지 export 완료",
      "done": true,
      "notes": [
        "Markdown/JSON export 확인 완료"
      ]
    },
    {
      "key": "local_edit_ready",
      "label": "로컬 편집 완료",
      "done": false,
      "notes": [
        "최종 영상 합본 전"
      ]
    },
    {
      "key": "upload_ready",
      "label": "업로드 준비 완료",
      "done": false,
      "notes": [
        "검수와 편집 완료 후 체크"
      ]
    }
  ],
  "uploadResult": {
    "status": "uploaded",
    "videoId": "yt_abc123rain",
    "videoUrl": "https://www.youtube.com/watch?v=yt_abc123rain",
    "uploadedAt": "2026-03-28T20:52",
    "publishedAt": "",
    "lastError": "",
    "lastSyncNote": "업로드 완료, 예약 발행 대기 중",
    "importedFrom": "D:/media/uploads/late-night-rain-driver-upload-result.json",
    "lastImportedAt": "2026-03-28T20:53:00.000Z",
    "logs": [
      {
        "at": "2026-03-28T20:50:00.000Z",
        "status": "uploading",
        "message": "영상 업로드 시작"
      },
      {
        "at": "2026-03-28T20:52:00.000Z",
        "status": "uploaded",
        "message": "videoId 발급 및 썸네일 업로드 완료"
      }
    ]
  },
  "createdAt": "2026-04-06T13:11:40.954Z"
}