Quickstart
From zero to a generated response in three steps.
1. Get a key
Sign in and open API keys, then
Create key. Give it a name that identifies where it will run
(prod-web, staging-worker) so you can revoke precisely later.
The key is shown once. We store only a hash, so we cannot show it again.
Copy it into your secret manager immediately. Lost keys must be revoked and replaced.
2. Export it
export GENZO_API_KEY="gzo_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Never commit a key or ship it in client-side code — a browser or mobile bundle is public. Call the API from your own backend.
3. Generate
curl https://api.genzoai.com/v1/generate/text \ -H "Authorization: Bearer $GENZO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "prompt": "Write a two-line product tagline for a time-tracking app.", "provider": "anthropic", "model": "claude-sonnet-5", "parameters": { "max_tokens": 200, "temperature": 0.7 } }'
Response
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "text",
"status": "completed",
"provider": "anthropic",
"model_used": "claude-sonnet-5",
"credits_used": 84,
"processing_time_ms": 1840,
"result": "Every hour, accounted for.\nTime tracking that stays out of your way.",
"result_metadata": {
"tokens_input": 24,
"tokens_output": 19,
"finish_reason": "stop"
},
"created_at": "2026-08-09T18:22:00Z"
}
In your language
Python
import os, requests BASE = "https://api.genzoai.com/v1" HEADERS = {"Authorization": f"Bearer {os.environ['GENZO_API_KEY']}"} def generate(prompt, provider="anthropic", model=None, **params): body = {"prompt": prompt, "provider": provider, "parameters": params} if model: body["model"] = model r = requests.post(f"{BASE}/generate/text", headers=HEADERS, json=body, timeout=120) r.raise_for_status() return r.json() out = generate("Summarise the CAP theorem.", max_tokens=300) print(out["result"], out["credits_used"])
Node
const BASE = "https://api.genzoai.com/v1"; export async function generate(prompt, opts = {}) { const res = await fetch(`${BASE}/generate/text`, { method: "POST", headers: { Authorization: `Bearer ${process.env.GENZO_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ prompt, provider: "anthropic", ...opts }), }); if (!res.ok) throw new Error(`GenzoAI ${res.status}: ${await res.text()}`); return res.json(); }
PHP
$res = Http::withToken(env('GENZO_API_KEY')) ->timeout(120) ->post('https://api.genzoai.com/v1/generate/text', [ 'prompt' => 'Write a changelog entry for v2.1.', 'provider' => 'anthropic', 'model' => 'claude-sonnet-5', ]); $text = $res->json('result');
Where to go next
- Generation — image, video and speech endpoints.
- Models — the full catalogue and what each costs.
- Errors — status codes and how to handle them.