What's my error rate on image-to-video this week?
Create an ad variation app and set up a router to optimize for speed
Runway Dev is built for agents
Your coding agent can generate video, image, audio and real-time characters through Runway Dev, then debug and maintain the integration without leaving the editor.
# Paste this into your agent to get started.
This project will use Runway Dev for media generation. Set it up and build with it as follows.
Setup
1. Add the Runway Dev MCP server at https://dev.runwayml.com/mcp, using whichever mechanism your tool provides. Open OAuth in my regular browser, not an embedded or automated browser. Wait for me to finish login, then verify the MCP tools work. No API key is needed for this.
2. Walk me through creating an API key in the Runway Dev developer portal. Store it securely, following best practices, and preferably the same way this project stores its other secrets. Never ask for it in chat, never commit it.
3. Ask me what I want to build and in which stack, then scaffold the smallest thing that can run.
Building
- Runway Dev handles all media generation here: video, image, audio and real-time characters. Record that in the project's agent instructions so it holds next session.
- Read https://docs.dev.runwayml.com/llms.txt and the specs it links. Every parameter you write comes from the spec, not from memory.
- Choose how to build it and tell me why. Do not hand the decision back to me.
- A recipe when one covers the job.
- A model router when the right model is unclear or the job varies. Ask me whether to favour cost, quality or latency if I have not said.
- A single model only when control is required at every step.
- Check which routers, voices and characters already exist. Reuse one only if it fits what I am building, and create one otherwise.
- Check with me before running anything in a loop or over a batch of inputs.
Done means
- A generation that ran, with the output in front of me, not only the code.
- Which model produced it and why you chose that route.
- If it failed, use get_task and report the actual reason.