runway-studio-skills
Generate videos, images, and audio using the Runway API via Python scripts.
Identity proven by GitHub's verified organisation badge (runwayml)
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode
- License
- MIT (permissive)
- Pin
- c1c0348pinned Oct 9, 2026
- Context cost
- about 2,700 tokenswhen the skill loads
- GitHub stars
- 0on runwayml/runway-studio-skills
- Scripts
- 5 scripts
What it does
“Use this skill when the user wants to generate videos, images, or audio using the Runway API. Covers product ad videos, text-to-video, image-to-video, video-to-video, character performance, image generation, sound effects, TTS, speech-to-speech, voice dubbing, and voice isolation.”
Generated summary from the skill's own text
Generate videos, images, and audio using the Runway API via Python scripts. The skill supports text-to-video, image-to-video, video-to-video, character performance transfer, image generation, and audio tasks including sound effects, text-to-speech, voice conversion, dubbing, and voice isolation.
When to use it
- Creating product advertisement videos with multiple output variants
- Generating cinematic videos with automatic ambient audio
- Producing studio-quality images with reference-based styling
- Converting speech to different languages or voice styles
When not to
- Editing existing video or audio files without regeneration
- Generating real-time or streaming media content
- Performing complex multi-track audio mixing or editing
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add runwayml/runway-studio-skills --skill runway-studio-skillsInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install runwayml/runway-studio-skills runway-studio-skills@c1c0348fda3acf4ef864393b6485afb4600eeddaInstalls the commit we checked (c1c0348).
Copy by hand
Download the folder at c1c0348 and put it in .claude/skills/runway-studio-skills for Claude Code and in .agents/skills/runway-studio-skills for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Claude Code plugin
/plugin install runway-api@claude-plugins-officialThe publisher's plugin in Claude's official marketplace. It may hold more than this skill, and we have not pinned it.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "runway-studio-skills" by Runway. Source, pinned to commit c1c0348fda3acf4ef864393b6485afb4600eedda: https://github.com/runwayml/runway-studio-skills/tree/c1c0348fda3acf4ef864393b6485afb4600eedda 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/runway-studio-skills/ for Claude Code and .agents/skills/runway-studio-skills/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/runway/runway-studio-skills
SKILL.md at the pin
---
name: runway-studio-skills
description: |
Use this skill when the user wants to generate videos, images, or audio using
the Runway API. Covers product ad videos, text-to-video, image-to-video,
video-to-video, character performance, image generation, sound effects, TTS,
speech-to-speech, voice dubbing, and voice isolation.
license: MIT
---
# Runway Studio Skills
Generate studio-quality videos, images, and audio using the Runway API. All commands are standalone Python scripts run via `uv run` from the skill root directory.
## Setup
The user must set their Runway API key:
```bash
export RUNWAYML_API_SECRET="your-api-key"
```
All scripts accept `--api-key` as an alternative.
## Commands
All invocations use `uv run scripts/<script>.py` from the repo root. Dependencies install automatically on first run.
---
### generate_video.py — Video generation
Automatically routes to the correct Runway endpoint based on inputs provided.
```bash
# Text to video
uv run scripts/generate_video.py \
--prompt "A product bottle rotating slowly on a marble surface" \
--model seedance2 --ratio 720:1280 --duration 10
# Image to video
uv run scripts/generate_video.py \
--prompt "Smooth camera push-in, soft ambient light" \
--image "https://example.com/product.jpg" \
--model seedance2 --duration 10 --ratio 720:1280
# Image to video from local file
uv run scripts/generate_video.py \
--prompt "Product reveal" \
--image ./product-photo.jpg \
--model gen4_turbo
# Video to video
uv run scripts/generate_video.py \
--video "https://example.com/source.mp4" \
--prompt "Add cinematic color grading" \
--model gen4_aleph --ratio 1280:720
# Character performance
uv run scripts/generate_video.py \
--character ./spokesperson.jpg \
--reference-perf "https://example.com/performance.mp4" \
--ratio 1280:720
```
**Routing logic:**
- `--character` + `--reference-perf` → character_performance (act_two)
- `--video` → video_to_video
- `--image` → image_to_video
- prompt only → text_to_video
**Parameters:**
| Flag | Description | Default |
|------|-------------|---------|
| `--prompt` | Text prompt (up to 1000 chars; 3500 for seedance2) | — |
| `--image` | Image URL or local path | — |
| `--video` | Video URL or local path | — |
| `--model` | Model name (see table below) | `seedance2` |
| `--duration` | Duration in seconds | model default |
| `--ratio` | Resolution ratio (e.g. `1280:720`) | model default |
| `--audio` | `true`/`false` — generate audio | model default |
| `--output-count` | Number of outputs, 1-4 (seedance2 only) | 1 |
| `--seed` | Seed integer for reproducibility | random |
| `--image-position` | `first` or `last` — where the image appears in video | `first` |
| `--references` | Reference image URLs (video-to-video, gen4_aleph) | — |
| `--character` | Character image/video for act_two | — |
| `--character-type` | `image` or `video` | `image` |
| `--reference-perf` | Performance reference video for act_two | — |
| `--body-control` | Enable body control (act_two) | off |
| `--expression-intensity` | 1-5 expression intensity (act_two) | 3 |
| `--output-dir` | Output directory | `output` |
| `--filename` | Base name for saved files | `video` |
| `--no-poll` | Print task ID without waiting | off |
---
### generate_image.py — Image generation
```bash
uv run scripts/generate_image.py \
--prompt "Minimal skincare bottle on white background, studio lighting" \
--model gen4_image --ratio 1080:1080
# With reference images
uv run scripts/generate_image.py \
--prompt "Product in the style of the reference" \
--reference-images "https://example.com/brand-ref.jpg" ./local-ref.png \
--model gen4_image --ratio 1920:1080
```
**Parameters:**
| Flag | Description | Default |
|------|-------------|---------|
| `--prompt` | Text prompt (required) | — |
| `--model` | `gen4_image`, `gen4_image_turbo`, `gemini_2.5_flash` | `gen4_image` |
| `--ratio` | Resolution ratio | `1080:1080` |
| `--reference-images` | Up to 3 reference image URLs or local paths | — |
| `--seed` | Seed integer | random |
| `--output-dir` | Output directory | `output` |
| `--filename` | Base name for saved files | `image` |
---
### generate_audio.py — Audio generation
Five subcommands mapping to Runway audio endpoints.
```bash
# Sound effect
uv run scripts/generate_audio.py sound-effect \
--prompt "Soft whoosh transition sound" --duration 3
# Text to speech
uv run scripts/generate_audio.py tts \
--prompt "Welcome to our product showcase" --voice Leslie
# Speech to speech (voice conversion)
uv run scripts/generate_audio.py speech-to-speech \
--media ./recording.mp3 --media-type audio --voice Noah
# Voice dubbing
uv run scripts/generate_audio.py voice-dub \
--audio "https://example.com/narration.mp3" --target-lang es
# Voice isolation
uv run scripts/generate_audio.py voice-isolate \
--audio ./noisy-recording.mp3
```
**Subcommand parameters:**
**sound-effect:** `--prompt` (required), `--duration` (0.5-30s), `--loop`
**tts:** `--prompt` (required), `--voice` (required, see voice presets below)
**speech-to-speech:** `--media` (required), `--media-type` (`audio`/`video`), `--voice` (required), `--remove-noise`
**voice-dub:** `--audio` (required), `--target-lang` (required), `--disable-cloning`, `--drop-background`, `--num-speakers`
**voice-isolate:** `--audio` (required)
All subcommands also accept: `--output-dir`, `--filename`, `--no-poll`, `--api-key`
---
### get_task.py — Task management
```bash
# Check task status
uv run scripts/get_task.py --task-id "uuid-here"
# Poll until completion
uv run scripts/get_task.py --task-id "uuid-here" --poll
# Poll and download outputs
uv run scripts/get_task.py --task-id "uuid-here" --poll --download
# Cancel/delete a task
uv run scripts/get_task.py --task-id "uuid-here" --delete
```
---
## Model Selection Guide
### Video models
| Model | Best for | Duration | Audio | Key feature |
|-------|----------|----------|-------|-------------|
| `seedance2` | Product ads, reference-based video | 4-15s | yes | Reference image support, up to 4 outputs per call, 3500-char prompts |
| `gen4.5` | High quality text/image-to-video | 2-10s | no | Best visual quality |
| `gen4_turbo` | Fast image-to-video | 2-10s | no | Fastest Runway model |
| `veo3.1` | Cinematic with audio | 4/6/8s | yes | Built-in contextual audio, up to 1080p |
| `veo3.1_fast` | Fast cinematic with audio | 4/6/8s | yes | Faster veo3.1 |
| `veo3` | Cinematic with audio | 8s | no | Image-to-video with audio |
| `gen4_aleph` | Video-to-video restyling | — | — | Video input + reference images |
| `act_two` | Character performance | — | — | Transfer facial/body performance |
**For product ads, use `seedance2`.** It supports reference images (product photos fed directly), generates up to 4 variants per call, and produces up to 15s videos.
**For cinematic video with audio, use `veo3.1`.** It generates contextual ambient sound automatically.
### Image models
| Model | Best for | Key feature |
|-------|----------|-------------|
| `gen4_image` | General image generation | Up to 3 reference images, highest quality |
| `gen4_image_turbo` | Fast drafts | Requires at least 1 reference image |
| `gemini_2.5_flash` | Fast image generation | Google Gemini-based |
### Audio models
| Model | Endpoint | Purpose |
|-------|----------|---------|
| `eleven_text_to_sound_v2` | sound_effect | Sound effects from text description |
| `eleven_multilingual_v2` | text_to_speech | TTS with 50 voice presets |
| `eleven_multilingual_sts_v2` | speech_to_speech | Voice conversion in audio/video |
| `eleven_voice_dubbing` | voice_dubbing | Translate + dub to 28 languages |
| `eleven_voice_isolation` | voice_isolation | Separate voice from background |
### Voice presets (TTS and speech-to-speech)
Maya, Arjun, Serene, Bernard, Billy, Mark, Clint, Mabel, Chad, Leslie, Eleanor, Elias, Elliot, Grungle, Brodie, Sandra, Kirk, Kylie, Lara, Lisa, Malachi, Marlene, Martin, Miriam, Monster, Paula, Pip, Rusty, Ragnar, Xylar, Maggie, Jack, Katie, Noah, James, Rina, Ella, Mariah, Frank, Claudia, Niki, Vincent, Kendrick, Myrna, Tom, Wanda, Benjamin, Kiana, Rachel
---
## Supported Ratios
### Video ratios by model
**gen4.5 / gen4_turbo:** `1280:720`, `720:1280`, `1104:832`, `960:960`, `832:1104`, `1584:672`
**seedance2:** `992:432`, `864:496`, `752:560`, `640:640`, `560:752`, `496:864`, `1470:630`, `1280:720`, `1112:834`, `960:960`, `834:1112`, `720:1280`
**veo3.1 / veo3.1_fast / veo3:** `1280:720`, `720:1280`, `1080:1920`, `1920:1080`
### Common ad format ratios
| Platform | Ratio | seedance2 | gen4.5 |
|----------|-------|-----------|--------|
| TikTok / Reels (9:16) | `720:1280` | yes | yes |
| YouTube (16:9) | `1280:720` | yes | yes |
| Instagram Square (1:1) | `960:960` | yes | yes |
| Instagram Feed (4:3) | `1112:834` | yes (approx) | `1104:832` |
### Image ratios
**gen4_image / gen4_image_turbo:** `1024:1024`, `1080:1080`, `1168:880`, `1360:768`, `1440:1080`, `1080:1440`, `1808:768`, `1920:1080`, `1080:1920`, `2112:912`, `1280:720`, `720:1280`, `720:720`, `960:720`, `720:960`, `1680:720`
**gemini_2.5_flash:** `1344:768`, `768:1344`, `1024:1024`, `1184:864`, `864:1184`, `1536:672`, `832:1248`, `1248:832`, `896:1152`, `1152:896`
---
## Output Conventions
- Files are saved to `--output-dir` (default: `output/`).
- Filenames use the pattern: `YYYY-MM-DD-HH-MM-SS-<name>.ext`
- Scripts print the local file path to stdout on success.
- Scripts print structured JSON lines (`{"event": "runway_task", ...}` and `{"event": "runway_result", ...}`) to stdout for machine consumption.
- Status/progress messages go to stderr.
- Do NOT read generated media files back into the conversation — just report the file paths to the user.
---
## Local File Handling
All scripts accept local file paths for image, video, and audio inputs. Local files are automatically uploaded via the Runway uploads API (ephemeral, valid for 24h) before being used in generation requests.
---
## Error Handling
| Error | Meaning | Action |
|-------|---------|--------|
| 429 / rate limit | Too many requests | Wait and retry |
| 402 / insufficient credits | Not enough credits | User must top up at runway.com |
| SAFETY.INPUT.IMAGE | Input image flagged | Revise the input image |
| SAFETY.OUTPUT | Generated content flagged | Revise the prompt |
| Task FAILED | Generation failed | Check the failure message, adjust inputs |
---
## Prompt Tips for Product Ad Videos
- Describe camera movement explicitly: "slow dolly in", "smooth orbit around product", "camera pulls back to reveal"
- Specify lighting: "soft studio lighting", "golden hour warm light", "dramatic side light"
- Keep the product description concrete: material, color, size cues
- For seedance2, the reference image carries the visual identity — the prompt should describe *motion and scene*, not the product itself
- Shorter prompts (1-2 sentences) often produce better results than long descriptions
From runwayml/runway-studio-skills at c1c0348, shown as plain text under its license: MIT (permissive). The license text is in LICENSE.
View SKILL.md on GitHub at c1c0348Files
- SKILL.md11 KB · 58547472dbab
- .gitignore72 B · 9f0a548d325a
- CLAUDE.md849 B · b7aea0709e40
- COOKBOOK.md5.2 KB · 27185ac88c8d
- LICENSE1.1 KB · 1126322e2cc8
- README.md2.8 KB · af70e8c89681
- package.json577 B · 0e1bc888f540
- scripts/
- generate_audio.py7.3 KB · 7d3d1733ca19
- generate_image.py2.9 KB · fc22d86eb19c
- generate_video.py7.7 KB · da2db2a3e720
- get_task.py2.8 KB · dbca945f5394
- runway_helpers.py5.2 KB · dc61a3967482
12 files, 47 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at c1c0348More from Runway
runway-dev
Provides foundation for building and integrating Runway Dev Platform into applications using the MCP connection for live account context and SDK for…
Claude Code · about 1.4K tokens · pinned 6 days ago
runway-dev-characters
This skill helps build and debug Runway Characters integrations by managing avatar creation, live sessions, and SDK implementation.
Claude Code · about 850 tokens · pinned 6 days ago
runway-dev-model-routers
This skill enables agents to build, modify, and debug Runway Model Routers for managing API calls across multiple models with credit caps and fallback policies.
Claude Code · about 670 tokens · pinned 6 days ago
runway-dev-models
This skill helps agents integrate Runway's generative models (text-to-video, text-to-image, etc.) into applications by selecting appropriate model endpoints…
Claude Code · about 670 tokens · pinned 6 days ago
runway-dev-recipes
This skill helps agents integrate Runway recipe APIs into applications by selecting the right recipe for a use case, implementing SDK client.recipes calls…
Claude Code · about 400 tokens · pinned 6 days ago
runway-dev-workflows
This skill builds, modifies, and debugs integrations that expose Runway app workflows as API endpoints.
Claude Code · about 340 tokens · pinned 6 days ago
Related in Media and creative
all-images-ai-automation
This skill automates All Images AI operations by discovering and executing tools through Composio's All Images AI toolkit via Rube MCP.
by ComposioOfficial publisher
Agents not labelled yet · about 710 tokens · pinned 6 days ago
remotion-best-practices
This skill routes the agent through Remotion's specialized knowledge bases for video creation, editing, and deployment.
by RemotionOfficial publisher
Contains scripts
Claude Code, Codex, Cursor +3 · about 920 tokens · pinned 6 days ago
remotion-best-practices
This skill routes the agent to specialized Remotion sub-skills based on the user's task, covering video creation, project setup, React markup, maps…
by RemotionOfficial publisher
Claude Code, Codex, Cursor +3 · about 1K tokens · pinned 6 days ago
remotion-captions
This skill enables video caption workflows including transcribing audio to generate captions, displaying captions in videos, and importing captions from SRT…
by RemotionOfficial publisher
Claude Code, Codex, Cursor +3 · about 220 tokens · pinned 6 days ago
remotion-captions
This skill enables the agent to work with captions in Remotion videos by transcribing audio to generate captions, displaying them in videos, and importing…
by RemotionOfficial publisher
Claude Code, Codex, Cursor +3 · about 270 tokens · pinned 6 days ago
remotion-create
This skill scaffolds a new Remotion video project, opens the browser-based Studio for live preview, and guides composition development using React markup.
by RemotionOfficial publisher
Claude Code, Codex, Cursor +3 · about 680 tokens · pinned 6 days ago
Open roles at Runway
No open roles at Runway on the Agent Native jobs board right now.
Browse the jobs board