Luma Ray 3.2 Video Edit
Playground
Try it on WavespeedAI!Luma Ray 3.2 Video Edit is a fast AI video-to-video editing model that re-renders an existing source video from a text prompt while preserving the original motion and timing. Ready-to-use REST inference API for video restyling, creative edits, product videos, advertising creatives, social media clips, visual storytelling, and professional video editing workflows with simple integration, no coldstarts, and affordable pricing.
Features
Ray 3.2 Video Edit
Ray 3.2 Video Edit transforms an existing source video using a text prompt while preserving the original motion, timing, and scene structure. Upload a clip, describe the visual change you want, and generate an edited video in your selected resolution and duration.
Ray 3.2 Video Edit is ideal for restyling footage, changing visual atmosphere, modifying subjects or environments, and creating polished video variations without rebuilding the entire shot from scratch.
Why Choose This?
-
Motion-preserving video editing
Edit an existing video while keeping the original motion, pacing, camera movement, and overall timing intact. -
Prompt-based visual control
Describe the exact style or change you want — from cinematic lighting and character appearance to environment, mood, material, or art direction. -
Flexible output resolution
Choose between540p,720p, and1080pdepending on your quality needs, iteration speed, and budget. -
Short-form video generation
Generate5sor10soutputs, making it suitable for fast creative iteration, social content, product previews, and visual experiments. -
Simple editing workflow
Advanced edit controls are handled automatically, so you only need to provide the source video, prompt, and optional output settings.
Parameters
| Parameter | Required | Description |
|---|---|---|
| video | Yes | Source video to edit. Use a clear clip with visible subjects, stable framing, and consistent motion for best results. |
| prompt | Yes | Text prompt describing how the source video should be edited. Be specific about style, subject changes, lighting, environment, and mood. |
| resolution | No | Output resolution: 540p, 720p, or 1080p. Default: 540p. |
| duration | No | Output duration: 5s or 10s. Default: 5s. |
How to Use
- Upload your source video — provide the clip you want to transform.
- Write your edit prompt — describe the desired visual change, style, subject details, or atmosphere.
- Choose output settings (optional) — select resolution and duration based on your quality and cost requirements.
- Submit — generate the edited video while preserving the original motion and timing.
Example Prompts
Cinematic style edit:
Transform the video into a dramatic cyberpunk night scene with neon reflections, cinematic lighting, rain-soaked streets, and a high-contrast film look.
Character or outfit edit:
Keep the same motion and camera angle, but change the person’s outfit into a futuristic white space suit with subtle metallic details.
Environment edit:
Replace the background with a tropical beach at sunset, warm golden lighting, soft ocean waves, and a relaxed cinematic atmosphere.
Pricing
Pricing depends on output resolution and duration.
| Duration | 540p | 720p | 1080p |
|---|---|---|---|
| 5s | $0.72 | $1.08 | $2.16 |
| 10s | $1.44 | $2.16 | $4.32 |
Billing Rules
10scosts 2x the5sprice.720pcosts 1.5x the540pprice.1080pcosts 3x the540pprice.- Default configuration:
540p,5s— $0.72. - Advanced edit controls are handled automatically and are not shown in the form.
Best Use Cases
- Creative video restyling — Turn ordinary clips into cinematic, anime, fantasy, sci-fi, watercolor, or branded visual styles.
- Product and fashion previews — Modify scenes, outfits, materials, or lighting while preserving the original product motion.
- Social media content — Quickly create stylized video variations for ads, reels, short-form campaigns, and visual experiments.
- Concept visualization — Explore different moods, environments, or art directions before committing to a full production workflow.
- Character and scene transformation — Adjust character appearance, backgrounds, props, and atmosphere while maintaining the original shot timing.
- Fast iteration — Test multiple prompt directions at lower resolution before generating higher-quality outputs.
Pro Tips
- Use clear source videos with stable framing and visible subjects for more consistent edits.
- Keep prompts focused on the visual change you want rather than describing too many unrelated edits at once.
- Mention important elements that should stay the same, such as camera angle, motion, composition, or subject identity.
- Start with
540pwhen iterating quickly, then move to720por1080pfor final outputs. - Use
5sfor fast prompt testing and10swhen you need a longer finished clip. - For style edits, include concrete visual cues such as lighting, color palette, material, era, camera style, and mood.
Notes
videoandpromptare required fields.resolutiondefaults to540pif not specified.durationdefaults to5sif not specified.- Output quality depends on the clarity, stability, and visual consistency of the source video.
- Prompts should be specific, visual, and focused on the desired edit.
- Please ensure your uploaded content and generated outputs comply with applicable usage policies.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/luma/ray-3.2/video-edit" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"resolution": "540p",
"duration": "5s"
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| video | string | Yes | - | Source video to edit. | |
| prompt | string | Yes | - | Text prompt describing how to edit the source video. | |
| resolution | string | No | 540p | 540p, 720p, 1080p | Output video resolution. |
| duration | string | No | 5s | 5s, 10s | Output video duration. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content. |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |