Nodaro Docs
DocumentationNode ReferenceModelsAI Agents (MCP)DevelopersSelf-hostingResearch
Tools reference

Video

Generate video from text or an image, extend, restyle, relight and upscale clips, and make faces talk or move with Nodaro's video tools for AI assistants.

The video tools let an assistant create and transform video in Nodaro: generate a clip from text or from an image, extend or restyle it, relight it, upscale it, and make a face talk or copy a movement. Each tool starts a job and returns its id, and the result is saved to your library. Every video tool needs the workflows:execute permission. Video jobs usually take 2 to 10 minutes.

ToolWhat it does
generate_videoText to video, with optional references
animate_imageImage to video, with an optional end frame
extend_videoContinues a clip forward in time
modify_videoRestyles or edits a clip with a prompt
relight_videoRelights a clip, or swaps its background, from its own pixels
video_upscaleUpscales a clip
lip_syncMakes a face speak or sing an audio track
speech_to_videoAnimates a portrait to a speech clip
motion_transferCopies the motion of a video onto a character image
face_swapReplaces a face in a video
stop_video_pro, continue_video_proStops or resumes a long Generate Video Pro run

generate_video

Creates a video from a text prompt. It works like the Generate Video node.

Permission: workflows:execute. Credits: the price of the model, which most models set by duration and resolution. Check the model's pricing in list_models before you quote a cost.

ParameterTypeNotes
promptstringThe description of the video, up to 8,000 characters. Required unless a preset supplies it.
modelstringThe model id. Default seedance-2-fast. An unknown id falls back to the default.
durationnumberSeconds. The nearest supported value is used. -1 lets Seedance 2 choose the length.
aspect_ratiostringFor example 16:9, 9:16 or 1:1. Default 16:9. An unsupported value falls back.
resolutionstringFor example 480p, 720p, 1080p or 4k, depending on the model. Leave it out for the model's lowest resolution, which is its cheapest.
soundbooleanGenerates sound, on models that can.
negative_promptstringWhat to avoid, up to 8,000 characters.
seedintegerA fixed seed, on models that support it.
reference_image_urlsarrayReference images for identity or style, as URLs or Nodaro ids. Each model has its own limit, for example 30 on Seedance 2.5, 9 on Seedance 2 and MiniMax Hailuo 3, 7 on Gemini Omni and 3 on VEO 3.1. Models without references ignore them.
reference_video_urlsarrayReference videos for style or motion, on models that take them.
reference_video_captionsarrayWhat each reference video is for, in the same order, up to 500 characters each. Each caption becomes a line such as @video_1: … in the prompt.
reference_audio_urlsarrayReference audio that drives the motion, on models that take it.
presetIdstringA preset from list_node_presets. Fields you pass override it.
structuredobjectStructured details added to the prompt, as on generate_image.
described_referencesarrayUp to 10 { name, description } entries for a subject you can name but have no picture of.
connected_references, reference_orderarrayAdvanced. Labeled, ordered references in the editor's own format, up to 14.

Returns: a job id. In clients with MCP Apps, the card plays the video when it is ready.

With Seedance, write a video with several moments as Shot 1: … Shot 2: …, use one camera move per shot, and describe the sound in the prompt. get_node_skill with generate-video returns the prompting rules of each model family.

A reference video tells the model to copy something from the clip. Say what it is for in reference_video_captions. For example, a grey clay render of a 3D scene is a layout guide, not a look; without a caption, the model may copy the grey clay look too.

Model notes

ModelWhat to know
Seedance 2 (seedance-2)Accepts resolution: "4k" and aspect_ratio: "adaptive" or "21:9".
Seedance 2 Fast and Mini (seedance-2-fast, seedance-2-mini)480p and 720p only.
Seedance 2.5 (seedance-2-5)480p, 720p or 1080p, and up to 30 seconds in one call. Up to 30 reference images, 10 videos and 10 audio clips.
MiniMax Hailuo 3 (minimax-h3)Up to 9 reference images, 3 videos and 3 audio clips. resolution is 2K (default) or the cheaper 768P, and audio is always on. A text-only video needs a concrete aspect ratio. Reference videos are 2 to 15 seconds each, 15 seconds in total, and reference audio must come with an image or video reference.
Wan 3.0 (wan-3, wan-3-prime)Up to 10 reference images, 5 videos and 5 audio clips, each clip 1 to 15 seconds and 15 seconds in total per type. duration is 2 to 30 seconds, default 5. resolution is 480p, 720p or 1080p. wan-3-prime is faster and costs more.
Gemini Omni Flash (gemini-omni-flash)The cheaper, faster version of Gemini Omni. duration is 4, 6, 8 or 10 seconds, default 8. aspect_ratio is 16:9 or 9:16. resolution is 720p, 1080p or 4k.
VEO 3.1 Quality (veo3)Has no reference mode; use VEO 3.1 Fast or Lite for references.

