Get Video Render Job by ID
Pictory Jobs
Get Video Render Job by ID
Retrieve the status and results of a video render job
GET
Get Video Render Job by ID
Documentation Index
Fetch the complete documentation index at: https://docs.pictory.ai/llms.txt
Use this file to discover all available pages before exploring further.
Overview
This endpoint retrieves the current status and results of a video render job using its unique job ID. While rendering is in progress, it returns the job status along with render progress percentage and state. Once the render completes, it returns the full set of output URLs for the rendered video, audio, subtitles, and thumbnail.A valid API key is required to use this endpoint. Obtain your API key from the API Access page in your Pictory dashboard.
API Endpoint
Request Parameters
Path Parameters
The unique identifier (UUID) of the video render job. This value is the
jobId returned by the Render from Preview, Render Video, Render Storyboard Video, or Render Project endpoints.Example: "265a7c1a-4985-4058-9208-68114f131a2b"Headers
API key for authentication (starts with
pictai_)Response
In-Progress Response
Returned while the video is being rendered. The response includes progress information once rendering has started:The unique identifier of the render job
true while the job is processing"in-progress" — the video is still being renderedRendering progress as a percentage (0–100). Present only after rendering has started.
Descriptive progress message (e.g.,
"Generating video"). Present only after rendering has started.Current render state (e.g.,
"RUNNING"). Present only after rendering has started.Failed Response
Returned when the render job has failed:The unique identifier of the render job
false when the job has failedCompleted Response
Returned when the render has finished successfully. The response contains all output URLs:The unique identifier of the render job
true when the job has completed successfullyContains the complete render output.
"completed" — the video has been rendered successfully100 — rendering is completeDirect download URL for the rendered video file (MP4)
Shareable URL for the rendered video
Embeddable URL for the rendered video, suitable for iframe integration
Direct download URL for the audio track (MP3)
URL for the video thumbnail image (JPG)
URL for the SRT subtitle file
URL for the plain text transcript file
URL for the WebVTT subtitle file
Total duration of the rendered video in seconds
Time taken to encode and render the video in seconds
Total AI credits consumed for generating AI visuals (images and video clips) during rendering. Present only when the video includes scenes with
aiVisual configuration. The value is the sum of credits used across all AI-generated scenes.Response Examples
Completed Response Fields
| Field | Description |
|---|---|
videoURL | Direct download link for the rendered MP4 video file |
videoShareURL | Shareable link to view the video on Pictory |
videoEmbedURL | Embeddable URL suitable for iframe integration |
audioURL | Direct download link for the extracted MP3 audio track |
thumbnail | URL for the auto-generated video thumbnail (JPG) |
srtFile | SRT subtitle file compatible with standard video players |
txtFile | Plain text transcript file |
vttFile | WebVTT subtitle file for web-based video players |
videoDuration | Total video length in seconds |
encodingDuration | Total rendering time in seconds |
aiCreditsUsed | Total AI credits consumed for generating AI visuals (images and video clips). Present only when the video includes scenes with aiVisual configuration. |
Code Examples
Render Progress Stages
The render job progresses through the following stages:| Stage | status | renderState | Description |
|---|---|---|---|
| Queued | in-progress | — | Job is queued; pre-processing has not started |
| Processing | in-progress | RUNNING | Pre-render processing (scene composition, audio mixing) |
| Rendering | in-progress | RUNNING | Video frame rendering is in progress |
| Completed | completed | — | Video is ready for download |
| Failed | failed | — | Render has failed; check error_code and error_message for details |
Polling Best Practices
-
Use webhooks when possible. Configure a
webhookURL in the original render request to receive automatic notification when the job completes, rather than polling. -
Monitor renderProgress. Use the
renderProgressfield to display progress to users. This field provides a percentage value from 0 to 100. - Implement timeouts. Set a maximum wait time based on expected video length. Longer videos require more rendering time.
- Cache results. Once a render job completes, store the output URLs locally. Completed job data may be cleaned after a retention period.
-
Handle failures gracefully. Inspect
error_codeanderror_messagein failed responses to determine whether the issue is recoverable (for example, an invalid voice name can be corrected and the request resubmitted).
