> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elumenta.ru/llms.txt
> Use this file to discover all available pages before exploring further.

# Быстрый старт

> Первый запрос к Elumenta API за 5 минут

## 1. Получите API-ключ

Доступ к API включён в тарифы **VIP** и **Elite**.

1. Откройте [elumenta.ru/web](https://elumenta.ru/web) → **Профиль → API-ключи**
2. Нажмите **Создать ключ**, дайте ему название
3. Скопируйте ключ — он начинается с `nb_`

<Warning>
  Храните ключ в безопасном месте. Он даёт полный доступ к вашему балансу токенов. Никогда не раскрывайте его в клиентском коде.
</Warning>

## 2. Единый эндпоинт генерации

Все генерации проходят через **один эндпоинт**: `POST /api/v2/generate`

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://elumenta.ru/api/v2/generate \
    -H "Authorization: Bearer nb_ВАШ_API_КЛЮЧ" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "gpt-5",
      "prompt": "Объясни квантовые вычисления простыми словами"
    }'
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://elumenta.ru/api/v2/generate",
      headers={"Authorization": "Bearer nb_ВАШ_API_КЛЮЧ"},
      json={
          "model": "gpt-5",
          "prompt": "Объясни квантовые вычисления простыми словами"
      }
  )

  data = response.json()
  print(data["result_text"])
  print(f"Потрачено токенов: {data['tokens_spent']}")
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://elumenta.ru/api/v2/generate", {
    method: "POST",
    headers: {
      "Authorization": "Bearer nb_ВАШ_API_КЛЮЧ",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      model: "gpt-5",
      prompt: "Объясни квантовые вычисления простыми словами"
    })
  });

  const data = await response.json();
  console.log(data.result_text);
  ```
</CodeGroup>

## 3. Структура ответа

```json theme={null}
{
  "id": 18473,
  "status": "completed",
  "model_slug": "gpt-5",
  "result_text": "Квантовые вычисления используют кубиты...",
  "result_url": null,
  "tokens_spent": 2,
  "processing_ms": 1842
}
```

| Поле           | Описание                                   |
| -------------- | ------------------------------------------ |
| `result_text`  | Текстовый результат (для LLM)              |
| `result_url`   | URL файла (для изображений, видео, аудио)  |
| `tokens_spent` | Потраченные токены                         |
| `status`       | `completed` / `pending` / `failed`         |
| `id`           | Числовой ID — для опроса асинхронных задач |

## 4. Генерация изображения

```bash theme={null}
curl -X POST https://elumenta.ru/api/v2/generate \
  -H "Authorization: Bearer nb_ВАШ_API_КЛЮЧ" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dall-e-3",
    "prompt": "Футуристический город на закате, киберпанк стиль",
    "params": {
      "size": "1024x1024",
      "format": "webp"
    }
  }'
```

## 5. Проверка баланса

```bash theme={null}
curl https://elumenta.ru/api/v2/balance \
  -H "Authorization: Bearer nb_ВАШ_API_КЛЮЧ"
```

```json theme={null}
{
  "token_balance": 283,
  "plan": "vip",
  "plan_expires_at": "2026-04-08T00:00:00Z"
}
```

## 6. Опрос асинхронных результатов

Для видео `status` будет `pending`. Опрашивайте `GET /api/v2/generate/{id}`:

```python theme={null}
import time, requests

def ожидать_результат(gen_id: int, api_key: str) -> dict:
    headers = {"Authorization": f"Bearer {api_key}"}
    while True:
        data = requests.get(
            f"https://elumenta.ru/api/v2/generate/{gen_id}",
            headers=headers
        ).json()
        if data["status"] in ("completed", "failed"):
            return data
        time.sleep(5)
```

## Следующие шаги

<CardGroup cols={2}>
  <Card title="Полный справочник API" icon="book" href="/ru/api-reference/generate/create">
    Все параметры и опции моделей
  </Card>

  <Card title="Стриминг" icon="stream" href="/ru/guides/streaming">
    Потоковая генерация текста через SSE
  </Card>

  <Card title="Каталог моделей" icon="grid" href="/ru/resources/models-catalog">
    Все 52 слага с ценами
  </Card>

  <Card title="Обработка ошибок" icon="triangle-exclamation" href="/ru/guides/error-handling">
    Повторные попытки, backoff, коды ошибок
  </Card>
</CardGroup>
