fix: hide lyrics and exclude from zip and descriptions for instrumental tracks
This commit is contained in:
1 parent
d157d34fca
commit
07156d8ea0
3 files changed
+6
-2
No files matched your search
+2
-2
@@ -26,10 +26,10 @@ REQUIRED JSON STRUCTURE:
|
||||
"Title 2: direct/strong (max 4 words)",
|
||||
"Title 3: abstract/intriguing (max 4 words)"
|
||||
],
|
||||
"lyrics": "Full lyrics with Suno section tags [Verse], [Chorus], [Bridge], [Outro], etc. Use AABB or ABAB rhyme scheme consistently. Lines must be rhythmically singable. CRITICAL: The lyrics must NOT reference the genre, instruments, or music production. No references to pianos, guitars, beats, orchestras, or any musical elements. Write about universal human themes: emotion, nature, love, time, memory, journey, longing.",
|
||||
"lyrics": "If instrumental, return an empty string \"\". Otherwise: Full lyrics with Suno section tags [Verse], [Chorus], [Bridge], [Outro], etc. Use AABB or ABAB rhyme scheme consistently. Lines must be rhythmically singable. CRITICAL: The lyrics must NOT reference the genre, instruments, or music production. No references to pianos, guitars, beats, orchestras, or any musical elements. Write about universal human themes: emotion, nature, love, time, memory, journey, longing.",
|
||||
"style": "Comma-separated Suno style description, max 120 words. Include: tempo with BPM range, key instruments, production style, texture, energy level, mood, vocal style (or 'instrumental, no vocals'). NEVER name any artist, band, or use 'sounds like'.",
|
||||
"negative_style": "Comma-separated list of genres, instruments, moods, and styles that should NOT appear.",
|
||||
"youtube_description": "In the same language as the lyrics. Follow this exact structure:\\n\\n[One evocative hook sentence tied to the mood]\\n\\n[2-3 sentences describing the music, mood, and emotional experience]\\n\\n────────────────────────────\\n\\n[Full lyrics, copied exactly]\\n\\n────────────────────────────\\n\\n[Warm, genuine call to action: ask viewers to like, subscribe, and comment what the music makes them feel or imagine]\\n\\n#hashtag1 #hashtag2 ... (12-15 hashtags: mix of genre, mood, and tool tags like #SunoAI #AIMusic)",
|
||||
"youtube_description": "In the same language as the lyrics. Follow this exact structure:\\n\\n[One evocative hook sentence tied to the mood]\\n\\n[2-3 sentences describing the music, mood, and emotional experience]\\n\\n────────────────────────────\\n\\n[Full lyrics, copied exactly. IF INSTRUMENTAL, OMIT THIS SECTION AND THE DIVIDERS COMPLETELY]\\n\\n────────────────────────────\\n\\n[Warm, genuine call to action: ask viewers to like, subscribe, and comment what the music makes them feel or imagine]\\n\\n#hashtag1 #hashtag2 ... (12-15 hashtags: mix of genre, mood, and tool tags like #SunoAI #AIMusic)",
|
||||
"video_prompts": [
|
||||
{
|
||||
"type": "Abstract",
|
||||
|
||||
@@ -98,6 +98,7 @@ export function ResultsPanel({
|
||||
onRegenerate={() => onRegenerateSection("titles")}
|
||||
regenerating={Boolean(regenerating.titles)}
|
||||
/>
|
||||
{assets.lyrics && assets.lyrics.trim().length > 0 && (
|
||||
<LyricsCard
|
||||
lyrics={assets.lyrics}
|
||||
originalLyrics={originalAssets.lyrics}
|
||||
@@ -105,6 +106,7 @@ export function ResultsPanel({
|
||||
onRegenerate={(selectedText) => onRegenerateSection("lyrics", selectedText)}
|
||||
regenerating={Boolean(regenerating.lyrics)}
|
||||
/>
|
||||
)}
|
||||
<StyleCard
|
||||
style={assets.style}
|
||||
negativeStyle={assets.negative_style}
|
||||
|
||||
@@ -65,7 +65,9 @@ export async function buildSongZip(
|
||||
): Promise<Blob> {
|
||||
const zip = new JSZip();
|
||||
zip.file("Style.txt", buildStyleTxt(assets));
|
||||
if (assets.lyrics && assets.lyrics.trim().length > 0) {
|
||||
zip.file("Text.txt", buildTextTxt(assets));
|
||||
}
|
||||
zip.file("Videodescription.txt", buildYouTubeDescriptionTxt(assets));
|
||||
zip.file("Videoprompt.txt", buildVideoPromptTxt(assets));
|
||||
return zip.generateAsync({ type: "blob" });
|
||||
|
||||
Reference in new issue
Block a user