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

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.

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

Image to VideoReference to Video

Vidu Q4 · Reference to Video

Generate a video with Vidu Q4 using reference images and a prompt, with optional reference audio. Choose the output format, then retrieve the completed video through task status queries or a webhook.

Developer API pricing

Provider: SeeAPI

USD estimate: $0.0037 / credit · Estimated equivalent, not an additional charge.

540p: 9 credits/sec (≈ $0.034/sec)

720p: 18 credits/sec (≈ $0.067/sec)

1080p: 22 credits/sec (≈ $0.082/sec)

2k: 36 credits/sec (≈ $0.13/sec)

4k: 72 credits/sec (≈ $0.27/sec)

Request

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

Header Params

stringrequired

Use a unique key for a new generation. Reuse the same key and identical request body only when retrying that request.

max length: 255
Example:
vidu-q4-reference-001

Body Params

application/json
stringrequired

Use vidu-q4 to select Vidu Q4.

Allowed:vidu-q4
Default:
vidu-q4
Example:
vidu-q4
stringrequired

Use reference-to-video to generate from reference images and a prompt.

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

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

Allowed:seeapi
Default:
seeapi
Example:
seeapi
objectrequired

Object containing reference assets, a prompt, and the output settings described below.

  • Each request creates one video. Batch generation is not supported for this Endpoint.

Provider parameters

SeeAPIseeapiDefault Provider
array <uri>required

Image URLs providing visual references for the video. Accepted formats: JPEG, PNG, WebP; maximum 50 MB per file.

  • Provide 1–15 reference images.
min: 1max: 15min items: 1max items: 15
Example:
["https://client.example.com/person.png","https://client.example.com/landscape.png"]
array <uri>optional

Optional reference audio URLs for the generation. Use MP3 (audio/mpeg), no larger than 50 MB per file, with each clip between 3 and 12 seconds.

min: 0max: 3max items: 3
Example:
["https://client.example.com/reference.mp3"]
stringrequired

Describe the intended scene, subject actions, camera movement, and how the reference assets should be used.

min length: 1max length: 20000
Example:
Use the person and landscape in the reference images. The person walks toward the lake as the camera follows smoothly, with soft outdoor ambience.
stringoptional

Aspect ratio of the output video.

Allowed:16:99:161:14:33:4
Default:
16:9
numberoptional

Requested output duration in seconds. Use a whole number; duration affects the generation's credit estimate.

min: 3max: 16
Default:
5
stringoptional

Output video resolution. Resolution affects the generation's credit estimate.

Allowed:540p720p1080p2k4k
Default:
720p
booleanoptional

Whether to generate audio with the video. Set false to turn off generated audio.

Default:
true
string <uri>optional

Optional absolute HTTPS URL for receiving the terminal generation webhook.

max length: 2048
Example:
https://client.example.com/webhooks/seeapi

Responses

202Generation accepted and processing
Bodyapplication/json
objectrequired

The generation record for this request.

stringrequired

Generation ID. Keep this value to query task status and retrieve the result.

Example:
task_xxx
stringrequired

Model used for this generation.

Example:
vidu-q4
stringrequired

Generation capability selected in the request.

Example:
reference-to-video
stringrequired

Public Provider selected for this generation.

Allowed:seeapi
  • seeapi: SeeAPI
Example:
seeapi
stringrequired

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

Allowed:processing
Example:
processing
numberrequired

Estimated public credits. Values can include up to three decimal places.

Example:
90
numberrequired

Consumed public credits, with up to three decimal places.

Example:
0
numberrequired

Refunded public credits, with up to three decimal places.

Example:
0
string <date-time>required

Time when the generation was created.

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

Time when the generation record was last updated.

Example:
2026-08-18T10:00:00Z
booleanrequired

Whether this response is an idempotent replay of an earlier request.

Example:
false
200Idempotent replay of an existing generation request
Bodyapplication/json
objectrequired

The generation record for this request.

stringrequired

Generation ID. Keep this value to query task status and retrieve the result.

Example:
task_xxx
stringrequired

Model used for this generation.

