18Models
DocsModelPricingUse CasesLog inTry for Free
Try for FreeLog in
Home / API Documentation

18API Visual Generation API

One endpoint, one request contract, and model-specific limits for every supported generation workflow.

ON THIS PAGE
QuickstartAuthenticationRequest contractCreate a generation taskPoll a taskModel catalog and limitsPricingErrorsData handling

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.

FieldTypeRequiredDescription
modelstringyesOne canonical product model ID from the generated catalog below.
promptstringmodel-specificPositive prompt. Requirement and maximum length are model-specific.
negative_promptstringnoSilently discarded when the selected upstream model has no native support.
imagesarraymodel-specificOrdered public HTTP(S) URLs; Wan2.7 R2V also accepts {url,voice} objects.
videosarraymodel-specificOrdered public HTTP(S) URLs; Wan2.7 R2V also accepts {url,voice} objects.
audiosarraymodel-specificOrdered public HTTP(S) audio URLs.
filesarraymodel-specificPublic HTTP(S) document or web-page URLs for supported document-to-video models.
paramsobjectnoModel-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: every images and videos item 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, so images may contain up to 6 items;
  • when enabled, the backend omits ratio from 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.

ModelsRuleFailure you will see
seedance-2.5-edit-uncensored, seedance-2.5-extend-uncensoredThe 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

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeshappyhorse-1.0-i2v-uncensored—Canonical product model identifier.
promptstringno0–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayyesexactly 1 item—Ordered public HTTP(S) image URLs.
params.resolutionstringno720p, 1080p1080paffects price
params.durationintegerno3–155—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

happyhorse-1.0-r2v-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeshappyhorse-1.0-r2v-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayyes1–9 items—Ordered public HTTP(S) image URLs.
params.resolutionstringno720p, 1080p1080paffects price
params.ratiostringno16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:916:9—
params.durationintegerno3–155—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

happyhorse-1.0-t2v-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeshappyhorse-1.0-t2v-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
params.resolutionstringno720p, 1080p1080paffects price
params.ratiostringno16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:916:9—
params.durationintegerno3–155—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

happyhorse-1.1-i2v-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeshappyhorse-1.1-i2v-uncensored—Canonical product model identifier.
promptstringno0–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayyesexactly 1 item—Ordered public HTTP(S) image URLs.
params.resolutionstringno480p, 720p, 1080p1080paffects price
params.durationintegerno3–155—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

happyhorse-1.1-r2v-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeshappyhorse-1.1-r2v-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayyes1–9 items—Ordered public HTTP(S) image URLs.
params.resolutionstringno480p, 720p, 1080p1080paffects price
params.ratiostringno16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:916:9—
params.durationintegerno3–155—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

happyhorse-1.1-t2v-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeshappyhorse-1.1-t2v-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
params.resolutionstringno480p, 720p, 1080p1080paffects price
params.ratiostringno16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:916:9—
params.durationintegerno3–155—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

happyhorse-videoedit-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeshappyhorse-videoedit-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayno0–5 items—Ordered public HTTP(S) image URLs.
videosarrayyesexactly 1 item—Ordered public HTTP(S) video URLs.
params.resolutionstringno720p, 1080p1080paffects price
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——
params.audio_settingstringnoauto, originauto—

qwen-image3-edit-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyesqwen-image3-edit-uncensored—Canonical product model identifier.
promptstringyesnon-empty string—Positive generation or editing instruction.
negative_promptstringnoany string—Content to avoid in the generated result.
imagesarrayyes1–3 items—Ordered public HTTP(S) image URLs.
params.resolutionstringno1k, 2k1kaffects price; The upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json.
params.ratiostringno1:1, 16:9, 9:16, 4:3, 3:416:9—
params.qualitystringnopro, standardproaffects price
params.countintegerno1–61—
params.prompt_extendbooleannotrue, falsefalse—
params.prompt_extend_modestringnodirectdirectfixed by backend
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

qwen-image3-t2i-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyesqwen-image3-t2i-uncensored—Canonical product model identifier.
promptstringyesnon-empty string—Positive generation or editing instruction.
negative_promptstringnoany string—Content to avoid in the generated result.
params.resolutionstringno1k, 2k1kaffects price; The upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json.
params.ratiostringno1:1, 16:9, 9:16, 4:3, 3:416:9—
params.qualitystringnopro, standardproaffects price
params.countintegerno1–61—
params.prompt_extendbooleannotrue, falsefalse—
params.prompt_extend_modestringnodirect, agentdirect—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

