Vidu is_rec and Wan prompt_extend: prompt rewrite vs Sume
Vidu's is_rec and Alibaba's prompt_extend can rewrite your prompt. Sume's documented video fields have no such switch. How to drop them and compare results.

Both vendors can change your prompt for you. Vidu's is_rec uses a recommended prompt when true, and Alibaba lists prompt_extend with a default of true. Sume's /v1/videos request table has no field for either, so your prompt is the prompt. Remove the two keys when you port and write the extra detail into the text yourself.
What do the two switches do?
Both default to on, so a port silently turns them off.
| Service | Field | Default | What the page says |
|---|---|---|---|
| Vidu Q4 Preview | is_rec | true | true: the system recommends a prompt and uses it; false: video is generated from your prompt |
| Alibaba Wan 3.0 | prompt_extend | true | listed among the request parameters |
| Sume /v1/videos | none | not applicable | no such row in the request parameters |
Why does that change your results?
A short prompt that looked good on Vidu may have been expanded for you. The same short prompt sent to wan-3.0 on Sume goes through as written, so the clip can look plainer. Compare like for like: write a longer prompt with subject, camera move, light and sound, and run it once on each side.
How do you strip the vendor keys in a port?
The function also drops seed, because Sume's models report seed: false and reject the field (see the Sume differences table).
VENDOR_ONLY = ("is_rec", "prompt_extend", "payload", "seed", "watermark")
def to_sume(body: dict) -> tuple[dict, list]:
clean = {k: v for k, v in body.items() if k not in VENDOR_ONLY}
dropped = [k for k in body if k in VENDOR_ONLY]
return clean, dropped
body = {"model": "wan-3.0", "prompt": "A barista pours latte art",
"prompt_extend": True, "seed": 0}
print(to_sume(body))What should you test first?
Run a small, cheap test before any batch.
- One prompt, short and long, on
wan-3.0at 480p so the test costs 5 x $0.0625 = $0.3125 per clip. - Whether the long prompt recovers what the vendor's expansion added.
- Keep the prompt text next to the job id so you can repeat the winner.
Sources
Related posts
More in Developers
- Vidu's payload pass-through vs Sume: where to keep your order id
Vidu lets you send a payload string that comes back untouched. Sume's video request has no such field; use an Idempotency-Key and your own job table instead.
- Vidu Q4 base64 images and a 20 MB body vs Sume's HTTPS URLs
Vidu accepts base64 images with a 20 MB request body cap. Sume wants a public HTTPS URL. Base64 math, and a small check before you submit.
- Vidu Q4 callback_url receiver, moved to Sume's signed webhooks
Vidu and Sume both POST a callback. Sume's needs HTTPS, fires on terminal events only and signs the raw body with HMAC. What to change in the receiver.
- Vidu Q4 cover_url and watermarked_url vs Sume's poll response
Vidu returns url, cover_url and watermarked_url for 24 hours. Sume's poll returns unsigned_urls and usage. Where a poster still comes from.
Written by Sume