Luma Ray 3.2 Video Reframing is a fast AI video reframing model that changes an existing video’s aspect ratio and fills the newly exposed canvas from a prompt while preserving the source footage. Ready-to-use REST inference API for aspect ratio conversion, social media resizing, cinematic reframing, video outpainting, creator content, advertising creatives, and professional video editing workflows with simple integration, no coldstarts, and affordable pricing.
Siap
$0.06per run·~16 / $1
Outpaint the image to a 3:4 portrait aspect ratio suitable for mobile viewing, naturally extending the surrounding scene while matching the original lighting, perspective, and background details.
Luma Ray 3.2 Video Reframing changes the aspect ratio of an existing video while preserving the original footage. Upload a source clip, choose a target size, and describe what should appear in the newly exposed canvas area.
Aspect-ratio conversion for existing videos
Reframe source footage into a new layout without rebuilding the video from scratch.
Prompt-guided canvas expansion
Use a text prompt to describe how the newly exposed area should be filled.
Multiple output ratios
Supports common landscape, portrait, square, and cinematic aspect ratios.
Flexible resolution options
Choose 540p, 720p, or 1080p depending on quality and budget needs.
Production-ready workflow
Useful for social repurposing, vertical edits, widescreen conversion, and creative reframing tasks.
| Parameter | Required | Description |
|---|---|---|
| video | Yes | Source video to reframe. The source video must be 30 seconds or less. |
| prompt | Yes | Text prompt describing the content to generate in the newly exposed canvas area. |
| size | No | Target aspect ratio: 16:9, 9:16, 1:1, 4:3, 3:4, or 21:9. Default: 16:9. |
| resolution | No | Output resolution: 540p, 720p, or 1080p. Default: 540p. |
540p for lower cost, 720p for balanced output, or 1080p for higher quality.Extend the sides with a realistic rainy city street, blurred traffic lights, and soft reflections that match the original nighttime mood.
Pricing is based on source video duration and output resolution.
| Resolution | Price per Started Second | 5s Example | 10s Example |
|---|---|---|---|
| 540p | $0.06 | $0.30 | $0.60 |
| 720p | $0.12 | $0.60 | $1.20 |
| 1080p | $0.36 | $1.80 | $3.60 |
size does not affect pricing9:16 clips for short-form platforms.21:9.540p or 720p when testing, then switch to 1080p for higher-end final delivery.video and prompt are required.Grab a WaveSpeedAI API key, then call POST https://api.wavespeed.ai/api/v3/luma/ray-3.2/video-reframing with your input as JSON. The endpoint returns a prediction id; poll the prediction endpoint until status flips to completed, then read the output URL from data.outputs[0]. Examples for Ray 3.2 Video Reframing below.
# Submit the prediction
curl -X POST "https://api.wavespeed.ai/api/v3/luma/ray-3.2/video-reframing" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $WAVESPEED_API_KEY" \
-d '{
"video": "https://example.com/your-input.mp4",
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"size": "16:9",
"resolution": "540p"
}'
# Response includes a prediction id. Poll for the result:
curl -X GET "https://api.wavespeed.ai/api/v3/predictions/{request_id}/result" \
-H "Authorization: Bearer $WAVESPEED_API_KEY"
# When status is "completed", read the output from data.outputs[0].// npm install wavespeed
const WaveSpeed = require('wavespeed');
const client = new WaveSpeed(); // reads WAVESPEED_API_KEY from env
const result = await client.run("luma/ray-3.2/video-reframing", {
"video": "https://example.com/your-input.mp4",
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"size": "16:9",
"resolution": "540p"
});
console.log(result.outputs[0]); // → URL of the generated output# pip install wavespeed
import wavespeed
output = wavespeed.run(
"luma/ray-3.2/video-reframing",
{
"video": "https://example.com/your-input.mp4",
"prompt": "A cinematic shot of a city at sunset, soft golden light",
"size": "16:9",
"resolution": "540p"
}
)
print(output["outputs"][0]) # → URL of the generated outputRay 3.2 Video Reframing is a Luma model for video editing, exposed as a REST API on WaveSpeedAI. Luma Ray 3.2 Video Reframing is a fast AI video reframing model that changes an existing video’s aspect ratio and fills the newly exposed canvas from a prompt while preserving the source footage. Ready-to-use REST inference API for aspect ratio conversion, social media resizing, cinematic reframing, video outpainting, creator content, advertising creatives, and professional video editing workflows with simple integration, no coldstarts, and affordable pricing. You can call it programmatically or try it from the playground above.
POST your input parameters to the model's REST endpoint (shown in the API tab of this playground) with your WaveSpeedAI API key in the Authorization header. Submission returns a prediction ID; poll the prediction endpoint until status flips to "completed", then read the output URL from the result. The playground generates a ready-to-paste code sample in Python, JavaScript, or cURL for whatever inputs you've set. Full request/response shape is documented at https://wavespeed.ai/docs/docs-api/luma/luma-ray-3.2-video-reframing.
Ray 3.2 Video Reframing starts at $0.060 per run. That figure is the base price — the final charge scales with the parameters you set in the form (output size, length, count, references, or whatever knobs this model exposes), so a higher-quality or larger output costs more than a minimal one. The exact cost for your current input is shown live next to the Generate button before you submit, and the actual per-call charge is recorded on the prediction afterwards.
Key inputs: `prompt`, `video`, `resolution`, `size`. The full JSON schema (types, defaults, allowed values) is rendered above the Generate button and mirrored in the API reference at https://wavespeed.ai/docs/docs-api/luma/luma-ray-3.2-video-reframing.
Sign up for a free WaveSpeedAI account to claim starter credits, copy your API key from /accesskey, then call the endpoint shown in the API tab of the playground. The playground also auto-generates a code sample in Python, JavaScript, or cURL for the parameters you've set.
Commercial usage rights depend on the model's license, set by its provider (Luma). The license summary appears on the model card above; see WaveSpeedAI's Terms of Service for platform-level conditions.