Put a video in another frame (9:16, 4:5, 1:1, 16:9)
doseedo_reframe_videoREFRAME A VIDEO: the same video in another frame, for where it is posted — 9:16 (stories, reels, shorts), 4:5 (a feed post), 1:1 (square) or 16:9 (a landscape master). fit "fit" (default) keeps the whole picture, centred over a blurred fill of itself, so nothing is cut (captions at the top or bottom of a vertical ad stay); "fill" scales to cover the frame and centre-crops the rest (the report says how much of the picture is kept). The sound is kept as it is (a scored film's mix untouched). Up to 1080 px on the short side (never upscaled past the source's), H.264 MP4. A video already in that frame is copied, not re-encoded. Input: video_key (an upload) or video_url (a doseedo_score_to_picture video as returned, or any public https URL). CPU, no credits. Async: job_id → doseedo_wait_task. Cancel: the plane has no stop for a running re-frame — it runs to completion (credits spent), the job ends as canceled and its output is discarded. Only a job still queued at the plane is refunded by the plane's own failure refund.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fit | No | fit (default): the whole picture over a blurred fill, nothing cut. fill: cropped to fill the frame. | |
| name | No | Optional: a name for this job's files, e.g. "rainy-loop-3". Every file it returns downloads as <name>_<part>.<ext> (rainy-loop-3_Celesta.wav, rainy-loop-3_rough-mix.wav; one take: rainy-loop-3.wav), so the user can find them. Give each job its own name (a second take: "rainy-loop-3b"). Default: doseedo-<last 6 characters of the job id>. | |
| aspect | Yes | The frame: 9:16 (stories, reels, shorts), 4:5 (feed), 1:1 (square), 16:9 (landscape). | |
| video_key | No | R2 ingest key of the video (from doseedo_get_upload_url). | |
| video_url | No | The video's URL: a doseedo_score_to_picture video as returned, or a public https URL. | |
| idempotency_key | No | Optional. Any unique string for THIS request (e.g. a UUID). Re-sending the same call with the same key after a timeout returns the same job instead of starting a second one. |