Extensions/ComfyUI BytePlus ModelArk & AI MediaKit
ComfyUI Extension

ComfyUI BytePlus ModelArk & AI MediaKit

ComfyUI nodes for BytePlus ModelArk (Seedream, Seedance, Seed/DeepSeek/GLM LLMs, Hyper3D and Hitem3D 3D models), Seed Speech (Seed Audio, TTS, ASR) and AI MediaKit (video and image enhancement), billed to your own BytePlus account. Docs: https://byteplus-sa.github.io/ComfyUI-BytePlus-ModelArk/

By byteplus-sa·Created 25 days ago·Updated 4 days ago· 4
byteplus-sa/ComfyUI-BytePlus-ModelArk
Nodes25
On cloudLocal install
CategoryBytePlus ModelArk, BytePlus ModelArk/3D
Stars4
Updated4 days ago

Nodes (25)

BytePlus Asset Library

Find the asset:// URI you forgot to write down

BytePlus ModelArk
BytePlus Create Audio Asset

Keep a voice clip where Seedance can find it

BytePlus ModelArk
BytePlus Create Image Asset

Register a face once, reuse it in every Seedance shot

BytePlus ModelArk
BytePlus Create Video Asset

Put a clip in Seedance's reference library

BytePlus ModelArk
BytePlus Hitem3D 2.0

Four photos in, a high-poly base mesh out

BytePlus ModelArk/3D
BytePlus Hyper3D Gen2

Text straight to a mesh

BytePlus ModelArk/3D
BytePlus Image Quality Enhance

An upscaler for the photos local models keep hallucinating

BytePlus ModelArk/MediaKit
BytePlus Progress Test

The dev node that fakes a 5-minute render in 10 seconds

BytePlus ModelArk
BytePlus LLM

The prompt writer that costs you fractions of a cent

BytePlus ModelArk
BytePlus Seedance 2.5 First-Last-Frame to Video

Give the shot a beginning and an ending

BytePlus ModelArk
BytePlus Seedance 2.5 Reference to Video

50 references, three jobs in one node

BytePlus ModelArk
BytePlus Seedance 2.5 Text to Video

30 seconds with sound, for a price

BytePlus ModelArk
BytePlus Seedance 2.5 Draft to Final Video

Preview at 480p, pay for 1080p once

BytePlus ModelArk
BytePlus Seedance First-Last-Frame to Video

Two keyframes and one Pro-only model

BytePlus ModelArk
BytePlus Seedance Image to Video

One still, six seconds of life

BytePlus ModelArk
BytePlus Seedance Text to Video

The cheap shot, and why you might still want it

BytePlus ModelArk
BytePlus Seed Speech ASR

Transcripts, timings and SRT without the Whisper dance

BytePlus ModelArk/Speech
BytePlus Seed Audio 1.0

Two minutes of dialogue, music and foley from one prompt

BytePlus ModelArk/Speech
BytePlus Seedream 4.5 & 5.0

The closed image model you can't download, doing your editing

BytePlus ModelArk
BytePlus Seedream 5.0 Layer Separation

Turn a flat image into editable layers

BytePlus ModelArk
BytePlus Seed Speech TTS

A voiceover node with an emotion dial

BytePlus ModelArk/Speech
BytePlus Seed Voice Clone

15 seconds of audio, and a slot you pay for

BytePlus ModelArk/Speech
BytePlus vCube Video Enhance

8K restoration on someone else's GPU

BytePlus ModelArk/MediaKit
BytePlus Video Query Tasks

Where did that Seedance render go? This node goes and finds it

BytePlus ModelArk
BytePlus Video Smoothness Enhance

Seedance clips stutter? This node was built for exactly that

BytePlus ModelArk/MediaKit
Readme

ComfyUI BytePlus ModelArk & AI MediaKit

Use BytePlus models in ComfyUI with your own BytePlus API keys: Seedream images, Seedance videos, Hyper3D and Hitem3D 3D models, Seed / DeepSeek / GLM language models, Seed Speech audio, and AI MediaKit video and image enhancement.

Calls go straight to BytePlus and are billed to your BytePlus account (contract pricing and resource packs apply). No Comfy credits are used.

Status: v0.6.1. Requires ComfyUI 0.31.0 or later. Works in Classic Canvas and Nodes 2.0.

