Skip to main content
POST
/
videos
/
image-to-video
Animate a single image into a video
curl --request POST \
  --url http://localhost:3001/api/v1/videos/image-to-video \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "image": "5c1e8b34-2a9f-4d61-8e07-3b2c1a0f9d4e",
  "prompt": "Slow push-in as the logo shimmers, soft ambient hum",
  "duration": 6,
  "resolution": "720p"
}
'
{
  "data": {
    "id": "3f9a4c2e-7b1d-4e8a-9c3f-2a1b0c9d8e7f",
    "type": "image.generate",
    "status": "pending",
    "createdAt": "2026-06-16T10:00:00.000Z"
  }
}

Authorizations

x-api-key
string
header
required

Headers

Idempotency-Key
string

Optional unique key (≤255 chars) that makes this create idempotent: a retry with the same key returns the original job rather than starting a new one. Scoped to your API key; retained ~24h.

Maximum string length: 255

Body

application/json
image
string
required

The reference image to animate; becomes the first frame and sets the output aspect ratio. An https URL we ingest or the id/url of one of your uploads or prior generations.

Required string length: 1 - 2048
prompt
string
required

Describe the motion or what should happen in the clip. Up to 2000 characters.

Required string length: 1 - 2000
duration
integer
default:6

Clip length in seconds (1-15).

Required range: 1 <= x <= 15
resolution
enum<string>
default:720p

Output resolution. 720p costs more credits than 480p.

Available options:
480p,
720p
audio
boolean
default:true

Generate audio for the clip.

negativePrompt
string

Describe what to avoid in the generation.

Maximum string length: 1000

Response

Accepted

data
object
required