POST
/
v1
/
ai
/
image-to-video
/
kling-v2-5-pro
Create a video from an image - Kling 2.5 pro model
curl --request POST \
  --url https://api.freepik.com/v1/ai/image-to-video/kling-v2-5-pro \
  --header 'Content-Type: application/json' \
  --header 'x-freepik-api-key: <api-key>' \
  --data '{
  "webhook_url": "https://www.example.com/webhook",
  "image": "<string>",
  "prompt": "<string>",
  "negative_prompt": "<string>",
  "duration": "5",
  "cfg_scale": 0.5
}'
{
"data": {
"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
duration
enum<string>
required

Duration of the generated video in seconds

Available options:
5,
10
webhook_url
string<uri>

Optional callback URL that will receive asynchronous notifications whenever the task changes status. The payload sent to this URL is the same as the corresponding GET endpoint response, but without the data field.

Example:

"https://www.example.com/webhook"

image
string

Reference Image. Supports Base64 encoding or URL (ensure accessibility). For URL, must be publicly accessible. The image file size cannot exceed 10MB, and the resolution should not be less than 300x300px. Aspect ratio should be between 1:2.5 ~ 2.5:1.

prompt
string

Text prompt describing the desired motion, cannot exceed 2500 characters

negative_prompt
string

Text prompt describing what to avoid in the generated video, cannot exceed 2500 characters

cfg_scale
number
default:0.5

Flexibility in video generation; The higher the value, the lower the model's degree of flexibility, and the stronger the relevance to the user's prompt.

Required range: 0 <= x <= 1

Response

OK - Get the status of the kling-v2-5-pro task

data
object
required
Example:
{
"task_id": "046b6c7f-0b8a-43b9-b35d-6489e6daee91",
"status": "CREATED"
}