Upscale Clip
lab_upscaleEnlarge an EXISTING clip (Topaz, passed through fal): same shot, same length, same sound — more pixels. There is no prompt here; nothing is re-imagined, the frames are scaled. The source is the clip of a generated-video row. Both the length and the source height are measured server-side before anything is charged, and a source too tall for the larger factor is refused rather than run. ASYNCHRONOUS: a new video row comes back as pending; poll it with lab_job_status. Costs credits when called without get_cost.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| faktor | No | How many times larger, per side. Omit for the smaller one. Whichever you pick, the RESULT has to stay inside the published rate tiers — a source too tall for the factor you asked for is refused by name, with the ceiling in the message, instead of billing a run nobody can price. What the tier costs is in lab_list_models and in the preflight, not here. | |
| get_cost | No | `true` returns what upscaling THIS clip costs (`cost_generations`, measured server-side from its length and the height of the RESULT, exactly what the run would charge) plus the published rate per output second per tier and your balance — WITHOUT scaling and without spending anything. For a clip that is still pending there is no total yet: then `cost_generations` is null and `preis_grund` says why. Which tiers are measured and which are catalog values is the same distinction lab_list_models makes. | |
| video_id | Yes | Generated-video id (from lab_animate/lab_job_status/lab_review_queue) — positive integer as string. The row must already have its clip; a run still pending is refused, and nothing is charged for asking. | |
| max_credits | No | The most you agree to pay — pass the amount from get_cost that the person confirmed. If the measured price is higher when the run starts, it is refused before anything is charged. |