Skip to main content
POST
/
v1
/
ai
/
reference-to-video
/
veo-3-1
Create video with reference images - Veo 3.1
curl --request POST \
  --url https://api.freepik.com/v1/ai/reference-to-video/veo-3-1 \
  --header 'Content-Type: application/json' \
  --header 'x-freepik-api-key: <api-key>' \
  --data '
{
  "image_urls": [
    "https://example.com/character1.jpg",
    "https://example.com/character2.jpg"
  ],
  "prompt": "The character walks through a futuristic city at night",
  "webhook_url": "<string>",
  "negative_prompt": "blurry, low quality, distorted",
  "resolution": "720p",
  "aspect_ratio": "16:9",
  "generate_audio": true,
  "seed": 1
}
'
{
"data": {
"generated": [],
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED"
}
}

Authorizations

x-freepik-api-key
string
header
required

Your Freepik API key. Required for authentication. Learn how to obtain an API key

Body

application/json
image_urls
string<uri>[]
required

Array of reference image URLs (1-3 images) for character or object consistency. Images must be publicly accessible HTTPS URLs.

Required array length: 1 - 3 elements
Example:
[
"https://example.com/character1.jpg",
"https://example.com/character2.jpg"
]
prompt
string
required

Text prompt describing the video to generate with the reference subjects

Maximum string length: 20000
Example:

"The character walks through a futuristic city at night"

webhook_url
string<uri>

Webhook URL to notify when the task is completed

negative_prompt
string

Text describing what to avoid in the generated video

Maximum string length: 20000
Example:

"blurry, low quality, distorted"

resolution
enum<string>
default:720p

Resolution of the generated video.

Available options:
720p,
1080p,
4k
aspect_ratio
enum<string>
default:16:9

Aspect ratio of the generated video. 16:9 for landscape, 9:16 for portrait.

Available options:
16:9,
9:16
generate_audio
boolean
default:true

Whether to generate audio for the video including dialogue and sound effects

seed
integer

Random seed for reproducibility

Required range: x >= 0

Response

OK - The task exists and the status is returned

data
object
required
Example:
{
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED",
"generated": [
"https://openapi-generator.tech",
"https://openapi-generator.tech"
]
}