BytePlus Video Generation
Text/image-to-video through ByteDance's cloud API
- image
- video
- task_id
- video_url
BytePlus is ByteDance's international cloud arm - the global-facing brand for what's Volcano Engine domestically - and its Ark platform hosts ByteDance's video generation models behind a paid API. This node is a thin wrapper around that API: it submits a text (and optionally image) prompt as a video generation job, polls until the job finishes, and hands you back the finished clip. No local model, no VRAM requirement of your own - the compute happens on BytePlus's side and you pay per generation.
The one field worth flagging before anything else: model defaults to ep-20260423190508-bhljb. That's not a placeholder like "gpt-4" is on other API nodes - it's the shape of a real BytePlus/Volcano Ark inference endpoint ID (the ep- prefix is the platform's own convention). Ark doesn't let you pass a plain model name; you create an endpoint tied to a specific model version in your own account console first, and pass that ID here. The value shipped as the default looks like it came straight from the author's own account during development. Replace it with your own endpoint ID before running this node, or expect it to fail against a model you don't have access to.
The fields that matter
api_keyandmodel(your BytePlus Ark endpoint ID) - required, and the model field is the trap described above.text- your prompt.duration(1–60 seconds) andresolution(480p/720p) - the basic generation parameters. Longer duration and higher resolution both cost more and take longer to render on BytePlus's side.imageorimage_url(optional) - supply either to drive image-to-video instead of pure text-to-video.generate_audio(default on) andcamera_fixed- whether the output includes generated audio, and whether the camera should stay locked rather than move.ratio- seven aspect ratio options includingadaptive, which follows your input image's aspect ratio when one is supplied.watermark- whether BytePlus stamps the output; off by default.poll_interval_seconds(default 5) andtimeout_seconds(default 900, up to 7200) - this is a submit-then-poll API under the hood, not a synchronous call. The node checks in everypoll_interval_secondsand gives up aftertimeout_seconds. Video generation jobs on remote APIs commonly take minutes rather than seconds, which is why the default timeout is a full 15 minutes and can be pushed to 2 hours for longer or higher-resolution requests.
Outputs: video (the finished clip), task_id (the BytePlus job ID, useful if you need to look the job up on their dashboard or debug a failure), and video_url (a direct link to the hosted result, separate from the downloaded video output).
Installing it
Search ComfyUI-load-lora-from-url in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/bollerdominik/ComfyUI-load-lora-from-url
No local model to download - you need a BytePlus account with billing set up, an Ark inference endpoint created for the video model you want, and its endpoint ID and API key in hand.
Where people get burned
- Using the default
modelvalue as-is. It's someone else's endpoint ID, not a generic model name. If your workflow errors immediately with an auth or not-found error, this is the first thing to check. - A timeout too short for the job. Longer or higher-resolution generations can genuinely take longer than 900 seconds. If runs are timing out rather than failing outright, raise
timeout_secondsbefore assuming something's broken. - Forgetting this bills per call. Unlike the local loaders elsewhere in this pack, every run of this node costs real money on your BytePlus account - worth confirming duration and resolution before queuing a batch of test runs.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| model | STRING | ep-20260423190508-bhljb | — |
| text | STRING | my text | — |
| duration | INT | 101–60 | — |
| seed | INT | -1-1–4294967295 | — |
| camera_fixed | BOOLEAN | false | — |
| imageopt | IMAGE | — | |
| image_urlopt | STRING | — | |
| generate_audioopt | BOOLEAN | true | — |
| ratioopt | COMBO | adaptive | 7 options: adaptive, 16:9, 9:16, 1:1, 4:3, 3:4, +1 |
| resolutionopt | COMBO | 480p | 2 options: 480p, 720p |
| watermarkopt | BOOLEAN | false | — |
| poll_interval_secondsopt | FLOAT | 5.01–60 | — |
| timeout_secondsopt | INT | 90030–7200 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | — |
| task_id | STRING | — |
| video_url | STRING | — |