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
  • 24K Magic AI API
  • Alors on Danse API
  • Apartment Dance API
  • Crazy Frog AI API
  • Enzo Fernandez Celebration API
  • Goodbye 2026, Welcome 2027 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

Apartment Dance API

Turn one photo into an apartment dance video. The person dances beside a small speaker, notices the camera outside the window, then pulls the curtains shut in an awkward finale. Choose the output resolution and aspect ratio for your app.

Developer API pricing

Provider: SeeAPI

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

480p: 220 credits/gen (≈ $0.82/gen)

720p: 479 credits/gen (≈ $1.79/gen)

1080p: 1,186 credits/gen (≈ $4.44/gen)

4k: 2,449 credits/gen (≈ $9.18/gen)

API examples

These are real API calls to Apartment Dance. In each example, the input photo, public request parameters, and output video come from the same successful generation.

Example 1

Input

Reference photoinput.reference_image
Input portrait for Apartment Dance Example 1

Output 1

Generated video

Request JSON
{
  "provider": "seeapi",
  "input": {
    "seed": 1,
    "resolution": "720p",
    "aspect_ratio": "9:16",
    "reference_image": "https://static.seeapi.com/files/02trrhgz6gjx.png"
  }
}

These examples are saved API results. Actual generated results may vary.

Request

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

Header Params

stringrequired

Unique key for this generation request.

  • Use a new key for each new generation.
  • Retry the same request with its original key and unchanged payload.
Example:
template-order-001

Body Params

application/json
stringrequired

Public provider for template generations.

Allowed:seeapi
Default:
seeapi
Example:
seeapi
objectrequired

Photo and output options for the apartment dance video.

  • Send only the public fields listed below.
string <url>required

Photo of the person who will appear in the apartment dance video.

  • Supply one publicly accessible HTTPS image URL.
  • Accepted formats: JPEG/JPG, PNG, WebP, BMP, TIFF, and GIF.
  • The image file must be smaller than 30 MB.
  • Width and height must each be 301–5,999 pixels.
  • The input image width-to-height ratio must be greater than 0.4 and less than 2.5; neither boundary is included.
  • Use a clear photo of one person; a full-body photo helps preserve clothing and body proportions.
  • URLs must not contain credentials or fragments.
  • Replace the example URL with your own image URL before submitting.
Example:
https://customer.example.com/input-1.jpg
stringoptional

Output video resolution.

  • The selected resolution affects the generation price; review the dynamic price preview before submitting.
Allowed:480p720p1080p4k
Default:
720p
Example:
720p
stringoptional

Output video aspect ratio.

  • This controls the generated video frame, not the required proportions of the input photo.
Allowed:16:99:161:14:33:421:9adaptive
Default:
9:16
Example:
9:16
numberoptional

Seed value used for this generation.

min: 0max: 999999
Default:
0
Example:
0
string <uri>optional

HTTPS endpoint that receives terminal generation events.

  • Supply an absolute HTTPS URL when you want webhook delivery.
  • Verify each webhook signature before trusting its payload.

Responses

202Generation accepted for asynchronous processing. Save generation.id, then query GET /v1/generations/{task_id} to retrieve the finished video. HTTP 202 does not mean the video is ready.
Bodyapplication/json
objectrequired
stringrequired

Generation ID. Use this value as task_id when querying GET /v1/generations/{task_id}.

Example:
task_example
stringrequired

Public template ID.

Example:
apartment-dance
stringrequired

Public provider used by the template API.

Allowed:seeapi
Example:
seeapi
objectrequired

Normalized customer input only.

Example:
{"reference_image":"https://customer.example.com/input-1.jpg","resolution":"720p","aspect_ratio":"9:16","seed":0}
stringrequired

Current generation status. Wait for succeeded before reading the finished video assets.

Allowed:processing
numberrequired

Request-specific template estimate in customer credits; obtain an estimate with Quote Template. The example value is illustrative, not this template's price.

Example:
10
numberrequired

Credits recorded as consumed for this generation.

Example:
0
numberrequired

