Developers · API v1Coming soon

One API.
Every model.

Images, video, audio and 3D behind one API, paid from the same balance as the studio. Create a key in Settings; the CLI is coming soon.

The Airogenia CLI is on its way. This page previews how it will work; until then, use the API.

$npm i -g @airogenia/cli
Models
672
Endpoints
9
Minimum top-up
€3
01 · Examples

Same call, any output

Swap the model ID to switch between image, video and speech. The fields follow the model.

1import { writeFile } from "node:fs/promises";2 3const API = "https://airogenia.com/api/v1/api/catalog";4const auth = { Authorization: `Bearer ${process.env.AIROGENIA_API_KEY}` };5 6// 1. Generate an image7const res = await fetch(`${API}/generations`, {8  method: "POST",9  headers: { ...auth, "Content-Type": "application/json", "Idempotency-Key": crypto.randomUUID() },10  body: JSON.stringify({11    modelId: "luma/uni-v1/text-to-image",12    inputs: { prompt: "Neon city street after rain, cinematic night", size: "16:9" },13  }),14});15let { generation } = await res.json();16 17// 2. Wait for the result18while (generation.status === "queued" || generation.status === "generating") {19  await new Promise((r) => setTimeout(r, 3000));20  ({ generation } = await (await fetch(`${API}/generations/${generation.id}`, { headers: auth })).json());21}22 23// 3. Save the file24const file = await fetch(`${API}/generations/${generation.id}/content`, { headers: auth });25await writeFile("result.jpeg", Buffer.from(await file.arrayBuffer()));
Example renderluma/uni-v1/text-to-image
02 · Quickstart

First render in three steps

  1. 01Create an API keySign in with your email, open Settings, API keys and create a key. Top up from €3 in Billing.export AIROGENIA_API_KEY="ai_live_..."
  2. 02The CLI is coming soonThe command-line tool is not published yet. Until it is, everything runs in the studio.npm i -g @airogenia/cli
  3. 03Make your first renderPick a model ID from the catalog and send a prompt. Add --dry-run to see the price without spending anything.airogenia run luma/uni-v1/text-to-image -p "violet neon fox" -o ./out/
03 · CLIComing soon

Render from the terminal

Run any model from a shell, a CI job or a coding agent. Every render is priced before it starts and drawn from the same balance.

Scripts and CIEvery field of a model is a flag; a local file is uploaded for you.
JSON on stdoutOne JSON document per run, progress and errors on stderr, a non-zero exit on failure.
Coding agentsA skill file teaches your agent to check the price first and cap it.
Full CLI guide →
CommandWhat it does
airogenia loginPaste your API key once; it is checked and saved
airogenia whoamiThe key's name and your balance
airogenia models --type videoEvery video model with its starting price
airogenia run <model> -hA model's fields, fetched live: type, default, allowed values
airogenia run <model> -p "<prompt>" -o ./out/Render and save the result in a folder
airogenia run <model> -p "..." --dry-runThe exact price, without spending anything
airogenia run <model> -p "..." --max-price 0.50Refuse to run if the price is higher
airogenia run <model> -p "..." --json -o ./out/One JSON result, ready for the next step
airogenia skill installTeach your coding agent to use the CLI
04 · API essentials

Built for production

Authentication

A Bearer token in the Authorization header. Create keys in Settings and revoke any of them at any time.

Authorization: Bearer ai_live_...

Background renders

Starting a render answers at once with status queued. Poll the render until it has succeeded, failed or been refunded.

{ "status": "queued" }

Price first

Ask for the exact price of your inputs without starting anything. Every amount is in euro cents.

POST /api/v1/api/catalog/quote

Safe retries

Send an Idempotency-Key header and a retried request never charges twice.

Idempotency-Key: render-042

Limits

Each key has a per-minute limit and an optional daily cap. Past the limit the API answers 429.

429 Too Many Requests

Errors and refunds

JSON errors with a code and a message. A render that fails is refunded to your balance automatically.

{ "status": "refunded" }
05 · Reference

Endpoints

Base URLhttps://airogenia.com/api/v1/api/catalog

Full API reference →
GET/meYour key and balance
GET/modelsEvery model
GET/models/detail?id=MODEL_IDOne model and its fields
POST/quotePrice for exact inputs
POST/generationsStart a render
GET/generationsYour recent renders
GET/generations/IDOne render's status
GET/generations/ID/contentThe result file
DELETE/generations/IDDelete a render

Top up €3 and ship today

Create an API key in Settings and call any model. The CLI is coming soon. Failed renders are refunded.