Runway API
The same API generates millions of videos a month for some of the world's largest consumer technology companies. It costs $10 to start.
Create an organization, add credits, and run the quickstart below — no sales call, no waitlist.
Start here#
Create an organization, mint a key, add credits
Text-to-video and image-to-video in one request
What to fix before real users hit your integration
30+ video, image and audio models and what each is for
Exact credit cost of every model, per second and per image
Every endpoint and parameter, with a live playground
Quickstart#
Install the SDK:
npm install --save @runwayml/sdkExport your key, then generate a five-second video from a text prompt with Gen-4.5:
import RunwayML, { TaskFailedError } from '@runwayml/sdk';
const client = new RunwayML();
try {
const task = await client.imageToVideo
.create({
model: 'gen4.5',
promptText: 'A serene mountain landscape at sunrise with mist rolling through the valleys',
ratio: '1280:720',
duration: 5,
})
.waitForTaskOutput();
console.log('Video URL:', task.output[0]);
} catch (error) {
if (error instanceof TaskFailedError) {
console.error('The video failed to generate.', error.taskDetails);
} else {
throw error;
}
}That call costs 60 credits — 12 credits per second of Gen-4.5 output, or $0.60. See pricing for every model's rate.
What you can generate#
| You want | Use | Starting cost |
|---|---|---|
| Cinematic video up to 30 seconds | seedance2_5 |
20 credits/second at 480p |
| Best-in-class motion and prompt adherence | gen4.5 |
12 credits/second |
| The cheapest usable video | gen4_turbo |
5 credits/second |
| Edit an existing video with a prompt | aleph2 |
28 credits/second |
| A production-grade still image | gen4_image |
5 credits per 720p image |
| A real-time conversational avatar | gwm1_avatars |
2 credits per 6 seconds |
| Speech or sound effects | seed_audio |
0.25 credits/second |
Not sure which model to pick? A model router chooses one per request based on your cost, latency or quality preference — at no extra charge.
How the API works#
Every generation is a task. You create it, and it runs asynchronously:
POST /v1/image_to_video(or any generation endpoint) returns a taskidimmediately.- The task moves through
PENDING→RUNNING→SUCCEEDED,FAILEDorCANCELED. GET /v1/tasks/{id}returns the current status, and on success anoutputarray of URLs.
The SDKs collapse steps 2 and 3 into .waitForTaskOutput(), which polls correctly for you — with backoff, jitter and a timeout. See SDKs and task polling for when to use it and when to store the task ID instead.
Output URLs are ephemeral and expire 24–48 hours after the task completes. Download and re-host anything you show to users — see Outputs.
Scale#
Every organization starts at Tier 1: one concurrent generation, 50 per day. Tiers rise automatically as you purchase credits, with no waiting period — $100 purchased puts you on Tier 3 (5 concurrent, 1,000/day) the moment it clears.
Beyond Tier 5 there are enterprise partnerships: guaranteed concurrency, Slack support, earliest access to new models, and custom payment terms. File an exception request from the usage page of the developer portal, or contact enterprise@runwayml.com.
See usage tiers for the full table.
A $10 minimum purchase unlocks the API — the same endpoints that serve production traffic at consumer scale.