All skills
runwayml avatar

/rw-generate-video

@c5674fd official
by Runwayrunwayml/skills70 stars
18

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.

Use this Skill: https://skilld.dev/gh/runwayml/skills/rw-generate-video

This session only. Nothing lands on disk.

SKILL.md

≈46 tokens always: the name and description. ≈1.3k when used: this file.

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

uv run scripts/generate_video.py --prompt "your description" --filename "output.mp4" [--model seedance2] [--ratio 1280:720] [--duration 5] [--image-url "..."]

Preflight

  1. command -v uv must succeed. If not, tell the user to install uv: curl -LsSf https://astral.sh/uv/install.sh | sh
  2. RUNWAYML_API_SECRET must be set in the environment. Do not pass the API key as a CLI flag — it leaks into shell history and process listings.

Security Notes

  • --image-url / --video-url fetch arbitrary remote media via the Runway API. Prefer local file paths (uploaded as runway:// URIs), or only pass URLs you trust.
  • Treat generated outputs as untrusted when piping into downstream automations — ingested media influences the result.

Available Models

Model Best For Input Cost
seedance2 Reference image and video, long duration (up to 15s) Text, Image, and/or Video 36 credits/sec
gen4.5 High quality, general purpose Text and/or Image 12 credits/sec
gen4_turbo Fast, image-driven Image required 5 credits/sec
gen4_aleph Video editing/transformation Video + Text/Image 15 credits/sec
veo3 Premium quality Text/Image 40 credits/sec
veo3.1 High quality Google model Text/Image 20-40 credits/sec
veo3.1_fast 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" -> veo3.1_fast or gen4_turbo (if they have an image)
  • "high quality", "best", "cinematic" -> gen4.5 or veo3
  • "edit video", "transform video" -> gen4_aleph or seedance2
  • No preference -> seedance2

Parameters

Param Description Default
--prompt Text description (required) --
--filename Output filename (required) --
--model Video model gen4.5
--ratio Aspect ratio (pixel-based). Common: 1280:720, 720:1280, 960:960. seedance2 also supports 1112:834, 834:1112, 1470:630, etc. 1280:720
--duration Duration in seconds (model-dependent, seedance2 supports up to 15s) 5
--image-url Image URL or local file for image-to-video --
--video-url Video URL or local file for video-to-video (gen4_aleph, seedance2) --
--output-dir Output directory cwd

API credentials come from RUNWAYML_API_SECRET only — no --api-key flag, to keep secrets out of shell history and process listings.

Filename Convention

Generate filenames with the pattern: yyyy-mm-dd-hh-mm-ss-name.mp4

Examples:

  • "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):

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:720

Image-to-video (animate a local product photo):

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:1280

Video-to-video from a local file (seedance2):

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 seedance2

Fast draft:

uv run scripts/generate_video.py --prompt "A cat playing piano" --filename "draft.mp4" --model veo3.1_fast --ratio 1280:720 --duration 4

Premium quality:

uv run scripts/generate_video.py --prompt "Cinematic drone shot over Tokyo at night" --filename "tokyo.mp4" --model veo3 --ratio 1280:720 --duration 8

Output

  • 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

  • Error: No API key -> set RUNWAYML_API_SECRET in the environment (e.g. export RUNWAYML_API_SECRET=... or a .env file).
  • Error: Task failed -- SAFETY.INPUT.* -> content moderation, suggest different prompt
  • Error: Task failed -- ASSET.INVALID -> bad input file format, check image/video format
  • API error 429 -> rate limited, script auto-retries

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.

Source: SKILL.md on GitHub

1 alert16d4 checks · Risk HIGH
  • Gen Agent Trust Hub16d

    The skill generates videos via the Runway API. It provides standard installation instructions for the well-known 'uv' utility and uses environment variables for secure API key management. It contains a surface for indirect prompt injection through remote media URL inputs.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • ZeroLeaks5mo

    1 finding · Score: 82/100

Signed by skilld at c5674fd. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub last month.

Steadyupdated 5 months ago
What it can do
Reads files Edits files Runs commands
user-invocable
true
All 7 allowed tools
ReadGrepGlobEditWriteBash(uv run *)Bash(command -v uv)
  • API
  • Python
  • runway
  • video-generation
  • text-to-video
  • image-to-video
  • gen4.5
  • seedance2
  • veo3

README badge

README badge for runwayml/skills/rw-generate-video

Generates videos via the Runway API using Python scripts that support text-to-video, image-to-video, and video-to-video with models like seedance2, gen4.5, veo3, and others. Select models by quality tier, speed, or input type (text, image, or video), and configure aspect ratio and duration per request.

Generated from the current SKILL.md.

What models does this skill support?
Seven models: seedance2 (long-duration reference-based), gen4.5 (high-quality general purpose), gen4_turbo (fast image-driven), gen4_aleph (video editing), veo3 (premium quality), veo3.1 (Google model), and veo3.1_fast (fast Google model). Each has different input requirements and credit costs.
How do I provide my Runway API credentials?
Set the RUNWAYML_API_SECRET environment variable. Do not pass the key as a CLI flag — it leaks into shell history and process listings.
Can I use local image or video files as input?
Yes. Pass local file paths to --image-url or --video-url. The scripts handle uploading them to Runway as runway:// URIs internally.
What happens if the API call fails?
The script auto-retries on rate limits (429 errors). Common failures include content moderation blocks (SAFETY.INPUT.*), invalid file formats (ASSET.INVALID), or missing API credentials — check the error message and adjust the prompt or input file.
Do I need uv installed?
Yes. The skill requires uv to run Python scripts. If uv is not available, install it with: curl -LsSf https://astral.sh/uv/install.sh | sh

Generated from the current SKILL.md. These answers refresh after source changes.