Runway API
The Runway API allows you to embed Gen-4 Turbo, Gen-4 Image and Image References, or Gen-3 Alpha Turbo within your product inside a safe and reliable environment.
Model output specifications
The API exposes four models:
gen4_turbo
Gen-4 Turbo image-to-video modelgen4_image
Gen-4 Image and Image References text-to-image and image references modelgen3a_turbo
Gen-3 Alpha Turbo image-to-video modelupscale_v1
Upscale
Enterprise Scale
The Runway API has been used by the world’s largest consumer technology companies to reliably generate millions of videos for their users.
To request higher usage than the self-serve tiers, you can submit an exception request on the usage page of your developer portal.
Enterprise Benefits
In addition to higher rate limits, enterprise customers receive:
- Faster support via Slack (or email) channels
- Earliest access to new features
- Direct access to provide product feedback and request features
- Implementation and usage tips
- Custom payment terms
Price
API video generations match the price of our web application:
Generation Type | Price |
---|---|
720p image | $0.05 |
1080p image | $0.08 |
5s video | $0.25 |
10s video | $0.50 |
Upscale (per second) | $0.02 |
Quickstart
Get started by following our API guide or jump right into the example of using the Gen-4 Image References model below:
import RunwayML from '@runwayml/sdk';
const client = new RunwayML();
async function main() { // Create a new image generation task using the "gen4_image" model let task = await client.textToImage.create({ model: 'gen4_image', ratio: '1920:1080', promptText: '@EiffelTower painted in the style of @StarryNight', referenceImages: [{ uri: 'https://upload.wikimedia.org/wikipedia/commons/8/85/Tour_Eiffel_Wikimedia_Commons_(cropped).jpg', tag: 'EiffelTower' }, { uri: 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg/1513px-Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg', tag: 'StarryNight' }] });
do { // Wait for 1 second before polling await new Promise(resolve => setTimeout(resolve, 1000));
task = await client.tasks.retrieve(task.id); } while (!['SUCCEEDED', 'FAILED'].includes(task.status));
console.log('Task complete:', task); console.log('Image URL:', task.output[0]);}
main();
import timefrom runwayml import RunwayML
client = RunwayML()
task = client.text_to_image.create( model='gen4_image', ratio='1920:1080', prompt_text='@EiffelTower painted in the style of @StarryNight', reference_images=[{ 'uri': 'https://upload.wikimedia.org/wikipedia/commons/8/85/Tour_Eiffel_Wikimedia_Commons_(cropped).jpg', 'tag': 'EiffelTower', }, { 'uri': 'https://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg/1513px-Van_Gogh_-_Starry_Night_-_Google_Art_Project.jpg', 'tag': 'StarryNight', }],)task_id = task.id
# Poll the task until it's completetime.sleep(1) # Wait for a second before pollingtask = client.tasks.retrieve(task_id)while task.status not in ['SUCCEEDED', 'FAILED']: time.sleep(1) # Wait for a second before polling task = client.tasks.retrieve(task_id)
print('Task complete:', task)print('Image URL', task.output[0])
Quick references
Using the API Create your first generation with Runway's API
API Reference Read about how to interact with the API
Go-live checklist Prepare your integration for launch
Gen-4 Help Center How to get the best video results