New in v0.6.1: reliability and safety fixes from a full code review, checked against the live APIs. Stop no longer errors or leaves paid work running unseen, re-running a non_blocking Seedance node collects the pending video instead of billing a new one, last_frame always matches its video, and parallel Image Quality Enhance calls no longer lose images. Signed result links no longer appear in logs. generation_count is limited to 16, and the BytePlus LLM node's turns now sets the conversation length. Workflows need no changes.

Contents

Full documentation, with a page for every node and template: https://byteplus-sa.github.io/ComfyUI-BytePlus-ModelArk/. Install and update from the Comfy Registry.

Quick Start

1. Install. The pack is on the Comfy Registry: registry.comfy.org/nodes/ComfyUI-BytePlus-ModelArk. In ComfyUI-Manager, search for BytePlus ModelArk (listed as ComfyUI BytePlus ModelArk & AI MediaKit), or use the Comfy CLI:

comfy node install ComfyUI-BytePlus-ModelArk

Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/byteplus-sa/ComfyUI-BytePlus-ModelArk
pip install -r ComfyUI-BytePlus-ModelArk/requirements.txt

Run pip with the Python that runs ComfyUI, then restart ComfyUI. If the BytePlus SDK is missing or too old, the nodes don't load and the console prints the install command.

Update. In ComfyUI-Manager press Update on the pack, or run:

comfy node update ComfyUI-BytePlus-ModelArk

For a manual install, run git pull in the pack folder and pip install -r requirements.txt again. Restart ComfyUI afterwards. Your saved keys stay in user/.env. See the Update page.

2. Add your key. Create a key in the ModelArk console and activate the models you want (keys and models are per region). In ComfyUI open Settings → BytePlus, paste the key, pick its region and press Save. No restart needed.

3. Run a template. Open the template browser, pick a BytePlus workflow and press Run. Connect Save Image / Save Video to keep results.

What's Included

| Service | Nodes | Key | |---|---|---| | ModelArk – images | Seedream 4.5 & 5.0, Seedream 5.0 Layer Separation | ModelArk API key | | ModelArk – video | Seedance 1.0 (3 nodes), Seedance 2.5 (3 nodes), Draft to Final | ModelArk API key | | ModelArk – 3D | Hyper3D Gen2, Hitem3D 2.0 | ModelArk API key | | ModelArk – language | BytePlus LLM (Seed 2.x, DeepSeek, GLM) | ModelArk API key | | ModelArk – asset library | Create Image / Video / Audio Asset, Asset Library | ModelArk API key + IAM AK/SK | | Seed Speech | Seed Audio 1.0, Seed Speech TTS, Seed Speech ASR, Seed Voice Clone | Seed Speech API key | | AI MediaKit | vCube Video Enhance, Video Smoothness Enhance, Image Quality Enhance | AI MediaKit API key |

The image, video, LLM and asset nodes match ComfyUI's built-in ByteDance nodes input for input, but use BytePlus model IDs. This pack's extras (parallel generations, non-blocking runs and so on) sit under each node's advanced inputs.

Good to know

  • Nodes only run when their output is used. They save nothing themselves: connect Save Image / Save Video. A node with nothing connected doesn't run and isn't billed.
  • Regions: ap-southeast-1 (default) or eu-west-1 for ModelArk. Seedream 5.0 Lite isn't available in eu-west-1. Seed Speech and AI MediaKit run in ap-southeast-1 only.
  • Comfy.org login is needed for a few features that upload local media to Comfy.org storage (BytePlus only accepts links there): Seedance reference videos, standard ASR, MediaKit sources and new private assets.

API Keys

Each BytePlus product has its own key; they are not interchangeable.

| Key | Where to create it | Used by | .env variable | |---|---|---|---| | ModelArk API key | ModelArk console | Image, video, LLM and asset nodes | BYTEPLUS_API_KEY (+ BYTEPLUS_REGION) | | Seed Speech API key | Seed Speech console → Settings → API Keys (activate the services first) | Speech nodes | BYTEPLUS_SEED_SPEECH_API_KEY | | AI MediaKit API key | AI MediaKit console → Settings → API key | Enhancement nodes | BYTEPLUS_VOD_MEDIAKIT_API_KEY | | IAM AK/SK | IAM console (a sub-user allowed only the asset library) | Asset library nodes | BYTEPLUS_ACCESS_KEY, BYTEPLUS_SECRET_KEY (+ BYTEPLUS_SESSION_TOKEN for STS) |

