Nodes/comfyui-minimax-h3-prompt-enhancer-T8/Seedance 2.0 Prompt Enhancer (Cloud / Local GGUF)
ComfyUI Node

Seedance 2.0 Prompt Enhancer (Cloud / Local GGUF)

Hand your Seedance 2.0 clip a prompt written by someone who read the docs

By T8mars·Created 22 days ago·Updated about 17 hours ago· 180
Seedance 2.0 Prompt Enhancer (Cloud / Local GGUF)
  • first_frame
  • last_frame
  • reference_images
  • reference_videos
  • provider_config
  • enhanced_prompt
prompt
task_intentAUTO(根据意图与素材判断)
complexity_modeAUTO(自动判断)
duration_secondsAUTO(模型智能选择)
shot_countAUTO(系统自动判断)
rewrite_modebalanced
output_detailAUTO(按内容判断)
output_language中文
prompt_mode官方优化
case_template无(不使用 T8 案例)
reference_syntax火山官方(@图片N/@视频N/@音频N)
subtitle_policyAUTO(按用户意图)
stability_constraintsAUTO(按场景添加)
api_mode贞贞平价小屋(推荐)
ai_workshop_modelgemini-3.5-flash
custom_length_target0
reference_roles
reference_context
constraints
api_key
reference_template
custom_model
openai_base_url
openai_video_urls
seed0
local_modelQwen3.8-27B-Q4_K_M.gguf
local_mmprojAUTO(自动匹配)
local_context_size32768
local_max_tokens4096
local_think_mode关闭(推荐,速度优先)
local_reasoning_effortmedium
local_video_sample_fps2.00
local_unload_policy执行后卸载(推荐)
local_comfy_memory_policyAUTO(显存不足时释放)

Seedance 2.0 is a closed, paid video model, and like most of them it's extremely literal about its prompt grammar. Edit a clip and it wants @Video 1 references; generate between two frames and it wants first-frame plus last-frame wired in; describe an eight-shot sequence and it wants 镜头N ordering, not absolute timestamps. Get the intent phrasing wrong and the API charges you anyway. This node takes a sentence of what you want plus whatever media you've got, and returns a single enhanced_prompt STRING written to Seedance 2.0's official task vocabulary.

It's the second of the three core enhancers in T8mars' pack, sharing the exact same channel plumbing as the H3 node - the author's seedance.nz gateway by default, the t8star workshop, any OpenAI-compatible endpoint, or a fully offline local Qwen GGUF. The prompt protocols are kept completely separate, though: nothing H3-flavored leaks in here.

How it works

The node turns your intent into one of the official task types via task_intent: AUTO, T2V (text-to-video), I2V (first frame), FL-I2V (first + last frame), multimodal reference generation, video editing, video extension, track filling (bridging 2–3 clips), or combined tasks (edit one video while referencing another). In AUTO it reads your prompt and what's connected and picks. The media sockets follow the task - first_frame and last_frame for the frame tasks, reference_images and reference_videos for anything borrowing a subject or camera move.

The rest is Seedance-idiom control. complexity_mode decides between one tight paragraph (simple jobs) and explicit 镜头1 / 镜头2 / 镜头3 sequences (complex ones). reference_syntax picks the official Volcengine @图片N/@视频N style or Seedance.nz's English @Image N/@Video N. subtitle_policy and stability_constraints are exactly what they sound like, both AUTO by default. shot_count goes AUTO or a fixed 1–20, though high counts are a soft constraint - the upstream model may merge or drop shots and the node won't fail you for it. duration_seconds only shapes content density; nothing here fabricates per-shot second marks.

The inputs that matter

On a first pass you touch prompt (the only required field), task_intent (leave AUTO), and the media sockets for whatever you're doing. If the frames can't show a relationship or role, reference_roles lets you write things like @图片1=人物外观;@视频1=动作和运镜. reference_template migrates structure and rhythm only - never characters, props or plot. api_key here is again the prompt-enhancement LLM's key, not your Seedance 2.0 generation key.

Wire the enhanced_prompt output into your downstream Seedance 2.0 video node's prompt input, and you're done.

The audio boundary, stated plainly

Seedance 2.0 the model can handle audio. This node cannot analyze audio files, and the README is refreshingly blunt about why: a real capability probe on 2026-08-05 showed the default vision model rejecting OpenAI-compatible audio input outright ("audio input is not supported by this model"). So there's no AUDIO socket, and neither the cloud nor the local path claims to have heard your track. What you can do is describe dialogue, ambience and music in text, or keep text-only @音频N intent markers - they're understood as text, which is still useful.

Install and the gotchas

Same pack, same steps - Manager search "MiniMax H3 / Seedance 2.0 / Music 3 Prompt Enhancer (T8)", or:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-prompt-enhancer-T8.git

Restart, Ctrl+F5. Cloud needs no extra deps; local mode pulls a ~16 GiB Qwen GGUF plus projector via python install_local_qwen.py and wants ~24 GB VRAM.

  • Don't click "save to workflow" on the key before sharing a JSON.
  • Cloud video uploads cap at 50 MB; local sampling is 2 fps visual frames only.
  • Editing and combined tasks default to @视频1 as the edit target - if a different clip is the victim, say so in reference_roles.
  • Gateway 5xx/Cloudflare errors retry up to three times automatically; 401s and empty balances don't.
