Skip to content

Preview a project

GEThttps://api.vidmoat.com/v1/projects/{id}/preview
Bearer tokenScope render.readFreeTry it in the playground

Metadata 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#

  • idstringrequired
    The project id.

Query parameters#

  • formatenumdefault json
    json for metadata and lint (plus a frame as a data URI when at is set), image for JPEG bytes, html for the composition.
    One of json, image, html
  • atnumber
    Timeline time in seconds. Past the end is clamped. Defaults to 0 for image.
  • resolutionenumdefault full
    For html only.
    One of full, half

Response#

Returns 200 (application/json, image/jpeg or text/html).

Response fields#

  • projectIdstring
    The project.
  • durationSecnumber
    Timeline length.
  • canvasobject
    { width, height, fps }.
  • compositionobject
    { url, contentType, timelineHandle, seekExample }: the HTML composition and how to seek it.
  • frameobject
    Without at: { url, imageUrl, note }. With at: { at, url, dataUri, width, height }.
  • lintarray
    Layout warnings: { severity: "warn" | "note", time, message }.
  • suggestedPreviewTimesarray of numbers
    Timestamps worth looking at with the preview endpoint before you render.

Errors#

Besides the errors any request can get (authentication, rate limits):

StatusCodeWhen
404not_foundNo such project, or it is not yours. The two are indistinguishable on purpose.
400invalid_requestA frame was asked for but the project has no clips, or at is negative.
429rate_limitedMore than 10 frames a minute on this key. retryAfterSec says how long to wait.
502provider_errorThe frame failed to render.