Build with the API

Media generation

Generate images synchronously and video, music, code builds, and research as jobs.

Images (sync)

Image generation is synchronous: the response carries the finished image. Pick an engine or let auto route by prompt:

Request body
promptrequired
string
engine
auto | theo-creative | theo-imagine | theo-photo | theo-rapid | theo-design | theo-studio | theo-type | theo-ultra
aspectRatio
1:1 | 16:9 | 9:16 | 4:3 | 3:4
style
string
referenceImageUrls
array<uri> (max 5)
Anchor the render on reference images.
includeBase64
boolean
Also return the bytes inline.
curl
curl https://www.opencharts.com/api/v1/images \
  -H "Authorization: Bearer $OPENCHARTS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "prompt": "Isometric pixel-art data center, neon accents", "aspectRatio": "16:9" }'

Videos

Video renders return a 202 job envelope immediately:

Request body
promptrequired
string
aspectRatio
16:9 | 9:16
modelTier
fast | max
referenceImageUrl
uri
Anchor the first frame on an image.

Songs

Request body
stylerequired
string
The sound you want, in plain words.
title
string
lyrics
string
Bring your own lyrics.
autoLyrics
boolean
Let the songwriter write them.
instrumental
boolean
tier
auto | premium | fast

Completed jobs return two versions, each with audio, cover art, and a Theo-branded engine label.

Code builds

Build a full Code Canvas project (site or app) from a prompt; the finished project opens in the OpenCharts editor:

Request body
promptrequired
string
name
string
framework
html | react | auto
planFirst
boolean
Draft an architecture plan before building.

Deep research

Multi-step web research with citations, returned as a markdown report plus sources:

Poll research like every other job at GET /jobs/{id} using the returned res_… id. The legacy GET /research/{jobId} path stays for older integrations: it accepts both id forms and returns its original (pre-jobs) response shape.

curl
curl https://www.opencharts.com/api/v1/research \
  -H "Authorization: Bearer $OPENCHARTS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "State of AI-native documentation tooling in 2026" }'

Idempotent retries

Every generation POST accepts Idempotency-Key

Retries with the same key replay the original response: the async job creators return the same job (billed once), and the synchronous /images + /extract-flowchart replay the original finished result. Pair with webhooks for a fully event-driven pipeline. See Idempotency.