CategoryT8/Seedance 2.0

Inputs (39)

NameTypeDefaultDescription
promptSTRINGNormally this is the only text you need. Connected images/videos are analyzed by the LLM.
task_intentCOMBOAUTO(根据意图与素材判断)9 options: AUTO(根据意图与素材判断), T2V(文生视频), I2V(首帧图生视频), FL-I2V(首尾帧图生视频), 多模态参考生成(图片/视频), 视频编辑(增删改), +3
complexity_modeCOMBOAUTO(自动判断)3 options: AUTO(自动判断), 简单一段式, 复杂分镜式
duration_secondsCOMBOAUTO(模型智能选择)AUTO 或 4-30 秒。只控制整体信息密度,不强制逐镜头秒数。
shot_countCOMBOAUTO(系统自动判断)AUTO 或固定 1-20 个镜头;使用镜头N顺序,不生成绝对时间码。高镜头数可能被上游合并,不视为节点错误。
rewrite_modeCOMBObalanced3 options: strict, balanced, creative
output_detailCOMBOAUTO(按内容判断)4 options: AUTO(按内容判断), 简洁, 标准, 详细
output_languageCOMBO中文2 options: 中文, English
prompt_modeCOMBO官方优化2 options: 官方优化, 参考模板融合
case_templateCOMBO无(不使用 T8 案例)选择后显示用途、输入格式、推荐示例、结构锚点和本地 GIF。迁移 Creative DNA 与因果节奏,不复制源人物、剧情、文案、镜头表或媒体。
reference_syntaxCOMBO火山官方(@图片N/@视频N/@音频N)2 options: 火山官方(@图片N/@视频N/@音频N), Seedance.nz API(@Image N/@Video N/@Audio N)
subtitle_policyCOMBOAUTO(按用户意图)4 options: AUTO(按用户意图), 不要字幕, 需要字幕, 保留原要求
stability_constraintsCOMBOAUTO(按场景添加)3 options: AUTO(按场景添加), 精简, 强约束
api_modeCOMBO贞贞平价小屋(推荐)4 options: 贞贞平价小屋(推荐), 贞贞的AI工坊(图片/视频), OpenAI兼容接口(备用), 本地 GGUF(llama.cpp / Qwen,离线)
ai_workshop_modelCOMBOgemini-3.5-flash仅用于贞贞的AI工坊。默认 gemini-3.5-flash;选择 Custom 后填写下方模型 ID。
first_frameoptIMAGEI2V / FL-I2V 的首帧。
last_frameoptIMAGEFL-I2V 的尾帧;不能单独使用。
reference_imagesoptCOMFY_AUTOGROW_V3
reference_videosoptCOMFY_AUTOGROW_V3
custom_length_targetoptINT00–40000 使用详细度;非零是中文约数汉字或英文约数单词的软目标,不核验实际返回长度。
reference_rolesoptSTRING例如:@图片1=角色外观;@视频1=动作和运镜。
reference_contextoptSTRING补充媒体无法可靠判断的身份、关系、品牌或剧情事实。
constraintsoptSTRING必须保留、禁止新增或禁止改变的内容。
api_keyoptSTRING可连接 STRING,或使用下方遮罩输入框;接线值优先。这是提示词增强 LLM 的 Key,不是视频生成 Key。
reference_templateoptSTRING只迁移结构、节奏、运镜、转场、风格和声音设计,不迁移人物与剧情事实。
custom_modeloptSTRINGOpenAI兼容模式必填;AI工坊选择 Custom 时使用。填写供应商模型列表中的完整 ID。
openai_base_urloptSTRING
openai_video_urlsoptSTRING每行一个,按已连接 VIDEO 顺序替代视频 Base64;未填写或未覆盖的视频仍以内联 Base64 发送。图片始终内联 Base64。
seedoptINT00–18446744073709550000控制 ComfyUI 缓存与 LLM 允许范围内的提示词变体,不是视频生成种子。
local_modeloptCOMBOQwen3.8-27B-Q4_K_M.gguf递归扫描 ComfyUI/models/LLM 及其任意子目录。
local_mmprojoptCOMBOAUTO(自动匹配)AUTO 会按 GGUF 元数据为当前主模型匹配视觉投影器。
local_context_sizeoptINT327688192–65536
local_max_tokensoptINT4096256–8192
local_think_modeoptCOMBO关闭(推荐,速度优先)2 options: 关闭(推荐,速度优先), 开启(质量优先)
local_reasoning_effortoptCOMBOmedium3 options: low, medium, xhigh
local_video_sample_fpsoptFLOAT2.000.25–8本地模式只分析按真实时间戳采样的画面,不读取视频音轨。
local_unload_policyoptCOMBO执行后卸载(推荐)3 options: 执行后卸载(推荐), 保持驻留, 空闲10分钟后卸载
local_comfy_memory_policyoptCOMBOAUTO(显存不足时释放)2 options: AUTO(显存不足时释放), 不主动释放 ComfyUI 模型
provider_configoptT8_LLM_PROVIDER_CONFIG不连接时完全使用本节点原有字段;连接后使用共享配置,断开即恢复。

Outputs (1)

NameTypeDescription
enhanced_promptSTRING