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

24K Magic AI API

Turn one person photo into a personalized 24K Magic dance video. Choose the output resolution and aspect ratio, then retrieve the finished video when the asynchronous generation completes.

Developer API pricing

Provider: SeeAPI

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

480p: 285 credits/gen (≈ $1.07/gen)

720p: 620 credits/gen (≈ $2.32/gen)

1080p: 1,537 credits/gen (≈ $5.76/gen)

4k: 3,173 credits/gen (≈ $11.89/gen)

API examples

These examples are real API generations. Each input image, request parameters, and output video below belong to the same successful task.

Example 1

Input

Person reference imageinput.reference_image
Person reference image for 24K Magic AI example 1

The person image submitted for this generation.

Output 1

Generated dance video

Video returned by the same successful task.

Request JSON
{
  "provider": "seeapi",
  "input": {
    "seed": 0,
    "ratio": "16:9",
    "resolution": "720p",
    "reference_image": "https://static.seeapi.com/files/tyerg9xt7wlb.jpeg"
  }
}

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

Request

POST/v1/templates/24k-magic-ai/generations
AuthorizationSend your API key in the Authorization header using the Bearer scheme.Authorization: Bearer ****************

Header Params

stringrequired

A unique key that identifies this generation request.

  • Use a new key for each new generation; retry an unchanged request with its original key.
  • An idempotent replay returns HTTP 200 with the existing task and its current status.
Example:
template-order-001

Body Params

application/json
stringrequired

The public provider for this template.

  • Send seeapi; other values are rejected.
Allowed:seeapi
Default:
seeapi
Example:
seeapi
objectrequired

The person photo and output options for this generation.

  • Send only the public fields listed below.
  • Replace the example image URL with a direct, publicly accessible URL for your own image.
string <url>required

A photo of the person to feature in the dance video.

  • Supply exactly one publicly accessible HTTPS image URL, either as a string or a one-item array.
  • URLs must not contain credentials or fragments.
  • Supported formats: JPEG, PNG, WebP, BMP, TIFF, and GIF. The image must be smaller than 30 MB.
  • Width and height must each be 301–5999 px.
  • The image width-to-height ratio must be greater than 0.4 and less than 2.5. These are input image limits, independent of the output video ratio.
  • For a clearer identity reference, use a photo with one person and a clearly visible face and outfit.
Example:
https://static.seeapi.com/files/tyerg9xt7wlb.jpeg
stringoptional

The resolution of the generated video.

  • Resolution affects the generation price shown above.
  • Use the exact API value 4k for the 4K option.
Allowed:480p720p1080p4k
Default:
720p
Example:
720p
stringoptional

The aspect ratio of the generated video.

  • Choose an explicit ratio for landscape, portrait, or square output.
  • Changing the output ratio does not change the input image requirements.
Allowed:16:99:161:14:33:421:9adaptive
Default:
16:9
Example:
16:9
numberoptional

The seed used to control random variation in the generation.

  • Reusing a seed does not guarantee an identical result.
min: 0max: 999999
Default:
0
Example:
0
string <uri>optional

An HTTPS endpoint that receives generation completion or failure notifications.

  • Supply an absolute HTTPS URL when using callbacks.
  • Validate the webhook signature as described in Callbacks before processing an event.

Responses

202The generation request has been accepted for asynchronous processing.
Bodyapplication/json
  • Save generation.id and query GET /v1/generations/{task_id}, or wait for the callback.
  • HTTP 202 is not a completed video; retrieve the final assets after the task succeeds.
  • The estimated_credits value in the schema example is illustrative, not the price of this template.
objectrequired
stringrequired

The generation ID to use when querying task status.

Example:
task_example
stringrequired

Public template ID.

Example:
24k-magic-ai
stringrequired
Allowed:seeapi
Example:
seeapi
objectrequired

Normalized customer input only.

Example:
{"reference_image":"https://customer.example.com/input-1.jpg","resolution":"720p","ratio":"16:9","seed":0}
stringrequired
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
Example:
0
numberrequired
Example:
0
string <date-time>required
Example:
2026-01-01T00:00:00.000Z
string <date-time>required
Example:
2026-01-01T00:00:00.000Z
booleanrequired
Allowed:false
Example:
false
200An idempotent replay returns the existing generation and its current state.
Bodyapplication/json
  • Read generation.status to determine whether processing is complete.
  • When available, the response includes the recorded result or public error; replaying does not create a new generation.
objectrequired
stringrequired

The generation ID to use when querying task status.

stringrequired

Public template ID.

Example:
24k-magic-ai
stringrequired
Allowed:seeapi
Example:
seeapi
objectrequired

Normalized customer input only.

stringrequired
Allowed:processingsucceededfailedcanceledrefundedexpired
numberrequired

Estimate recorded on the original task in customer credits.

numberrequired
numberrequired
objectoptional
array <object>required

The generated assets available after a successful generation.

stringrequired
stringrequired
Allowed:imagevideo
string <uri>required

The URL of the generated asset.

stringrequired
integerrequired
stringoptional
stringoptional
string <date-time>required
string <date-time>required
string <date-time>optional
booleanrequired
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 create response and use it as task_id when querying GET /v1/generations/{task_id}.

Note

  • The create response confirms acceptance, not completion.
  • When generation.status is succeeded, read the finished video from generation.result.assets.
  • If generation.status is failed, inspect the public generation.error_code and generation.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/24k-magic-ai/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://static.seeapi.com/files/tyerg9xt7wlb.jpeg",
    "resolution": "720p",
    "ratio": "16:9",
    "seed": 0
  }
})
});

const result = await response.json();
ResponseHTTP 202
{
  "generation": {
    "id": "task_example",
    "template_id": "24k-magic-ai",
    "provider": "seeapi",
    "input": {
      "reference_image": "https://static.seeapi.com/files/tyerg9xt7wlb.jpeg",
      "resolution": "720p",
      "ratio": "16:9",
      "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
}
PreviousVidu Q4 · Reference to VideoNextAlors on Danse API
Request
const response = await fetch("https://api.seeapi.com/v1/templates/24k-magic-ai/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://static.seeapi.com/files/tyerg9xt7wlb.jpeg",
    "resolution": "720p",
    "ratio": "16:9",
    "seed": 0
  }
})
});

const result = await response.json();
ResponseHTTP 202
{
  "generation": {
    "id": "task_example",
    "template_id": "24k-magic-ai",
    "provider": "seeapi",
    "input": {
      "reference_image": "https://static.seeapi.com/files/tyerg9xt7wlb.jpeg",
      "resolution": "720p",
      "ratio": "16:9",
      "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
}