Credits recorded as refunded for this generation.

Example:
0
string <date-time>required

Time the generation was created.

Example:
2026-01-01T00:00:00.000Z
string <date-time>required

Time the generation was last updated.

Example:
2026-01-01T00:00:00.000Z
booleanrequired

Whether this response replays an existing generation request.

Allowed:false
Example:
false
200Idempotent replay of an existing generation. The response returns its current status, recorded credits, and any available result or public error.
Bodyapplication/json
objectrequired
stringrequired

Generation ID. Use this value as task_id when querying GET /v1/generations/{task_id}.

stringrequired

Public template ID.

Example:
apartment-dance
stringrequired

Public provider used by the template API.

Allowed:seeapi
Example:
seeapi
objectrequired

Normalized customer input only.

stringrequired

Current generation status. Wait for succeeded before reading the finished video assets.

Allowed:processingsucceededfailedcanceledrefundedexpired
numberrequired

Estimate recorded on the original task in customer credits.

numberrequired

Credits recorded as consumed for this generation.

numberrequired

Credits recorded as refunded for this generation.

objectoptional
array <object>required

Generated output assets. After the task succeeds, read the video URL from this array.

stringrequired
stringrequired
Allowed:imagevideo
string <uri>required
stringrequired
integerrequired
stringoptional

Public error code, when a generation error is available.

stringoptional

Public error message describing the generation failure.

string <date-time>required

Time the generation was created.

string <date-time>required

Time the generation was last updated.

string <date-time>optional

Time the generation completed, when available.

booleanrequired

Whether this response replays an existing generation request.

Allowed:true
Example:
true
400

Invalid request or public template input

401

Invalid API key

402

Insufficient credits

403

API key scope or access denied

404

Template or task not found or unavailable

409

Template configuration changed, idempotency conflict, or request still being created

413

Request body too large

429

Rate limit exceeded

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

Save generation.id from the creation response and query GET /v1/generations/{task_id}. While the task is processing, poll with backoff. When it succeeds, retrieve the video from generation.result.assets; if it fails, inspect the public error_code and error_message.

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/templates/apartment-dance/generations", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Idempotency-Key": "template-order-001",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
  "provider": "seeapi",
  "input": {
    "reference_image": "https://customer.example.com/input-1.jpg",
    "resolution": "720p",
    "aspect_ratio": "9:16",
    "seed": 0
  }
})
});

const result = await response.json();
ResponseHTTP 202
{
  "generation": {
    "id": "task_example",
    "template_id": "apartment-dance",
    "provider": "seeapi",
    "input": {
      "reference_image": "https://customer.example.com/input-1.jpg",
      "resolution": "720p",
      "aspect_ratio": "9:16",
      "seed": 0
    },
    "status": "processing",
    "estimated_credits": 10,
    "consumed_credits": 0,
    "refunded_credits": 0,
    "created_at": "2026-01-01T00:00:00.000Z",
    "updated_at": "2026-01-01T00:00:00.000Z"
  },
  "idempotent": false
}
PreviousAlors on Danse APINextCrazy Frog AI API
Request
const response = await fetch("https://api.seeapi.com/v1/templates/apartment-dance/generations", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Idempotency-Key": "template-order-001",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
  "provider": "seeapi",
  "input": {
    "reference_image": "https://customer.example.com/input-1.jpg",
    "resolution": "720p",
    "aspect_ratio": "9:16",
    "seed": 0
  }
})
});

const result = await response.json();
ResponseHTTP 202
{
  "generation": {
    "id": "task_example",
    "template_id": "apartment-dance",
    "provider": "seeapi",
    "input": {
      "reference_image": "https://customer.example.com/input-1.jpg",
      "resolution": "720p",
      "aspect_ratio": "9:16",
      "seed": 0
    },
    "status": "processing",
    "estimated_credits": 10,
    "consumed_credits": 0,
    "refunded_credits": 0,
    "created_at": "2026-01-01T00:00:00.000Z",
    "updated_at": "2026-01-01T00:00:00.000Z"
  },
  "idempotent": false
}