Upscale a video
upscale_videoIncreases an existing video's resolution (2x, 3x or 4x) and returns the new job's id immediately. It does NOT wait for the result and does not change the content: same shot, more pixels. WHEN: the user asks to upscale, enhance, sharpen or increase the resolution of a video they already have. It is not how you make a video look different (that is a new generation). THE CARD: this call already opened the aicut card: do not call show_generation for this job. WAIT: wait_for_generation (this id, media), again at once while terminal: false, then one short line; no get_* polling, timers, background shells or narrating the wait. No card? Give the user the url. COST: this spends the user's tokens; the price depends on the clip's LENGTH and the resolution it lands in, so a long clip or a big factor costs many times a short one. The clip's length is MEASURED BY THE SERVER: that measurement is the price. A clip it cannot measure (a WebM, an unreadable header) is REFUSED uncharged: re-encode to MP4. An external url costs one media-ingest slot: quote and create from the SAME url to pay it once. SPENDS TOKENS: price with estimate_only: true, ask in the SAME message as the price, and wait for a go that names THIS purchase (SPENDING RULES, this server's instructions). IDEMPOTENCY: a reused idempotency_key REPLAYS the first job whatever the settings: never reuse one for a new generation (this server's instructions).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| source_video | Yes | URL of the video to upscale. A URL from this account's generations or uploads, or a public https URL (imported first); another account's is refused. | |
| estimate_only | No | Price only; creates nothing. | |
| upscale_factor | No | Times larger: 1, 2, 3 or 4 (default 2). A result over 7680px on either side is refused before anything is charged. Only if the user asked; never to save tokens, never carried over. | |
| idempotency_key | No | Retry-safety key (IDEMPOTENCY). |