Base URL:
https://api.18models.ai
Quickstart
All image and video models use one asynchronous endpoint:
POST /ent/v2/generate
Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
Idempotency-Key: your-stable-request-id
{
"model": "wan2.7-i2v-firstframe-uncensored",
"prompt": "A cinematic tracking shot at sunset",
"images": ["https://cdn.example.com/first-frame.jpg"],
"params": {
"resolution": "1080p",
"duration": 5
}
}
A valid submission returns HTTP 202 Accepted. Poll the returned task_id until status is
success or failed.
Authentication
Public generation, task polling, and /ent/v2/prices use an API Key:
Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Authorization: Token <API_KEY> is accepted temporarily for migration. The x-api-key header is
not supported. API Keys currently use the sk- prefix.
Request contract
The request body accepts exactly these eight top-level fields. Unknown top-level fields and unknown
or inapplicable params return HTTP 400; values are not silently truncated.
| Field | Type | Required | Description |
|---|---|---|---|
model | string | yes | One canonical product model ID from the generated catalog below. |
prompt | string | model-specific | Positive prompt. Requirement and maximum length are model-specific. |
negative_prompt | string | no | Silently discarded when the selected upstream model has no native support. |
images | array | model-specific | Ordered public HTTP(S) URLs; Wan2.7 R2V also accepts {url,voice} objects. |
videos | array | model-specific | Ordered public HTTP(S) URLs; Wan2.7 R2V also accepts {url,voice} objects. |
audios | array | model-specific | Ordered public HTTP(S) audio URLs. |
files | array | model-specific | Public HTTP(S) document or web-page URLs for supported document-to-video models. |
params | object | no | Model-specific parameters. Declared defaults are applied by the backend. |
Media is never sent through a media: [{type,url}] compatibility wrapper. Use the four top-level
arrays shown above. Every media value, including Wan2.7 R2V url and voice properties, must be a
valid http:// or https:// URL. Base64 strings and data: URLs are rejected. Generation
parameters always belong inside params.
Idempotency
Send a stable Idempotency-Key header when a paid request may be retried. Reusing the same key for
the same owner prevents duplicate task creation and duplicate reservation. Do not generate a new
idempotency key for a network retry of the same logical request.
Wan2.7 R2V first-frame role
SET_FIRST_IMG_AS_FIRST_FRAME applies only to wan2.7-r2v-multiple-uncensored:
- omitted or
false: everyimagesandvideositem is a reference; their combined count is 1–5; true:images[0]is the first frame and is not counted as a reference; the remaining images plus videos must still total 1–5, soimagesmay contain up to 6 items;- when enabled, the backend omits
ratiofrom the upstream request because the first frame defines it; - reference image/video items may use
{ "url": "...", "voice": "..." }to bind a voice sample.
This preserves the upstream ability to submit references without a first frame: leave the flag false.
Create a generation task
POST /ent/v2/generate
Successful submission — HTTP 202:
{
"task_id": "0198f0a0-0000-7000-8000-000000000001",
"status": "pending",
"model": "wan2.7-i2v-firstframe-uncensored",
"sku_key": "wan2.7-i2v-firstframe-uncensored-1080p",
"base_sku_version": 3,
"pricing_plan_id": 7,
"price_multiplier": "0.8",
"reserved_cost": "0.56455",
"currency": "USD"
}
Money and multiplier fields are decimal strings. Treat them as decimals, not binary floating-point numbers.
Poll a task
GET /ent/v2/tasks/{task_id}
Authorization: Bearer sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
The task must be queried with an API Key belonging to the same owner that created it.
{
"task_id": "0198f0a0-0000-7000-8000-000000000001",
"status": "success",
"model": "wan2.7-i2v-firstframe-uncensored",
"sku_key": "wan2.7-i2v-firstframe-uncensored-1080p",
"base_sku_version": 3,
"pricing_plan_id": 7,
"price_multiplier": "0.8",
"result_url": "https://cdn.example.com/result.mp4",
"result_urls": ["https://cdn.example.com/result.mp4"],
"error": "",
"cost": "0.45164",
"reserved_cost": "0.56455",
"actual_cost": "0.45164",
"currency": "USD"
}
Possible task states are pending, processing, success, and failed. Read every generated asset
from result_urls; result_url remains the first item for backward compatibility. Failed tasks are
fully refunded. Successful tasks are settled from actual upstream usage and any reservation difference
is returned automatically. If provider usage unexpectedly exceeds the authorized reservation, the
customer charge is capped at the reservation and the discrepancy is recorded for operator review;
the completed task is never left in processing because of a settlement shortfall.
Model catalog and limits
The following section is generated from the canonical model contract and always reflects the model IDs, media limits, defaults, enum values, and parameter boundaries enforced by the backend.
Each table contains every accepted request field for that model. Send only rows marked Required =
yes. Rows marked Required = no may be omitted; the backend applies the documented default when
one exists. Media rows marked Required = one of form a combined requirement: at least one field
from the group must be supplied even though each individual array may be omitted. Media fields that
do not appear in a model table are unsupported for that model and must be omitted. Model parameters
use their real JSON path, such as params.resolution, so they must be nested inside params.
For every model that supports params.prompt_extend, omission means false. The backend explicitly
sends false upstream unless the caller explicitly supplies true.
Provider input policies
Some upstream providers apply content checks to input media before generation starts. When an
input is rejected the task fails immediately with status: failed, the full reservation is refunded,
and error explains the reason.
| Models | Rule | Failure you will see |
|---|---|---|
seedance-2.5-edit-uncensored, seedance-2.5-extend-uncensored | The input videos[] must not contain real people. BytePlus rejects footage in which a real person appears; AI-generated or person-free footage is accepted. Images for firstframe / firstlast / reference are not subject to this check. | The provider rejected the input video: it appears to contain a real person … (upstream code InputVideoSensitiveContentDetected.PrivacyInformation) |
happyhorse-1.0-i2v-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | happyhorse-1.0-i2v-uncensored | — | Canonical product model identifier. |
prompt | string | no | 0–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | yes | exactly 1 item | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.duration | integer | no | 3–15 | 5 | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
happyhorse-1.0-r2v-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | happyhorse-1.0-r2v-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | yes | 1–9 items | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.ratio | string | no | 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | 16:9 | — |
params.duration | integer | no | 3–15 | 5 | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
happyhorse-1.0-t2v-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | happyhorse-1.0-t2v-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.ratio | string | no | 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | 16:9 | — |
params.duration | integer | no | 3–15 | 5 | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
happyhorse-1.1-i2v-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | happyhorse-1.1-i2v-uncensored | — | Canonical product model identifier. |
prompt | string | no | 0–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | yes | exactly 1 item | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 480p, 720p, 1080p | 1080p | affects price |
params.duration | integer | no | 3–15 | 5 | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
happyhorse-1.1-r2v-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | happyhorse-1.1-r2v-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | yes | 1–9 items | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 480p, 720p, 1080p | 1080p | affects price |
params.ratio | string | no | 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | 16:9 | — |
params.duration | integer | no | 3–15 | 5 | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
happyhorse-1.1-t2v-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | happyhorse-1.1-t2v-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
params.resolution | string | no | 480p, 720p, 1080p | 1080p | affects price |
params.ratio | string | no | 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9 | 16:9 | — |
params.duration | integer | no | 3–15 | 5 | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
happyhorse-videoedit-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | happyhorse-videoedit-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | no | 0–5 items | — | Ordered public HTTP(S) image URLs. |
videos | array | yes | exactly 1 item | — | Ordered public HTTP(S) video URLs. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
params.audio_setting | string | no | auto, origin | auto | — |
qwen-image3-edit-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | qwen-image3-edit-uncensored | — | Canonical product model identifier. |
prompt | string | yes | non-empty string | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Content to avoid in the generated result. |
images | array | yes | 1–3 items | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 1k, 2k | 1k | affects price; The upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json. |
params.ratio | string | no | 1:1, 16:9, 9:16, 4:3, 3:4 | 16:9 | — |
params.quality | string | no | pro, standard | pro | affects price |
params.count | integer | no | 1–6 | 1 | — |
params.prompt_extend | boolean | no | true, false | false | — |
params.prompt_extend_mode | string | no | direct | direct | fixed by backend |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
qwen-image3-t2i-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | qwen-image3-t2i-uncensored | — | Canonical product model identifier. |
prompt | string | yes | non-empty string | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Content to avoid in the generated result. |
params.resolution | string | no | 1k, 2k | 1k | affects price; The upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json. |
params.ratio | string | no | 1:1, 16:9, 9:16, 4:3, 3:4 | 16:9 | — |
params.quality | string | no | pro, standard | pro | affects price |
params.count | integer | no | 1–6 | 1 | — |
params.prompt_extend | boolean | no | true, false | false | — |
params.prompt_extend_mode | string | no | direct, agent | direct | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
seedance-2.5-edit-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | seedance-2.5-edit-uncensored | — | Canonical product model identifier. |
prompt | string | yes | non-empty string | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
videos | array | yes | 1–10 items | — | Ordered public HTTP(S) video URLs. |
params.resolution | string | no | 480p, 720p | 720p | affects price |
params.ratio | string | no | adaptive | adaptive | fixed by backend |
params.duration | integer | no | 4–30; auto -1 | -1 | fixed by backend |
params.generate_audio | boolean | no | true, false | true | — |
params.output_format | string | no | mp4, mov | mp4 | — |
params.watermark | boolean | no | true, false | false | — |
videos contains the clips to edit: 1–10 items per request, each 4–30 seconds long.
seedance-2.5-extend-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | seedance-2.5-extend-uncensored | — | Canonical product model identifier. |
prompt | string | yes | non-empty string | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
videos | array | yes | 1–10 items | — | Ordered public HTTP(S) video URLs. |
params.resolution | string | no | 480p, 720p | 720p | affects price |
params.ratio | string | no | adaptive | adaptive | fixed by backend |
params.duration | integer | no | 4–30; auto -1 | -1 | — |
params.generate_audio | boolean | no | true, false | true | — |
params.output_format | string | no | mp4, mov | mp4 | — |
params.watermark | boolean | no | true, false | false | — |
videos contains the clips to extend in sequence, with at most 10 clips per request.
seedance-2.5-firstframe-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | seedance-2.5-firstframe-uncensored | — | Canonical product model identifier. |
prompt | string | no | any string | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | yes | exactly 1 item | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 480p, 720p | 720p | affects price |
params.ratio | string | no | adaptive | adaptive | fixed by backend |
params.duration | integer | no | 4–30; auto -1 | -1 | — |
params.generate_audio | boolean | no | true, false | true | — |
params.output_format | string | no | mp4, mov | mp4 | — |
params.watermark | boolean | no | true, false | false | — |
seedance-2.5-firstlast-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | seedance-2.5-firstlast-uncensored | — | Canonical product model identifier. |
prompt | string | no | any string | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | yes | exactly 2 items | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 480p, 720p | 720p | affects price |
params.ratio | string | no | adaptive | adaptive | fixed by backend |
params.duration | integer | no | 4–30; auto -1 | -1 | — |
params.generate_audio | boolean | no | true, false | true | — |
params.output_format | string | no | mp4, mov | mp4 | — |
params.watermark | boolean | no | true, false | false | — |
seedance-2.5-reference-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | seedance-2.5-reference-uncensored | — | Canonical product model identifier. |
prompt | string | no | any string | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | one of | 0–30 items | — | Ordered public HTTP(S) image URLs. At least one of images, videos, audios is required. |
videos | array | one of | 0–10 items | — | Ordered public HTTP(S) video URLs. At least one of images, videos, audios is required. |
audios | array | one of | 0–10 items | — | Ordered public HTTP(S) audio URLs. At least one of images, videos, audios is required. |
params.resolution | string | no | 480p, 720p | 720p | affects price |
params.ratio | string | no | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 | adaptive | — |
params.duration | integer | no | 4–30; auto -1 | -1 | — |
params.generate_audio | boolean | no | true, false | true | — |
params.output_format | string | no | mp4, mov | mp4 | — |
params.watermark | boolean | no | true, false | false | — |
Provide at least one image, video, or audio item. Total video duration and total audio duration must each be no more than 30 seconds.
seedance-2.5-t2v-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | seedance-2.5-t2v-uncensored | — | Canonical product model identifier. |
prompt | string | yes | non-empty string | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
params.resolution | string | no | 480p, 720p | 720p | affects price |
params.ratio | string | no | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16, 21:9 | adaptive | — |
params.duration | integer | no | 4–30; auto -1 | -1 | — |
params.generate_audio | boolean | no | true, false | true | — |
params.output_format | string | no | mp4, mov | mp4 | — |
params.watermark | boolean | no | true, false | false | — |
wan2.7-i2v-continuation-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-i2v-continuation-uncensored | — | Canonical product model identifier. |
prompt | string | no | 0–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | 0–500 characters | — | Content to avoid in the generated result. |
images | array | no | 0–1 items | — | Ordered public HTTP(S) image URLs. |
videos | array | yes | exactly 1 item | — | Ordered public HTTP(S) video URLs. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.duration | integer | no | 2–15 | 5 | — |
params.prompt_extend | boolean | no | true, false | false | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
videos[0] is the source clip to extend; images[0], when provided, is the target final frame.
wan2.7-i2v-firstframe-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-i2v-firstframe-uncensored | — | Canonical product model identifier. |
prompt | string | no | 0–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | 0–500 characters | — | Content to avoid in the generated result. |
images | array | yes | exactly 1 item | — | Ordered public HTTP(S) image URLs. |
audios | array | no | 0–1 items | — | Ordered public HTTP(S) audio URLs. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.duration | integer | no | 2–15 | 5 | — |
params.prompt_extend | boolean | no | true, false | false | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
wan2.7-i2v-firstlast-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-i2v-firstlast-uncensored | — | Canonical product model identifier. |
prompt | string | no | 0–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | 0–500 characters | — | Content to avoid in the generated result. |
images | array | yes | exactly 2 items | — | Ordered public HTTP(S) image URLs. |
audios | array | no | 0–1 items | — | Ordered public HTTP(S) audio URLs. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.duration | integer | no | 2–15 | 5 | — |
params.prompt_extend | boolean | no | true, false | false | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
wan2.7-image-edit-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-image-edit-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | yes | 1–9 items | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 1k, 2k | 2k | The upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json. |
params.ratio | string | no | 1:1, 16:9, 9:16, 4:3, 3:4 | 16:9 | — |
params.quality | string | no | pro, standard | pro | affects price |
params.count | integer | no | 1–4 | 1 | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
wan2.7-image-grid-i2i-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-image-grid-i2i-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | no | 0–9 items | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 1k, 2k | 2k | The upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json. |
params.ratio | string | no | 1:1, 16:9, 9:16, 4:3, 3:4 | 16:9 | — |
params.quality | string | no | pro, standard | pro | affects price |
params.count | integer | no | 1–12 | 12 | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
wan2.7-image-grid-t2i-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-image-grid-t2i-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
params.resolution | string | no | 1k, 2k | 2k | The upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json. |
params.ratio | string | no | 1:1, 16:9, 9:16, 4:3, 3:4 | 16:9 | — |
params.quality | string | no | pro, standard | pro | affects price |
params.count | integer | no | 1–12 | 12 | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
wan2.7-image-inpaint-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-image-inpaint-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | yes | 1–9 items | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 1k, 2k | 2k | The upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json. |
params.ratio | string | no | 1:1, 16:9, 9:16, 4:3, 3:4 | 16:9 | — |
params.quality | string | no | pro, standard | pro | affects price |
params.count | integer | no | 1–4 | 1 | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
params.bbox_list | array | no | 0–∞ items | — | The array length must match images. Each item accepts at most two boxes in [x1,y1,x2,y2] format. |
Use together with params.bbox_list.
wan2.7-image-t2i-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-image-t2i-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
params.resolution | string | no | pro: 1k, 2k, 4k; standard: 1k, 2k | 2k | The upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json. 4k is available only for pro text-to-image requests. |
params.ratio | string | no | 1:1, 16:9, 9:16, 4:3, 3:4 | 16:9 | — |
params.quality | string | no | pro, standard | pro | affects price |
params.count | integer | no | 1–4 | 1 | — |
params.thinking_mode | boolean | no | true, false | true | — |
params.color_palette | array | no | 3–10 items | — | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
wan2.7-r2v-multiple-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-r2v-multiple-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | 0–500 characters | — | Content to avoid in the generated result. |
images | array | one of | 0–6 items | — | Ordered public HTTP(S) image URLs. Items may use {url,voice} objects. At least one of images, videos is required. |
videos | array | one of | 0–5 items | — | Ordered public HTTP(S) video URLs. Items may use {url,voice} objects. At least one of images, videos is required. |
params.SET_FIRST_IMG_AS_FIRST_FRAME | boolean | no | true, false | false | Used only by this model. When true, images[0] maps to first_frame and the remaining images map to reference_image. The backend omits ratio when a first frame is provided. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.ratio | string | no | 16:9, 9:16, 1:1, 4:3, 3:4 | 16:9 | — |
params.duration | integer | no | 2–15 | 5 | The maximum duration is 10 seconds when video references are included. |
params.prompt_extend | boolean | no | true, false | false | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
By default, images and videos are all references, with a combined total of 1–5 items. When SET_FIRST_IMG_AS_FIRST_FRAME=true, images[0] is the first frame and is excluded from the reference count; the remaining images and videos must total 1–5 items. Media items may include an optional voice field.
wan2.7-r2v-storyboard-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-r2v-storyboard-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | 0–500 characters | — | Content to avoid in the generated result. |
images | array | yes | exactly 1 item | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.ratio | string | no | 16:9, 9:16, 1:1, 4:3, 3:4 | 16:9 | — |
params.duration | integer | no | 2–15 | 5 | — |
params.prompt_extend | boolean | no | true, false | false | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
images[0] is the multi-panel storyboard image.
wan2.7-t2v-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-t2v-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | 0–500 characters | — | Content to avoid in the generated result. |
audios | array | no | 0–1 items | — | Ordered public HTTP(S) audio URLs. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.ratio | string | no | 16:9, 9:16, 1:1, 4:3, 3:4 | 16:9 | — |
params.duration | integer | no | 2–15 | 5 | — |
params.prompt_extend | boolean | no | true, false | false | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
audios[0] provides custom voice-over audio; omit it to use automatic voice-over.
wan2.7-videoedit-replace-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-videoedit-replace-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | 0–500 characters | — | Content to avoid in the generated result. |
images | array | no | 0–4 items | — | Ordered public HTTP(S) image URLs. |
videos | array | yes | exactly 1 item | — | Ordered public HTTP(S) video URLs. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.ratio | string | no | 16:9, 9:16, 1:1, 4:3, 3:4 | — | — |
params.duration | integer | no | 2–10; auto 0 | 0 | 0 disables truncation and preserves the input video duration. |
params.audio_setting | string | no | auto, origin | auto | — |
params.prompt_extend | boolean | no | true, false | false | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
wan2.7-videoedit-style-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan2.7-videoedit-style-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–5000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | 0–500 characters | — | Content to avoid in the generated result. |
videos | array | yes | exactly 1 item | — | Ordered public HTTP(S) video URLs. |
params.resolution | string | no | 720p, 1080p | 1080p | affects price |
params.ratio | string | no | 16:9, 9:16, 1:1, 4:3, 3:4 | — | — |
params.duration | integer | no | 2–10; auto 0 | 0 | 0 disables truncation and preserves the input video duration. |
params.audio_setting | string | no | auto, origin | auto | — |
params.prompt_extend | boolean | no | true, false | false | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
wan3.0-video-document-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan3.0-video-document-uncensored | — | Canonical product model identifier. |
prompt | string | no | 0–20000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
files | array | yes | exactly 1 item | — | Ordered public HTTP(S) document or web-page URLs. |
params.resolution | string | no | 480p, 720p, 1080p | 1080p | affects price |
params.ratio | string | no | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | adaptive | — |
params.duration | integer | no | 2–30; auto -1 | 5 | — |
params.generate_audio | boolean | no | true, false | true | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
files[0] is either a document URL or a public web-page URL. The backend treats docx, doc, pdf, ppt, pptx, xls, xlsx, txt, md, key, pages, and numbers extensions as documents and maps them to the upstream file field; all other URLs, including extensionless and HTML URLs, map to link.
wan3.0-video-firstframe-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan3.0-video-firstframe-uncensored | — | Canonical product model identifier. |
prompt | string | no | 0–20000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | yes | exactly 1 item | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 480p, 720p, 1080p | 1080p | affects price |
params.ratio | string | no | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | adaptive | — |
params.duration | integer | no | 2–30; auto -1 | 5 | — |
params.generate_audio | boolean | no | true, false | true | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
wan3.0-video-firstlast-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan3.0-video-firstlast-uncensored | — | Canonical product model identifier. |
prompt | string | no | 0–20000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | yes | exactly 2 items | — | Ordered public HTTP(S) image URLs. |
params.resolution | string | no | 480p, 720p, 1080p | 1080p | affects price |
params.ratio | string | no | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | adaptive | — |
params.duration | integer | no | 2–30; auto -1 | 5 | — |
params.generate_audio | boolean | no | true, false | true | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
wan3.0-video-reference-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan3.0-video-reference-uncensored | — | Canonical product model identifier. |
prompt | string | no | 0–20000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
images | array | one of | 0–10 items | — | Ordered public HTTP(S) image URLs. At least one of images, videos, audios is required. |
videos | array | one of | 0–5 items | — | Ordered public HTTP(S) video URLs. At least one of images, videos, audios is required. |
audios | array | one of | 0–5 items | — | Ordered public HTTP(S) audio URLs. At least one of images, videos, audios is required. |
params.resolution | string | no | 480p, 720p, 1080p | 1080p | affects price |
params.ratio | string | no | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | adaptive | — |
params.duration | integer | no | 2–30; auto -1 | 5 | — |
params.generate_audio | boolean | no | true, false | true | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
Provide at least one image, video, or audio item. Total video duration and total audio duration must each be no more than 15 seconds. Prompt and media are alternatives; this API requires at least one media item. Refer to inputs in the prompt as Image N, Video N, or Audio N.
wan3.0-video-t2v-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | wan3.0-video-t2v-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–20000 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
params.resolution | string | no | 480p, 720p, 1080p | 1080p | affects price |
params.ratio | string | no | adaptive, 16:9, 4:3, 1:1, 3:4, 9:16 | adaptive | — |
params.duration | integer | no | 2–30; auto -1 | 5 | — |
params.generate_audio | boolean | no | true, false | true | — |
params.watermark | boolean | no | true, false | false | — |
params.seed | integer | no | 0–2147483647 | — | — |
z-image-turbo-uncensored
| Field | Type | Required | Accepted value/range | Default | Notes |
|---|---|---|---|---|---|
model | string | yes | z-image-turbo-uncensored | — | Canonical product model identifier. |
prompt | string | yes | 1–800 characters | — | Positive generation or editing instruction. |
negative_prompt | string | no | any string | — | Accepted for compatibility, then silently discarded. |
params.resolution | string | no | 1k, 2k | 1k | The upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json. |
params.ratio | string | no | 1:1, 16:9, 9:16, 4:3, 3:4 | 16:9 | — |
params.prompt_extend | boolean | no | true, false | false | affects price |
params.seed | integer | no | 0–2147483647 | — | — |
Pricing
The table below is the public base list-price catalog generated from the canonical pricing contract. It is not a promise of a user's effective price.
The backend applies the latest versioned base SKU price, then the user's SKU-specific multiplier or pricing-plan default multiplier. The selected base version, plan, multiplier, and complete pricing snapshot are frozen when the task is created.
- API Key caller:
GET /ent/v2/prices— requires an enabled, unexpired key; zero balance is allowed. - Signed-in PC user:
GET /api/user/effective-prices— returns that user's current effective catalog.
Seedance list prices are reservation/display estimates. Final Seedance settlement uses upstream
usage.completion_tokens and the current token-rate rule frozen into the task snapshot.
Currency: USD. Canonical machine-readable pricing source for visual models. price_usd is the settlement unit price for non-Seedance SKUs. For Seedance SKUs, price_usd is a pre-request estimate; final settlement uses settlement_rules.seedance-2.5 and usage.completion_tokens.
| SKU | Product | Unit | Base list price | Formula |
|---|---|---|---|---|
happyhorse-1.1-t2v-uncensored-480p | HappyHorse Text-to-Video (1.1) | USD/second | 0.04842 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.1-t2v-uncensored-720p | HappyHorse Text-to-Video (1.1) | USD/second | 0.09685 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.1-t2v-uncensored-1080p | HappyHorse Text-to-Video (1.1) | USD/second | 0.12452 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.0-t2v-uncensored-720p | HappyHorse Text-to-Video (1.0) | USD/second | 0.12913 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.0-t2v-uncensored-1080p | HappyHorse Text-to-Video (1.0) | USD/second | 0.22137 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.1-i2v-uncensored-480p | HappyHorse Image-to-Video (1.1) | USD/second | 0.04842 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.1-i2v-uncensored-720p | HappyHorse Image-to-Video (1.1) | USD/second | 0.09685 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.1-i2v-uncensored-1080p | HappyHorse Image-to-Video (1.1) | USD/second | 0.12452 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.0-i2v-uncensored-720p | HappyHorse Image-to-Video (1.0) | USD/second | 0.12913 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.0-i2v-uncensored-1080p | HappyHorse Image-to-Video (1.0) | USD/second | 0.22137 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.1-r2v-uncensored-480p | HappyHorse Reference-to-Video (1.1) | USD/second | 0.04842 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.1-r2v-uncensored-720p | HappyHorse Reference-to-Video (1.1) | USD/second | 0.09685 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.1-r2v-uncensored-1080p | HappyHorse Reference-to-Video (1.1) | USD/second | 0.12452 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.0-r2v-uncensored-720p | HappyHorse Reference-to-Video (1.0) | USD/second | 0.12913 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-1.0-r2v-uncensored-1080p | HappyHorse Reference-to-Video (1.0) | USD/second | 0.22137 | Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8). |
happyhorse-videoedit-uncensored-720p | HappyHorse Video Editing | USD/second | 0.12913 | Total = unit price × video duration in seconds. Both input and output duration are billable. |
happyhorse-videoedit-uncensored-1080p | HappyHorse Video Editing | USD/second | 0.22137 | Total = unit price × video duration in seconds. Both input and output duration are billable. |
qwen-image3-t2i-uncensored-1k-pro | Qwen-Image-3.0 Text-to-Image | USD/image | 0.04612 | Total = unit price × number of generated images (n). Text-to-image has no input-image charge. |
qwen-image3-t2i-uncensored-2k-pro | Qwen-Image-3.0 Text-to-Image | USD/image | 0.08647 | Total = unit price × number of generated images (n). Text-to-image has no input-image charge. |
qwen-image3-t2i-uncensored-1k-standard | Qwen-Image-3.0 Text-to-Image | USD/image | 0.03459 | Total = unit price × number of generated images (n). Text-to-image has no input-image charge. |
qwen-image3-t2i-uncensored-2k-standard | Qwen-Image-3.0 Text-to-Image | USD/image | 0.03459 | Total = unit price × number of generated images (n). Text-to-image has no input-image charge. |
qwen-image3-edit-uncensored-1k-pro | Qwen-Image-3.0 Image-to-Image / Editing | USD/image | 0.04612 | Total = input image count (1–3) × $0.00346 plus output image count (n) × this SKU unit price. |
qwen-image3-edit-uncensored-2k-pro | Qwen-Image-3.0 Image-to-Image / Editing | USD/image | 0.08647 | Total = input image count (1–3) × $0.00346 plus output image count (n) × this SKU unit price. |
qwen-image3-edit-uncensored-1k-standard | Qwen-Image-3.0 Image-to-Image / Editing | USD/image | 0.03459 | Total = input image count (1–3) × $0.00346 plus output image count (n) × this SKU unit price. |
qwen-image3-edit-uncensored-2k-standard | Qwen-Image-3.0 Image-to-Image / Editing | USD/image | 0.03459 | Total = input image count (1–3) × $0.00346 plus output image count (n) × this SKU unit price. |
z-image-turbo-uncensored-pe-off | Z-Image-Turbo Text-to-Image | USD/image | 0.01694 | Total = unit price × 1 (single-image output). |
z-image-turbo-uncensored-pe-on | Z-Image-Turbo Text-to-Image | USD/image | 0.03387 | Total = unit price × 1 (single-image output). |
wan2.7-i2v-firstframe-uncensored-720p | Wan2.7-i2v First-Frame-to-Video | USD/second | 0.11291 | Total = unit price × output video duration in seconds. Duration range: 2–15 seconds. |
wan2.7-i2v-firstframe-uncensored-1080p | Wan2.7-i2v First-Frame-to-Video | USD/second | 0.16937 | Total = unit price × output video duration in seconds. Duration range: 2–15 seconds. |
wan2.7-i2v-firstlast-uncensored-720p | Wan2.7-i2v First-and-Last-Frame-to-Video | USD/second | 0.11291 | Total = unit price × output video duration in seconds. Duration range: 2–15 seconds. |
wan2.7-i2v-firstlast-uncensored-1080p | Wan2.7-i2v First-and-Last-Frame-to-Video | USD/second | 0.16937 | Total = unit price × output video duration in seconds. Duration range: 2–15 seconds. |
wan2.7-i2v-continuation-uncensored-720p | Wan2.7-i2v Video Extension | USD/second | 0.11291 | Total = unit price × output video duration in seconds. Duration range: 2–15 seconds. |
wan2.7-i2v-continuation-uncensored-1080p | Wan2.7-i2v Video Extension | USD/second | 0.16937 | Total = unit price × output video duration in seconds. Duration range: 2–15 seconds. |
wan2.7-r2v-multiple-uncensored-720p | Wan2.7-r2v Multi-Subject Reference-to-Video | USD/second | 0.11291 | Total = unit price × (reference-video input duration, capped at 5 seconds, plus output-video duration). Without a video reference, only output is billed. Output is capped at 15 seconds without video references and 10 seconds with them. |
wan2.7-r2v-multiple-uncensored-1080p | Wan2.7-r2v Multi-Subject Reference-to-Video | USD/second | 0.16937 | Total = unit price × (reference-video input duration, capped at 5 seconds, plus output-video duration). Without a video reference, only output is billed. Output is capped at 15 seconds without video references and 10 seconds with them. |
wan2.7-r2v-storyboard-uncensored-720p | Wan2.7-r2v Storyboard Reference-to-Video | USD/second | 0.11291 | Total = unit price × (reference-video input duration, capped at 5 seconds, plus output-video duration). Without a video reference, only output is billed. Output is capped at 15 seconds without video references and 10 seconds with them. |
wan2.7-r2v-storyboard-uncensored-1080p | Wan2.7-r2v Storyboard Reference-to-Video | USD/second | 0.16937 | Total = unit price × (reference-video input duration, capped at 5 seconds, plus output-video duration). Without a video reference, only output is billed. Output is capped at 15 seconds without video references and 10 seconds with them. |
wan2.7-t2v-uncensored-720p | Wan2.7-t2v Text-to-Video | USD/second | 0.11291 | Total = unit price × output video duration in seconds. Duration range: 2–15 seconds. |
wan2.7-t2v-uncensored-1080p | Wan2.7-t2v Text-to-Video | USD/second | 0.16937 | Total = unit price × output video duration in seconds. Duration range: 2–15 seconds. |
wan2.7-videoedit-style-uncensored-720p | Wan2.7 Video Editing — Instruction Only | USD/second | 0.11291 | Total = unit price × video duration in seconds. Both input and output duration are billable. |
wan2.7-videoedit-style-uncensored-1080p | Wan2.7 Video Editing — Instruction Only | USD/second | 0.16937 | Total = unit price × video duration in seconds. Both input and output duration are billable. |
wan2.7-videoedit-replace-uncensored-720p | Wan2.7 Video Editing — Instruction and Reference Image | USD/second | 0.11291 | Total = unit price × video duration in seconds. Both input and output duration are billable. |
wan2.7-videoedit-replace-uncensored-1080p | Wan2.7 Video Editing — Instruction and Reference Image | USD/second | 0.16937 | Total = unit price × video duration in seconds. Both input and output duration are billable. |
wan2.7-image-t2i-uncensored-pro | Wan2.7 Image Text-to-Image | USD/image | 0.08647 | Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output. |
wan2.7-image-t2i-uncensored-standard | Wan2.7 Image Text-to-Image | USD/image | 0.03387 | Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output. |
wan2.7-image-edit-uncensored-pro | Wan2.7 Image Editing (including multi-image fusion) | USD/image | 0.08647 | Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output. |
wan2.7-image-edit-uncensored-standard | Wan2.7 Image Editing (including multi-image fusion) | USD/image | 0.03387 | Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output. |
wan2.7-image-inpaint-uncensored-pro | Wan2.7 Interactive Image Editing (bounding boxes) | USD/image | 0.08647 | Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output. |
wan2.7-image-inpaint-uncensored-standard | Wan2.7 Interactive Image Editing (bounding boxes) | USD/image | 0.03387 | Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output. |
wan2.7-image-grid-t2i-uncensored-pro | Wan2.7 Text-to-Image Set | USD/image | 0.08647 | Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output. |
wan2.7-image-grid-t2i-uncensored-standard | Wan2.7 Text-to-Image Set | USD/image | 0.03387 | Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output. |
wan2.7-image-grid-i2i-uncensored-pro | Wan2.7 Image-to-Image Set | USD/image | 0.08647 | Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output. |
wan2.7-image-grid-i2i-uncensored-standard | Wan2.7 Image-to-Image Set | USD/image | 0.03387 | Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output. |
wan3.0-video-t2v-uncensored-480p | Wan3.0 Video Text-to-Video | USD/second | 0.05765 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-t2v-uncensored-720p | Wan3.0 Video Text-to-Video | USD/second | 0.11530 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-t2v-uncensored-1080p | Wan3.0 Video Text-to-Video | USD/second | 0.23059 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-firstframe-uncensored-480p | Wan3.0 Video First-Frame-to-Video | USD/second | 0.05765 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-firstframe-uncensored-720p | Wan3.0 Video First-Frame-to-Video | USD/second | 0.11530 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-firstframe-uncensored-1080p | Wan3.0 Video First-Frame-to-Video | USD/second | 0.23059 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-firstlast-uncensored-480p | Wan3.0 Video First-and-Last-Frame-to-Video | USD/second | 0.05765 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-firstlast-uncensored-720p | Wan3.0 Video First-and-Last-Frame-to-Video | USD/second | 0.11530 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-firstlast-uncensored-1080p | Wan3.0 Video First-and-Last-Frame-to-Video | USD/second | 0.23059 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-reference-uncensored-480p | Wan3.0 Video Multimodal Reference-to-Video | USD/second | 0.05765 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-reference-uncensored-720p | Wan3.0 Video Multimodal Reference-to-Video | USD/second | 0.11530 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-reference-uncensored-1080p | Wan3.0 Video Multimodal Reference-to-Video | USD/second | 0.23059 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-document-uncensored-480p | Wan3.0 Video Document/Web-Page-to-Video | USD/second | 0.05765 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-document-uncensored-720p | Wan3.0 Video Document/Web-Page-to-Video | USD/second | 0.11530 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
wan3.0-video-document-uncensored-1080p | Wan3.0 Video Document/Web-Page-to-Video | USD/second | 0.23059 | Total = unit price × (input video/audio duration + output video duration). Preview-period pricing. |
seedance-2.5-t2v-uncensored-480p | Seedance 2.5 Text-to-Video | USD/second | 0.10300 | The displayed per-second price is an estimate. Actual cost = usage.completion_tokens × 10.70 USD / 1,000,000 when there is no video input. |
seedance-2.5-t2v-uncensored-720p | Seedance 2.5 Text-to-Video | USD/second | 0.23100 | The displayed per-second price is an estimate. Actual cost = usage.completion_tokens × 10.70 USD / 1,000,000 when there is no video input. |
seedance-2.5-firstframe-uncensored-480p | Seedance 2.5 First-Frame-to-Video | USD/second | 0.10300 | The displayed per-second price is an estimate. Actual cost = usage.completion_tokens × 10.70 USD / 1,000,000 when there is no video input. |
seedance-2.5-firstframe-uncensored-720p | Seedance 2.5 First-Frame-to-Video | USD/second | 0.23100 | The displayed per-second price is an estimate. Actual cost = usage.completion_tokens × 10.70 USD / 1,000,000 when there is no video input. |
seedance-2.5-firstlast-uncensored-480p | Seedance 2.5 First-and-Last-Frame-to-Video | USD/second | 0.10300 | The displayed per-second price is an estimate. Actual cost = usage.completion_tokens × 10.70 USD / 1,000,000 when there is no video input. |
seedance-2.5-firstlast-uncensored-720p | Seedance 2.5 First-and-Last-Frame-to-Video | USD/second | 0.23100 | The displayed per-second price is an estimate. Actual cost = usage.completion_tokens × 10.70 USD / 1,000,000 when there is no video input. |
seedance-2.5-reference-uncensored-480p-imageonly | Seedance 2.5 Omnireference-to-Video | USD/second | 0.10300 | The displayed per-second price is an estimate. Actual cost = usage.completion_tokens × 10.70 USD / 1,000,000 for image/audio references without video input. |
seedance-2.5-reference-uncensored-720p-imageonly | Seedance 2.5 Omnireference-to-Video | USD/second | 0.23100 | The displayed per-second price is an estimate. Actual cost = usage.completion_tokens × 10.70 USD / 1,000,000 for image/audio references without video input. |
seedance-2.5-reference-uncensored-480p-withvideo | Seedance 2.5 Omnireference-to-Video | USD/video (starting price) | 0.55300 | The displayed starting price is an estimate. Actual cost = usage.completion_tokens × 6.40 USD / 1,000,000 when video input is included. |
seedance-2.5-reference-uncensored-720p-withvideo | Seedance 2.5 Omnireference-to-Video | USD/video (starting price) | 1.24400 | The displayed starting price is an estimate. Actual cost = usage.completion_tokens × 6.40 USD / 1,000,000 when video input is included. |
seedance-2.5-edit-uncensored-480p | Seedance 2.5 Video Editing | USD/video (starting price) | 0.55300 | The displayed starting price is an estimate. Actual cost = usage.completion_tokens × 6.40 USD / 1,000,000 when video input is included. |
seedance-2.5-edit-uncensored-720p | Seedance 2.5 Video Editing | USD/video (starting price) | 1.24400 | The displayed starting price is an estimate. Actual cost = usage.completion_tokens × 6.40 USD / 1,000,000 when video input is included. |
seedance-2.5-extend-uncensored-480p | Seedance 2.5 Video Extension | USD/video (starting price) | 0.55300 | The displayed starting price is an estimate. Actual cost = usage.completion_tokens × 6.40 USD / 1,000,000 when video input is included. |
seedance-2.5-extend-uncensored-720p | Seedance 2.5 Video Extension | USD/video (starting price) | 1.24400 | The displayed starting price is an estimate. Actual cost = usage.completion_tokens × 6.40 USD / 1,000,000 when video input is included. |
Errors
Contract-validation errors use this shape:
{
"error": "invalid_request",
"code": "invalid_enum_value",
"field": "params.resolution",
"message": "value is not in the allowed set"
}
Missing required fields identify the exact field:
{
"error": "invalid_request",
"code": "missing_required_field",
"field": "prompt",
"message": "prompt is required for model wan2.7-videoedit-style-uncensored"
}
Missing required media uses missing_required_media and identifies the relevant array, for example
"field": "videos". Invalid values similarly return the precise field path such as
params.duration or images[0]; callers should use code for program logic and message for human
diagnostics.
Base64, data: URLs, malformed URLs, and non-HTTP(S) media schemes return HTTP 400 before task
creation or provider translation:
{
"error": "invalid_request",
"code": "invalid_media_element",
"field": "images[0]",
"message": "media must be a valid HTTP or HTTPS URL; Base64 data is not supported"
}
Current validation codes include invalid_json, unknown_field, unknown_model,
missing_required_field, missing_required_media, media_count_exceeded,
invalid_media_element, unknown_parameter, invalid_enum_value, value_out_of_range,
invalid_type, bbox_count_mismatch, bbox_per_image_exceeded, and
color_palette_ratio_mismatch.
Authentication and other business errors currently use the shared API envelope:
{
"code": -1,
"msg": "Insufficient balance",
"data": null
}
| HTTP status | Meaning |
|---|---|
400 | Invalid JSON, field, media, parameter, or model boundary. |
401 | Missing, malformed, invalid, disabled, or expired API Key. |
402 | Insufficient shared-key balance or user wallet balance. |
404 | Task does not exist or is not owned by this caller. |
429 | Request rate limit exceeded. |
500 | Internal processing or persistence failure. |
Do not depend on undocumented symbolic codes such as quota_exhausted or task_not_found until the
backend exposes a unified public error schema.
Data handling
The gateway persists task ownership and billing records as well as normalized request data, including prompts, media URLs, parameters, the translated upstream request body, usage, errors, and result URLs. These records support task execution, settlement, refunds, troubleshooting, and audit requirements.
No shorter retention period or automatic deletion guarantee is currently documented. Commitments about training, reuse, deletion, or upstream-provider handling require the applicable privacy policy and provider agreements.