SEEAPISEEAPI
Developer CenterDocs
Get API Key
  • Getting Started
  • Authentication
  • List Model Prices
  • Create a Generation
  • Get Task Details
Image Models
Alibaba
Black Forest Labs
ByteDance
Google
Grok
OpenAI
SeeAPI
Video Models
Alibaba
ByteDance
Google
Grok
Kling
Lightricks
MiniMax
PixVerse
Runway
SeeAPI
Vidu
Music Models
Text Models

Templates

  • Alors on Danse API
  • Crazy Frog AI API
  • Enzo Fernandez Celebration API
  • Hotel Lobby AI API
  • Neon Duo Dance API
  • Rap Video API
  • Rumpelstiltskin AI Dance API

Policies

  • Data Handling & Privacy
  • Terms of Service
  • Privacy Policy
  • Commercial Use Policy
www.seeapi.com

One AI API for every leading model. Create images, videos, music, and multimodal AI assets online, or build with one unified API.

Explore
  • AI Model Collections
  • AI Tool Alternatives
Developers
  • AI Models
  • API Pricing
  • AI Integrations
  • API Keys
  • Documentation
Support
  • Pricing
  • [email protected]
Legal
  • Privacy Policy
  • Refund Policy
  • Terms & Conditions

Copyright 2026 © SeeAPI. All rights reserved.

GROWCRAFT PTE. LTD.

·5 RAFFLES PLACE, #06-00, RAFFLES PLACE MRT STATION, SINGAPORE 048618

Text to VideoImage to VideoReference to Video

Wan 3.0 Prime · Image to Video

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)

Request

POST/v1/generations
AuthorizationSend your API key in the Authorization header using the Bearer scheme.Authorization: Bearer ****************

Header Params

stringrequired

A unique key for one generation request. Reuse the same key and unchanged request body when retrying a submission.

  • Use a new key when changing the prompt, parameters or requested output.
max length: 255
Example:
prime-image-001

Body Params

application/json
stringrequired

Use wan-3-0-prime to select Wan 3.0 Prime.

Allowed:wan-3-0-prime
Default:
wan-3-0-prime
Example:
wan-3-0-prime
stringrequired

Use image-to-video to animate a required first frame, optionally with a last frame.

Allowed:image-to-video
Default:
image-to-video
Example:
image-to-video
stringoptional

Optional public provider ID. Omit it to use the default provider, seeapi.

Allowed:seeapi
Default:
seeapi
Example:
seeapi
objectrequired

First-frame and optional last-frame images, plus the requested video settings.

  • Do not combine frame inputs with reference images, videos, audio, documents or webpages. Use reference-to-video for reference-based generation.

Provider parameters

SeeAPIseeapiDefault Provider
string <uri>required

A direct, publicly accessible image URL that defines the opening frame.

  • Send one image URL as a string, not an array.
  • Use JPEG, PNG, WebP or BMP, at most 20 MB.
  • Each side must be 240–8000 pixels, with an aspect ratio no greater than 8:1 in either orientation.
Example:
https://client.example.com/first-frame.png
string <uri>optional

An optional direct image URL that guides the final frame. The first frame is still required.

  • Use the same supported formats, size and dimension limits as the first frame. Omit this field when no ending frame is needed.
Example:
https://client.example.com/last-frame.png
stringrequired

Describe the subject, scene, action, camera movement and desired style. Chinese and English prompts are supported.

max length: 20000
Example:
The camera slowly moves forward as the morning light brightens, smoothly transitioning from the first frame to the last frame.
stringoptional

Output resolution. Higher resolutions use more credits per billable second.

Allowed:480p720p1080p
Default:
720p
Example:
720p
stringoptional

Output aspect ratio. Choose adaptive to let the model recommend a suitable ratio.

Allowed:adaptive16:94:31:13:49:16
Default:
adaptive
Example:
16:9
numberoptional

Requested output video duration in seconds.

  • Use an integer from 2 to 30.
min: 2max: 30
Default:
5
Example:
5
booleanoptional

