Аутентификация
Bearer-токен в заголовке Authorization. Ключи создаются в Настройках, любой можно отозвать в любой момент.
Authorization: Bearer ai_live_...Изображения, видео, аудио и 3D за одним API, с тем же балансом, что и студия. Создайте ключ в настройках; CLI скоро появится.
CLI Airogenia уже в пути. Эта страница показывает, как она будет работать; пока пользуйтесь API.
npm i -g @airogenia/cliСмените ID модели, чтобы переключиться между изображением, видео и речью. Поля зависят от модели.
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()));
export AIROGENIA_API_KEY="ai_live_..."npm i -g @airogenia/cliairogenia run luma/uni-v1/text-to-image -p "violet neon fox" -o ./out/Запускайте любую модель из shell, CI или кодинг-агента. Цена каждого рендера известна до старта и списывается с того же баланса.
airogenia loginВставьте API-ключ один раз: он проверяется и сохраняетсяairogenia whoamiИмя ключа и ваш балансairogenia models --type videoВсе видеомодели с начальной ценойairogenia run <model> -hПоля модели, загруженные в реальном времени: тип, значение по умолчанию, допустимые значенияairogenia run <model> -p "<prompt>" -o ./out/Рендер с сохранением результата в папкуairogenia run <model> -p "..." --dry-runТочная цена, ничего не тратитсяairogenia run <model> -p "..." --max-price 0.50Отказ от запуска, если цена вышеairogenia run <model> -p "..." --json -o ./out/Один результат в JSON, готовый для следующего шагаairogenia skill installНаучите кодинг-агента пользоваться CLIBearer-токен в заголовке Authorization. Ключи создаются в Настройках, любой можно отозвать в любой момент.
Authorization: Bearer ai_live_...Запуск рендера сразу отвечает статусом queued. Опрашивайте рендер, пока он не завершится успехом, ошибкой или возвратом.
{ "status": "queued" }Узнайте точную цену для своих параметров, ничего не запуская. Все суммы указаны в евроцентах.
POST /api/v1/api/catalog/quoteПередайте заголовок Idempotency-Key, и повторный запрос никогда не спишет деньги дважды.
Idempotency-Key: render-042У каждого ключа есть лимит в минуту и необязательный дневной потолок. Сверх лимита API отвечает 429.
429 Too Many RequestsОшибки в JSON с кодом и сообщением. Неудачный рендер автоматически возвращается на баланс.
{ "status": "refunded" }/meВаш ключ и баланс/modelsВсе модели/models/detail?id=MODEL_IDОдна модель и её поля/quoteЦена для конкретных входных данных/generationsЗапустить генерацию/generationsВаши последние генерации/generations/IDСтатус одной генерации/generations/ID/contentФайл результата/generations/IDУдалить генерациюПополните на 3 € и запускайтесь сегодня
Создайте API-ключ в настройках и вызывайте любую модель. CLI скоро появится. Неудачные рендеры возвращаются.