Installation
Quick start
Upload local media withclient.uploads.uploadFile(...) first, then pass the returned source_url below. It picks its route by size: files up to 256 KB go inline in one request (the only route available when outbound access to storage.googleapis.com is blocked), larger ones go straight to storage in resumable chunks, each retried on its own, so a dropped connection costs one chunk rather than the file. See Uploading media.
API coverage
Iterate every item across all pages with
autoPaginate:
Webhook signature verification
TypeScript types
All request and response types are fully typed and exported:renders.create and projects.render return a RenderSubmission — a RenderJob plus an
advisory ok / violations lint of the composition. It never blocks the render (the
render is already queued); gate on the free previews.create({ renderRequest, dryRun: true })
dry run instead. Job reads (get, list, cancel) return a plain RenderJob.
