Generate a Kling 2.1 Pro video from a required prompt and first-frame image, with optional last-frame and generation controls.
Developer API pricing
Provider: SeeAPI
USD estimate: $0.0037 / credit · Estimated equivalent, not an additional charge.
5s: 70 credits/gen (≈ $0.26/gen)
10s: 140 credits/gen (≈ $0.52/gen)
After submitting a task, use the unified query endpoint to check progress and retrieve results:
Manage the secret used to verify generation webhook signatures. Callback URLs are supplied when you create each generation.
Callback URL per generation.
/v1/generationsA unique key for this generation request. Reuse the same value only when retrying the identical request body.
order-20260818-001The public model ID documented on this page. Use kling-v2-1-pro for this Endpoint.
kling-v2-1-prokling-v2-1-prokling-v2-1-proThe public Endpoint ID for the selected model. Use the Endpoint whose input schema matches this request.
image-to-videoimage-to-videoimage-to-videoOptional public Provider ID. Omit this field to use the Endpoint's default Provider.
seeapiseeapiseeapiProvider-specific input object. Its accepted fields and validation rules depend on the selected provider.
Provider parameters
seeapiDefault ProviderDescribe the content to generate, including the subject, scene, action, visual style, camera behavior, and other important details.
A cinematic city at nightProvide the first-frame image that starts the generated video.
["https://client.example.com/input.png"]Optionally provide an ending frame to guide how the generated video concludes.
https://client.example.com/last-frame.pngSelect the generated video length in seconds.
5105Describe visual elements or qualities that should be avoided.
blurry, distorted motionControl how closely the generated video follows the prompt.
0.5Optional absolute HTTPS URL that receives terminal generation updates. If omitted, query the task-details endpoint with the returned generation ID.
https://client.example.com/webhooks/seeapitask_xxxkling-v2-1-proimage-to-videoseeapiseeapi: SeeAPIseeapiprocessingprocessingEstimated public credits. Values can include up to three decimal places.
70Consumed public credits, with up to three decimal places.
0Refunded public credits, with up to three decimal places.
02026-08-18T10:00:00Z2026-08-18T10:00:00ZWhether this response is an idempotent replay of an earlier request.
falsetask_xxxkling-v2-1-proimage-to-videoseeapiseeapi: SeeAPIseeapiprocessingprocessingEstimated public credits. Values can include up to three decimal places.
70Consumed public credits, with up to three decimal places.
0Refunded public credits, with up to three decimal places.
02026-08-18T10:00:00Z2026-08-18T10:00:00ZWhether this response is an idempotent replay of an earlier request.
falseInvalid JSON, parameters, Schema, or API Policy
Invalid API Key or authentication failed
Insufficient credits
The current request is not allowed
Model, Endpoint, or task not found
Idempotency conflict or the same request is still being created
Request body is too large
Too many requests
Service temporarily unavailable
const response = await fetch("https://api.seeapi.com/v1/generations", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Idempotency-Key": "order-20260818-001",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "kling-v2-1-pro",
"endpoint": "image-to-video",
"provider": "seeapi",
"input": {
"prompt": "A cinematic city at night",
"input_images": [
"https://client.example.com/input.png"
],
"last_frame_image": "https://client.example.com/last-frame.png",
"duration_seconds": 5,
"negative_prompt": "blurry, distorted motion",
"cfg_scale": 0.5
},
"callback_url": "https://client.example.com/webhooks/seeapi"
})
});
const result = await response.json();{
"generation": {
"id": "task_xxx",
"model": "kling-v2-1-pro",
"endpoint": "image-to-video",
"provider": "seeapi",
"status": "processing",
"estimated_credits": 70,
"consumed_credits": 0,
"refunded_credits": 0,
"created_at": "2026-08-18T10:00:00Z",
"updated_at": "2026-08-18T10:00:00Z"
},
"idempotent": false
}