Option A: Settings → BytePlus (recommended)

Open Settings (gear icon, or Ctrl+, / Cmd+,), search for BytePlus, paste a key and press Save.

  • ModelArk keys are checked against BytePlus first; a wrong key is refused and nothing is saved.
  • Keys are written to user/.env in your ComfyUI folder and take effect immediately.
  • Settings only ever shows whether a key is set and its last four characters. The row also shows where the file is (Saved in ~/…/user/.env).

Settings → BytePlus with no key yet

Settings → BytePlus after saving: "ModelArk API key: set (ends in abcd), from user/.env."

Option B: Edit user/.env

Create user/.env inside your ComfyUI folder and add only the lines you need:

BYTEPLUS_API_KEY=your-modelark-key
BYTEPLUS_REGION=ap-southeast-1
BYTEPLUS_SEED_SPEECH_API_KEY=your-seed-speech-key
BYTEPLUS_VOD_MEDIAKIT_API_KEY=your-mediakit-key
BYTEPLUS_ACCESS_KEY=your-iam-ak
BYTEPLUS_SECRET_KEY=your-iam-sk

The file is read on every run, so no restart is needed. A real environment variable with the same name wins over the file (Settings tells you when that happens). The pack never touches other lines in the file.

<details> <summary><b>Where is <code>user/.env</code>? Tips for creating it by hand</b></summary>

The quickest way to find it: Settings → BytePlus shows the path under the ModelArk row. ComfyUI also prints the folder at startup (** User directory: …). For ComfyUI Desktop it is inside the base folder you chose at install:

  • macOS: ~/ComfyUI-Installs/<install name>/ComfyUI/user/.env
  • Windows: <base folder>\ComfyUI\user\.env

The file doesn't exist until you save a key.

  • macOS: in Terminal, nano <path>, paste the lines, then Ctrl+O, Enter, Ctrl+X, and chmod 600 the file. Finder hides dot-files (Cmd+Shift+. shows them); in TextEdit choose Format → Make Plain Text first.
  • Windows: in Notepad choose Save as type: All files and name it .env, or it is saved as .env.txt.

ComfyUI Desktop's Environment Variables field (in each installation's settings) also works and wins over .env, but Desktop stores those values unencrypted and advises against putting keys there. Prefer Settings → BytePlus.

</details>

Check that it works

Add BytePlus LLM, type Reply with OK, pick Seed 2.0 Mini, connect its output to Preview as Text (Preview Any in older ComfyUI) and press Run. It costs a few tokens.

A BytePlus LLM node connected to Preview as Text: no key and no client node on the canvas

Change the prompt or seed between test runs: ComfyUI reuses the cached result of an unchanged node, so an identical run makes no new request.

Troubleshooting

| Symptom | Fix | |---|---| | No BytePlus page in Settings | Update the pack (ComfyUI-Manager → Update), restart ComfyUI and reload the page. | | Invalid API Key (401) | The key and region don't match. Pick the key's region in Settings (or set BYTEPLUS_REGION). | | No BytePlus API key is set… | No key is set. Save one in Settings or .env. | | Invalid X-Api-Key on speech nodes | You used a ModelArk key. Seed Speech needs its own key. | | Save says Requests from another origin are not accepted | ComfyUI is behind a proxy that hides the address you opened. Edit .env by hand. |

Keep your keys safe

  • Never commit user/.env. Settings creates it readable by you only.
  • ComfyUI has no login: anyone who can open your ComfyUI page (for example with --listen on a shared network) can use your keys and replace them in Settings. Don't expose ComfyUI to networks you don't trust.

Node Reference

Model names map to dated model IDs in nodes/models_config.py. Activate each model in the ModelArk console for the region you use.

Image (ModelArk)

| Node | What it does | |---|---| | Seedream 4.5 & 5.0 | Text-to-image and image editing with Seedream 5.0 Pro, 5.0 Flash, 5.0 Lite, 4.5 and 4.0. | | Seedream 5.0 Layer Separation | Splits one image into a base image and up to 16 transparent layers (5.0 Pro or Flash). |

