rw-generate-video
Original:🇺🇸 English
Translated
Generate videos directly using the Runway API via runnable scripts. Supports text-to-video, image-to-video, and video-to-video with seedance2, gen4.5, veo3, and more.
2installs
Sourcerunwayml/skills
Added on
NPX Install
npx skill4agent add runwayml/skills rw-generate-videoTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →Generate Video
Generate videos directly using the Runway API. This skill runs Python scripts that call the API, poll for completion, and download the result.
IMPORTANT: Run scripts from the user's working directory so output files are saved where the user expects.
Usage
bash
uv run scripts/generate_video.py --prompt "your description" --filename "output.mp4" [--model seedance2] [--ratio 1280:720] [--duration 5] [--image-url "..."]Preflight
- must succeed. If not, tell the user to install uv:
command -v uvcurl -LsSf https://astral.sh/uv/install.sh | sh - must be set in the environment. Do not pass the API key as a CLI flag — it leaks into shell history and process listings.
RUNWAYML_API_SECRET
Security Notes
- /
--image-urlfetch arbitrary remote media via the Runway API. Prefer local file paths (uploaded as--video-urlURIs), or only pass URLs you trust.runway:// - Treat generated outputs as untrusted when piping into downstream automations — ingested media influences the result.
Available Models
| Model | Best For | Input | Cost |
|---|---|---|---|
| Reference image and video, long duration (up to 15s) | Text, Image, and/or Video | 36 credits/sec |
| High quality, general purpose | Text and/or Image | 12 credits/sec |
| Fast, image-driven | Image required | 5 credits/sec |
| Video editing/transformation | Video + Text/Image | 15 credits/sec |
| Premium quality | Text/Image | 40 credits/sec |
| High quality Google model | Text/Image | 20-40 credits/sec |
| Fast Google model | Text/Image | 10-15 credits/sec |
Model Selection Guidance
Map user requests:
- "product ad", "e-commerce", "long video" ->
seedance2 - "fast", "cheap", "quick" -> or
veo3.1_fast(if they have an image)gen4_turbo - "high quality", "best", "cinematic" -> or
gen4.5veo3 - "edit video", "transform video" -> or
gen4_alephseedance2 - No preference ->
seedance2
Parameters
| Param | Description | Default |
|---|---|---|
| Text description (required) | -- |
| Output filename (required) | -- |
| Video model | |
| Aspect ratio (pixel-based). Common: | |
| Duration in seconds (model-dependent, seedance2 supports up to 15s) | |
| Image URL or local file for image-to-video | -- |
| Video URL or local file for video-to-video (gen4_aleph, seedance2) | -- |
| Output directory | cwd |
API credentials come fromonly — noRUNWAYML_API_SECRETflag, to keep secrets out of shell history and process listings.--api-key
Filename Convention
Generate filenames with the pattern:
yyyy-mm-dd-hh-mm-ss-name.mp4Examples:
- "A cyberpunk city" ->
2026-04-14-14-23-05-cyberpunk-city.mp4 - "Waves on a beach" ->
2026-04-14-15-30-12-beach-waves.mp4
Examples
Text-to-video (seedance2):
bash
uv run scripts/generate_video.py --prompt "A serene mountain landscape at sunrise with mist" --filename "2026-04-14-mountain-sunrise.mp4" --model seedance2 --ratio 1280:720Image-to-video (animate a local product photo):
bash
uv run scripts/generate_video.py --prompt "Camera slowly zooms out, product sparkles" --image-url "./product.jpg" --filename "2026-04-14-product-reveal.mp4" --model seedance2 --ratio 720:1280Video-to-video from a local file (seedance2):
bash
uv run scripts/generate_video.py --prompt "Transform into a warm golden sunset scene" --video-url "./input.mp4" --filename "2026-04-14-sunset-transform.mp4" --model seedance2Fast draft:
bash
uv run scripts/generate_video.py --prompt "A cat playing piano" --filename "draft.mp4" --model veo3.1_fast --ratio 1280:720 --duration 4Premium quality:
bash
uv run scripts/generate_video.py --prompt "Cinematic drone shot over Tokyo at night" --filename "tokyo.mp4" --model veo3 --ratio 1280:720 --duration 8Output
- The script downloads the result and saves it to the specified path
- Script outputs the full path to the saved file
- Do not read the video file back -- just inform the user of the saved path
Common Failures
- -> set
Error: No API keyin the environment (e.g.RUNWAYML_API_SECRETor aexport RUNWAYML_API_SECRET=...file)..env - -> content moderation, suggest different prompt
Error: Task failed -- SAFETY.INPUT.* - -> bad input file format, check image/video format
Error: Task failed -- ASSET.INVALID - -> rate limited, script auto-retries
API error 429
For Batch Generation
To generate many videos at once, run this script in a loop — the agent can orchestrate multiple calls with different prompts, images, or parameters to produce campaigns, localized variants, or creative iterations at scale.