Preview a project
GET
https://api.vidmoat.com/v1/projects/{id}/previewMetadata and layout lint (default), approximate composition HTML, or an exact rendered frame. For live playback with the app compositor, use the embedded player described in the video-preview guide.
Path parameters#
idstringrequiredThe project id.
Query parameters#
formatenumdefaultjsonjsonfor metadata and lint (plus a frame as a data URI whenatis set),imagefor JPEG bytes,htmlfor the composition.One ofjson,image,htmlatnumberTimeline time in seconds. Past the end is clamped. Defaults to 0 forimage.resolutionenumdefaultfullForhtmlonly.One offull,half
Response#
Returns 200 (application/json, image/jpeg or text/html).
Response fields#
projectIdstringThe project.durationSecnumberTimeline length.canvasobject{ width, height, fps }.compositionobject{ url, contentType, timelineHandle, seekExample }: the HTML composition and how to seek it.frameobjectWithoutat:{ url, imageUrl, note }. Withat:{ at, url, dataUri, width, height }.lintarrayLayout warnings:{ severity: "warn" | "note", time, message }.suggestedPreviewTimesarray of numbersTimestamps worth looking at with the preview endpoint before you render.
Errors#
Besides the errors any request can get (authentication, rate limits):
| Status | Code | When |
|---|---|---|
| 404 | not_found | No such project, or it is not yours. The two are indistinguishable on purpose. |
| 400 | invalid_request | A frame was asked for but the project has no clips, or at is negative. |
| 429 | rate_limited | More than 10 frames a minute on this key. retryAfterSec says how long to wait. |
| 502 | provider_error | The frame failed to render. |