GET
/v1/schemas/fal/video/luma/agent/ray/v3.2/video-to-video
Accept:
| field | recorded source |
|---|---|
| schema | Source linked above. upstream-spec Source trace91de93df667efe11e9fa2793165a62f5f4e6db88c7bade38ef913827a40aa5f5{
"fetchedAt": 1794286801,
"extractorVersion": "2",
"verifiedAt": null
} |
Request body
14 properties · 2 required · 6 $defs| property | type | description | constraints |
|---|---|---|---|
| video_url* | string | URL of the source video to edit. | length ≥ 1 |
| prompt* | string | Text prompt describing how to edit the source video. | length ≥ 1 · length ≤ 6000 |
| start_image_url | string | Optional URL of an image to use as the edited video's first frame — e.g. a restyled version of the source's opening frame to steer the look of the edit. Leave unset to let the model derive the first frame from the source video. | nullable |
| keyframes | string[] | Multi-keyframe edit guide frames: up to 64 image URLs pinned at the source-frame positions given by keyframe_indexes. Mutually exclusive with start_image_url. Provide keyframes and keyframe_indexes together (same length). | items ≥ 1 · items ≤ 64 · nullable |
| enable_safety_checker | boolean | Authorized callers may set false to request relaxed screening. | default: true |
| edit_strength | enum | How closely the edit preserves the source video. 'adhere_*' stays closest to the source, 'flex_*' is balanced, and 'reimagine_*' diverges most. Leave unset to use Luma's default. Cannot be combined with auto_controls. | adhere_1 | adhere_2 | adhere_3 | flex_1 | flex_2 | flex_3 · +3 more · nullable |
| duration | enum | Duration of the edited video. | 5s | 10s · default: "5s" |
| controls | RayEditControls | Per-signal conditioning controls for ray-3.2 video editing. | nullable |
| hdr | boolean | Generate an HDR-encoded MP4. Requires HDR access on the account and a resolution of 720p or 1080p. | default: false |
| user | string | Optional opaque identifier for the end user making the request. Used only for abuse attribution; never interpreted by fal. | nullable |
| exr_export | boolean | Also export an EXR file alongside the MP4. Requires hdr=true and HDR access. | default: false |
| auto_controls | boolean | Let the model derive the edit conditioning schedule from the source video. Cannot be combined with edit_strength. | default: false |
| keyframe_indexes | integer[] | Source-video frame positions where each keyframes[i] is anchored. Non-negative, unique, and the same length as keyframes. | items ≥ 1 · items ≤ 64 · nullable |
| resolution | enum | Resolution of the edited video. Higher resolutions cost more. | 540p | 720p | 1080p · default: "540p" |
Types
6 $defsRayEditControlsobject
Per-signal conditioning controls for ray-3.2 video editing.
| depth | RayEditDepthControl | Depth / scene-geometry conditioning. | nullable |
| face | RayEditFaceControl | Face-identity conditioning. | nullable |
| trajectory | RayEditTrajectoryControl | Motion-trajectory conditioning. | nullable |
| pose | RayEditPoseControl | Pose / skeleton conditioning. | nullable |
| normals | RayEditNormalsControl | Surface-normals conditioning. | nullable |
RayEditDepthControlobject
| enabled | boolean | Enable depth / scene-geometry conditioning for the edit. | default: true |
| blur | number | Depth blur. Higher values allow more geometric freedom. Leave unset for the default. | 0 ≤ n ≤ 1 · nullable |
RayEditFaceControlobject
| enabled | boolean | Enable face-identity conditioning for the edit. | default: true |
RayEditNormalsControlobject
| enabled | boolean | Enable surface-normals conditioning for the edit. | default: true |
| augmentation | number | Surface-normals augmentation. Higher values allow more reinterpretation of surface geometry. Leave unset for the default. | 0 ≤ n ≤ 1 · nullable |
RayEditPoseControlobject
| enabled | boolean | Enable pose / skeleton conditioning for the edit. | default: true |
| strength | enum | Pose conditioning precision. 'precise' follows the source pose tightly; 'coarse' allows more freedom. Leave unset for the default. | precise | coarse · nullable |
RayEditTrajectoryControlobject
| enabled | boolean | Enable motion-trajectory conditioning for the edit. | default: true |
| sparsity | number | Motion-trajectory sparsity. Higher values use fewer motion anchors. Leave unset for the default. | 0 ≤ n ≤ 1 · nullable |
Validate a payload
before you spend tokensshell
$ curl -X POST https://modelschemas.com/v1/validate \
-d '{"provider":"fal","endpointId":"luma/agent/ray/v3.2/video-to-video","payload":{…}}'
→ {"valid": false, "errors": [{"path": "#", "keyword": "required", …}]}