Overview

Generation endpoints

Authenticate with your API key as a bearer token in the Authorization header. Both SDKs read it from RUNWAYML_API_SECRET automatically.

POST/v1/image_to_video

Create a video generation task. Omit promptImage to generate from text alone on models that support it, such as gen4.5.

Authorization
Authorizationstring

Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.

Body
modelstringrequired

Model ID, e.g. gen4.5, seedance2_5, gen4_turbo, aleph2

promptTextstring

Text description of the video to generate

promptImagestring

HTTPS URL, base64 data URI, or runway:// URI for the starting image

ratiostring

Output dimensions, e.g. 1280:720. Model-specific

durationnumber

Output length in seconds. Model-specific ceiling

seednumber

Fixes the generation for reproducible output

Example
curl -X POST https://api.dev.runwayml.com/v1/image_to_video \
  -H "Authorization: Bearer $RUNWAYML_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gen4.5",
    "promptText": "A serene mountain landscape at sunrise",
    "ratio": "1280:720",
    "duration": 5
  }'
Response
{
  "id": "17f20503-6c24-4c16-946b-35dbbce2af2f"
}
POST/v1/text_to_image

Create an image generation task.

Authorization
Authorizationstring

Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.

Body
modelstringrequired

Model ID, e.g. gen4_image, gen4_image_turbo, gpt_image_2

promptTextstringrequired

Text description of the image to generate

ratiostring

Output dimensions, e.g. 1360:768

referenceImagesarray

Reference images. Cost and count limits are model-specific

outputCountnumber

Number of images to generate. Capped per model

qualitystring

low, medium, high or auto on models with quality tiers

Example
curl -X POST https://api.dev.runwayml.com/v1/text_to_image \
  -H "Authorization: Bearer $RUNWAYML_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gen4_image",
    "promptText": "A beautiful sunset over a calm ocean",
    "ratio": "1360:768"
  }'
POST/v1/character_performance

Drive a character's performance from a reference video using act_two.

Authorization
Authorizationstring

Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.

Body
modelstringrequired

Model ID, e.g. act_two

characterobjectrequired

The character to animate, as an image or video

referenceobjectrequired

The reference performance video

ratiostring

Output dimensions

POST/v1/video_upscale

Upscale a video of at most 30 seconds.

Authorization
Authorizationstring

Sent as the Authorization header. Your key is used only by your browser for this request — it is never sent to Docsbook or stored.

Body
modelstringrequired

Must be magnific_video_upscaler_creative

videoUristringrequired

HTTPS URL, data URI or runway:// URI of the source video

resolutionstring

720p, 1k, 2k (default) or 4k

fpsBoostboolean

Increases output frame rate, which changes frame count and cost

Call these endpoints with your own key

Set RUNWAYML_API_SECRET and the examples above run unmodified.

Updated

Was this page helpful?