Skip to main content
POST
/
v1
/
ai
/
text-to-video
/
veo-3-1
Create video from text - Veo 3.1
curl --request POST \
  --url https://api.freepik.com/v1/ai/text-to-video/veo-3-1 \
  --header 'Content-Type: application/json' \
  --header 'x-freepik-api-key: <api-key>' \
  --data '
{
  "prompt": "A serene mountain landscape at sunset with clouds moving slowly",
  "webhook_url": "<string>",
  "negative_prompt": "blurry, low quality, distorted",
  "duration": 8,
  "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
prompt
string
required

Text prompt describing the video to generate

Maximum string length: 20000
Example:

"A serene mountain landscape at sunset with clouds moving slowly"

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"

duration
enum<integer>
default:8

Duration of the generated video in seconds.

Available options:
4,
6,
8
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

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"
  ]
}