Animate an image with Wan 3.0 Prime, optionally guiding the ending with a last frame. Learn the frame requirements, output settings and asynchronous result workflow.
Developer API pricing
Provider: SeeAPI
USD estimate: $0.0037 / credit · Estimated equivalent, not an additional charge.
480p: 18 credits/sec (≈ $0.067/sec)
720p: 37 credits/sec (≈ $0.14/sec)
1080p: 74 credits/sec (≈ $0.28/sec)
/v1/generationsA unique key for one generation request. Reuse the same key and unchanged request body when retrying a submission.
prime-image-001Use wan-3-0-prime to select Wan 3.0 Prime.
wan-3-0-primewan-3-0-primewan-3-0-primeUse image-to-video to animate a required first frame, optionally with a last frame.
image-to-videoimage-to-videoimage-to-videoOptional public provider ID. Omit it to use the default provider, seeapi.
seeapiseeapiseeapiFirst-frame and optional last-frame images, plus the requested video settings.
Provider parameters
seeapiDefault ProviderA direct, publicly accessible image URL that defines the opening frame.
https://client.example.com/first-frame.pngAn optional direct image URL that guides the final frame. The first frame is still required.
https://client.example.com/last-frame.pngDescribe the subject, scene, action, camera movement and desired style. Chinese and English prompts are supported.
The camera slowly moves forward as the morning light brightens, smoothly transitioning from the first frame to the last frame.Output resolution. Higher resolutions use more credits per billable second.
480p720p1080p720p720pOutput aspect ratio. Choose adaptive to let the model recommend a suitable ratio.
adaptive16:94:31:13:49:16adaptive16:9Requested output video duration in seconds.
55Set true to include an audio track in the generated video, or false for silent output.
truetrueOptional random seed for reproducibility. Use an integer; omit it when a fixed seed is unnecessary.
An absolute HTTPS endpoint that receives the generation's terminal webhook.
https://client.example.com/webhooks/seeapiThe generation identifier used to query task status and correlate callbacks.
task_xxxwan-3-0-primeimage-to-videoseeapiseeapi: SeeAPIseeapiCurrent generation status. A processing response means the video is not ready yet.
processingprocessingEstimated SeeAPI credits for this request. The default 720p, 5-second request uses 340 credits.
185Credits recorded as consumed for this generation; check the terminal task for the final amount.
0Credits returned to the account for this generation, if applicable.
02026-08-18T10:00:00Z2026-08-18T10:00:00ZTrue when this response replays an existing request with the same idempotency key.
falseThe generation identifier used to query task status and correlate callbacks.
task_xxxwan-3-0-primeimage-to-videoseeapiseeapi: SeeAPIseeapiCurrent generation status. A processing response means the video is not ready yet.
processingprocessingEstimated SeeAPI credits for this request. The default 720p, 5-second request uses 340 credits.
185Credits recorded as consumed for this generation; check the terminal task for the final amount.
0Credits returned to the account for this generation, if applicable.
02026-08-18T10:00:00Z2026-08-18T10:00:00ZTrue when this response replays an existing request with the same idempotency key.
falseThe request contains invalid JSON or parameters. Correct the indicated field before submitting again.
Authentication failed. Supply a valid SeeAPI API key in the Authorization Bearer header.
The account has insufficient credits for this request.
The current credentials or account are not permitted to make this request.
The requested model, endpoint or generation could not be found.
The idempotency key conflicts with another request, or the same request is still being created.
The request body is too large. Send supported media URLs instead of embedding file data.
Too many requests. Back off before retrying.
The service is temporarily unavailable. Retry later, preserving the idempotency key for the same request.
After submitting a task, use the unified query endpoint to check progress and retrieve results:
Save generation.id and query the task until it reaches a terminal state. For production integrations, provide callback_url and verify the webhook signature before accepting the result.
Manage the secret used to verify generation webhook signatures. Callback URLs are supplied when you create each generation.
Callback URL per generation.
const response = await fetch("https://api.seeapi.com/v1/generations", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Idempotency-Key": "prime-image-001",
"Content-Type": "application/json"
},
body: JSON.stringify({
"model": "wan-3-0-prime",
"endpoint": "image-to-video",
"provider": "seeapi",
"input": {
"first_frame_image": "https://client.example.com/first-frame.png",
"last_frame_image": "https://client.example.com/last-frame.png",
"prompt": "The camera slowly moves forward as the morning light brightens, smoothly transitioning from the first frame to the last frame.",
"resolution": "720p",
"aspect_ratio": "16:9",
"duration_seconds": 5,
"generate_audio": true
},
"callback_url": "https://client.example.com/webhooks/seeapi"
})
});
const result = await response.json();{
"generation": {
"id": "task_xxx",
"model": "wan-3-0-prime",
"endpoint": "image-to-video",
"provider": "seeapi",
"status": "processing",
"estimated_credits": 185,
"consumed_credits": 0,
"refunded_credits": 0,
"created_at": "2026-08-18T10:00:00Z",
"updated_at": "2026-08-18T10:00:00Z"
},
"idempotent": false
}