From sign-up to first response — three steps
OpenAI-SDK compatible. Swap the baseURL and key — the rest of your code stays the same.
- 1
Sign in with Telegram
Your account is created automatically — no password, no email.
- 2
Issue a key
In the cabinet, hit “New key” to get an mf_live_…
- 3
Call /v1
Send a compatible request straight from your code.
Issue a key
curl https://mintform.app/v1/chat/completions \
-H "Authorization: Bearer mf_live_…" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5-mini",
"messages": [
{
"role": "user",
"content": "Hello, Mintform!"
}
]
}'Base URL and endpoints
Every generation call goes to one host. Point your OpenAI-compatible client at it, or call the endpoints directly.
https://mintform.app/v1
Reference
Authentication
One Bearer key for every /v1 call. Keys are issued in the cabinet and shown exactly once.
Learn more →Chat & text
POST /v1/chat/completions is an OpenAI-compatible endpoint. Request and response mirror OpenAI, so existing code changes only its baseURL and key.
Learn more →Streaming
stream: true turns a chat answer into a stream of SSE chunks — the same wire format as OpenAI, down to the final data: [DONE].
Learn more →Image generation
Images are produced asynchronously: the POST returns a job, and status plus results are fetched separately. Finished files are served over signed, short-lived URLs.
Learn more →Errors & retries
Every endpoint except chat answers with an envelope carrying error.kind; chat speaks OpenAI-shaped errors. Below is what each kind means and what to do about it.
Learn more →Limits & plans
Limits are applied per key and inherited from your plan. There are four axes: rate, concurrency, daily quota and a lifetime image quota.
Learn more →SDKs & tools
Chat is OpenAI-SDK compatible — only base_url and the key change. Image generation uses its own REST flow because it is an asynchronous job.
Learn more →