Render a video in the cloud
render_videoExport a synced project to MP4 (H.264 or H.265) in the cloud. Returns an owned durable job immediately. When you need the finished video, call wait_for_jobs with the job's id: it waits until the render succeeds, fails or is cancelled, and answers with its download link. read_render reads its progress without waiting. The job freezes the project during preparation; its reported revision identifies the immutable snapshot rendered. Media must be uploaded and ready: a project that cannot be rendered as it is (a range outside the film, a file not ready, a film or component that does not compile) is refused at once with what to change. Rendering uses credits for each output second, about 0.08 credits a second up to 1080p at 30 fps in H.264: a 60-second film uses 5 credits. A second costs 1.25 times as much at 1440p, 2 times at 2160p, 1.4 times at 50 or 60 fps and 1.5 times in H.265, multiplied together. Failed or cancelled jobs give their credits back. Edits after freezing do not change this export.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fps | Yes | ||
| codec | Yes | The file's video codec. null: H.264, which plays everywhere. H.265 makes a smaller file of the same quality. | |
| quality | Yes | How much detail the file keeps against its size. null: the render's own bitrate for its size, about high. | |
| projectId | Yes | An owned synced project ID, or null for the open project. | |
| endSeconds | Yes | Range end in seconds, or null for the whole film. | |
| resolution | Yes | 540p is a quick preview to watch. 2160p is 4K. Free allows up to 720p at 30 fps with a watermark. Paid plans allow up to 2160p at 60 fps. | |
| startSeconds | Yes | Range start in seconds, or null for the whole film. Both range endpoints must be present or both null. | |
| idempotencyKey | Yes | A UUID for this export. Reuse it to safely repeat submission; use a new UUID for another export. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| phase | Yes | ||
| output | No | ||
| status | Yes | ||
| artifact | Yes | ||
| attempts | Yes | ||
| branchId | Yes | ||
| progress | Yes | ||
| revision | Yes | ||
| admission | No | ||
| createdAt | Yes | ||
| errorCode | Yes | ||
| projectId | Yes | ||
| streamUrl | No | ||
| updatedAt | Yes | ||
| resolution | Yes | ||
| totalFrames | Yes | ||
| errorMessage | No | ||
| phaseProgress | Yes | ||
| framesCompleted | Yes |