seedance-2.5-edit-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyesseedance-2.5-edit-uncensored—Canonical product model identifier.
promptstringyesnon-empty string—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
videosarrayyes1–10 items—Ordered public HTTP(S) video URLs.
params.resolutionstringno480p, 720p720paffects price
params.ratiostringnoadaptiveadaptivefixed by backend
params.durationintegerno4–30; auto -1-1fixed by backend
params.generate_audiobooleannotrue, falsetrue—
params.output_formatstringnomp4, movmp4—
params.watermarkbooleannotrue, falsefalse—

videos contains the clips to edit: 1–10 items per request, each 4–30 seconds long.

seedance-2.5-extend-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyesseedance-2.5-extend-uncensored—Canonical product model identifier.
promptstringyesnon-empty string—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
videosarrayyes1–10 items—Ordered public HTTP(S) video URLs.
params.resolutionstringno480p, 720p720paffects price
params.ratiostringnoadaptiveadaptivefixed by backend
params.durationintegerno4–30; auto -1-1—
params.generate_audiobooleannotrue, falsetrue—
params.output_formatstringnomp4, movmp4—
params.watermarkbooleannotrue, falsefalse—

videos contains the clips to extend in sequence, with at most 10 clips per request.

seedance-2.5-firstframe-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyesseedance-2.5-firstframe-uncensored—Canonical product model identifier.
promptstringnoany string—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayyesexactly 1 item—Ordered public HTTP(S) image URLs.
params.resolutionstringno480p, 720p720paffects price
params.ratiostringnoadaptiveadaptivefixed by backend
params.durationintegerno4–30; auto -1-1—
params.generate_audiobooleannotrue, falsetrue—
params.output_formatstringnomp4, movmp4—
params.watermarkbooleannotrue, falsefalse—

seedance-2.5-firstlast-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyesseedance-2.5-firstlast-uncensored—Canonical product model identifier.
promptstringnoany string—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayyesexactly 2 items—Ordered public HTTP(S) image URLs.
params.resolutionstringno480p, 720p720paffects price
params.ratiostringnoadaptiveadaptivefixed by backend
params.durationintegerno4–30; auto -1-1—
params.generate_audiobooleannotrue, falsetrue—
params.output_formatstringnomp4, movmp4—
params.watermarkbooleannotrue, falsefalse—

seedance-2.5-reference-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyesseedance-2.5-reference-uncensored—Canonical product model identifier.
promptstringnoany string—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayone of0–30 items—Ordered public HTTP(S) image URLs. At least one of images, videos, audios is required.
videosarrayone of0–10 items—Ordered public HTTP(S) video URLs. At least one of images, videos, audios is required.
audiosarrayone of0–10 items—Ordered public HTTP(S) audio URLs. At least one of images, videos, audios is required.
params.resolutionstringno480p, 720p720paffects price
params.ratiostringnoadaptive, 16:9, 4:3, 1:1, 3:4, 9:16, 21:9adaptive—
params.durationintegerno4–30; auto -1-1—
params.generate_audiobooleannotrue, falsetrue—
params.output_formatstringnomp4, movmp4—
params.watermarkbooleannotrue, falsefalse—

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

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyesseedance-2.5-t2v-uncensored—Canonical product model identifier.
promptstringyesnon-empty string—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
params.resolutionstringno480p, 720p720paffects price
params.ratiostringnoadaptive, 16:9, 4:3, 1:1, 3:4, 9:16, 21:9adaptive—
params.durationintegerno4–30; auto -1-1—
params.generate_audiobooleannotrue, falsetrue—
params.output_formatstringnomp4, movmp4—
params.watermarkbooleannotrue, falsefalse—

wan2.7-i2v-continuation-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-i2v-continuation-uncensored—Canonical product model identifier.
promptstringno0–5000 characters—Positive generation or editing instruction.
negative_promptstringno0–500 characters—Content to avoid in the generated result.
imagesarrayno0–1 items—Ordered public HTTP(S) image URLs.
videosarrayyesexactly 1 item—Ordered public HTTP(S) video URLs.
params.resolutionstringno720p, 1080p1080paffects price
params.durationintegerno2–155—
params.prompt_extendbooleannotrue, falsefalse—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