Seedream 4.5 & 5.0

  • Sizes: presets for 1:1, 3:4, 4:3, 16:9, 9:16, 2:3, 3:2 and 21:9 at each supported resolution (5.0 Pro and Flash add 1.5K, priced like 1K on Pro); "adaptive" levels where the model picks the ratio; or a custom width × height from 1:16 to 16:1.
  • Up to 10 reference images (14 on 5.0 Lite, 4.5 and 4.0). max_images for related image sets (Lite, 4.5, 4.0). Prompt optimization and "thinking" where supported.
  • Advanced: parallel generations, PNG output, transparent background on Pro and Flash (connect Load Image's MASK to reference_mask; the mask output holds the result's transparency).

Seedream 5.0 Layer Separation outputs the base image and mask, each layer and its mask, bounding boxes, a layer_stack for Create Layered Image, and a JSON list of layer names and descriptions. Its opt-in save_layers is the only setting in the pack that writes files itself.

Video (ModelArk)

| Node | Models | Highlights | |---|---|---| | Seedance Text to Video, Image to Video, First-Last-Frame to Video | seedance-1-0-pro, seedance-1-0-pro-fast (First-Last-Frame: Pro only) | 480p–1080p, 2–12 s, camera_fixed, watermark | | Seedance 2.5 Text to Video, First-Last-Frame to Video, Reference to Video | 2.5 (1080p, 30 s), 2.5 Premium (4K, whitelist only), 2.0 (4K), 2.0 Fast, 2.0 Mini | Draft options for 2.5 and 2.5 Premium; output_format mp4 / mov on 2.5 | | Seedance 2.5 Draft to Final Video | Reads the model from the draft | See Draft Mode | | Video Query Tasks | All Seedance models, including retired ones | Lists your recent video tasks (by status, model or task ID) as JSON, to find a task ID again |

  • Reference to Video takes up to 50 references on 2.5 (30 images, 10 videos, 10 audio clips) and 15 on 2.0 (9 + 3 + 3), connected or as asset_N links or assets. task_type: auto / reference / edit / extend. Reference videos can be down- or upscaled.
  • Batches: with generation_count above 1, every video reaches the VIDEO output (each with its own seed; the next node runs once per video), and last_frame holds their last frames as one batch.
  • Advanced: offline inference, parallel generations, non-blocking runs.

Language (ModelArk)

BytePlus LLM answers in text with Seed 2.0 Pro / Lite / Mini, Seed 2.1 Turbo, DeepSeek V4.1 Flash or GLM 5.3 Flash.

  • Context: up to 20 images and 4 videos. Seed 2.0 Lite and Mini also take up to 4 audio clips (120 minutes in total); the other models can't hear audio.
  • Temperature and system prompt. Advanced: image detail, video fps, deep thinking with effort from minimal to max, multi-turn conversations and streaming. A second output returns the raw response JSON.

Asset Library (ModelArk)

Needs Dreamina Seedance Advanced Creation Rights and IAM AK/SK. See Private Assets.

| Node | What it does | |---|---| | Create Image Asset, Create Video Asset, Create Audio Asset | Adds media (connected, or an HTTPS link) to an asset group and outputs asset_id, group_id and an asset:// URI. | | Asset Library | Lists your assets (virtual portraits or verified real people) as asset:// URIs. |

Speech (Seed Speech)

| Node | What it does | |---|---| | Seed Audio 1.0 | Speech, voiceovers, music and sound effects up to 120 s from a prompt, in 20 languages. | | Seed Speech TTS | Text to speech with TTS 2.0 voices, TTS 1.0 speakers or cloned voices. | | Seed Speech ASR | Speech to text in 50+ languages, with timings and SRT subtitles. | | Seed Voice Clone | Trains a cloned voice from a 10–15 s clip and outputs its speaker_id. |

Seed Audio 1.0 (seed-audio-1.0)

  • reference_mode: text only; audio reference (up to three clips of up to 30 s, or speaker IDs / cloned voice IDs / URLs, referred to as @Audio1–@Audio3 in the prompt); image reference; or a preset TTS 2.0 voice.
  • Sample rate, speed, loudness and pitch. Advanced: wav / mp3 / ogg_opus / pcm, sentence or word subtitles, audible and metadata watermarks.
  • generation_count runs up to 16 takes of the same prompt in parallel. Each take is billed separately (the API has no seed). Outputs are lists in the same order; failed takes are skipped unless all fail.

