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
Music Models
Text Models
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.

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 VideoCreate AudioCreate Character

Gemini Omni Flash 1.1 · Image to Video

Animate a starting image into a video. Add an optional ending image, describe the motion in a prompt, and retrieve the completed video using the returned generation ID.

Developer API pricing

Provider: SeeAPI

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

360p / 720p / 1080p: 156 credits/gen (≈ $0.58/gen, 4s) | 208 credits/gen (≈ $0.78/gen, 6s) | 260 credits/gen (≈ $0.97/gen, 8s) | 311 credits/gen (≈ $1.17/gen, 10s)

4k: 363 credits/gen (≈ $1.36/gen, 4s) | 414 credits/gen (≈ $1.55/gen, 6s) | 467 credits/gen (≈ $1.75/gen, 8s) | 519 credits/gen (≈ $1.94/gen, 10s)

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

Request

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

Header Params

stringrequired

A new, stable key for each generation request. Reuse it only when retrying the same request body.

  • Reuse the same key and unchanged request body when retrying the same request.
max length: 255
Example:
order-20260818-001

Body Params

application/json
stringrequired

The model ID shown in the selected model's API documentation.

Allowed:gemini-omni-flash-1-1
Default:
gemini-omni-flash-1-1
Example:
gemini-omni-flash-1-1
stringrequired

Image to Video. Use the Endpoint ID shown in this model's API documentation.

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

Optional public Provider ID. Omit it to use the Endpoint default Provider (seeapi).

Allowed:seeapi
Default:
seeapi
Example:
seeapi
objectrequired

Parameters for this Image to Video request. Supply only fields listed for the selected provider.

Provider parameters

SeeAPIseeapiDefault Provider
string <uri>required

Public HTTPS URL of the image used as the starting frame.

  • Use a publicly accessible HTTPS URL for the starting image. Choose Reference to Video when combining image, video, character or audio references.
Example:
https://client.example.com/boat-start.png
string <uri>optional

Optional public HTTPS URL of the ending frame. A first frame is required when this field is supplied.

  • An ending image requires first_frame_image. First and last frames cannot be combined with mixed reference assets.
stringrequired

Describe the scene, actions, camera movement, and visual style of the video.

max length: 20000
Example:
The paper boat glides forward as ripples spread across the water. A slow tracking shot follows it in warm sunset light.
numberoptional

Requested output duration in seconds.

Allowed:46810
Default:
4
stringoptional

Choose landscape or portrait framing for the generated video.

Allowed:16:99:16
Default:
16:9
stringoptional

Choose the output resolution. The selected resolution affects the generation price.

Allowed:360p720p1080p4k
Default:
720p
numberoptional

Optional integer seed to reuse when comparing requests with the same inputs.

min: 0max: 2147483647
Example:
74
string <uri>optional

An absolute HTTPS URL that receives the terminal generation Webhook.

  • Optional terminal webhook URL. Omit it if you poll GET /v1/generations/{task_id} instead.
  • Handle generation.succeeded and generation.failed; verify the timestamp, signing-key UID and HMAC before trusting a callback.
max length: 2048
Example:
https://client.example.com/webhooks/seeapi

Responses

202Generation accepted and processing
Bodyapplication/json
objectrequired
stringrequired

Task ID for this asynchronous generation. Save this value and use it as task_id in GET /v1/generations/{task_id} to retrieve the status and final result.

Example:
task_xxx
stringrequired
Example:
gemini-omni-flash-1-1
stringrequired
Example:
image-to-video
stringrequired
Allowed:seeapi
  • seeapi: SeeAPI
Example:
seeapi
stringrequired
  • Creation returns processing. Poll the task until a terminal status, or use the terminal callback.
  • When the queried task succeeds, read the video URL from generation.result.assets. If it fails, inspect the returned failure information before starting a new request.
Allowed:processing
Example:
processing
numberrequired

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

Example:
156
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
Example:
2026-08-18T10:00:00Z
string <date-time>required
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
stringrequired

Task ID for this asynchronous generation. Save this value and use it as task_id in GET /v1/generations/{task_id} to retrieve the status and final result.

Example:
task_xxx
stringrequired
Example:
gemini-omni-flash-1-1
stringrequired
Example:
image-to-video
stringrequired
Allowed:seeapi
  • seeapi: SeeAPI
Example:
seeapi
stringrequired
  • Creation returns processing. Poll the task until a terminal status, or use the terminal callback.
  • When the queried task succeeds, read the video URL from generation.result.assets. If it fails, inspect the returned failure information before starting a new request.
Allowed:processing
Example:
processing
numberrequired

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

Example:
156
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
Example:
2026-08-18T10:00:00Z
string <date-time>required
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

Code Examples
Request
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": "gemini-omni-flash-1-1",
  "endpoint": "image-to-video",
  "provider": "seeapi",
  "input": {
    "first_frame_image": "https://client.example.com/boat-start.png",
    "prompt": "The paper boat glides forward as ripples spread across the water. A slow tracking shot follows it in warm sunset light.",
    "duration_seconds": 4,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "seed": 74
  },
  "callback_url": "https://client.example.com/webhooks/seeapi"
})
});

const result = await response.json();
ResponseHTTP 202
{
  "generation": {
    "id": "task_xxx",
    "model": "gemini-omni-flash-1-1",
    "endpoint": "image-to-video",
    "provider": "seeapi",
    "status": "processing",
    "estimated_credits": 156,
    "consumed_credits": 0,
    "refunded_credits": 0,
    "created_at": "2026-08-18T10:00:00Z",
    "updated_at": "2026-08-18T10:00:00Z"
  },
  "idempotent": false
}
PreviousGemini Omni Flash 1.1 · Text to VideoNextGemini Omni Flash 1.1 · Reference to Video
Request
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": "gemini-omni-flash-1-1",
  "endpoint": "image-to-video",
  "provider": "seeapi",
  "input": {
    "first_frame_image": "https://client.example.com/boat-start.png",
    "prompt": "The paper boat glides forward as ripples spread across the water. A slow tracking shot follows it in warm sunset light.",
    "duration_seconds": 4,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "seed": 74
  },
  "callback_url": "https://client.example.com/webhooks/seeapi"
})
});

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