On Seedance 2, MiniMax Hailuo 3 and Wan 3.0, a start or end frame passed together with references becomes one more reference image, described in the prompt as the opening or closing frame. On Seedance, reference videos are billed by the input duration plus the output duration, so longer reference clips reserve more credits.

animate_image

Animates a still image into a video. Pass an end frame too, and the video moves from the first picture to the second. It works like the image-to-video mode of Generate Video.

Permission: workflows:execute. Credits: the price of the model.

ParameterTypeNotes
image_url or image_asset_idstringThe first frame.
end_frame_url or end_frame_asset_idstringThe last frame. Choose a model whose features in list_models include end-frame.
promptstringWhat happens in the video, up to 8,000 characters.
modelstringDefault seedance-2-fast. An unknown id falls back to the default.
duration, aspect_ratio, resolution, soundAs on generate_video.
reference_image_urls, reference_video_urls, reference_audio_urlsarrayReferences at each model's own limits, for example 30 images on Seedance 2.5, 9 on Seedance 2 and MiniMax Hailuo 3, and 7 on Gemini Omni, Kling 3 Omni and Grok.
loop_trimobjectTrims the result to its cleanest loop point: enabled, frames_to_test (1 to 64), and quality, lossless or precise.
described_references, connected_references, reference_orderarrayAs on generate_video.

The tool chooses the mode from what you pass: frames (a first and an optional last frame) or references. Reference videos and audio cannot be combined with an end frame. For a seamless loop, use the same image as the first and the last frame, turn sound off, then join the copies with combine_videos and add sound with merge_video_audio.

Returns: a job id.

extend_video

Continues a clip forward in time. Choose the model first: two models continue a video they generated, and one extends any video.

Permission: workflows:execute. Credits: the price of the extension model.

ModelMakerModesCreditsDetails
Seedance 2 ExtendBytedanceVideo extensionfrom 260Extend ANY video: generates the continuation (audio included) and trim-stitches it into one seamless clip.
VEO ExtendGoogleVideo extensionfrom 190Extend an existing VEO 3.1 clip by another segment.
Runway ExtendRunwayVideo extension320Extend a Runway video by another clip.
ParameterTypeNotes
modelstringRequired. seedance-2-extend, veo-extend or runway-extend.
promptstringRequired. What happens next, up to 8,000 characters. With seedance-2-extend, describe only the continuation.
video_url or video_asset_idstringseedance-2-extend only: the video to extend, from any source.
kie_task_idstringveo-extend and runway-extend only: the task id of the earlier VEO or Runway generation, from its job output.
durationintegerseedance-2-extend: seconds to add, from 4 to 15. Default 8.
generate_audiobooleanseedance-2-extend: continues the soundtrack. Default true.
resolutionstringseedance-2-extend: 480p, 720p (default), 1080p or 4k. Match the source for the cleanest join.
reference_image_urlsarrayseedance-2-extend: up to 8 reference images, named @image_1 to @image_8 in the prompt in list order.
veo_qualitystringveo-extend: fast or quality.
runway_resolutionstringrunway-extend: 720p or 1080p.
seedintegerFrom 10,000 to 99,999.

Returns: a job id. seedance-2-extend generates what happens next, with audio, and joins it to the source in one clip.

modify_video

Restyles or edits an existing clip with a prompt. It works like the Video to Video node.

Permission: workflows:execute. Credits: the price of the model.

ParameterTypeNotes
promptstringRequired. The change, up to 8,000 characters.
video_url or video_asset_idstringRequired, one of the two. The source clip.
modelstringwan (default, Wan 2.6, the general choice), wan-flash, wan-videoedit, luma-modify, runway-aleph, happyhorse-edit or seedance-2-5. An unknown id falls back to wan.
durationstringWan and Wan Flash: 5 or 10 seconds.
resolutionstringWan and Wan Flash: 720p or 1080p. Seedance 2.5: 480p to 1080p.
aspect_ratiostringRunway Aleph only: 16:9, 9:16, 4:3, 3:4, 1:1 or 21:9.
audiobooleanWan Flash only: keeps or regenerates the audio.
multi_shotsbooleanWan Flash only: allows scene changes within the clip.
reference_image_urlstringRunway Aleph only: a style reference image.
reference_image_urlsarraySeedance 2.5 only: up to 30 images, cited in the prompt as {image:1}, {image:2} and so on.
seedintegerA fixed seed.