Seed Speech TTS

  • Models: seed-tts-2.0 (voice list), seed-tts-1.0 (speaker IDs), seed-icl-2.0 / seed-icl-1.0 (cloned voices).
  • Style instructions (context_text), emotion and intensity, speed, volume, pitch, sample rate, language, trailing silence, subtitles and timestamps.
  • Advanced: language detection, Markdown / emoji / LaTeX / parentheses handling, 1-hour cache, tone fidelity for cloned voices.

Seed Speech ASR

  • seed-asr-fast sends a connected clip inline. The standard models (seed-asr-2.0 / 1.0, up to 5 h) only take URLs, so a connected clip is uploaded to Comfy.org storage first (Comfy.org login required); or pass a public audio URL.
  • Punctuation, number formatting, filler-word removal, speaker labels and hotwords. Advanced (ASR 2.0): dialogue context and an image for visual context, language detection, stereo channel split, silence-based segmentation, Traditional Chinese output, sensitive-word filtering.

Seed Voice Clone (Voice Replication 2.0)

  • Trains into a voice slot (S_…, bought in the Seed Speech console) or a postpaid custom voice ID, waits until it's ready, and outputs speaker_id plus a demo clip.
  • Use the speaker_id with TTS model seed-icl-2.0 (custom_speaker_id) or in a Seed Audio reference slot.
  • Each slot can be trained 15 times. The first TTS call with the voice starts the slot's billing.

3D generation (ModelArk)

| Node | What it does | |---|---| | Hyper3D Gen2 | A textured 3D model from a text prompt (up to 400 characters), up to five images, or both. Mesh mode, material, polygon count, HD and 4K textures, T-pose, file format. | | Hitem3D 2.0 | A 3D model from one to four images (front, back, left, right), geometry only or with texture, at 1536 or 1536pro. |

Both nodes use the Seedance task endpoint, poll the task, download the result (the link lives 24 hours) and output it as a 3D file. They save nothing: connect Save 3D (Advanced) to view the model in ComfyUI's 3D viewer and keep a copy. Interrupting a run deletes the pending task.

Video and Image Enhancement (AI MediaKit)

Connected videos and images are uploaded to Comfy.org storage first (Comfy.org login required); the advanced video_url / image_url inputs take a public link instead. MediaKit result links expire after 24 hours, so the nodes download results right away.

| Node | What it does | |---|---| | vCube Video Enhance | Super-resolution up to 8K, artifact and noise removal, frame interpolation up to 120 fps. | | Video Smoothness Enhance | Repairs stutter and removes duplicate frames without changing the resolution (for example in Seedance videos). | | Image Quality Enhance | Upscales and restores images: super-resolution, denoising, deblurring, sharpening, portrait / text / colour enhancement. |

