{
  "id": "26f9e02e-b763-43a5-87fe-8515173945a7",
  "revision": 0,
  "last_node_id": 11,
  "last_link_id": 12,
  "nodes": [
    {
      "id": 1,
      "type": "LoadAudio",
      "pos": [
        26,
        542
      ],
      "size": [
        340,
        136
      ],
      "flags": {},
      "order": 0,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "AUDIO",
          "type": "AUDIO",
          "links": [
            7
          ]
        }
      ],
      "title": "Speech to dub (change me)",
      "properties": {
        "Node name for S&R": "LoadAudio"
      },
      "widgets_values": [
        "speech_8s.wav",
        ""
      ]
    },
    {
      "id": 2,
      "type": "BytePlusSeedASR",
      "pos": [
        642,
        108
      ],
      "size": [
        340,
        658
      ],
      "flags": {},
      "order": 2,
      "mode": 0,
      "inputs": [
        {
          "name": "audio",
          "shape": 7,
          "type": "AUDIO",
          "link": 7
        },
        {
          "name": "context_image",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        }
      ],
      "outputs": [
        {
          "name": "text",
          "type": "STRING",
          "links": [
            8,
            11
          ]
        },
        {
          "name": "utterances_json",
          "type": "STRING",
          "links": null
        },
        {
          "name": "srt",
          "type": "STRING",
          "links": null
        },
        {
          "name": "duration",
          "type": "FLOAT",
          "links": null
        }
      ],
      "title": "Transcribe (Seed ASR)",
      "properties": {
        "Node name for S&R": "BytePlusSeedASR",
        "cnr_id": "ComfyUI-BytePlus-ModelArk",
        "ver": "0.6.1"
      },
      "widgets_values": [
        "seed-asr-fast",
        "",
        "auto",
        true,
        true,
        false,
        false,
        "",
        "",
        "",
        false,
        false,
        false,
        false,
        0,
        "none",
        false,
        "",
        "",
        false,
        "auto"
      ]
    },
    {
      "id": 4,
      "type": "BytePlusSeed",
      "pos": [
        1078,
        108
      ],
      "size": [
        340,
        410
      ],
      "flags": {},
      "order": 3,
      "mode": 0,
      "inputs": [
        {
          "name": "prompt",
          "type": "STRING",
          "widget": {
            "name": "prompt"
          },
          "link": 8
        },
        {
          "name": "model.images.image_1",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "name": "model.videos.video_1",
          "shape": 7,
          "type": "VIDEO",
          "link": null
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            9,
            12
          ]
        },
        {
          "name": "raw_json",
          "type": "STRING",
          "links": null
        }
      ],
      "title": "Translate (BytePlus LLM)",
      "properties": {
        "Node name for S&R": "BytePlusSeed",
        "cnr_id": "ComfyUI-BytePlus-ModelArk",
        "ver": "0.6.1"
      },
      "widgets_values": [
        "",
        "Seed 2.1 Turbo",
        1,
        4,
        "randomize",
        "You are a professional dubbing translator. Translate the user text into the language the dub should be spoken in, keeping the meaning, tone and a similar length. Reply with the translation only. Target language: Japanese.",
        "high",
        1,
        "disabled",
        "medium",
        1,
        false,
        604800
      ]
    },
    {
      "id": 5,
      "type": "BytePlusSeedTTS",
      "pos": [
        1514,
        108
      ],
      "size": [
        340,
        704
      ],
      "flags": {},
      "order": 5,
      "mode": 0,
      "inputs": [
        {
          "name": "text",
          "type": "STRING",
          "widget": {
            "name": "text"
          },
          "link": 9
        }
      ],
      "outputs": [
        {
          "name": "audio",
          "type": "AUDIO",
          "links": [
            10
          ]
        },
        {
          "name": "subtitles_json",
          "type": "STRING",
          "links": null
        },
        {
          "name": "srt",
          "type": "STRING",
          "links": null
        }
      ],
      "title": "Dub (Seed TTS, Japanese voice)",
      "properties": {
        "Node name for S&R": "BytePlusSeedTTS",
        "cnr_id": "ComfyUI-BytePlus-ModelArk",
        "ver": "0.6.1"
      },
      "widgets_values": [
        "seed-tts-2.0",
        "",
        "ja_female_minimi_uranus_bigtts",
        "",
        "",
        "",
        4,
        0,
        0,
        0,
        "24000",
        "auto",
        0,
        false,
        false,
        false,
        "default",
        false,
        false,
        false,
        0.3,
        false,
        false,
        5,
        "randomize"
      ]
    },
    {
      "id": 6,
      "type": "SaveAudioAdvanced",
      "pos": [
        1514,
        866
      ],
      "size": [
        340,
        160
      ],
      "flags": {},
      "order": 7,
      "mode": 0,
      "inputs": [
        {
          "name": "audio",
          "type": "AUDIO",
          "link": 10
        }
      ],
      "outputs": [
        {
          "name": "audio",
          "type": "AUDIO",
          "links": null
        }
      ],
      "title": "Save the dub",
      "properties": {},
      "widgets_values": [
        "BytePlus/Audio/dub",
        "mp3",
        "V0"
      ]
    },
    {
      "id": 7,
      "type": "PreviewAny",
      "pos": [
        642,
        820
      ],
      "size": [
        340,
        122
      ],
      "flags": {},
      "order": 4,
      "mode": 0,
      "inputs": [
        {
          "name": "source",
          "type": "*",
          "link": 11
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": null
        }
      ],
      "title": "Transcript",
      "properties": {
        "Node name for S&R": "PreviewAny"
      },
      "widgets_values": []
    },
    {
      "id": 8,
      "type": "PreviewAny",
      "pos": [
        1078,
        572
      ],
      "size": [
        340,
        122
      ],
      "flags": {},
      "order": 6,
      "mode": 0,
      "inputs": [
        {
          "name": "source",
          "type": "*",
          "link": 12
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": null
        }
      ],
      "title": "Translation",
      "properties": {
        "Node name for S&R": "PreviewAny"
      },
      "widgets_values": []
    },
    {
      "id": 11,
      "type": "MarkdownNote",
      "pos": [
        26,
        108
      ],
      "size": [
        520,
        380
      ],
      "flags": {},
      "order": 1,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "title": "How to use",
      "properties": {},
      "widgets_values": [
        "## Multilingual dubbing\n\n1. Load a speech clip in **Speech to dub**.\n2. **Seed ASR** transcribes it.\n3. **BytePlus LLM** translates it. The target language is in the LLM's *system_prompt* (default Japanese); change it there.\n4. **Seed TTS** speaks the translation. Pick a voice for that language in *Dub*.\n\nNeeds ModelArk and Seed Speech keys in Settings > BytePlus."
      ],
      "color": "#432",
      "bgcolor": "#653"
    }
  ],
  "links": [
    [
      7,
      1,
      0,
      2,
      0,
      "AUDIO"
    ],
    [
      8,
      2,
      0,
      4,
      0,
      "STRING"
    ],
    [
      9,
      4,
      0,
      5,
      0,
      "STRING"
    ],
    [
      10,
      5,
      0,
      6,
      0,
      "AUDIO"
    ],
    [
      11,
      2,
      0,
      7,
      0,
      "STRING"
    ],
    [
      12,
      4,
      0,
      8,
      0,
      "STRING"
    ]
  ],
  "groups": [
    {
      "id": 9,
      "title": "1 · Source speech",
      "bounding": [
        0,
        0,
        572,
        1062
      ],
      "color": "#3f789e",
      "flags": {}
    },
    {
      "id": 10,
      "title": "2 · Transcribe (Seed ASR)",
      "bounding": [
        616,
        0,
        392,
        1062
      ],
      "color": "#3f789e",
      "flags": {}
    },
    {
      "id": 11,
      "title": "3 · Translate (BytePlus LLM)",
      "bounding": [
        1052,
        0,
        392,
        1062
      ],
      "color": "#3f789e",
      "flags": {}
    },
    {
      "id": 12,
      "title": "4 · Dub (Seed TTS)",
      "bounding": [
        1488,
        0,
        392,
        1062
      ],
      "color": "#3f789e",
      "flags": {}
    }
  ],
  "config": {},
  "extra": {
    "ds": {
      "scale": 1,
      "offset": [
        98,
        133
      ]
    },
    "frontendVersion": "1.53.6"
  },
  "version": 0.4
}
