Export as an image
POST /boards/{boardId}/export
With format: mp4, a video_maker item is rendered on the server as an H.264 MP4 (up to 10 minutes, up to 3840 x 2160) and the finished job's result carries videoUrl, width, height, fps, duration and bytes. Server video renders are on paid plans.
A PNG of the whole board, one frame with everything inside it, or one item on its own, drawn by the same renderer as the editor's Export. Drawing takes a browser, so this answers 202 with a Job; poll it, and the finished job's result carries imageUrl, width and height.
boardis every item except comment pins, cropped to what they cover.frameis a frame (a section, design frame, diagram frame, mood board and the like) and the items fully inside it. A design frame is cropped to its canvas, under its title bar.itemis one item alone, with nothing behind it.
The background is transparent. The image is published at an unguessable address: anyone with the URL can open it, so treat the URL like the board content it shows. Very large areas are refused before rendering: 20,000 x 20,000 pixels at scale 1, 10,000 x 10,000 at scale 2.
Authorization
AuthorizationstringheaderrequiredBearer <key>. The key needs boards:read scope. Create and manage keys in the developer console, or use an OAuth app to act for other people; what each scope unlocks is on the scopes page.
Path parameters
boardIdstringpathrequiredHeaders
Idempotency-KeystringheaderA unique key per logical request. Replays within 24 hours return the original response.
Body
callbackUrlstringOptional. When the job this request starts finishes or fails, a short body is POSTed here once: { eventId, status, boardId, boardUrl, imageUrl }, where status is succeeded or failed and imageUrl is a picture of what the job drew, or null. Signed with the workspace's callback secret (GET /webhooks/callback-secret). https to a public host. The full job is on GET /jobs/{jobId}.
targetenum<string>What to draw. One of board, frame or item. Defaults to board.
itemIdstringThe frame or item to draw. Required unless target is board.
scaleenum<integer>2 doubles the pixels, for retina screens and print. One of 1 or 2. Defaults to 1.
formatenum<string>mp4 renders a video_maker item as a video. Needs target item; not on the Basic plan. One of png or mp4. Defaults to png.
qualityenum<integer>mp4 only. The video's short side in pixels, fitted inside 3840 x 2160. One of 480, 720, 1080, 1440 or 2160. Defaults to 1080.
fpsenum<integer>mp4 only. Frames per second. Defaults to the video's own setting, else 30. One of 24, 25, 30 or 60.
Response
idstringkindenum<string>One of item.create, item.update, item.delete, item.batch, item.record, ai.generate, ai.modify, skill.apply or board.export.
statusenum<string>One of queued, running, succeeded or failed.
progressintegermessagestringHuman readable progress, for example "Placing kanban".
resultobject | nullChild attributes
itemIdsstring[]updatedstring[]deletedstring[]creditsUsedintegerboardTitlestring | nullskillstring | nullconvertedFromstringsourceDeletedbooleantargetenum<string>board.export. What was drawn. One of board, frame or item.
formatenum<string>board.export. One of png or mp4.
scaleenum<integer>board.export. One of 1 or 2.
imageUrlstringboard.export. The PNG. Anyone with this URL can open it.
widthintegerboard.export. The image's width in pixels.
heightintegerboard.export. The image's height in pixels.
videoUrlstringboard.export with format mp4. The MP4. Anyone with this URL can open it.
fpsintegerboard.export with format mp4.
durationnumberboard.export with format mp4. Seconds.
bytesintegerboard.export with format mp4. The file's size.
errorerrorChild attributes
codeenum<string>requiredOne of unauthorized, forbidden, not_found, validation_failed, conflict, plan_limit, rate_limited or internal.
messagestringrequireddetailsobject[]docsUrlstringupgradeUrlstringcreatedAtstringfinishedAtstring | nullcallbackUrlstring | nullWhere the job's result is POSTed
callbackobject | nullThe newest delivery to callbackUrl, once the job has finished. Null until then, and when there is no callbackUrl.
Child attributes
urlstringdeliveryIdstringstatusenum<string>One of pending, retrying, succeeded, failed or cancelled.
attemptsintegerresponseStatusinteger | nullerrorstring | nulldeliveredAtstring | nullnextRetryAtstring | nullErrors
rate_limitedToo many requests.