vCube Video Enhance (same inputs as ComfyUI's built-in vCube node)

  • standard (scene presets aigc, common, ugc, short_series, old_film) or professional; hd or natural style; resolution preset, source or custom short side; fps and bitrate_level.
  • Sources up to 2560×1440 and 10 minutes.
  • Also outputs a before/after comparison video (sweeping divider) and a source_frame / enhanced_frame pair for ComfyUI's Compare Images slider (Nodes 2.0 only).
  • Advanced: exact bitrate, comparison on/off, compare_time.

Video Smoothness Enhance

  • periodic_stutter: repair (generates in-between frames; align_source_fps keeps the frame rate and duration, insert_frame_indices forces insertions) or detect only. duplicate_frames: remove or detect only.
  • Sources up to 4K, and up to 35 s while a repair is on (detection alone has no length limit).
  • Outputs the repaired video, a side-by-side comparison video, and the stutter and duplicate-frame counts. If MediaKit repairs nothing, the source passes through, no comparison is made, and the task is billed as detection only.

Image Quality Enhance

  • tool_version: standard (up to 8x, PNG output), professional or max (generative, up to 30x, with generative_enhance_mode generative_first / fidelity_first; max adds enable_correct_color).
  • output_size: a multiple (default 2x) or a target size. Size limits are checked before upload. Each image in a batch is enhanced separately.
  • Also outputs original (the input resized to the result's size) for the Compare Images slider.

Guides

Reference Videos

Seedance only accepts reference videos as URLs, so videos connected to Reference to Video are uploaded to Comfy.org storage first.

  • Requires a Comfy.org login (or Comfy.org API key) in ComfyUI, and doesn't work with --disable-api-nodes.
  • Uploads are deleted after about 24 hours; the pack reuses an upload for up to 12 hours.
  • To skip the upload, pass a link or asset instead (below).

Connected images and audio are sent inline; nothing is uploaded.

Reference Links and Assets

Reference to Video has asset_N inputs, and First-Last-Frame to Video has first_frame_asset_id / last_frame_asset_id. Each takes either:

  • an asset ID or asset://<ASSET_ID> from your private asset library (for example the asset_id output of Create Image Asset), or
  • a public https:// link to an image, video or audio file (type it into a String node and connect it).

For asset_N, links are recognized by file extension or content type; asset IDs are looked up in the asset library, which needs IAM AK/SK.

In the prompt, refer to references by position (Image 1, Video 1, …): connected inputs come first, then asset_N entries. You can also write asset1, asset2, … and the node replaces them with the matching position.

Private Assets

With Dreamina Seedance Advanced Creation Rights you can keep authorized media, such as virtual portraits or verified real people, in a private asset library and use it in Seedance 2 / 2.5.

Setup: save IAM AK/SK with asset-library permission in Settings → BytePlus ("Asset library IAM AK/SK") or in .env. Use an IAM sub-user whose policy only allows the asset library. STS session tokens can only be set in .env (BYTEPLUS_SESSION_TOKEN).

Create and use an asset:

  1. Add Create Image Asset (or Video / Audio). Connect the media or set a public HTTPS URL.
  2. Set an existing group_id (for example a real-person group from the ModelArk console), or leave it empty and set group_name to find or create a virtual-portrait group.
  3. Run. The node waits until the asset is Active and outputs asset_id, group_id and asset_uri. Re-running with the same image reuses the asset.
  4. Connect asset_id to an asset_N input of Seedance 2.5 Reference to Video (or first_frame_asset_id on First-Last-Frame).

Good to know

  • Real people: BytePlus verifies real people only in the ModelArk console (a QR-code invitation; see Add real-human assets). Create those groups there and pass their group_id.
  • Existing assets: Asset Library lists them. Using an asset in Seedance only needs the API key, except asset_N looks up the asset's type with AK/SK.
  • Uploads: connected media is uploaded to Comfy.org storage first (Comfy.org login required); a URL input skips the upload.
  • Rate limits: Entry 3, Advanced 120, Premium 300 CreateAsset requests per minute.
  • Only use media you are authorized to use.

Draft Mode

Seedance 2.5 can render a quick 480p draft before the full-quality video:

  1. On a Seedance 2.5 node pick Seedance 2.5 Draft or Seedance 2.5 Premium Draft, set the seed control to fixed, and run. The node outputs draft_task_id.
  2. Connect draft_task_id to Seedance 2.5 Draft to Final Video (or paste IDs, one per line) and run again. The draft node isn't re-run while its inputs are unchanged, so the final uses the draft you reviewed.

The final reuses the draft's prompt, references, duration, aspect ratio, seed and audio setting, and renders at 1080p (2.5) or 4K (2.5 Premium). Draft task IDs are valid for 7 days.

Example Workflows

Templates are in example_workflows/ and appear in ComfyUI's template browser: a starter for every node except the Seedance 1.0 ones (templates show current models only), 2.5 Model Updates (Seedream, Seedance 2.5 and the LLM together), plus pipelines that chain services:

| Template | What it does | |---|---| | Text to Image to Video | Seedream makes the first frame, Seedance animates it. | | Seedance Video Extension | A Seedance 2.5 clip, then two Seedance 2.5 Reference nodes with task_type = extend, each continuing the previous clip's motion and sound; Concatenate Video joins the three into one 15 s video (the reference video goes through Comfy.org storage, so log in; needs ComfyUI 0.36+ for Concatenate Video). | | Seed Prompt Writer | The LLM turns a short idea into a detailed Seedream prompt. | | Generate and Enhance | Seedream → Image Quality Enhance; Seedance → vCube Video Enhance (ModelArk + MediaKit keys). | | Virtual Portrait - Existing Asset | Uses an asset already in your library as an asset_N reference in Seedance 2.5: paste its ID, or look it up by name with Asset Library (IAM AK/SK + Advanced Creation Rights). | | Virtual Portrait - New Asset | Uploads an image as a new virtual portrait asset and uses it in Seedance 2.5 in the same run. | | Image to UGC Video | A product photo and a one-line brief become a 9:16 creator video: the LLM writes the script and the shot prompt, Seedance 2.5 Reference shoots it with the product as reference, Seed TTS adds the voiceover (ModelArk + Seed Speech keys). | | Product Ad in One Click | A one-line brief: the LLM writes an image and a motion prompt, Seedream 5.0 Pro makes the hero shot, Seedance 2.0 animates it, vCube enhances it to 1080p (ModelArk + MediaKit keys). | | Old Photo to Living Memory | Image Quality Enhance restores and upscales a photo, Seedance 2.0 animates the restored photo with subtle motion, Video Smoothness Enhance finishes the clip (a stand-in photo is generated so it runs as it is). | | Podcast Clip | The LLM writes a HOST and GUEST dialogue, two Seed TTS voices speak it, Seed ASR makes SRT subtitles, Seedream paints the cover art. | | Multilingual Dubbing | Seed ASR transcribes a speech clip, the LLM translates it, Seed TTS speaks the translation in another language. | | Product Lookbook | One product photo and one prompt give four coherent lifestyle images with Seedream sequential generation. | | Sound Design | The LLM turns a scene description into a sound-design prompt and Seed Audio renders two takes. | | Consistent Character Shots | Seedream paints a character, Create Image Asset registers it, three Seedance 2.0 Reference shots use it as asset_1, Concatenate Video joins them (IAM AK/SK). | | Character Sheet | A description becomes a three-panel identity sheet (back, front, face close-up) on plain gray, with the fixed sheet rules built into the prompt (ModelArk key). | | Location Sheet | Six text boxes (place, era, dressing, style, light, lens) become a people-free reference still of a location. | | Prop Sheet | One object on a clean seamless background, as a hero view or a three-panel sheet, for props that are held, recur or carry the story. | | Character Sheet Cleanup | A Seedream 5.0 Pro edit that removes the head from the front full-body panel of a sheet so the close-up is the only readable face. | | Hyper3D Text to 3D | A text prompt becomes a textured 3D model (Hyper3D Gen2), opened and saved with Save 3D (Advanced) (ModelArk key). | | Hyper3D and Hitem3D Image to 3D | Seedream draws one object, Hyper3D Gen2 and Hitem3D 2.0 each build a 3D model from it, so you can compare them (ModelArk key). | | Storyboard Grid | The LLM turns scene beats into a grid prompt and Seedream paints a numbered pencil-sketch storyboard in one image. | | Seedance Task Query | Video Query Tasks collects a Seedance task by ID (or lists the latest tasks) and shows its status and model. | | Video and Audio Assets | Create Video Asset and Create Audio Asset register media in your private library, Asset Library lists it, Seedance 2.5 Reference uses both as asset_1 and asset_2 (IAM AK/SK). |

Templates show current models only. The Seedance 1.0 nodes, the Seedream 4.5 / 4.0 options and the Seed Speech 1.0 models (seed-tts-1.0, seed-icl-1.0, seed-asr-1.0) are still in the pack, but no template uses them.

Development

# Template and docs tests (no ComfyUI needed)
python3 -m unittest tests.test_workflow_templates tests.test_agent_files tests.test_docs_data

# All tests (node tests need a ComfyUI checkout and a Python with torch and the BytePlus SDK; skipped otherwise)
COMFYUI_ROOT=/path/to/ComfyUI python -m unittest discover -s tests -t .

# Lint
uvx [email protected] check .
uvx [email protected] format --check .

CI runs these on every push and pull request, and weekly against ComfyUI's latest release and master, since the nodes are compared with ComfyUI's built-in ByteDance nodes. See CLAUDE.md for layout and conventions.

Planned: optional reference video upload via your own object storage (TOS or S3, presigned URL).

License

MIT