Skip to main content
POST
Ask for a change

Authorizations

Authorization
string
header
required

An API key (aid_…) from Settings › API.

Headers

Idempotency-Key
string

A key used before on this account returns that job instead of making another.

Maximum string length: 200

Path Parameters

id
string<uuid>
required

Body

application/json
prompt
string
required
Required string length: 1 - 4000
images
object[]
Maximum array length: 4
preset
enum<string> | null

A new destination for the diagram (null for none). Left out, it keeps its own.

Available options:
docs,
blog,
social,
carousel,
ad,
data_story,
explainer_video,
null
max_pages
integer
default:30

The most pages a set may draw. The API never asks first: a set with more fails with error type too_many_pages before anything is drawn or charged, its message naming the page count and cost.

Required range: 1 <= x <= 100
wait
integer
default:0

Hold the request open until done or this many seconds pass.

Required range: 0 <= x <= 300

Response

The finished job.

id
string<uuid>
required
status
enum<string>
required
Available options:
queued,
running,
succeeded,
failed
version
integer
required

How many versions it has; 0 until the first is made.

animated
boolean
required
created_at
string<date-time>
required
title
string | null
description
string | null

What the diagram shows and any assumptions it made.

preset
string | null

Where the diagram will be used, as it was made or last revised for; null without one.

progress
string | null
image_url
string<uri> | null
downloads
object | null

png, jpg, svg, pdf, and mp4 and gif when animated.

With a preset, once there is a version: the download it offers first, as format, url and the query options in that url.

error
object | null

Why a failed job failed. type no_credits (the balance cannot pay for the planned pages) and too_many_pages (a set longer than max_pages or 100 pages) are refused before anything is drawn or charged; otherwise generation_failed.

applied
object[]

Edits only: the wording changes made.

moved
object[]

Edits only: each part an edit moved, with its new box [left, top, width, height] per layout.

skipped
object[]

Edits only: the wording changes not made, with a reason.