1
Get a key
Mint a workspace API key in the dashboard under Settings → API keys. A key
is bound to one workspace and is shown once.
2
Ask what this host serves, and what it costs
The catalogue is live: prices come from the same table the charge is taken
from, and
available says whether this deployment runs a capability or
answers 503 capability_unavailable and names the service that does. Reading
it is free.3
Create a project
Every call files its output in a project, so start by making one. A project id
belonging to another workspace answers
404, never 403 — an id is never a
way to test what exists elsewhere.4
Run a capability
text.script watches a seed video, researches and fact-checks as it writes,
and answers with the finished script. It is synchronous and slow by nature —
one call can hold a model for minutes, so set a generous client timeout.credits is what was actually taken, not what was quoted. A call that fails —
including one whose engine answered 200 carrying nothing usable — is free.Retrying safely
Send anIdempotency-Key on anything that spends. A retry with the same key and
the same body returns the stored response instead of running the work again,
so a client-side timeout on a 150-credit call cannot become two charges. The same
key with a different body answers 409 conflict rather than a wrong result, and a
retry sent while the first call is still running answers 409 too.
Capabilities that answer with a job
Some capabilities hand back a job id instead of a result. They all converge on one endpoint — there is no per-capability status route to learn.done and failed; awaiting_review waits for a person and
polling will not advance it. When a job is done, artifacts carries URLs you fetch
directly — they point at the origin holding the bytes, not back through the API.
api.sigmora.org runs the text, transcript, thumbnail and music capabilities, and
the render flows (video.render, video.shorts, 3d.*) — the last of these are
asynchronous and answer with a jobId you poll. Footage editing (video.edit) is
served by another deployment and answers 503 capability_unavailable here, with the
owning service named in the body. Step 2 is the authority on which is which — ask it
rather than assuming.What to read next
Projects
Grouping related work, and why an id you do not own is not an error.
Errors
The pairs that share a status code and call for opposite responses.