关于 runway-studio-skills
Runway Studio Skills 是一组通过 Runway API 生成视频、图像和音频的 Python 脚本,面向需要命令行媒体生成流程的创作者。它按输入自动选择视频生成端点,并提供任务查询和结果下载脚本。
主要功能
- 01生成文本或参考素材驱动的视频
- 02生成图像并支持参考图
- 03生成音效、语音和配音
- 04查询任务状态并下载结果
- 05支持本地媒体文件输入
适用场景
- 01根据提示词制作视频广告
- 02基于参考图生成视觉素材
- 03生成语音或为音频视频配音
- 04轮询生成任务并保存输出文件
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ runwayml/ runway-studio-skills --skill runway-studio-skills安装后在 Claude Code 中输入/runway-studio-skills确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSECLAUDE.mdREADME.md.gitignorepackage.jsonCOOKBOOK.mdscripts/get_task.pygenerate_image.pygenerate_video.pygenerate_audio.pyrunway_helpers.py详细介绍
Runway Studio 技能
使用 Runway API 生成工作室级别的视频、图像和音频。所有命令都是独立的 Python 脚本,从技能根目录通过 uv run 运行。
设置
用户必须设置 Runway API 密钥:
export RUNWAYML_API_SECRET="your-api-key"
所有脚本都接受 --api-key 作为替代方式。
命令
所有调用都从仓库根目录使用 uv run scripts/<script>.py。首次运行时会自动安装依赖。
generate_video.py — 视频生成
根据提供的输入自动路由到正确的 Runway 端点。
# 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
路由逻辑:
--character+--reference-perf→ character_performance (act_two)--video→ video_to_video--image→ image_to_video- 仅提示词 → text_to_video
参数:
| 标志 | 描述 | 默认值 |
|---|---|---|
--prompt | 文本提示词(最多 1000 个字符;seedance2 最多 3500 个) | — |
--image | 图像 URL 或本地路径 | — |
--video | 视频 URL 或本地路径 | — |
--model | 模型名称(见下表) | seedance2 |
--duration | 时长(秒) | 模型默认值 |
--ratio | 分辨率比例(例如 1280:720) | 模型默认值 |
--audio | true/false — 是否生成音频 | 模型默认值 |
--output-count | 输出数量,1-4(仅限 seedance2) | 1 |
--seed | 用于保证可复现性的种子整数 | 随机 |
--image-position | first 或 last — 图像在视频中的位置 | first |
--references | 参考图像 URL(video-to-video,gen4_aleph) | — |
--character | act_two 的角色图像/视频 | — |
--character-type | image 或 video | image |
--reference-perf | act_two 的表演参考视频 | — |
--body-control | 启用身体控制(act_two) | 关闭 |
--expression-intensity | 表情强度,范围为 1-5(act_two) | 3 |
--output-dir | 输出目录 | output |
--filename | 保存文件的基本名称 | video |
--no-poll | 打印任务 ID,不等待 | 关闭 |
generate_image.py — 图像生成
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
参数:
| 标志 | 描述 | 默认值 |
|---|---|---|
--prompt | 文本提示词(必填) | — |
--model | gen4_image、gen4_image_turbo、gemini_2.5_flash | gen4_image |
--ratio | 分辨率比例 | 1080:1080 |
--reference-images | 最多 3 个参考图像 URL 或本地路径 | — |
--seed | 种子整数 | 随机 |
--output-dir | 输出目录 | output |
--filename | 保存文件的基本名称 | image |
generate_audio.py — 音频生成
包含五个子命令,分别对应 Runway 音频端点。
# 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
子命令参数:
sound-effect: --prompt(必填)、--duration(0.5-30s)、--loop
tts: --prompt(必填)、--voice(必填,见下方语音预设)
speech-to-speech: --media(必填)、--media-type(audio/video)、--voice(必填)、--remove-noise
voice-dub: --audio(必填)、--target-lang(必填)、--disable-cloning、--drop-background、--num-speakers
voice-isolate: --audio(必填)
所有子命令还接受:--output-dir、--filename、--no-poll、--api-key
get_task.py — 任务管理
# 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
模型选择指南
视频模型
| 模型 | 最适合 | 时长 | 音频 | 主要特性 |
|---|---|---|---|---|
seedance2 | 产品广告、基于参考素材的视频 | 4-15s | 有 | 支持参考图像、每次调用最多生成 4 个输出、提示词最长 3500 个字符 |
gen4.5 | 高质量文本/图像转视频 | 2-10s | 无 | 最佳视觉质量 |
gen4_turbo | 快速图像转视频 | 2-10s | 无 | 速度最快的 Runway 模型 |
veo3.1 | 带音频的电影级视频 | 4/6/8s | 有 | 自动生成贴合上下文的音频,最高支持 1080p |
veo3.1_fast | 快速生成带音频的电影级视频 | 4/6/8s | 有 | 比 veo3.1 更快 |
veo3 | 带音频的电影级视频 | 8s | 无 | 带音频的图像转视频 |
gen4_aleph | 视频转视频风格化 | — | — | 视频输入 + 参考图像 |
act_two | 角色表演 | — | — | 迁移面部/身体表演 |
制作产品广告,请使用 seedance2。 它支持参考图像(可直接输入产品照片),每次调用最多生成 4 个版本,并可生成最长 15s 的视频。
制作带音频的电影级视频,请使用 veo3.1。 它会自动生成贴合上下文的环境音。
图像模型
| 模型 | 最适合 | 主要特性 |
|---|---|---|
gen4_image | 通用图像生成 | 最多支持 3 张参考图像,质量最高 |
gen4_image_turbo | 快速草稿 | 至少需要 1 张参考图像 |
gemini_2.5_flash | 快速图像生成 | 基于 Google Gemini |
音频模型
| 模型 | 端点 | 用途 |
|---|---|---|
eleven_text_to_sound_v2 | sound_effect | 根据文本描述生成音效 |
eleven_multilingual_v2 | text_to_speech | 具有 50 种预设音色的 TTS |
eleven_multilingual_sts_v2 | speech_to_speech | 在音频/视频中进行声音转换 |
eleven_voice_dubbing | voice_dubbing | 翻译并配音为 28 种语言 |
eleven_voice_isolation | voice_isolation | 从背景中分离人声 |
语音预设(TTS 和语音转语音)
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
支持的比例
各模型支持的视频比例
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
常见广告格式比例
| 平台 | 比例 | seedance2 | gen4.5 |
|---|---|---|---|
| TikTok / Reels(9:16) | 720:1280 | 是 | 是 |
| YouTube(16:9) | 1280:720 | 是 | 是 |
| Instagram 方形(1:1) | 960:960 | 是 | 是 |
| Instagram 信息流(4:3) | 1112:834 | 是(近似) | 1104:832 |
图像比例
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-dir(默认值:output/)。 - 文件名采用以下格式:
YYYY-MM-DD-HH-MM-SS-<name>.ext - 脚本成功运行时会将本地文件路径打印到 stdout。
- 脚本会将结构化 JSON 行(
{"event": "runway_task", ...}和{"event": "runway_result", ...})打印到 stdout,供机器处理。 - 状态/进度消息会发送到 stderr。
- 请勿将生成的媒体文件读回对话中 — 只需向用户报告文件路径。
本地文件处理
所有脚本都接受用于图像、视频和音频输入的本地文件路径。在用于生成请求之前,本地文件会通过 Runway uploads API 自动上传(临时存储,有效期为 24h)。
错误处理
| 错误 | 含义 | 操作 |
|---|---|---|
| 429 / rate limit | 请求过多 | 等待后重试 |
| 402 / insufficient credits | 积分不足 | 用户必须前往 runway.com 充值 |
| SAFETY.INPUT.IMAGE | 输入图像被标记 | 修改输入图像 |
| SAFETY.OUTPUT | 生成内容被标记 | 修改提示词 |
| Task FAILED | 生成失败 | 查看失败消息并调整输入 |
产品广告视频提示
- 明确描述镜头运动:“缓慢推进”“平滑环绕产品”“镜头拉远以展现全貌”
- 指定光线:“柔和的影棚灯光”“温暖的黄金时刻光线”“戏剧性的侧光”
- 具体描述产品:材质、颜色、尺寸线索
- 对于 seedance2,参考图像决定视觉形象——提示词应描述运动和场景,而非产品本身
- 较短的提示词(1-2 句话)通常比冗长的描述效果更好