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

Text to VideoImage to VideoReference to Video

Seedance 2.5 · Start / End Frame

Learn how to use Seedance 2.5 · Start / End Frame.

Developer API pricing

Provider: SeeAPI

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

480p: 34 credits/sec (≈ $0.13/sec)

720p: 74 credits/sec (≈ $0.28/sec)

1080p: 185 credits/sec (≈ $0.69/sec)

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

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 unique key for this generation request. Reuse the same value only when retrying the identical request body.

max length: 255
Example:
order-20260818-001

Body Params

application/json
stringrequired

The public model ID documented on this page. Use seedance-2-5 for this Endpoint.

Allowed:seedance-2-5
Default:
seedance-2-5
Example:
seedance-2-5
stringrequired

The public Endpoint ID for the selected model. Use the Endpoint whose input schema matches this request.

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

Optional public Provider ID. Omit this field to use the Endpoint's default Provider.

Allowed:seeapibyteplus
Default:
seeapi
Example:
seeapi
objectrequired

Provider-specific input object. Its accepted fields and validation rules depend on the selected provider.

Provider parameters

SeeAPIseeapiDefault Provider
stringoptional

Describe the requested video and how the supplied frame should be animated.

  • Recommended prompt length: no more than 500 Chinese characters or 1,000 English words.
max length: 30000
string <uri>required

Source image used as the first frame of the generated video.

Example:
https://client.example.com/input.png
string <uri>optional

Source image used as the final frame of the generated video.

stringoptional

The output ratio is adaptive for start/end frame generation.

Allowed:adaptive
Default:
adaptive
numberoptional

Choose the output duration.

  • Values from 4 to 30 set the requested duration in seconds.
  • -1 lets the model choose a suitable duration. For video editing tasks, it matches the input video's duration; for other task types, it selects a duration within the valid range.
min: 4max: 30
Default:
5
stringoptional

Select the requested output resolution. Higher resolutions may increase processing time and credit usage.

Allowed:480p720p1080p
Default:
480p
booleanoptional

Whether the generated video should include an audio track when this Provider supports audio generation.

Default:
true
stringoptional

Select the output video container: mp4 or mov.

Allowed:mp4mov
Default:
mp4
booleanoptional

Return the generated video last frame when available.

Default:
false
booleanoptional

Enable NSFW checker.

Default:
true
BytePlusbyteplus
stringoptional

Describe the requested video. BytePlus recommends no more than 500 Chinese characters or 1,000 English words.

string <uri>required

Accepted formats: JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIF. Maximum file size: 30 MB per file.

Example:
https://client.example.com/input.png
string <uri>optional

Accepted formats: JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, HEIF. Maximum file size: 30 MB per file.

stringoptional

Start/end frame generation uses adaptive aspect ratio.

Allowed:adaptive
Default:
adaptive
numberoptional

Choose a duration from 4 to 30 seconds. Use -1 to let the model choose an integer duration from 4 to 30 seconds.

Allowed:-1456789101112131415161718192021222324252627282930min: -1max: 30
Default:
5
stringoptional
Allowed:480p720p1080p
Default:
480p
booleanoptional
Default:
true
stringoptional

Choose MP4 or MOV output.

Allowed:mp4mov
Default:
mp4
numberoptional

Use -1 for a random seed, or provide a fixed integer for reproducibility.

min: -1
Default:
-1
booleanoptional

Return the generated video's last frame when available.

Default:
false
string <uri>optional

Optional absolute HTTPS URL that receives terminal generation updates. If omitted, query the task-details endpoint with the returned generation ID.

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

Responses

202Generation accepted and processing
Bodyapplication/json
objectrequired
stringrequired
Example:
task_xxx
stringrequired
Example:
seedance-2-5
stringrequired
Example:
image-to-video
stringrequired
Allowed:seeapibyteplus
  • seeapi: SeeAPI
  • byteplus: BytePlus
Example:
seeapi
stringrequired
Allowed:processing
Example:
processing
numberrequired

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

Example:
170
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
Example:
task_xxx
stringrequired
Example:
seedance-2-5
stringrequired
Example:
image-to-video
stringrequired
Allowed:seeapibyteplus
  • seeapi: SeeAPI
  • byteplus: BytePlus
Example:
seeapi
stringrequired
Allowed:processing
Example:
processing
numberrequired

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

Example:
170
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": "seedance-2-5",
  "endpoint": "image-to-video",
  "provider": "seeapi",
  "input": {
    "first_frame_image": "https://client.example.com/input.png",
    "aspect_ratio": "adaptive",
    "duration_seconds": 5,
    "resolution": "480p",
    "generate_audio": true,
    "output_format": "mp4",
    "return_last_frame": false,
    "nsfw_checker": true
  },
  "callback_url": "https://client.example.com/webhooks/seeapi"
})
});

const result = await response.json();
ResponseHTTP 202
{
  "generation": {
    "id": "task_xxx",
    "model": "seedance-2-5",
    "endpoint": "image-to-video",
    "provider": "seeapi",
    "status": "processing",
    "estimated_credits": 170,
    "consumed_credits": 0,
    "refunded_credits": 0,
    "created_at": "2026-08-18T10:00:00Z",
    "updated_at": "2026-08-18T10:00:00Z"
  },
  "idempotent": false
}
PreviousSeedance 2.5 · Text to VideoNextSeedance 2.5 · Text with Reference
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": "seedance-2-5",
  "endpoint": "image-to-video",
  "provider": "seeapi",
  "input": {
    "first_frame_image": "https://client.example.com/input.png",
    "aspect_ratio": "adaptive",
    "duration_seconds": 5,
    "resolution": "480p",
    "generate_audio": true,
    "output_format": "mp4",
    "return_last_frame": false,
    "nsfw_checker": true
  },
  "callback_url": "https://client.example.com/webhooks/seeapi"
})
});

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