Nodes/ComfyUI Seedance/Kling O3 视频编辑
ComfyUI Node

Kling O3 视频编辑

Rework an existing clip without re-rendering it

By T8mars·Created 2 months ago·Updated 3 days ago· 31
Kling O3 视频编辑
  • input_video
  • api_config
  • video
  • video_url
  • task_id
  • response
modelkling-o3-std-edit
video_url
prompt
seconds5
skip_errorfalse
seed0

Most video nodes start from nothing or a single image. This one starts from a video: Kling O3's edit models (kling-o3-std-edit and kling-o3-pro-edit) take an existing clip and rework it to follow a new prompt - changing a character's action, the scene, the mood. If you've got a render you mostly like but need a different ending beat, re-editing the clip is cheaper than regenerating it from scratch. That's the whole pitch, and it's a genuinely useful one for anyone doing multi-shot sequences.

Kling is Kuaishou's closed video line, and as with everything in T8mars/ComfyUI_Seedance, this is an API wrapper - key from api.seedance.nz, no local weights.

How it works

You give it exactly one video source: a local ComfyUI VIDEO via input_video (uploaded automatically), or a public MP4 direct link via video_url (leave empty when using local). The node writes the source into metadata.content[].video_url, submits to the edit endpoint, polls, and streams the result down as a verified MP4 VIDEO. It's the pack's standard pipeline; the only unusual part is the input is a video instead of images.

The inputs that matter

  • model - kling-o3-std-edit or kling-o3-pro-edit. Pro is the higher-fidelity tier, standard the cheaper draft.
  • input_video / video_url - the source clip. Exactly one; the tooltip says to leave video_url empty when input_video is connected.
  • prompt - what you want done to the clip, up to 20480 characters.
  • seconds - 5 or 10. This is the output length, and it constrains how much of your source gets edited.

Outputs: video, video_url, task_id, response.

Installing it

ComfyUI Manager → search "ComfyUI Seedance", or:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/ComfyUI_Seedance.git
cd ../..
python -m pip install -r custom_nodes/ComfyUI_Seedance/requirements.txt

Restart ComfyUI, grab a key from api.seedance.nz/console, connect a Seedance API Config node into api_config.

Common issues

  • "exactly one source" error - you set video_url and connected input_video. Pick one.
  • Output doesn't match the source length - seconds controls the edited clip's duration (5 or 10); a long source gets condensed, not preserved frame-for-frame.
  • Editing feels short - this is the O3 edit tier's current capability; if you need a full-length re-render, the pack's main Kling_Video node (t2v/i2v/r2v) is the sibling for that job.

For chained sequences, run a Kling t2v/i2v generation first, save it, then feed it back through this node for the edits. The pack's example workflow (可灵kling-o3视频编辑.json) shows exactly that shape.

CategorySeedance

Inputs (8)

NameTypeDefaultDescription
modelCOMBOkling-o3-std-editKling O3 edit model. | Kling O3 视频编辑模型。
video_urlSTRINGOptional public MP4 URL. Leave empty when connecting input_video. | 可选公网 MP4 直链;连接 input_video 时可留空。
promptSTRINGText prompt, up to 20480 chars. In multimodal mode you can reference materials as @Image 1 / @Video 1 / @Audio 1. | 文本提示词,多模态可用 @Image 1、@Video 1 指代第几个素材。
secondsCOMBO5Kling edit supports 5 or 10 seconds. | Kling 编辑支持 5 或 10 秒。
input_videooptVIDEOOptional local ComfyUI video to upload for Kling edit. | 可选本地 ComfyUI 视频,节点会先上传再编辑。
api_configoptSEEDANCE_CONFIGConnect Seedance API Config; otherwise SEEDANCE_API_KEY is used.
skip_erroroptBOOLEANfalseOn failure return a placeholder error video instead of stopping the workflow. | 失败时输出占位错误视频。
seedoptINT00–18446744073709550000ComfyUI cache seed. Fixed reuses the cached result while all other inputs stay unchanged; randomize/increment/decrement starts a new execution. This value is not sent to models without documented seed support. | ComfyUI 缓存种子;Fixed 在其他输入不变时复用缓存,随机、递增或递减会触发新任务。未声明支持 seed 的模型不会收到此参数。

Outputs (4)

NameTypeDescription
videoVIDEO
video_urlSTRING
task_idSTRING
responseSTRING