Set true to include an audio track in the generated video, or false for silent output.

Default:
true
Example:
true
numberoptional

Optional random seed for reproducibility. Use an integer; omit it when a fixed seed is unnecessary.

min: 0max: 2147483647
string <uri>optional

An absolute HTTPS endpoint that receives the generation's terminal webhook.

  • Verify the webhook signature and handle repeated deliveries idempotently.
max length: 2048
Example:
https://client.example.com/webhooks/seeapi

Responses

202The request was accepted. Generation continues asynchronously; this response does not contain a finished video.
Bodyapplication/json
  • Save generation.id and use Get Task Details or the terminal webhook to retrieve the result.
objectrequired
stringrequired

The generation identifier used to query task status and correlate callbacks.

Example:
task_xxx
stringrequired
Example:
wan-3-0-prime
stringrequired
Example:
image-to-video
stringrequired
Allowed:seeapi
  • seeapi: SeeAPI
Example:
seeapi
stringrequired

Current generation status. A processing response means the video is not ready yet.

Allowed:processing
Example:
processing
numberrequired

Estimated SeeAPI credits for this request. The default 720p, 5-second request uses 340 credits.

Example:
185
numberrequired

Credits recorded as consumed for this generation; check the terminal task for the final amount.

Example:
0
numberrequired

Credits returned to the account for this generation, if applicable.

Example:
0
string <date-time>required
Example:
2026-08-18T10:00:00Z
string <date-time>required
Example:
2026-08-18T10:00:00Z
booleanrequired

True when this response replays an existing request with the same idempotency key.

Example:
false
200An existing generation request was returned through idempotency. This is not a second generation.
Bodyapplication/json
  • A replay does not necessarily mean the original generation has completed. Check its status.
objectrequired
stringrequired

The generation identifier used to query task status and correlate callbacks.

Example:
task_xxx
stringrequired
Example:
wan-3-0-prime
stringrequired
Example:
image-to-video
stringrequired
Allowed:seeapi
  • seeapi: SeeAPI
Example:
seeapi
stringrequired

Current generation status. A processing response means the video is not ready yet.

Allowed:processing
Example:
processing
numberrequired

Estimated SeeAPI credits for this request. The default 720p, 5-second request uses 340 credits.

Example:
185
numberrequired

Credits recorded as consumed for this generation; check the terminal task for the final amount.

Example:
0
numberrequired

Credits returned to the account for this generation, if applicable.

Example:
0
string <date-time>required
Example:
2026-08-18T10:00:00Z
string <date-time>required
Example:
2026-08-18T10:00:00Z
booleanrequired

True when this response replays an existing request with the same idempotency key.

Example:
false
400

The request contains invalid JSON or parameters. Correct the indicated field before submitting again.

401

Authentication failed. Supply a valid SeeAPI API key in the Authorization Bearer header.

402

The account has insufficient credits for this request.

403

The current credentials or account are not permitted to make this request.

404

The requested model, endpoint or generation could not be found.

409

The idempotency key conflicts with another request, or the same request is still being created.

413

The request body is too large. Send supported media URLs instead of embedding file data.

429

Too many requests. Back off before retrying.

503

The service is temporarily unavailable. Retry later, preserving the idempotency key for the same request.

Query Task Status

After submitting a task, use the unified query endpoint to check progress and retrieve results:

Get Task DetailsLearn how to query task status and retrieve generation 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.

Related Resources

Market Overview

Explore all available models

Credits & Billing

View credit balance, plans, and billing activity

Usage

Review API usage and credit consumption

Callbacks

Manage the secret used to verify generation webhook signatures. Callback URLs are supplied when you create each generation.

Webhook flow

Callback URL per generation.

Webhook signing key
Code Examples
Request
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();
ResponseHTTP 202
{
  "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
}
PreviousWan 3.0 Prime · Text to VideoNextWan 3.0 Prime · Reference to Video
Request
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();
ResponseHTTP 202
{
  "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
}