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

  • Alors on Danse API
  • Enzo Fernandez Celebration 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

Hotel Lobby AI API

Turn two portraits into a hotel lobby video. The first portrait supplies the person on the left; the second supplies the person on the right.

Developer API pricing

Provider: SeeAPI

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

2K: 395 credits/gen (≈ $1.48/gen)

768P: 285 credits/gen (≈ $1.07/gen)

API examples

We submitted the two portraits shown below to the Hotel Lobby AI API: the first for the performer on the left, the second for the performer on the right. The video shown here is the output from that same API call.

Example 1

Input

reference_imagesreference_images
Image
Image

Output 1

Result 1

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

Request

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

Header Params

stringrequired

Identifies this generation request so a retry does not create a second video.

  • Use a new key for each new video.
  • When retrying the same request, reuse the original key and request body.
Example:
template-order-001

Body Params

application/json
stringrequired

Identifies the provider that processes the generation request.

  • Use seeapi for this template.
Allowed:seeapi
Default:
seeapi
Example:
seeapi
objectrequired

Contains the performer portraits and output settings for the hotel lobby video.

array <url>required

Portraits of the left and right performers in the hotel lobby video.

  • Send an array of exactly two portrait URLs: the left performer first, the right performer second.
  • Use a directly accessible HTTPS URL for each image, with no embedded credentials or URL fragment.
  • Use JPG, JPEG, PNG, WebP, HEIC, or HEIF. Each image must be 30 MB or smaller.
  • Width and height must each be between 256 and 5760 px, inclusive.
  • Each image’s width divided by its height must be between 0.4 and 2.5, inclusive.
  • Replace both placeholder URLs in the request example with your own portrait URLs.
min items: 2max items: 2
Example:
["https://customer.example.com/input-1.jpg","https://customer.example.com/input-2.jpg"]
stringoptional

Sets the width-to-height ratio of the output video.

  • For a vertical video, use 9:16.
Allowed:adaptive21:916:94:31:13:49:16
Default:
adaptive
Example:
adaptive
stringoptional

Sets the resolution of the output video.

Allowed:768P2K
Default:
768P
Example:
768P
string <uri>optional

URL where SeeAPI sends a notification when video generation succeeds or fails.

  • Use an absolute HTTPS URL.
  • Omit this field if you poll for task status instead.

Responses

202Accepted for processing. Save generation.id and use it to check progress; the video is not ready yet.
Bodyapplication/json
objectrequired
stringrequired

Pass this ID as task_id to GET /v1/generations/{task_id}.

Example:
task_example
stringrequired

Public template ID.

Example:
hotel-lobby-ai
stringrequired
Allowed:seeapi
Example:
seeapi
objectrequired

Normalized customer input only.

Example:
{"reference_images":["https://customer.example.com/input-1.jpg","https://customer.example.com/input-2.jpg"],"aspect_ratio":"adaptive","resolution":"768P"}
stringrequired
Allowed:processing
numberrequired

Estimated credits for this request. For an estimate before creating a video, send the same input to POST /v1/templates/hotel-lobby-ai/quote.

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
200The original request was replayed. This response returns the existing task and its current status; it does not create a second video.
Bodyapplication/json
objectrequired
stringrequired

Pass this ID as task_id to GET /v1/generations/{task_id}.

stringrequired

Public template ID.

Example:
hotel-lobby-ai
stringrequired
Allowed:seeapi
Example:
seeapi
objectrequired

Normalized customer input only.

stringrequired
Allowed:processingsucceededfailedcanceledrefundedexpired
numberrequired

Estimated credits for this request. For an estimate before creating a video, send the same input to POST /v1/templates/hotel-lobby-ai/quote.

numberrequired
numberrequired
objectoptional
array <object>required
stringrequired
stringrequired
Allowed:imagevideo
string <uri>required
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

Poll GET /v1/generations/{task_id} using generation.id from the creation response. On success, read the video URL from generation.result.assets. On failure, check 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/hotel-lobby-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_images": [
      "https://customer.example.com/input-1.jpg",
      "https://customer.example.com/input-2.jpg"
    ],
    "aspect_ratio": "adaptive",
    "resolution": "768P"
  }
})
});

const result = await response.json();
ResponseHTTP 202
{
  "generation": {
    "id": "task_example",
    "template_id": "hotel-lobby-ai",
    "provider": "seeapi",
    "input": {
      "reference_images": [
        "https://customer.example.com/input-1.jpg",
        "https://customer.example.com/input-2.jpg"
      ],
      "aspect_ratio": "adaptive",
      "resolution": "768P"
    },
    "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
}
PreviousEnzo Fernandez Celebration APINextNeon Duo Dance API
Request
const response = await fetch("https://api.seeapi.com/v1/templates/hotel-lobby-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_images": [
      "https://customer.example.com/input-1.jpg",
      "https://customer.example.com/input-2.jpg"
    ],
    "aspect_ratio": "adaptive",
    "resolution": "768P"
  }
})
});

const result = await response.json();
ResponseHTTP 202
{
  "generation": {
    "id": "task_example",
    "template_id": "hotel-lobby-ai",
    "provider": "seeapi",
    "input": {
      "reference_images": [
        "https://customer.example.com/input-1.jpg",
        "https://customer.example.com/input-2.jpg"
      ],
      "aspect_ratio": "adaptive",
      "resolution": "768P"
    },
    "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
}