Example:
vidu-q4
stringrequired

Generation capability selected in the request.

Example:
reference-to-video
stringrequired

Public Provider selected for this generation.

Allowed:seeapi
  • seeapi: SeeAPI
Example:
seeapi
stringrequired

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

Allowed:processing
Example:
processing
numberrequired

Estimated public credits. Values can include up to three decimal places.

Example:
90
numberrequired

Consumed public credits, with up to three decimal places.

Example:
0
numberrequired

Refunded public credits, with up to three decimal places.

Example:
0
string <date-time>required

Time when the generation was created.

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

Time when the generation record was last updated.

Example:
2026-08-18T10:00:00Z
booleanrequired

Whether this response is an idempotent replay of an earlier request.

Example:
false
400

Invalid JSON, parameters, Schema, or API Policy

401

Invalid API Key or authentication failed

402

Insufficient credits

403

The current request is not allowed

404

Model, Endpoint, or task not found

409

Idempotency conflict or the same request is still being created

413

Request body is too large

429

Too many requests

503

Service temporarily unavailable

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

Generation is asynchronous. Keep generation.id, then query task status or receive the terminal webhook before using the video result.

Note

  • Use reference URLs that can be accessed without login or custom request headers. Check the actual file format, size, and audio duration before submission. Sample URLs are placeholders and must be replaced with your own assets.
  • After a successful task, retrieve the video from the result asset URLs in Get Task Details. If the task fails, inspect its status and error before submitting another generation; a failed status query alone does not mean generation failed.

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": "vidu-q4-reference-001",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
  "model": "vidu-q4",
  "endpoint": "reference-to-video",
  "provider": "seeapi",
  "input": {
    "reference_images": [
      "https://client.example.com/person.png",
      "https://client.example.com/landscape.png"
    ],
    "reference_audio": [
      "https://client.example.com/reference.mp3"
    ],
    "prompt": "Use the person and landscape in the reference images. The person walks toward the lake as the camera follows smoothly, with soft outdoor ambience.",
    "aspect_ratio": "16:9",
    "duration_seconds": 5,
    "resolution": "720p",
    "generate_audio": true
  },
  "callback_url": "https://client.example.com/webhooks/seeapi"
})
});

const result = await response.json();
ResponseHTTP 202
{
  "generation": {
    "id": "task_xxx",
    "model": "vidu-q4",
    "endpoint": "reference-to-video",
    "provider": "seeapi",
    "status": "processing",
    "estimated_credits": 90,
    "consumed_credits": 0,
    "refunded_credits": 0,
    "created_at": "2026-08-18T10:00:00Z",
    "updated_at": "2026-08-18T10:00:00Z"
  },
  "idempotent": false
}
PreviousVidu Q4 · Image to VideoNextData Handling & Privacy
Request
const response = await fetch("https://api.seeapi.com/v1/generations", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Idempotency-Key": "vidu-q4-reference-001",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
  "model": "vidu-q4",
  "endpoint": "reference-to-video",
  "provider": "seeapi",
  "input": {
    "reference_images": [
      "https://client.example.com/person.png",
      "https://client.example.com/landscape.png"
    ],
    "reference_audio": [
      "https://client.example.com/reference.mp3"
    ],
    "prompt": "Use the person and landscape in the reference images. The person walks toward the lake as the camera follows smoothly, with soft outdoor ambience.",
    "aspect_ratio": "16:9",
    "duration_seconds": 5,
    "resolution": "720p",
    "generate_audio": true
  },
  "callback_url": "https://client.example.com/webhooks/seeapi"
})
});

const result = await response.json();
ResponseHTTP 202
{
  "generation": {
    "id": "task_xxx",
    "model": "vidu-q4",
    "endpoint": "reference-to-video",
    "provider": "seeapi",
    "status": "processing",
    "estimated_credits": 90,
    "consumed_credits": 0,
    "refunded_credits": 0,
    "created_at": "2026-08-18T10:00:00Z",
    "updated_at": "2026-08-18T10:00:00Z"
  },
  "idempotent": false
}