Not for: general questions about AI video that need no generation or account data. Not for: writing tasks with no media output.
The Runway MCP server (https://mcp.runwayml.com/mcp) exposes the tools; their descriptions carry current models, ratios, durations, and credit notes. Read them before choosing parameters.
Before you start
- Runway MCP is connected and the user has signed in (a workspace is selected). If a tool returns an auth error, ask the user to reconnect the Runway plugin.
- Confirm what the user wants as the deliverable: image, single video, multi-shot story, edit of existing footage, ratio change, audio.
- Generations consume Runway credits. For anything beyond a single quick generation, state the rough cost and confirm.
Pick the tool
| Intent | Tool |
|---|---|
| New image | generate_image |
| Text-to-video, image-to-video | generate_video (startFrame for i2v) |
| Restyle / transform a whole clip | generate_video with referenceVideo |
| Change one thing in a clip, keep the rest | edit_video |
| New aspect ratio for a clip (uncrop) | expand_video |
| Multi-scene story from one prompt | generate_multishot_video |
| Product URL or product image to ad | generate_product_marketing_video |
| Same ad in another language | localize_ad |
| Music / sound effect / voice | generate_music / generate_sound_effect / generate_speech |
| Background removal, upscale, HDR | remove_*_background, upscale_*, convert_video_to_hdr |
| Saved workflows | list_workflows, get_workflow, run_workflow |
| Assets, account, credits | list_recent, whoami, list_workspaces, show_plans_and_credits |
Inputs
- Public HTTPS or Runway-hosted URLs pass straight through.
- Local files:
init_upload→ PUT bytes to the returned URL(s) (the tool returns ready-to-run curl commands) →complete_upload→ use the returned asset URL. - Output of an earlier Runway call: pass its
taskIdwhere the tool accepts one instead of copying a signed URL. - Never pass local filesystem paths as URLs.
Results
Generation tools return a task ID immediately. Say generation is in progress. Where an inline viewer renders, it polls by itself. Otherwise call get_task at a reasonable interval and report the asset URL when kind is image, video, or audio. On task_failed, relay the categorized title and hint rather than retrying blindly.
Don't
- Invent model IDs, ratios, durations, or defaults — omit a parameter to get the tool's default.
- Escalate a simple request into a workflow graph.
- Mention provider-specific storage services; say "Runway-hosted asset".