Nodes/SongBloom_ComfyUI/SongBloom Lyric Generator
ComfyUI Node

SongBloom Lyric Generator

The node that writes your lyrics (DeepSeek or templates), pre-formatted for SongBloom

By xuchenxu168·Created 12 months ago·Updated 10 months ago· 15
SongBloom Lyric Generator
    • generated_lyrics
    text_prompt写一首关于青春回忆的歌曲,包含对过去美好时光的怀念和对未来的憧憬
    stylepop
    moodnostalgic
    languagechinese
    structurestandard
    lengthmedium
    format_styletraditional
    use_deepseektrue
    deepseek_api_key
    deepseek_modelDeepSeek-V3
    deepseek_system_prompt## 角色设定 (System Role): 你是一名专业的歌词专家。你的任务是根据提示词,谱写一首非常专业的精湛的歌词,歌词要丰富多彩,情真意切。 ## 任务说明 (User Instruction): 请仔细观察提供的歌词提示内容,并谱写一段详细、具体、富有创造性的符合歌词格式的高质量歌词, ## 输出要求 (Output Requirements): ** **语言**: 严格使用中文。 ** **格式**: 严格按照下面示例格式谱写歌词,严格按照格式,不要分段。 ## 只生成歌词,无任何其它的词 歌词严格按照下面的格式: [intro] [intro] [intro] [intro] [intro] [intro] [intro] [intro] [intro] [intro] , [verse] 高质量音频生成测试. 使用优化参数设置. CFG系数提高到三点零. 步数增加到一百步 , [chorus] 清晰的音质表现. 丰富的音乐细节. 每个音符都精准. 高保真音频体验 , [inst] [inst] [inst] [inst] [inst] [inst] [inst] [inst] [inst] [inst] [inst] [inst] , [verse] 降低随机性参数. 提高生成稳定性. 更长的推理时间. 换来更好的质量 , [bridge] 当音乐响起的时候. 每一个细节都清晰. 从低音到高音频段. 都有完美的表现 , [chorus] 清晰的音质表现. 丰富的音乐细节. 每个音符都精准. 高保真音频体验 , [outro] [outro] [outro] [outro] [outro] [outro] [outro] [outro] [outro] [outro] [outro]
    custom_tags
    theme_keywords
    user_requirements
    rhyme_schemenone
    line_lengthmedium
    repetition_stylemoderate
    emotional_intensitymedium
    target_audiencegeneral

    Most people don't want to hand-write SongBloom's tag format - they want to describe a song and have the lyrics appear. That's this node. You give it a prompt ("write a nostalgic song about youth"), a style, a mood, a language, and it returns ready-to-sing lyrics with all the [verse] / [chorus] / [intro] structure already in place.

    The interesting bit is that it has two entirely different brains, and you should know which one you're using. By default use_deepseek is on: it builds a system prompt from your style/mood/language choices and sends the request to DeepSeek's API, then runs the result through format cleanup and validation. That's the quality path - a real LLM writing real lyrics. But it needs an API key, which is where people stall. Flip use_deepseek off and it falls back to a built-in template assembler: it picks section-by-section fill-in lines from a local library keyed to your language and style. No network, no key, no cost - and the lyrics are predictable and generic, because that's what template generators are.

    Inputs that matter

    The required row is all vibe-setting:

    • text_prompt - what the song is about.
    • style - 12 options (pop, rock, ballad, folk, electronic, jazz, classical, hip-hop, country, blues, r&b, reggae).
    • mood - 12 options (happy, sad, nostalgic, energetic, peaceful, romantic, melancholic, angry, hopeful, mysterious, dramatic, playful).
    • language - chinese, english, mixed, japanese, korean, spanish, french.
    • structure - simple / standard / complex / custom.
    • length - short → very_long.
    • format_style - traditional / modern / minimal / detailed (author's tooltip: "lyric format style").

    The optional row is where the DeepSeek config lives - use_deepseek, deepseek_api_key, deepseek_model (only DeepSeek-V3, internally mapped to deepseek-chat), deepseek_system_prompt (the default is a full Chinese prompt instructing strict format output - you can override it), plus custom_tags, theme_keywords, user_requirements, rhyme_scheme, line_length, repetition_style, emotional_intensity, and target_audience. The tooltips on those are the author's own descriptions - rhyme patterns like aabb/abab, target audience, etc. The extra tuning fields mostly matter when DeepSeek is on, since they get folded into the context.

    Output is a single generated_lyrics (STRING) - ready for SongBloomLyricProcessor or straight into the generator.

    The API key question

    DeepSeek keys are resolved in a priority order: node input → DEEPSEEK_API_KEY env var → DeepseekAP-config.json in the pack root → deepseek.api_key in config.yaml. If no key is found anywhere, the DeepSeek path returns the raw prompt with a message saying so. For $5-ish you'll get a long way on DeepSeek-chat, but note the obvious: this is a paid external API bolted onto a local-generation pack, so it inherits every downside - you need network, you're sending lyrics to a third party, and a 400/401 usually means a bad key.

    Install

    Same pack install: search "SongBloom_ComfyUI" in Manager, or

    cd ComfyUI/custom_nodes
    git clone https://github.com/xuchenxu168/SongBloom_ComfyUI
    cd SongBloom_ComfyUI
    pip install -r requirements.txt
    

    Restart, and the node is under SongBloom/Lyrics. If your songs keep coming out garbled, remember the English-vs-Chinese bias in the model itself - the lyrics this node writes may be flawless while SongBloom still sings them wrong.

    CategorySongBloom/Lyrics

    Inputs (19)

    NameTypeDefaultDescription
    text_promptSTRING写一首关于青春回忆的歌曲,包含对过去美好时光的怀念和对未来的憧憬
    styleCOMBOpop12 options: pop, rock, ballad, folk, electronic, jazz, +6
    moodCOMBOnostalgic12 options: happy, sad, nostalgic, energetic, peaceful, romantic, +6
    languageCOMBOchinese7 options: chinese, english, mixed, japanese, korean, spanish, +1
    structureCOMBOstandard4 options: simple, standard, complex, custom
    lengthCOMBOmedium4 options: short, medium, long, very_long
    format_styleCOMBOtraditional歌词格式风格:traditional/modern/minimal/detailed
    use_deepseekoptBOOLEANtrue
    deepseek_api_keyoptSTRING
    deepseek_modeloptCOMBODeepSeek-V31 options: DeepSeek-V3
    deepseek_system_promptoptSTRING## 角色设定 (System Role): 你是一名专业的歌词专家。你的任务是根据提示词,谱写一首非常专业的精湛的歌词,歌词要丰富多彩,情真意切。 ## 任务说明 (User Instruction): 请仔细观察提供的歌词提示内容,并谱写一段详细、具体、富有创造性的符合歌词格式的高质量歌词, ## 输出要求 (Output Requirements): ** **语言**: 严格使用中文。 ** **格式**: 严格按照下面示例格式谱写歌词,严格按照格式,不要分段。 ## 只生成歌词,无任何其它的词 歌词严格按照下面的格式: [intro] [intro] [intro] [intro] [intro] [intro] [intro] [intro] [intro] [intro] , [verse] 高质量音频生成测试. 使用优化参数设置. CFG系数提高到三点零. 步数增加到一百步 , [chorus] 清晰的音质表现. 丰富的音乐细节. 每个音符都精准. 高保真音频体验 , [inst] [inst] [inst] [inst] [inst] [inst] [inst] [inst] [inst] [inst] [inst] [inst] , [verse] 降低随机性参数. 提高生成稳定性. 更长的推理时间. 换来更好的质量 , [bridge] 当音乐响起的时候. 每一个细节都清晰. 从低音到高音频段. 都有完美的表现 , [chorus] 清晰的音质表现. 丰富的音乐细节. 每个音符都精准. 高保真音频体验 , [outro] [outro] [outro] [outro] [outro] [outro] [outro] [outro] [outro] [outro] [outro]
    custom_tagsoptSTRING自定义标签,用逗号分隔,如:intro,verse,chorus,bridge,outro
    theme_keywordsoptSTRING主题关键词,用逗号分隔
    user_requirementsoptSTRING用户特殊要求,如:每行字数限制/押韵要求/特定词汇等
    rhyme_schemeoptCOMBOnone押韵模式
    line_lengthoptCOMBOmedium每行长度
    repetition_styleoptCOMBOmoderate重复风格
    emotional_intensityoptCOMBOmedium情感强度
    target_audienceoptCOMBOgeneral目标受众

    Outputs (1)

    NameTypeDescription
    generated_lyricsSTRING