API overview
One base URL, one Bearer key, JSON in and out. Every create call returns a job you poll until it is done.
Base URL
https://api.mnml.ai/v2Send your key in the Authorization header as Bearer mk_live_…. See Authentication.
Endpoints
This list is read from the API’s own OpenAPI description, so it always matches the server.
Create
- POST
/v2/rendersStart a render. - POST
/v2/editsChange one thing on an image and keep the rest, on the whole image or an area; or erase what an area covers. - POST
/v2/enhancementsUpscale, enhance, cut out (bg-remove) or extend (outpaint) an image. - POST
/v2/videosAnimate an image into a short clip: a camera move through or around it.
Jobs and files
- GET
/v2/jobs/{id}Read a job: its status, its outputs as signed links that expire, what it was charged and refunded, and why it failed. - GET
/v2/jobs/{id}/eventsFollow a job as Server-Sent Events, for one that outlasts ?wait: a job event with the job as it stands and each time it changes, then one last event (done with the settled job, timeout after 10 minutes, or error) and the stream closes. - POST
/v2/jobs/{id}/cancelStop a queued or running job. - GET
/v2/files/{id}A job's output, at the signed link GET /v2/jobs/{id} gave.
Account
OpenAPI
Answers
Every answer is one envelope: { "success": true, "data": … }, or { "success": false, "error": … } with a stable code (see Errors). Fields are snake_case. Amounts are whole API credits.
Jobs
Renders, edits, enhancements and videos answer 202 with a job straight away. Poll GET /v2/jobs/{id} or add a webhook to hear when it settles.
OpenAPI
The whole API is described as OpenAPI 3.1 at https://api.mnml.ai/v2/openapi.json, with no key needed. Generate a client from it, or import it into your HTTP tool.