Overview
Wan 3.0 Video generates videos from prompts, first-frame or first-and-last-frame images, and multimodal reference inputs such as images, videos, audio files, files, and web links. Use this page when you are ready to call the API after trying the model in the APIXO playground.Choose the Wan 3.0 endpoint
All three endpoints support text-to-video, first-frame or first-and-last-frame image-to-video, and reference-to-video. Choose the endpoint before copying its parameters or price:
For workflow selection, see the Wan 3.0 Video, LoRA, and Pro LoRA comparison. Use the selected endpoint’s rate from API Pricing, even when two endpoints offer the same resolution.
Endpoint and authentication
Base URL:
All requests require your APIXO API key:
Copy-paste async quickstart
This minimal request submits a text-to-video task and returns ataskId.
taskId; you need it to poll for the final result.
Poll for result
resultJson after state becomes success:
Request body
Text-to-video
Image-to-video
Reference-to-video
Parameters
string
default:"async"
Result delivery mode. Omit this field or use
async for polling with statusTask, or use callback for webhook delivery.string
Required when
request_type is callback. Must be a public HTTPS URL that can receive the final task payload. See Webhooks.object
required
Wan 3.0 Video input parameters.
For guidance on choosing and combining references, see the Wan 3.0 reference workflow.
Response format
Submit task response
POST /generateTask/wan-3-0-video returns a task ID when the task is accepted:
integer
API status code.
200 means the task was accepted.string
Human-readable status message.
string
Unique task identifier used with the status endpoint.
Status response fields
string
Unique task identifier.
string
Current task state:
processing, success, or failed.string
JSON string containing generated video URLs in
resultUrls. Present when state is success.string
Machine-readable failure code. Present when
state is failed.string
Human-readable failure message. Present when
state is failed.integer
Task creation timestamp in Unix milliseconds.
integer
Task completion timestamp in Unix milliseconds. Present after completion.
integer
Processing duration in milliseconds. Present after completion when timing data is available.
object
Final billing snapshot. Present only on successful terminal responses for
wan-3-0-video tasks submitted with duration=-1.string
Settlement status. For this final snapshot the value is always
final.number
Total duration of all input videos, in seconds, rounded half up to 3 decimal places.
number
Actual generated output video duration, in seconds, rounded half up to 3 decimal places.
number
Final billable duration in seconds. This is always
inputVideoSeconds + outputVideoSeconds.string
Duration unit. The value is
second.string
Rounding rule used for duration fields. The value is
round half up to 3 decimal places.integer
Number of input videos included in
inputVideoSeconds.integer
Number of output videos included in
outputVideoSeconds.Webhook callback mode
Use callback mode when your backend should receive the final result automatically instead of polling.code, message, and data. Successful callbacks include the final state and resultJson. For duration=-1 tasks, successful terminal callbacks include the same data.billing object returned by status polling. See Webhooks for delivery requirements and retry behavior.
Billing
Market display references equal the standard APIXO price multiplied by 1.30, rounded half up to three decimal places. They are comparison values, not live third-party quotes or the charged amount. New non-LLM requests use 1 credit =$0.001. Calculate the full amount, including billable quantity and add-ons, apply the applicable account discount, then round the request total upward to the next whole credit. Agreed fixed unit prices retain their precision and replace the standard price and discount; final rounding still applies. See credit conversion and rounding.
Wan 3.0 Video is billed per second. All three generation modes share the same unit price for a given resolution. Reference-to-video bills output seconds plus the actual input reference video seconds at that same unit price.
Billing formulas:
Input images, audio files, files, and links do not add separate billable seconds.
Successful terminal
duration=-1 responses return the final settled seconds under data.billing. The following illustrative snapshot uses one 5.371-second reference video and one 10.042-second output; it is not a measured task result:
billing use seconds and are rounded half up to 3 decimal places. inputVideoSeconds is the sum of all input video durations, and inputVideoCount is the number of input videos included in that sum. outputVideoSeconds is the actual generated output duration. totalBillableSeconds is always inputVideoSeconds + outputVideoSeconds. Without input videos, inputVideoSeconds is 0.000 and inputVideoCount is 0. This billing object appears only after successful final settlement, is also included in successful callback payloads, and remains stable on repeated polling.
Without reference video, input video seconds are zero. Reference-to-video still requires at least one supported reference input. For duration=-1, the 30 output seconds are a pre-charge basis, not a promised output length. The final charge is (input video seconds + actual output seconds) * unitPrice; use the successful response with data.billing.settlementState=final for settled seconds.
For example, using the documented 1080p base rate of $0.20/second, a 5-second reference video and a fixed 10-second output cost $3.00. With duration=-1, the same input is initially charged (5 + 30) * $0.20 = $7.00. If the successful output is 10 seconds, the final charge is $3.00 and the difference refunded is $4.00. These are arithmetic examples, not measured generation results.
For a budgeting walkthrough, see the Wan 3.0 duration and cost guide. Its dollar examples use standard Wan 3.0 Video rates; check API Pricing for your selected endpoint’s current rate. API usage is billed in USD separately from Studio monthly credits.
For current API rates in USD, see API pricing.
Latency and polling
Wan 3.0 Video tasks are asynchronous. Actual latency may vary by prompt complexity, duration, reference media accessibility, resolution, route queue load, and generation time.
Result URLs are temporary. Download and store important outputs promptly after task completion.
Rate limits and concurrency can vary by account, API key, and route. If you receive
429, slow down requests and retry with backoff. For account-level details, see System APIs.
Errors and troubleshooting
HTTP errors
Validation notes
Task failure codes
failCode identifies the task failure. Common values include:
See Error Codes for the full error reference.
MCP integration
The complete model schema declares result decoding inmcp.result and supported file bindings in mcp.attachments. These are client integration metadata, not generation input parameters. Attachment paths: image_urls, video_urls, audio_urls, file_urls. Preserve the user’s file order. Model parameter validation remains on the API.