{
  "config": {},
  "extra": {
    "ds": {
      "offset": [
        1918.3678048823076,
        692.1061578009367
      ],
      "scale": 0.4754752846922799
    },
    "frontendVersion": "1.45.20"
  },
  "groups": [],
  "id": "6d029989-7e4b-4077-acb4-e5c45eec2b1d",
  "last_link_id": 4,
  "last_node_id": 6,
  "links": [
    [
      2,
      3,
      0,
      4,
      0,
      "AUDIO"
    ],
    [
      4,
      6,
      0,
      3,
      2,
      "IMAGE"
    ]
  ],
  "nodes": [
    {
      "bgcolor": "#653",
      "color": "#432",
      "flags": {},
      "id": 3,
      "inputs": [
        {
          "link": null,
          "localized_name": "text_prompt",
          "name": "text_prompt",
          "type": "STRING",
          "widget": {
            "name": "text_prompt"
          }
        },
        {
          "link": null,
          "localized_name": "reference_mode",
          "name": "reference_mode",
          "type": "COMFY_DYNAMICCOMBO_V3",
          "widget": {
            "name": "reference_mode"
          }
        },
        {
          "label": "reference_image",
          "link": 4,
          "localized_name": "reference_mode.reference_image",
          "name": "reference_mode.reference_image",
          "shape": 7,
          "type": "IMAGE"
        },
        {
          "link": null,
          "localized_name": "sample_rate",
          "name": "sample_rate",
          "type": "COMBO",
          "widget": {
            "name": "sample_rate"
          }
        },
        {
          "link": null,
          "localized_name": "speech_rate",
          "name": "speech_rate",
          "type": "INT",
          "widget": {
            "name": "speech_rate"
          }
        },
        {
          "link": null,
          "localized_name": "loudness_rate",
          "name": "loudness_rate",
          "type": "INT",
          "widget": {
            "name": "loudness_rate"
          }
        },
        {
          "link": null,
          "localized_name": "pitch_rate",
          "name": "pitch_rate",
          "type": "INT",
          "widget": {
            "name": "pitch_rate"
          }
        },
        {
          "link": null,
          "localized_name": "seed",
          "name": "seed",
          "type": "INT",
          "widget": {
            "name": "seed"
          }
        }
      ],
      "mode": 0,
      "order": 2,
      "outputs": [
        {
          "links": [
            2
          ],
          "localized_name": "AUDIO",
          "name": "AUDIO",
          "type": "AUDIO"
        }
      ],
      "pos": [
        -243.23859960711826,
        -386.98716660616896
      ],
      "properties": {
        "Node name for S&R": "ByteDanceSeedAudio"
      },
      "size": [
        519.984375,
        308
      ],
      "type": "ByteDanceSeedAudio",
      "widgets_values": [
        "[Environment: quiet dreamlike garden at dusk, soft blue light, petals drifting, faint water ripples, goldfish swimming overhead.]\n\n[Background music: gentle piano and airy strings, slow, melancholic, ethereal. Ambience: soft wind, distant chimes.]\n\n[Language: English only. All dialogue must be spoken in English.]\n\nThe girl (young woman, soft breathy voice, quiet and fragile, dreamy, slightly sad) whispers:\n\"I thought the flowers would stay with me forever.\"\n\n[Long pause. Petals fall. Water shimmers.]\n\nShe (same voice, a little warmer) says softly:\n\"Maybe that is why this place feels beautiful.\"\n\n[Background music fades to a single piano note, then silence.]",
        "image reference",
        "24000",
        0,
        0,
        0,
        886100183,
        "randomize"
      ]
    },
    {
      "flags": {},
      "id": 4,
      "inputs": [
        {
          "link": 2,
          "localized_name": "audio",
          "name": "audio",
          "type": "AUDIO"
        },
        {
          "link": null,
          "localized_name": "filename_prefix",
          "name": "filename_prefix",
          "type": "STRING",
          "widget": {
            "name": "filename_prefix"
          }
        },
        {
          "link": null,
          "localized_name": "format",
          "name": "format",
          "type": "COMFY_DYNAMICCOMBO_V3",
          "widget": {
            "name": "format"
          }
        },
        {
          "link": null,
          "localized_name": "format.quality",
          "name": "format.quality",
          "type": "COMBO",
          "widget": {
            "name": "format.quality"
          }
        },
        {
          "link": null,
          "localized_name": "audioUI",
          "name": "audioUI",
          "type": "AUDIO_UI",
          "widget": {
            "name": "audioUI"
          }
        }
      ],
      "mode": 0,
      "order": 3,
      "outputs": [
        {
          "links": null,
          "localized_name": "audio",
          "name": "audio",
          "type": "AUDIO"
        }
      ],
      "pos": [
        345.59583883312115,
        -387.3237445260305
      ],
      "properties": {
        "Node name for S&R": "SaveAudioAdvanced"
      },
      "size": [
        644.453125,
        176
      ],
      "type": "SaveAudioAdvanced",
      "widgets_values": [
        "audio/Seed_Audio_1.0",
        "mp3",
        "V0"
      ]
    },
    {
      "bgcolor": "#000",
      "color": "#222",
      "flags": {},
      "id": 5,
      "inputs": [],
      "mode": 0,
      "order": 0,
      "outputs": [],
      "pos": [
        -1192.5262732565643,
        -389.08180319438
      ],
      "properties": {},
      "size": [
        470.21875,
        1966.09375
      ],
      "title": "Note: TI2A Prompt Guide",
      "type": "MarkdownNote",
      "widgets_values": [
        "Seed Audio 1.0: TI2A (Text + Image to Audio) Workflow Guide\n\n## What This Workflow Does\nLoad Image → ByteDance Seed Audio 1.0 (image reference) → Save Audio.\n\nTI2A = text prompt + reference image. The model derives the character voice from your image, then generates speech, ambience, music, and SFX from your prompt.\n\nBest for: character art, portraits, or scene images when you have no reference audio. One image = one derived voice.\n\n## How to Use\n1. Load Image: upload a clear character image (portrait or upper body works best).\n2. Connect IMAGE → Seed Audio reference_image input.\n3. Keep reference_mode on \"image reference\".\n4. Write text_prompt matching your scene (see format below).\n5. Run the workflow.\n\nDo NOT use @Audio1 / @Audio2 / @Audio3 in this mode.\n\n## Target Language\nThe model supports English and Chinese. It may mix languages if you do not specify.\n\nTo lock the output language, add a bracket tag near the top of your prompt:\n- [Language: English only.]\n- [Language: Chinese only.]\n\nAlso state the language in the character's voice traits, for example: speaks English only, or speaks Chinese only. Write all dialogue in your target language.\n\nImage reference controls voice tone and character feel. Language is controlled by your prompt.\n\n## Avoid Scene Text Being Spoken\nPlain prose at the start may be read aloud as narration, making the audio too long.\n\nWrap anything that is NOT dialogue in [square brackets]:\n- [Environment: ...] for location, weather, ambience\n- [Background music: ...] for BGM style and mood\n- [Language: English only.] or [Language: Chinese only.] for output language\n- [Long pause. ...] for effects and stage directions\n- [Outro: ...] for ending\n\nOnly text in quotes after says / whispers should be spoken. Keep dialogue short.\n\n## Prompt Guide\n1. [Language: ...] recommended\n2. [Environment: ...]\n3. [Background music / SFX: ...]\n4. Character (delivery traits, target language) says / whispers: \"dialogue only\"\n5. [Beat / pause / SFX]\n6. [Outro]\n\nLimits: prompt ≤3000 chars · output ≤2 min · English & Chinese\n\n## Example\n[Language: English only.]\n[Environment: quiet dreamlike garden at dusk, soft blue light, petals drifting, faint water ripples.]\n[Background music: gentle piano and airy strings, melancholic and ethereal.]\n\nThe girl (young woman, soft breathy voice, quiet and fragile, dreamy, slightly sad, speaks English only) whispers:\n\"I thought the flowers would stay with me forever.\"\n\n[Long pause. Petals fall. Water shimmers.]\n\nShe (same voice, a little warmer) says softly:\n\"Maybe that is why this place feels beautiful.\"\n\n[Background music fades to silence.]"
      ]
    },
    {
      "flags": {},
      "id": 6,
      "inputs": [
        {
          "link": null,
          "localized_name": "image",
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        },
        {
          "link": null,
          "localized_name": "choose file to upload",
          "name": "upload",
          "type": "IMAGEUPLOAD",
          "widget": {
            "name": "upload"
          }
        }
      ],
      "mode": 0,
      "order": 1,
      "outputs": [
        {
          "links": [
            4
          ],
          "localized_name": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "localized_name": "MASK",
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        -670,
        -390
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        386.625,
        535.40625
      ],
      "type": "LoadImage",
      "widgets_values": [
        "girl_and_fish.png",
        "image"
      ]
    }
  ],
  "revision": 0,
  "version": 0.4
}