videos[0] is the source clip to extend; images[0], when provided, is the target final frame.

wan2.7-i2v-firstframe-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-i2v-firstframe-uncensored—Canonical product model identifier.
promptstringno0–5000 characters—Positive generation or editing instruction.
negative_promptstringno0–500 characters—Content to avoid in the generated result.
imagesarrayyesexactly 1 item—Ordered public HTTP(S) image URLs.
audiosarrayno0–1 items—Ordered public HTTP(S) audio URLs.
params.resolutionstringno720p, 1080p1080paffects price
params.durationintegerno2–155—
params.prompt_extendbooleannotrue, falsefalse—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

wan2.7-i2v-firstlast-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-i2v-firstlast-uncensored—Canonical product model identifier.
promptstringno0–5000 characters—Positive generation or editing instruction.
negative_promptstringno0–500 characters—Content to avoid in the generated result.
imagesarrayyesexactly 2 items—Ordered public HTTP(S) image URLs.
audiosarrayno0–1 items—Ordered public HTTP(S) audio URLs.
params.resolutionstringno720p, 1080p1080paffects price
params.durationintegerno2–155—
params.prompt_extendbooleannotrue, falsefalse—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

wan2.7-image-edit-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-image-edit-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayyes1–9 items—Ordered public HTTP(S) image URLs.
params.resolutionstringno1k, 2k2kThe upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json.
params.ratiostringno1:1, 16:9, 9:16, 4:3, 3:416:9—
params.qualitystringnopro, standardproaffects price
params.countintegerno1–41—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

wan2.7-image-grid-i2i-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-image-grid-i2i-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayno0–9 items—Ordered public HTTP(S) image URLs.
params.resolutionstringno1k, 2k2kThe upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json.
params.ratiostringno1:1, 16:9, 9:16, 4:3, 3:416:9—
params.qualitystringnopro, standardproaffects price
params.countintegerno1–1212—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

wan2.7-image-grid-t2i-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-image-grid-t2i-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
params.resolutionstringno1k, 2k2kThe upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json.
params.ratiostringno1:1, 16:9, 9:16, 4:3, 3:416:9—
params.qualitystringnopro, standardproaffects price
params.countintegerno1–1212—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

wan2.7-image-inpaint-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-image-inpaint-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayyes1–9 items—Ordered public HTTP(S) image URLs.
params.resolutionstringno1k, 2k2kThe upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json.
params.ratiostringno1:1, 16:9, 9:16, 4:3, 3:416:9—
params.qualitystringnopro, standardproaffects price
params.countintegerno1–41—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——
params.bbox_listarrayno0–∞ 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

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-image-t2i-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
params.resolutionstringnopro: 1k, 2k, 4k; standard: 1k, 2k2kThe 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.ratiostringno1:1, 16:9, 9:16, 4:3, 3:416:9—
params.qualitystringnopro, standardproaffects price
params.countintegerno1–41—
params.thinking_modebooleannotrue, falsetrue—
params.color_palettearrayno3–10 items——
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

wan2.7-r2v-multiple-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-r2v-multiple-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringno0–500 characters—Content to avoid in the generated result.
imagesarrayone of0–6 items—Ordered public HTTP(S) image URLs. Items may use {url,voice} objects. At least one of images, videos is required.
videosarrayone of0–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_FRAMEbooleannotrue, falsefalseUsed 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.resolutionstringno720p, 1080p1080paffects price
params.ratiostringno16:9, 9:16, 1:1, 4:3, 3:416:9—
params.durationintegerno2–155The maximum duration is 10 seconds when video references are included.
params.prompt_extendbooleannotrue, falsefalse—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–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

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-r2v-storyboard-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringno0–500 characters—Content to avoid in the generated result.
imagesarrayyesexactly 1 item—Ordered public HTTP(S) image URLs.
params.resolutionstringno720p, 1080p1080paffects price
params.ratiostringno16:9, 9:16, 1:1, 4:3, 3:416:9—
params.durationintegerno2–155—
params.prompt_extendbooleannotrue, falsefalse—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

images[0] is the multi-panel storyboard image.