With seedance-2-5, the prompt is an instruction that edits the whole clip. The result keeps the source's length and aspect ratio, and the clip must be 4 to 30 seconds long. It is billed like a Seedance 2.5 run with a reference video: input seconds plus output seconds, reserved for the longest clip and settled to the delivered length.

Returns: a job id.

relight_video

Relights a clip, swaps or restyles its background, or composites new elements, using the source video's own pixels. It runs Beeble SwitchX and works like the Relight & Switch node.

Permission: workflows:execute. Credits: set by the number of frames and the output resolution.

ParameterTypeNotes
video_url or video_asset_idstringThe source clip: at most 240 frames and 2,770,000 pixels per frame.
promptstringThe new lighting or look, up to 2,000 characters. Pass a prompt, a reference image, or both.
reference_image_urlstringA reference image for the new look. Strongly recommended.
alpha_modestringauto (default) masks the main subject. fill restyles the whole frame. select uses mask_url as one keyframe mask. custom uses mask_url as a mask video for every frame.
mask_urlstringRequired for select and custom.
alpha_keyframe_indexintegerFor select: the frame, counted from 0, that the mask describes.
max_resolutionstring720 or 1080 (default).
seedintegerA fixed seed.

Returns: a job id. Results carry a SwitchX attribution.

video_upscale

Upscales a clip to a higher resolution. It works like the Upscale Video node.

Permission: workflows:execute. Credits: the price of the upscale model.

ModelMakerModesCreditsDetails
Topaz Video UpscaleTopazVideo upscaling190High-quality video upscale and enhancement.
VEO 1080p UpscaleGoogleVideo upscaling20Upscale VEO output to 1080p.
VEO 4K UpscaleGoogleVideo upscaling380Upscale VEO output to 4K.
ParameterTypeNotes
modelstringtopaz (default), veo-1080p or veo-4k.
video_url or video_asset_idstringRequired for topaz.
upscale_factorstringFor topaz: 1, 2 or 4. Default 2.
kie_task_idstringRequired for veo-1080p and veo-4k: the task id of the original VEO generation.

Returns: a job id.

lip_sync

Makes a face speak or sing an audio track: a portrait becomes a talking head, or the mouth in an existing clip follows new audio. It works like the Lip Sync node.

Permission: workflows:execute. Credits: the price of the model. The tool's model description lists each model's price.

ParameterTypeNotes
image_url or image_asset_idstringA portrait. Use it for kling-avatar, kling-avatar-pro and infinitalk.
video_url or video_asset_idstringA clip of the face, for the models that re-drive an existing video, such as latentsync and video-retalking.
audio_url or audio_asset_idstringThe speech or song.
modelstringDefault kling-avatar, a 720p talking head. Others include kling-avatar-pro, infinitalk, omnihuman-1-5, latentsync, wav2lip, video-retalking, sadtalker, heygen-lipsync-precision, lipsync-2-pro, sync-lipsync-v3, volcengine-lipsync, the Seedance 2 family and minimax-h3. An unknown id falls back to kling-avatar.
promptstringA hint for the performance, such as a confident TED speaker, up to 500 characters. Some models use it.
resolutionstringInfiniTalk: 480p or 720p. Seedance 2 and 2 Fast: 480p, 720p or 1080p. OmniHuman 1.5: 720p or 1080p (default).
seed, fast_modeOmniHuman 1.5 only: a fixed seed, and a faster mode with slightly lower quality.
modestringVolcengine only: lite (default, one person facing the camera) or basic (complex scenes).
open_scenedet, separate_vocal, align_audio, align_audio_reverse, templ_start_secondsVolcengine only: speaker detection for several speakers, noise removal from the audio, looping the source video to the audio length, and the start time in the source.

get_node_skill with lip-sync explains which model fits singing, dubbing, cinematic full-body shots or the cheapest draft.

ModelMakerModesCreditsDetails
minimax-h3MiniMaxImage to video, Text to videofrom 230MiniMax Hailuo 3 — premium multimodal tier: first/last frame + image/video/audio references, native audio, 2K (default) or 768P output, 4-15s per-second pricing.
Kling Avatar StandardKuaishouLip sync280Lip-sync a still portrait to driving audio. Standard quality.
Kling Avatar ProKuaishouLip sync560Premium lip-sync — better mouth shape and timing.
Seedance 2BytedanceImage to video, Text to videofrom 230Seedance 2 — premium tier with native audio. Per-second pricing by resolution.
Seedance 2 FastBytedanceImage to video, Text to videofrom 180Cheaper / quicker Seedance 2 tier.
Seedance 2 MiniBytedanceImage to video, Text to videofrom 120Budget Seedance 2 tier — 480p/720p only, per-second pricing by resolution.
Seedance 2.5BytedanceImage to video, Text to videofrom 340Seedance 2.5 — up to 30s in one shot, native audio, wide multimodal references. 480p/720p/1080p.
OmniHuman 1.5BytedanceLip syncfrom 1020Premium prompt-directed talking avatar from a still image + audio. 720p / 1080p, up to 60s. People, pets, anime.
InfiniTalkInfiniTalkLip syncfrom 110Audio-driven talking-head from a still image. 480p / 720p.
Sync Lipsync v3SyncLip syncfrom 1000Dub existing footage — re-syncs lips to a new audio track. Video input, billed per second.
Volcengine Lip SyncVolcengineLip syncfrom 300Video-to-video AI dubbing — re-syncs lips to a new vocal track. Multi-speaker (scene detection + speaker ID) in basic mode. Video input, billed per second.

Returns: a job id. The card plays the video when it is ready.

speech_to_video

Animates a portrait so it speaks an audio clip, with the face lip-synced and the head and body moving. It runs Wan Speech to Video and works like the Speech to Video node.

Permission: workflows:execute. Credits: from 30 to 60.

ParameterTypeNotes
promptstringRequired. The motion and the scene, up to 2,500 characters.
image_url or image_asset_idstringThe portrait.
audio_url or audio_asset_idstringThe speech.
resolutionstring480p (default), 580p or 720p.
negative_promptstringWhat to avoid, up to 2,500 characters.

Returns: a job id.

motion_transfer

Copies the motion of a driving video onto a character image, so the character performs the same movement. It works like the Motion Transfer node.

Permission: workflows:execute. Credits: the price of the model and duration.

ParameterTypeNotes
image_url or image_asset_idstringRequired. The character.
video_url or video_asset_idstringRequired. The video whose motion is copied.
promptstringThe result you want, up to 8,000 characters.
providerstringThe model. Default kling.
resolutionstring480p, 580p, 720p (default) or 1080p.
character_orientationstringWhose framing wins: image (default) or video.
background_sourcestringWhich input gives the background: input_video or input_image, on models that support it.
video_durationnumberThe output length, from 1 to 60 seconds, on models that support it.

Returns: a job id.

face_swap

Replaces the face in a video with the face from a portrait. It works like the Face Swap node.

Permission: workflows:execute. Credits: 130.

ParameterTypeNotes
video_url or video_asset_idstringThe source video.
face_image_url or face_image_asset_idstringThe portrait whose face is used.

Returns: a job id.

stop_video_pro

Stops a running Generate Video Pro job, the engine that makes long videos in segments, for example from a workflow with the Generate Video Pro node. The segment in progress is abandoned but still billed, the remaining segments are skipped, and every finished segment is joined into the job's final video. The rest of the reserved credits is refunded. A job that has not started yet is cancelled with a full refund.

Permission: workflows:execute. Credits: free; the unused reserve is refunded.

ParameterTypeNotes
job_idstringRequired. The Generate Video Pro job.

Returns: a confirmation. Poll the job with get_job: it completes with output_data.pro.stopped set to true and the partial video as its result.

continue_video_pro

Continues a stopped, failed or completed Generate Video Pro run as a new job. Segments before from_segment are reused, and every segment from it on is generated again. A failed run needs at least one delivered segment.

Permission: workflows:execute. Credits: only the segments generated again, plus the flat Generate Video Pro fee.

ParameterTypeNotes
job_idstringRequired. The original Generate Video Pro job.
from_segmentintegerThe first segment to generate again, counted from 1, up to 24. Default: the first missing segment. Pass an earlier one to redo the end of a completed run.

Returns: the new job id.

Frequently asked questions

Last updated on

On this page