preview

Validate or preview a composition

Validate a RenderRequest cheaply, or preview it at a single frame or over a short window without a full render. Pass dry_run: true for the free linter (cross-element and whole-timeline invariants, no render); it also returns the translated render task. A pixel preview reuses the exact render pipeline restricted to an outputSlice, so it is faithful to the final export; the returned job is a preview (not billed) that you poll via GET /v1/renders/{id}.

post/v1/preview

Request

  • Base URL: https://api.framelane.io
  • URL: https://api.framelane.io/v1/preview
  • Auth: HTTP bearer

Request body

atnumber nullable

Timeline seconds for a single-frame preview, snapped to the frame grid. Returns an unlabelled PNG, viewable inline via get_render_preview; a window preview is video and is not. Mutually exclusive with 'window' and 'contact_sheet'.

widthinteger nullable

Preview width in px; height derives from the aspect ratio. Defaults to a small draft width.

dry_runboolean

Validate only: run the linter and return violations, no render.

target_duration_secnumber nullable

Optional target timeline length; emits TARGET_DURATION_MISSED when outside tolerance.

target_tolerance_secnumber

Response

Validation result (dry-run).

editor_urlstring nullable

Open the previewed project in the authenticated console. Absent for an inline preview.

kindstring required

'validation' (dry-run), 'frame', 'window', or 'contact_sheet'.

okboolean required

True when there are no error-severity violations.

taskobject nullable

For a dry-run (not a contact sheet): the render task this composition translates to, the JSON the render engine parses. It is the lenient translation a preview dispatches: a feature a real submit would refuse is left out and reported in violations. Source URLs are as submitted. Absent otherwise.

Example response

{
  "job": {
    "id": "render_01J8QR2K5VKDGN2T4FBM3CZYX7",
    "workspace_id": "ws_01J8QR2K5VKDGN2T4FBM3CZYX8",
    "output": {
      "url": "https://cdn-user.framelane.io/render_01J.../output.mp4",
      "width": 1920,
      "height": 1080,
      "duration": 15.3,
      "size_bytes": 12582912
    },
    "result": {
      "language_code": "en",
      "text": "Welcome back to the show."
    },
    "error": {
      "message": "Source URL returned 404."
    },
    "metadata": {
      "project_id": "proj_123",
      "user_ref": "usr_abc"
    }
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.