wan2.7-t2v-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-t2v-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringno0–500 characters—Content to avoid in the generated result.
audiosarrayno0–1 items—Ordered public HTTP(S) audio URLs.
params.resolutionstringno720p, 1080p1080paffects price
params.ratiostringno16:9, 9:16, 1:1, 4:3, 3:416:9—
params.durationintegerno2–155—
params.prompt_extendbooleannotrue, falsefalse—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

audios[0] provides custom voice-over audio; omit it to use automatic voice-over.

wan2.7-videoedit-replace-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-videoedit-replace-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringno0–500 characters—Content to avoid in the generated result.
imagesarrayno0–4 items—Ordered public HTTP(S) image URLs.
videosarrayyesexactly 1 item—Ordered public HTTP(S) video URLs.
params.resolutionstringno720p, 1080p1080paffects price
params.ratiostringno16:9, 9:16, 1:1, 4:3, 3:4——
params.durationintegerno2–10; auto 000 disables truncation and preserves the input video duration.
params.audio_settingstringnoauto, originauto—
params.prompt_extendbooleannotrue, falsefalse—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

wan2.7-videoedit-style-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan2.7-videoedit-style-uncensored—Canonical product model identifier.
promptstringyes1–5000 characters—Positive generation or editing instruction.
negative_promptstringno0–500 characters—Content to avoid in the generated result.
videosarrayyesexactly 1 item—Ordered public HTTP(S) video URLs.
params.resolutionstringno720p, 1080p1080paffects price
params.ratiostringno16:9, 9:16, 1:1, 4:3, 3:4——
params.durationintegerno2–10; auto 000 disables truncation and preserves the input video duration.
params.audio_settingstringnoauto, originauto—
params.prompt_extendbooleannotrue, falsefalse—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

wan3.0-video-document-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan3.0-video-document-uncensored—Canonical product model identifier.
promptstringno0–20000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
filesarrayyesexactly 1 item—Ordered public HTTP(S) document or web-page URLs.
params.resolutionstringno480p, 720p, 1080p1080paffects price
params.ratiostringnoadaptive, 16:9, 4:3, 1:1, 3:4, 9:16adaptive—
params.durationintegerno2–30; auto -15—
params.generate_audiobooleannotrue, falsetrue—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–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

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan3.0-video-firstframe-uncensored—Canonical product model identifier.
promptstringno0–20000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayyesexactly 1 item—Ordered public HTTP(S) image URLs.
params.resolutionstringno480p, 720p, 1080p1080paffects price
params.ratiostringnoadaptive, 16:9, 4:3, 1:1, 3:4, 9:16adaptive—
params.durationintegerno2–30; auto -15—
params.generate_audiobooleannotrue, falsetrue—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

wan3.0-video-firstlast-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan3.0-video-firstlast-uncensored—Canonical product model identifier.
promptstringno0–20000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayyesexactly 2 items—Ordered public HTTP(S) image URLs.
params.resolutionstringno480p, 720p, 1080p1080paffects price
params.ratiostringnoadaptive, 16:9, 4:3, 1:1, 3:4, 9:16adaptive—
params.durationintegerno2–30; auto -15—
params.generate_audiobooleannotrue, falsetrue—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

wan3.0-video-reference-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan3.0-video-reference-uncensored—Canonical product model identifier.
promptstringno0–20000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
imagesarrayone of0–10 items—Ordered public HTTP(S) image URLs. At least one of images, videos, audios is required.
videosarrayone of0–5 items—Ordered public HTTP(S) video URLs. At least one of images, videos, audios is required.
audiosarrayone of0–5 items—Ordered public HTTP(S) audio URLs. At least one of images, videos, audios is required.
params.resolutionstringno480p, 720p, 1080p1080paffects price
params.ratiostringnoadaptive, 16:9, 4:3, 1:1, 3:4, 9:16adaptive—
params.durationintegerno2–30; auto -15—
params.generate_audiobooleannotrue, falsetrue—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–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

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyeswan3.0-video-t2v-uncensored—Canonical product model identifier.
promptstringyes1–20000 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
params.resolutionstringno480p, 720p, 1080p1080paffects price
params.ratiostringnoadaptive, 16:9, 4:3, 1:1, 3:4, 9:16adaptive—
params.durationintegerno2–30; auto -15—
params.generate_audiobooleannotrue, falsetrue—
params.watermarkbooleannotrue, falsefalse—
params.seedintegerno0–2147483647——

z-image-turbo-uncensored

FieldTypeRequiredAccepted value/rangeDefaultNotes
modelstringyesz-image-turbo-uncensored—Canonical product model identifier.
promptstringyes1–800 characters—Positive generation or editing instruction.
negative_promptstringnoany string—Accepted for compatibility, then silently discarded.
params.resolutionstringno1k, 2k1kThe upstream API has no resolution or ratio field; the backend converts them to size (width × height) using aspect-presets.json.
params.ratiostringno1:1, 16:9, 9:16, 4:3, 3:416:9—
params.prompt_extendbooleannotrue, falsefalseaffects price
params.seedintegerno0–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.

SKUProductUnitBase list priceFormula
happyhorse-1.1-t2v-uncensored-480pHappyHorse Text-to-Video (1.1)USD/second0.04842Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.1-t2v-uncensored-720pHappyHorse Text-to-Video (1.1)USD/second0.09685Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.1-t2v-uncensored-1080pHappyHorse Text-to-Video (1.1)USD/second0.12452Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.0-t2v-uncensored-720pHappyHorse Text-to-Video (1.0)USD/second0.12913Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.0-t2v-uncensored-1080pHappyHorse Text-to-Video (1.0)USD/second0.22137Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.1-i2v-uncensored-480pHappyHorse Image-to-Video (1.1)USD/second0.04842Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.1-i2v-uncensored-720pHappyHorse Image-to-Video (1.1)USD/second0.09685Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.1-i2v-uncensored-1080pHappyHorse Image-to-Video (1.1)USD/second0.12452Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.0-i2v-uncensored-720pHappyHorse Image-to-Video (1.0)USD/second0.12913Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.0-i2v-uncensored-1080pHappyHorse Image-to-Video (1.0)USD/second0.22137Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.1-r2v-uncensored-480pHappyHorse Reference-to-Video (1.1)USD/second0.04842Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.1-r2v-uncensored-720pHappyHorse Reference-to-Video (1.1)USD/second0.09685Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.1-r2v-uncensored-1080pHappyHorse Reference-to-Video (1.1)USD/second0.12452Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.0-r2v-uncensored-720pHappyHorse Reference-to-Video (1.0)USD/second0.12913Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-1.0-r2v-uncensored-1080pHappyHorse Reference-to-Video (1.0)USD/second0.22137Total = unit price × output duration in seconds. Duration range: 3–15 seconds (example: 8 seconds = unit price × 8).
happyhorse-videoedit-uncensored-720pHappyHorse Video EditingUSD/second0.12913Total = unit price × video duration in seconds. Both input and output duration are billable.
happyhorse-videoedit-uncensored-1080pHappyHorse Video EditingUSD/second0.22137Total = unit price × video duration in seconds. Both input and output duration are billable.
qwen-image3-t2i-uncensored-1k-proQwen-Image-3.0 Text-to-ImageUSD/image0.04612Total = unit price × number of generated images (n). Text-to-image has no input-image charge.
qwen-image3-t2i-uncensored-2k-proQwen-Image-3.0 Text-to-ImageUSD/image0.08647Total = unit price × number of generated images (n). Text-to-image has no input-image charge.
qwen-image3-t2i-uncensored-1k-standardQwen-Image-3.0 Text-to-ImageUSD/image0.03459Total = unit price × number of generated images (n). Text-to-image has no input-image charge.
qwen-image3-t2i-uncensored-2k-standardQwen-Image-3.0 Text-to-ImageUSD/image0.03459Total = unit price × number of generated images (n). Text-to-image has no input-image charge.
qwen-image3-edit-uncensored-1k-proQwen-Image-3.0 Image-to-Image / EditingUSD/image0.04612Total = input image count (1–3) × $0.00346 plus output image count (n) × this SKU unit price.
qwen-image3-edit-uncensored-2k-proQwen-Image-3.0 Image-to-Image / EditingUSD/image0.08647Total = input image count (1–3) × $0.00346 plus output image count (n) × this SKU unit price.
qwen-image3-edit-uncensored-1k-standardQwen-Image-3.0 Image-to-Image / EditingUSD/image0.03459Total = input image count (1–3) × $0.00346 plus output image count (n) × this SKU unit price.
qwen-image3-edit-uncensored-2k-standardQwen-Image-3.0 Image-to-Image / EditingUSD/image0.03459Total = input image count (1–3) × $0.00346 plus output image count (n) × this SKU unit price.
z-image-turbo-uncensored-pe-offZ-Image-Turbo Text-to-ImageUSD/image0.01694Total = unit price × 1 (single-image output).
z-image-turbo-uncensored-pe-onZ-Image-Turbo Text-to-ImageUSD/image0.03387Total = unit price × 1 (single-image output).
wan2.7-i2v-firstframe-uncensored-720pWan2.7-i2v First-Frame-to-VideoUSD/second0.11291Total = unit price × output video duration in seconds. Duration range: 2–15 seconds.
wan2.7-i2v-firstframe-uncensored-1080pWan2.7-i2v First-Frame-to-VideoUSD/second0.16937Total = unit price × output video duration in seconds. Duration range: 2–15 seconds.
wan2.7-i2v-firstlast-uncensored-720pWan2.7-i2v First-and-Last-Frame-to-VideoUSD/second0.11291Total = unit price × output video duration in seconds. Duration range: 2–15 seconds.
wan2.7-i2v-firstlast-uncensored-1080pWan2.7-i2v First-and-Last-Frame-to-VideoUSD/second0.16937Total = unit price × output video duration in seconds. Duration range: 2–15 seconds.
wan2.7-i2v-continuation-uncensored-720pWan2.7-i2v Video ExtensionUSD/second0.11291Total = unit price × output video duration in seconds. Duration range: 2–15 seconds.
wan2.7-i2v-continuation-uncensored-1080pWan2.7-i2v Video ExtensionUSD/second0.16937Total = unit price × output video duration in seconds. Duration range: 2–15 seconds.
wan2.7-r2v-multiple-uncensored-720pWan2.7-r2v Multi-Subject Reference-to-VideoUSD/second0.11291Total = 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-1080pWan2.7-r2v Multi-Subject Reference-to-VideoUSD/second0.16937Total = 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-720pWan2.7-r2v Storyboard Reference-to-VideoUSD/second0.11291Total = 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-1080pWan2.7-r2v Storyboard Reference-to-VideoUSD/second0.16937Total = 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-720pWan2.7-t2v Text-to-VideoUSD/second0.11291Total = unit price × output video duration in seconds. Duration range: 2–15 seconds.
wan2.7-t2v-uncensored-1080pWan2.7-t2v Text-to-VideoUSD/second0.16937Total = unit price × output video duration in seconds. Duration range: 2–15 seconds.
wan2.7-videoedit-style-uncensored-720pWan2.7 Video Editing — Instruction OnlyUSD/second0.11291Total = unit price × video duration in seconds. Both input and output duration are billable.
wan2.7-videoedit-style-uncensored-1080pWan2.7 Video Editing — Instruction OnlyUSD/second0.16937Total = unit price × video duration in seconds. Both input and output duration are billable.
wan2.7-videoedit-replace-uncensored-720pWan2.7 Video Editing — Instruction and Reference ImageUSD/second0.11291Total = unit price × video duration in seconds. Both input and output duration are billable.
wan2.7-videoedit-replace-uncensored-1080pWan2.7 Video Editing — Instruction and Reference ImageUSD/second0.16937Total = unit price × video duration in seconds. Both input and output duration are billable.
wan2.7-image-t2i-uncensored-proWan2.7 Image Text-to-ImageUSD/image0.08647Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output.
wan2.7-image-t2i-uncensored-standardWan2.7 Image Text-to-ImageUSD/image0.03387Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output.
wan2.7-image-edit-uncensored-proWan2.7 Image Editing (including multi-image fusion)USD/image0.08647Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output.
wan2.7-image-edit-uncensored-standardWan2.7 Image Editing (including multi-image fusion)USD/image0.03387Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output.
wan2.7-image-inpaint-uncensored-proWan2.7 Interactive Image Editing (bounding boxes)USD/image0.08647Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output.
wan2.7-image-inpaint-uncensored-standardWan2.7 Interactive Image Editing (bounding boxes)USD/image0.03387Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output.
wan2.7-image-grid-t2i-uncensored-proWan2.7 Text-to-Image SetUSD/image0.08647Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output.
wan2.7-image-grid-t2i-uncensored-standardWan2.7 Text-to-Image SetUSD/image0.03387Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output.
wan2.7-image-grid-i2i-uncensored-proWan2.7 Image-to-Image SetUSD/image0.08647Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output.
wan2.7-image-grid-i2i-uncensored-standardWan2.7 Image-to-Image SetUSD/image0.03387Total = unit price × number of successfully generated images. The same price applies to 1k, 2k, and 4k output.
wan3.0-video-t2v-uncensored-480pWan3.0 Video Text-to-VideoUSD/second0.05765Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-t2v-uncensored-720pWan3.0 Video Text-to-VideoUSD/second0.11530Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-t2v-uncensored-1080pWan3.0 Video Text-to-VideoUSD/second0.23059Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-firstframe-uncensored-480pWan3.0 Video First-Frame-to-VideoUSD/second0.05765Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-firstframe-uncensored-720pWan3.0 Video First-Frame-to-VideoUSD/second0.11530Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-firstframe-uncensored-1080pWan3.0 Video First-Frame-to-VideoUSD/second0.23059Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-firstlast-uncensored-480pWan3.0 Video First-and-Last-Frame-to-VideoUSD/second0.05765Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-firstlast-uncensored-720pWan3.0 Video First-and-Last-Frame-to-VideoUSD/second0.11530Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-firstlast-uncensored-1080pWan3.0 Video First-and-Last-Frame-to-VideoUSD/second0.23059Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-reference-uncensored-480pWan3.0 Video Multimodal Reference-to-VideoUSD/second0.05765Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-reference-uncensored-720pWan3.0 Video Multimodal Reference-to-VideoUSD/second0.11530Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-reference-uncensored-1080pWan3.0 Video Multimodal Reference-to-VideoUSD/second0.23059Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-document-uncensored-480pWan3.0 Video Document/Web-Page-to-VideoUSD/second0.05765Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-document-uncensored-720pWan3.0 Video Document/Web-Page-to-VideoUSD/second0.11530Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
wan3.0-video-document-uncensored-1080pWan3.0 Video Document/Web-Page-to-VideoUSD/second0.23059Total = unit price × (input video/audio duration + output video duration). Preview-period pricing.
seedance-2.5-t2v-uncensored-480pSeedance 2.5 Text-to-VideoUSD/second0.10300The 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-720pSeedance 2.5 Text-to-VideoUSD/second0.23100The 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-480pSeedance 2.5 First-Frame-to-VideoUSD/second0.10300The 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-720pSeedance 2.5 First-Frame-to-VideoUSD/second0.23100The 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-480pSeedance 2.5 First-and-Last-Frame-to-VideoUSD/second0.10300The 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-720pSeedance 2.5 First-and-Last-Frame-to-VideoUSD/second0.23100The 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-imageonlySeedance 2.5 Omnireference-to-VideoUSD/second0.10300The 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-imageonlySeedance 2.5 Omnireference-to-VideoUSD/second0.23100The 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-withvideoSeedance 2.5 Omnireference-to-VideoUSD/video (starting price)0.55300The 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-withvideoSeedance 2.5 Omnireference-to-VideoUSD/video (starting price)1.24400The 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-480pSeedance 2.5 Video EditingUSD/video (starting price)0.55300The 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-720pSeedance 2.5 Video EditingUSD/video (starting price)1.24400The 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-480pSeedance 2.5 Video ExtensionUSD/video (starting price)0.55300The 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-720pSeedance 2.5 Video ExtensionUSD/video (starting price)1.24400The 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 statusMeaning
400Invalid JSON, field, media, parameter, or model boundary.
401Missing, malformed, invalid, disabled, or expired API Key.
402Insufficient shared-key balance or user wallet balance.
404Task does not exist or is not owned by this caller.
429Request rate limit exceeded.
500Internal 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.

Ready to integrate?

Contact sales to get your API key and start generation testing.

Contact on TelegramView Pricing
18Models

High-fidelity AI video generation built for platforms and creators who push boundaries.

All systems operational
Product
DocsPricingAPI StatusChangelog
Legal
Privacy PolicyTerms of ServiceContent PolicyCookie Policy
© 2026 18models.ai. All rights reserved.TLS in transit · Hashed API keys · Operational audit logs