V3 Pro image-to-video
High-quality image-to-video generation with cinematic visuals, smooth motion, built-in audio generation, and support for multi-shot scenes.
Setup your API Key
If you don’t have an API key for the AI/ML API yet, feel free to use our Quickstart guide.
How to Make a Call
API Schemas
Create a video generation task and send it to the server
This endpoint creates and sends a video generation task to the server — and returns its ID.
Text prompt for video generation. Either prompt or multi_prompt must be provided, but not both.
List of prompts for multi-shot video generation. If provided, overrides the single prompt and divides the video into multiple shots with specified prompts and durations.
A direct link to an online image or a Base64-encoded local image that will serve as the visual base or the first frame for the video.
A direct link to an online image or a Base64-encoded local image to be used as the last frame of the video.
The length of the output video in seconds.
5Possible values: The type of multi-shot video generation
customizePossible values: Whether to generate audio for the video.
trueThe description of elements to avoid in the generated video.
The CFG (Classifier Free Guidance) scale is a measure of how close you want the model to stick to your prompt.
Provider routing override. kling (alias klingai) runs native Kling with no fallback; fal runs the fal.ai mirror; auto (default) uses the Kling -> fal.ai fallback chain. Case-insensitive.
autoThe ID of the generated video.
60ac7c34-3224-4b14-8e7d-0aa0db708325The current status of the generation task.
completedPossible values: curl -L \
--request POST \
--url 'https://api.aimlapi.com/v2/video/generations' \
--header 'Authorization: Bearer <YOUR_AIMLAPI_KEY>' \
--header 'Content-Type: application/json' \
--data '{
"model": "klingai/video-v3-pro-image-to-video",
"prompt": "Mona Lisa puts on glasses with her hands.",
"image_url": "https://raw.githubusercontent.com/aimlapi/api-docs/main/reference-files/mona_lisa_extended.jpg"
}'{
"id": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
"status": "completed",
"video": {
"url": "https://cdn.aimlapi.com/generations/hedgehog/1759866285599-0cdfb138-c03a-49d4-a601-4f6413e27b15.mp4"
},
"error": {
"name": "text",
"message": "text"
},
"meta": {
"usage": {
"credits_used": 120000
}
}
}Retrieve the generated video from the server
After sending a request for video generation, this task is added to the queue. This endpoint lets you check the status of a video generation task using its id, obtained from the endpoint described above.
If the video generation task status is completed, the response will include the final result — with the generated video URL and additional metadata.
Bearer key
<REPLACE_WITH_YOUR_GENERATION_ID>The ID of the generated video.
60ac7c34-3224-4b14-8e7d-0aa0db708325The current status of the generation task.
completedPossible values: curl -L \
--request GET \
--url 'https://api.aimlapi.com/v2/video/generations?generation_id=<REPLACE_WITH_YOUR_GENERATION_ID>' \
--header 'Authorization: Bearer <YOUR_AIMLAPI_KEY>'{
"id": "60ac7c34-3224-4b14-8e7d-0aa0db708325",
"status": "completed",
"video": {
"url": "https://cdn.aimlapi.com/generations/hedgehog/1759866285599-0cdfb138-c03a-49d4-a601-4f6413e27b15.mp4"
},
"error": {
"name": "text",
"message": "text"
},
"meta": {
"usage": {
"credits_used": 120000
}
}
}Code Example
The code below creates a video generation task, then automatically polls the server every 15 seconds until it finally receives the video URL.
Processing time: ~ 6 min 41 sec.
Generated video (1948x1064, with sound):
Last updated
Was this helpful?