Luma Ray 3.2 Edit
Luma · Video · Video → Video
Edit a prior video from a prompt using Luma Ray 3.2 — preservation-vs-reimagination presets (early access).
Model ID:
luma-ray-3.2-editWorkflow: luma-ray32-video-editVideo InputEditHDR5/10 sec
Install the SDK
The SDK targets Node 20+ and ships with TypeScript types.
npm
npm install @picsart/ai-sdkAuthenticate
Create a client once with your API key — it's sent as a bearer token on every request.
TypeScript
import { createClient } from '@picsart/ai-sdk';
const ai = createClient({
apiKey: process.env.PICSART_API_KEY, // sent as: Authorization: Bearer <key>
apiUrl: 'https://api.picsart.com',
});Run the model
Call the model with its parameters. This example uses the required ones.
TypeScript
import { createClient } from '@picsart/ai-sdk';
const ai = createClient({
apiKey: process.env.PICSART_API_KEY,
apiUrl: 'https://api.picsart.com',
});
const result = await ai.generate('luma-ray-3.2-edit', {
prompt: "A serene mountain lake at golden hour, ultra detailed",
videoUrl: "https://cdn.example.com/input.mp4"
});
console.log(result.url); // video URLParameters
7 parameters. Required ones must be supplied; the rest fall back to their defaults.
| Parameter | Type | Required | Default | Details |
|---|---|---|---|---|
promptPrompt | text | yes | — | max 6000 chars |
videoUrlSource Video | file (video) | yes | — | max 30s |
resolution | enum | no | 720p | 540p, 720p, 1080p |
duration | enum | no | 5 | 5, 10 |
editStrengthEdit Strength | enum | no | flex_2 | adhere_1, adhere_2, adhere_3, flex_1, flex_2, flex_3, reimagine_1, reimagine_2, reimagine_3 |
hdrHDR | boolean | no | false | — |
exrExportEXR Export | boolean | no | false | — |
Output
generate() resolves once the job completes. A video URL.
Result
{
"url": "https://cdn.picsart.com/…/result",
"results": [
{ "url": "https://cdn.picsart.com/…/result" }
],
"model": "luma-ray-3.2-edit"
}