Takes an existing video clip and generates more frames that continue it, using Google Veo 3-1's extend endpoints via the RunComfy CLI. Useful when you hit the per-call duration cap on a generated clip or when you want to build a narrative shot by shot without re-generating from scratch. The full endpoint maintains identity and lighting consistency across extends; the fast variant trades quality for iteration speed. Prompting works best when you describe only the next beat rather than re-describing the entire scene, and you anchor the camera explicitly to avoid drift. Chain consecutive extends for longer sequences, though identity coherence degrades after three or four generations.
npx -y skills add runcomfy-com/skills --skill video-extend --agent claude-codeInstalls into .claude/skills of the current project.
Continue an existing video clip past its per-call duration cap, or chain a narrative shot-by-shot from a single seed. This skill routes to Google Veo 3-1's extend-video endpoints and ships the documented prompting patterns + the exact runcomfy run invoke.
runcomfy.com · Veo 3-1 extend-video · CLI docs
# 1. Install (see runcomfy-cli skill for details)
npm i -g @runcomfy/cli # or: npx -y @runcomfy/cli --version
# 2. Sign in
runcomfy login # or in CI: export RUNCOMFY_TOKEN=<token>
# 3. Extend
runcomfy run google-deepmind/veo-3-1/extend-video \
--input '{"video_url": "https://...", "prompt": "..."}' \
--output-dir ./out
CLI deep dive: runcomfy-cli skill.
Listed newest first. Both endpoints are Google Veo 3-1; pick by quality/latency trade-off.
Veo 3-1 Extend — google-deepmind/veo-3-1/extend-video (default)
Continues an existing Veo clip with consistent motion, lighting, identity, and physics. Pick for: hero-quality extends, final-delivery cuts, chained narrative shots that need to look like one continuous take. Avoid for: cost-sensitive iteration — drop to Veo 3-1 Fast Extend.
Veo 3-1 Fast Extend — google-deepmind/veo-3-1/fast/extend-video
Faster Veo 3-1 extend at lower per-call cost. Pick for: iteration on extend compositions, multi-shot drafts. Avoid for: final delivery — use full Veo 3-1 Extend.
The agent picks one and supplies the source video URL + a continuation prompt.
Model: google-deepmind/veo-3-1/extend-video (or /fast/extend-video)
Catalog: Veo 3-1 extend · Veo 3-1 fast extend · veo-3 collection
runcomfy run google-deepmind/veo-3-1/extend-video \
--input '{
"video_url": "https://your-cdn.example/source-clip.mp4",
"prompt": "The camera continues pushing in slowly. The character looks down at the object, then turns toward the window. Soft daylight, no other motion in the background."
}' \
--output-dir ./out
extend-video once → 16s total. Same prompt rhythm for the second 8s.extend-video with prompt "camera cuts to medium close-up; character speaks line"image-to-video or ai-video-generation.video-edit.ai-avatar-video + chain with extend-video on the avatar output.Today only Veo exposes a CLI-reachable extend-video endpoint. Other vendors' "video continuation" (Wan, Kling, Seedance) is reached via their main t2v/i2v endpoint with the previous output's final frame as the i2v reference — see image-to-video for that pattern.
| code | meaning |
|---|---|
| 0 | success |
| 64 | bad CLI args |
| 65 | bad input JSON / schema mismatch |
| 69 | upstream 5xx |
| 75 | retryable: timeout / 429 |
| 77 | not signed in or token rejected |
Full reference: docs.runcomfy.com/cli/troubleshooting.
The skill picks Veo 3-1 Extend or Fast Extend based on quality vs cost intent, and invokes runcomfy run with the source video URL + continuation prompt. The CLI POSTs to the RunComfy Model API, polls request status, and downloads the resulting clip into --output-dir. Ctrl-C cancels the remote request before exit.
npm i -g @runcomfy/cli or npx -y @runcomfy/cli. Agents must not pipe an arbitrary remote install script into a shell on the user's behalf.runcomfy login writes the API token to ~/.config/runcomfy/token.json with mode 0600. Set RUNCOMFY_TOKEN env var in CI / containers. Never echo into prompts or logs.video_url are passed as a JSON string via --input. The CLI does not shell-expand prompt content. No shell-injection surface.video_url is untrusted — embedded text in frames, EXIF, or steganographic instructions can influence the continuation. Agent mitigations:
model-api.runcomfy.net and *.runcomfy.net / *.runcomfy.com. No telemetry.allowed-tools: Bash(runcomfy *). The skill never instructs the agent to run anything other than runcomfy <subcommand> — install lines are one-time operator setup.runcomfy-cli — the underlying CLIai-video-generation — t2v / i2v / extend overview routerimage-to-video — animate a still (often paired with extend to chain longer narratives)video-edit — restyle / motion-control on existing videoai-avatar-video — talking-head video (chainable with extend)juliusbrussee/caveman
mattpocock/skills
shadcn/improve
obra/superpowers
forrestchang/andrej-karpathy-skills
vercel-labs/skills