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
input.reference_image
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
/v1/templates/apartment-dance/generationsHeader Params
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/jsonPublic provider for template generations.
seeapi- Default:
seeapi- Example:
seeapi
objectrequiredPhoto and output options for the apartment dance video.
- Send only the public fields listed below.
Photo and output options for the apartment dance video.
- Send only the public fields listed below.
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
Output video resolution.
- The selected resolution affects the generation price; review the dynamic price preview before submitting.
480p720p1080p4k- Default:
720p- Example:
720p
Output video aspect ratio.
- This controls the generated video frame, not the required proportions of the input photo.
16:99:161:14:33:421:9adaptive- Default:
9:16- Example:
9:16
Seed value used for this generation.
- Default:
0- Example:
0
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.
objectrequired
Generation ID. Use this value as task_id when querying GET /v1/generations/{task_id}.
- Example:
task_example
Public template ID.
- Example:
apartment-dance
Public provider used by the template API.
seeapi- Example:
seeapi
Normalized customer input only.
- Example:
{"reference_image":"https://customer.example.com/input-1.jpg","resolution":"720p","aspect_ratio":"9:16","seed":0}
Current generation status. Wait for succeeded before reading the finished video assets.
processingRequest-specific template estimate in customer credits; obtain an estimate with Quote Template. The example value is illustrative, not this template's price.
- Example:
10
Credits recorded as consumed for this generation.
- Example:
0
Credits recorded as refunded for this generation.
- Example:
0
Time the generation was created.
- Example:
2026-01-01T00:00:00.000Z
Time the generation was last updated.
- Example:
2026-01-01T00:00:00.000Z
Whether this response replays an existing generation request.
false- Example:
false
200Idempotent replay of an existing generation. The response returns its current status, recorded credits, and any available result or public error.
objectrequired
Generation ID. Use this value as task_id when querying GET /v1/generations/{task_id}.
Public template ID.
- Example:
apartment-dance
Public provider used by the template API.
seeapi- Example:
seeapi
Normalized customer input only.
Current generation status. Wait for succeeded before reading the finished video assets.
processingsucceededfailedcanceledrefundedexpiredEstimate recorded on the original task in customer credits.
Credits recorded as consumed for this generation.
Credits recorded as refunded for this generation.
objectoptional
array <object>requiredGenerated output assets. After the task succeeds, read the video URL from this array.
Generated output assets. After the task succeeds, read the video URL from this array.
imagevideoPublic error code, when a generation error is available.
Public error message describing the generation failure.
Time the generation was created.
Time the generation was last updated.
Time the generation completed, when available.
Whether this response replays an existing generation request.
true- Example:
true
Invalid request or public template input
Invalid API key
Insufficient credits
API key scope or access denied
Template or task not found or unavailable
Template configuration changed, idempotency conflict, or request still being created
Request body too large
Rate limit exceeded
Service temporarily unavailable
Query Task Status
After submitting a task, use the unified query endpoint to check progress and retrieve 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.