Skip to content

Luma Ray 3.2 Reframe

Integrate

Model id luma/agent/ray/v3.2/reframe
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/luma/agent/ray/v3.2/reframe?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "aspect_ratio": "3:4"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Files like the example: $0.60 600 API credits your files are measured before the run Run it on this page

Get API key
Luma AI Video to Video Lipsync5–10 sup to 1080p #stylized#transform

Reframes an existing video of up to 10 seconds to a new aspect ratio, outpainting the extra canvas from a prompt

Luma AI · Video

Your first result goes here

Build a request below and run it with your API key. Outputs are copied to our storage, kept forever or 7 days for free.

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required 88 / 6000

Content instructions for filling extra canvas revealed by a change to the target aspect ratio during reframing.

•required video_url
Drop a file, or

Reframing source URL, limited to videos no longer than 10 seconds.

duration

Reframed output duration override: choose 5s or 10s, or omit it to retain the source video's length.

aspect_ratio •required

Aspect ratio to use for the reframed output.

resolution default 540p

Output resolution after reframing.

Advanced enable_safety_checker · source_position

Optional placement of the source video within the output canvas, specified using a normalized rectangle.

POST /run/luma/agent/ray/v3.2/reframe?wait=20 quote → $0.60
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/luma/agent/ray/v3.2/reframe?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "aspect_ratio": "3:4"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Luma Ray 3.2 Reframe

Takes a `video_url` (10 seconds or less), a target `aspect_ratio` and a `prompt` describing what to paint into the newly exposed area. Aspect ratios range from 3:4 to 21:9, and `resolution` is 540p, 720p or 1080p. `duration` defaults to the source length and can be set to 5s or 10s. `source_position` places the original footage within the new canvas.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
promptrequired
Typestring
≤ 6,000 characters
Content instructions for filling extra canvas revealed by a change to the target aspect ratio during reframing.
video_urlrequired video
Typeurl · video
Reframing source URL, limited to videos no longer than 10 seconds.
aspect_ratiorequired
Typeenum
3:44:31:19:1616:921:9
Aspect ratio to use for the reframed output.
resolutionoptional
Typeenum
Default540p
540p720p1080p
Output resolution after reframing.
durationoptional
Typeenum
5s10s
Reframed output duration override: choose 5s or 10s, or omit it to retain the source video's length.
source_positionoptional
Typeobject
Optional placement of the source video within the output canvas, specified using a normalized rectangle.
source_position.x_normrequired
Typenumber
-2 – 2
Horizontal source-rectangle coordinate, calculated by dividing its left-edge position by the output width.
source_position.y_normrequired
Typenumber
-2 – 2
Vertical source-rectangle coordinate, calculated by dividing its top-edge position by the output height.
source_position.w_normrequired
Typenumber
≤ 2, > 0
Source rectangle's width, expressed relative to the output width.
source_position.h_normrequired
Typenumber
≤ 2, > 0
Source rectangle's height, expressed relative to the output height.
enable_safety_checkeroptional
Typeboolean
Defaulttrue
Screening can be relaxed by setting false, provided the caller is authorized.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "luma/agent/ray/v3.2/reframe",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 600,
    "usd": "0.60",
    "charged": 600,
    "refunded": 0
  },
  "input": {
    "prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
    "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "aspect_ratio": "3:4"
  },
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    },
    "exr_file": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    }
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
video
object {url, content_type, file_name, file_size}Video produced by the model.
exr_file
object {url, content_type, file_name, file_size} | nullEXR sidecar in the form Luma exports: either one EXR file or a ZIP archive. It is generated when exr_export is true.

More models: Video to Video

For AI agents: this page as Markdown is at https://doitong.com/developers/models/luma/agent/ray/v3.2/reframe.md. All models and guides: https://doitong.com/developers/llms.txt