ai
3 мин
27 августа 2026 г.
Источник: Dev.to AI Feed

Seven defaults in the Wan 3.0 video API that decide your bill before you write a prompt

Ray Lin
Ray Lin
RSS AI Ingest
Seven defaults in the Wan 3.0 video API that decide your bill before you write a prompt

Every asynchronous media API has a set of parameters you can leave out, and a set of This is a walk through the request body of Alibaba's wan3.0-video endpoint with POST /api/v1/services/aigc/video-generation/video-synthesis Content-Type: a...

Every asynchronous media API has a set of parameters you can leave out, and a set of things it will then decide for you. Wan 3.0 has seven of them. Six are harmless. One multiplies your invoice by four, and it is the one nearly every quickstart omits, because omitting it is what makes a quickstart short. This is a walk through the request body of Alibaba's wan3.0-video endpoint with every default written down, checked against the Model Studio API reference on 2026-08-27. If you are wiring this into a product, the useful artifact is not a working call — you will get one of those in ten minutes — it is a request builder that never leaves a billing-relevant field unset. The shape of the call POST /api/v1/services/aigc/video-generation/video-synthesis Content-Type: application/json Authorization: Bearer $DASHSCOPE_API_KEY X-DashScope-Async: enable That third header is not optional and it is not a performance hint. Leave it off and the call fails with current user api does not support synchronous calls, which reads like an account permissions problem and is not one. There is no synchronous mode. Every generation is a task you submit and then poll. { "model": "wan3.0-video", "input": { "prompt": "…", "media": [ { "type": "first_frame", "url": "https://…" } ] }, "parameters": { "resolution": "720P", "ratio": "16:9", "duration": 5, "audio": true, "seed": 12345, "prompt_extend": true, "watermark": false } } input needs at least one of prompt or media. Everything under parameters is optional, which is the whole problem. The seven defaults Parameter Default when omitted Does it move the bill resolution 1080P Yes — 4× the 480P rate duration required in practice; -1 means model-decides Yes, indirectly ratio adaptive No audio true No — and this surprises people prompt_extend true No, but it changes the output watermark false No seed random No, but it costs you reproducibility 1. resolution defaults to the most expensive tier Wan 3.0 offers 480P, 720P and 1080P. Omit the field and you get 1080P. At Alibaba's published international rates that is $0.20 per second against $0.05 for 480P — so a thirty-second clip is $6.00 instead of $1.50, with no warning, no error, and an otherwise identical model. The reason this is worth a section of its own rather than a footnote: during development you are not generating one clip, you are generating dozens of throwaway ones. A test suite that never sets resolution bills every fixture at four times the necessary rate. Set it explicitly in your client's defaults and require callers to opt up. DEFAULTS = { "resolution": "480P", # never inherit the API's 1080P "ratio": "adaptive", "audio": True, "prompt_extend": True, "watermark": False, } def build(prompt, **overrides): params = {**DEFAULTS, **overrides} if "duration" not in params: raise ValueError("duration must be explicit; -1 is a budget decision") return {"model": "wan3.0-video", "input": {"prompt": prompt}, "parameters": params} 2. duration and the -1 trap Duration is an integer from 2 to 30 seconds. It also accepts -1, which hands the length decision to the model. That is a genuinely nice feature for exploratory work and a genuinely bad one for a prepaid credit system, because you cannot price a job you have not sized. Several resellers document -1 as reserving the full thirty-second maximum up front and reconciling afterwards; at least one documents it as simply billing thirty seconds. Read the response's usage.output_video_duration rather than your own request when you reconcile. There is a second constraint that only appears once you pass video in: input video seconds plus output seconds must total 30 or less. A ten-second reference clip caps your output at twenty. Requesting -1 does not exempt you. 3. audio defaults on, and turning it off saves nothing Wan 3.0 generates picture and sound in one pass. The audio boolean controls whether a track comes back, not whether one is produced. The published rate is the same either way. This is worth knowing mainly because the instinct from other providers is wrong here. Some competing models bill native audio as a surcharge — turning it off is a real lever there. On Wan 3.0 it is not a lever at all, so if you have a mute deliverable, generate with audio on anyway and strip it downstream. You may want the track later and it is already paid for. 4. prompt_extend rewrites what you wrote On by default. It expands a terse prompt into something the model handles better, and the effect on a one-line prompt is large. The effect on a 400-word prompt you have already tuned over six attempts is also large, and not in the direction you want. The response returns your original text under orig_prompt, so you can always diff what you sent against what ran. If you are building a prompt-tuning loop, turn expansion off once the prompt is longer than a sentence or two — otherwise you are tuning one string and evaluating another. 5, 6, 7: ratio, watermark, seed ratio defaults to adaptive and accepts 16:9, 4:3, 1:1, 3:4 and 9:16. Note what is absent: there is no 21:9. If you have a pricing table or a UI carried over from a model that offered a cinema ratio, that dimension has nothing behind it. watermark defaults to false, which is the friendly direction and worth confirming rather than assuming. seed accepts 0–2147483647 and is random when unset. Random seeds are fine until the day a client asks for "that one again, but slower," and you discover the only copy of the number was in a response body you did not persist. Store it with the task. Two clocks you have to design around Both are 24 hours and they are not the same clock. A task_id is queryable for 24 hours. After that, polling returns the state UNKNOWN — which is not a failure, it is the system saying the receipt expired. The state enum is PENDING, RUNNING, SUCCEEDED, FAILED, CANCELED and UNKNOWN, and if your client maps that last one onto PENDING your progress bar spins forever. The returned video_url is also valid for 24 hours. The file is generated, the money is spent, and if nothing downloaded it, it is gone. Copying the output to your own storage on completion is the single most important line in the integration. While you are there: concurrency is 2, with a queue of 50. Submit four variants and you are running two and waiting on two. And the published API reference has no cancel endpoint — CANCELED exists in the enum with no documented way to reach it. A thirty-second 1080P job, once submitted, is submitted. Sanity-checking your builder A short table you can turn into assertions: resolution present in every outgoing request. duration explicit, or -1 deliberately with a budget note. Reference inputs and keyframe inputs never in the same request — the API rejects the combination with InvalidParameter and the message "The two modes are mutually exclusive." seed persisted from the response. Output copied to durable storage inside the 24-hour window. UNKNOWN mapped to expired, not to pending. Where to look at the outputs Reading a parameter table is a poor substitute for watching what the settings do, and Alibaba's own console is behind a Cloud account. I work on wan-3.run, a hosted front-end for this model that keeps every one of the parameters above visible in the interface rather than inferred, prints the model ID and task ID under each result, and gives you the first clip free so you can see the difference between the tiers before committing a budget to one. Disclosure: that is our site. If you only want to see prompts and outputs side by side, the worked prompts published beside the clips they produced are open with no account, and so is a prompt builder that needs no account. All parameter values above come from Alibaba Cloud's Model Studio API reference for wan3.0-video, checked 2026-08-27. Rates are Alibaba's published international list price; resellers differ.

Хотите внедрить ИИ в ваш бренд?

Спроектируем и развернем автономных агентов и современный цифровой стек под ваши задачи.

Рассчитать проект