Change history
Every change to this page, newest first. Expand an entry to see what changed.
← Wandura C1.1: ad videos from a description
- 19 Oct 2026 · +3 −3 lines
Show changes
⋯ | Description | Up to 4000 characters | | Outputs | One video per job | - | Maximum job time | 960 s (16 minutes) from submit on the `priority` lane. A job that has not finished by then ends `timeout`, free. Submit it again. | + | Maximum job time | 1080 s (18 minutes) from submit on the `priority` lane. A job that has not finished by then ends `timeout`, free. Submit it again. | | Daily spend cap | Set per product by your org admin. Over it: `429 DAILY_CAP_REACHED` (see [Errors](#errors)). | | Per end user | 20 jobs per day by default, only when you send `end_user_id` (`429 END_USER_LIMIT_REACHED`). | ⋯ ## Remake a source ad {#remake} - **Rolling out.** Send an existing ad as `video_url` and get a new ad with the same scenes and pacing, with your people and your product. Until this reaches `api.wandura.ai`, `video_url` is refused with `422`. + Send an existing ad as `video_url` and get a new ad with the same scenes and pacing, with your people and your product. ```bash ⋯ - **Price**: the per-second prices above. Reading the source ad costs nothing extra. The hold is for `duration`, so for the source ad's length when you do not send one. - **Checked before any hold**: a `video_url` that is not a readable MP4 or MOV, or that is longer than 60 s, gets `422 INVALID_INPUT` and nothing is held. Keep the link valid for at least 30 minutes, because the file is downloaded again when the job runs. - - **Maximum job time**: 1080 s (18 minutes) from submit on the `priority` lane, 2 minutes more than above, for reading the source ad. + - **Maximum job time**: 1080 s (18 minutes) from submit on the `priority` lane, the same as above. - **Ends without a video, free**: a source ad with adult, violent, hateful or dangerous content ends `failed` with `CONTENT_MODERATION_BLOCKED`. A link that no longer serves a video of at most 60 s when the job runs ends with `INPUT_UNUSABLE`. A source host that is busy ends with `GENERATION_FAILED` (retryable). ⋯
- 19 Oct 2026 · +40 −4 lines
Show changes
⋯ > **TL;DR**: `POST /v2/jobs` with `model: "wandura-c1-1"`, a `prompt` that describes the ad, and up to 4 reference images. You get back one finished video of 5 to 60 seconds. Wandura plans the shots, renders them, and joins them. You do not write a system prompt. The price is per output second: 480p $0.09, 720p $0.15, 1080p $0.30. Poll `GET /v2/jobs/{job_id}` or receive the signed webhook, exactly as for other video jobs. Failed, blocked and timed-out jobs are free. - **Rolling out.** Wandura C1.1 is on its way to `api.wandura.ai`. Until it is live there, `model: "wandura-c1-1"` is refused with `422`. - ## Basics {#basics} ⋯ A job that ends without a video is not an HTTP error. Its `error.code` is `GENERATION_FAILED` (retryable), `CONTENT_MODERATION_BLOCKED` (change the description or images) or `TIMEOUT` (submit again). All three are free. See [Statuses](jobs.md#statuses). - ## Remake a source ad (coming soon) {#remake} + ## Remake a source ad {#remake} - **Coming soon.** You will be able to send an existing ad video as `video_url`, optionally with your own images and description, and get a new video built from it. Wandura will read each source ad only once and reuse that reading for later remakes of the same ad. Until then, `video_url` is refused with `422`. + **Rolling out.** Send an existing ad as `video_url` and get a new ad with the same scenes and pacing, with your people and your product. Until this reaches `api.wandura.ai`, `video_url` is refused with `422`. + + ```bash + curl -X POST https://api.wandura.ai/v2/jobs \ + -H "Authorization: Bearer $WANDURA_KEY" \ + -H "Content-Type: application/json" \ + -H "Idempotency-Key: remake-2026-10-20-001" \ + -d '{ + "model": "wandura-c1-1", + "video_url": "https://your-bucket.example.com/ads/source-ad.mp4", + "prompt": "Remake it for Lumi sparkling water: a summer sale at a Lumi drinks store. The woman in Image 1 is the shop assistant.", + "image_urls": ["https://your-bucket.example.com/ads/woman.jpg"], + "resolution": "720p", + "aspect_ratio": "16:9" + }' + # HTTP 202 + # {"job_id":"run_Pz81KqTmV2Rc","status":"queued","model":"wandura-c1-1","created_at":"2026-10-20T05:14:46.251Z"} + ``` + + | Field | Notes | + |---|---| + | `video_url` | The source ad: an MP4 or MOV of at most 60 s at a public https URL. Presigned URLs and Wandura output URLs work. | + | `prompt` | Optional with `video_url`: what to change, such as your product, brand, message or language. Without it, the ad is remade as it is, with new people and a generic product. | + | `image_urls` | Optional, up to 4: the people, product and place to put in. | + | `duration` | Optional. Default: the source ad's length, from 5 to 60 s (a source ad shorter than 5 s gives 5 s). | + + - **What stays**: the scenes in order, with their timing scaled to the new length, the shots and camera moves, the pacing, the music and sound, and the shape of the lines and on-screen text. **What changes**: the people (yours from the images, or new ones), the product and brand (yours from the prompt, or a generic one), and the lines, rewritten for your product. Real brands, logos and people from the source ad are not copied. + - **Read once**: Wandura reads a source ad once and reuses that reading for every later remake of the same video file, from any link or a re-upload. A Wandura C1.1 remake sent back as `video_url` reuses the reading of its original source ad. The reading only describes the source ad. It never holds your prompt, images or brand. + - **Price**: the per-second prices above. Reading the source ad costs nothing extra. The hold is for `duration`, so for the source ad's length when you do not send one. + - **Checked before any hold**: a `video_url` that is not a readable MP4 or MOV, or that is longer than 60 s, gets `422 INVALID_INPUT` and nothing is held. Keep the link valid for at least 30 minutes, because the file is downloaded again when the job runs. + - **Maximum job time**: 1080 s (18 minutes) from submit on the `priority` lane, 2 minutes more than above, for reading the source ad. + - **Ends without a video, free**: a source ad with adult, violent, hateful or dangerous content ends `failed` with `CONTENT_MODERATION_BLOCKED`. A link that no longer serves a video of at most 60 s when the job runs ends with `INPUT_UNUSABLE`. A source host that is busy ends with `GENERATION_FAILED` (retryable). + + ```json + HTTP 422 + {"error":{"code":"INVALID_INPUT","message":"Validation failed.","retryable":false,"details":[ + {"field":"video_url","reason":"the source ad lasts 75 s; at most 60 s"}], + "docs_url":"https://docs.wandura.ai/developers/api-v2/errors#jobs-invalid-input"}} + ```
- 19 Oct 2026 · Page created