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

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

> Пошаговое русскоязычное руководство по первому запуску TTAPI: получение ключа, отправка запроса и получение результата.

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

Перед вызовом любого API вам нужен `TT-API-KEY`.

### Шаг 1. Создайте аккаунт

<AccordionGroup>
  <Accordion title="Войдите в TTAPI">
    Перейдите на [TTAPI](https://ttapi.io/) или откройте [TTAPI панель управления](https://dashboard.ttapi.io/login). Вход доступен через `GitHub` или `Google`.
  </Accordion>

  <Accordion title="Ключ по умолчанию и пробный баланс">
    После создания аккаунта TTAPI автоматически генерирует `TT-API-KEY`. Этот ключ используется для всех конечных точек TTAPI.

    Новые аккаунты также получают `30 quota` пробного баланса, что примерно равно `$0.30`.
  </Accordion>
</AccordionGroup>

### Шаг 2. Базовая настройка аккаунта

<AccordionGroup>
  <Accordion icon="key" title="Сбросьте TT-API-KEY">
    Для продакшн-использования рекомендуем заменить ключ по умолчанию на новый. Это можно сделать прямо на главной странице панели управления.
  </Accordion>

  <Accordion icon="circle-user" title="Вход по паролю">
    Если вы не хотите зависеть от входа через GitHub или Google, используйте `Forgot password?` на [странице входа](https://dashboard.ttapi.io/login) и задайте пароль для аккаунта TTAPI.
  </Accordion>
</AccordionGroup>

## 2. Добавьте заголовок запроса

Во всех запросах должен передаваться ваш API-ключ:

```bash theme={null}
TT-API-KEY: YOUR_API_KEY
```

## 3. Отправьте первый запрос

### Шаг 1. Создайте задачу генерации

Ниже пример запроса, который создает задачу Midjourney на генерацию изображения.

<CodeGroup>
  ```bash title="cURL" theme={null}
  curl --request POST \
    --url https://api.ttapi.io/midjourney/v1/imagine \
    --header 'Content-Type: application/json' \
    --header 'TT-API-KEY: YOUR_API_KEY' \
    --data '
  {
    "prompt": "A cute kitten",
    "mode": "fast",
    "hookUrl": "<string>"
  }
  '
  ```

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

  url = "https://api.ttapi.io/midjourney/v1/imagine"

  payload = {
      "prompt": "A cute kitten",
      "mode": "fast",
      "hookUrl": "<string>"
  }
  headers = {
      "TT-API-KEY": "YOUR_API_KEY",
      "Content-Type": "application/json"
  }

  response = requests.post(url, json=payload, headers=headers)
  print(response.text)
  ```

  ```javascript title="JavaScript" theme={null}
  const options = {
    method: "POST",
    headers: {
      "TT-API-KEY": "YOUR_API_KEY",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      prompt: "A cute kitten",
      mode: "fast",
      hookUrl: "<string>"
    })
  };

  fetch("https://api.ttapi.io/midjourney/v1/imagine", options)
    .then((res) => res.json())
    .then((res) => console.log(res))
    .catch((err) => console.error(err));
  ```

  ```java title="Java" theme={null}
  HttpResponse<String> response = Unirest.post("https://api.ttapi.io/midjourney/v1/imagine")
    .header("TT-API-KEY", "YOUR_API_KEY")
    .header("Content-Type", "application/json")
    .body("{\n  \"prompt\": \"A cute kitten\",\n  \"mode\": \"fast\",\n  \"hookUrl\": \"<string>\"\n}")
    .asString();
  ```
</CodeGroup>

#### Пример ответа

```json theme={null}
{
  "status": "SUCCESS",
  "message": "success",
  "data": {
    "jobId": "b8bd3ff0-4349-4b71-8938-5e13aefa64fe"
  }
}
```

### Шаг 2. Получите результат задачи

Используйте возвращенный `jobId`, чтобы опрашивать результат:

<CodeGroup>
  ```bash title="cURL" theme={null}
  curl -X GET "https://api.ttapi.io/midjourney/v1/fetch?jobId={jobId}" \
    -H "TT-API-KEY: YOUR_API_KEY"
  ```

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

  url = "https://api.ttapi.io/midjourney/v1/fetch"
  headers = {"TT-API-KEY": "YOUR_API_KEY"}
  params = {"jobId": "jobId"}

  response = requests.get(url, headers=headers, params=params)
  print(response.status_code)
  print(response.json())
  ```

  ```javascript title="JavaScript" theme={null}
  const options = {
    method: "GET",
    headers: {"TT-API-KEY": "YOUR_API_KEY"}
  };

  fetch("https://api.ttapi.io/midjourney/v1/fetch?jobId={jobId}", options)
    .then((res) => res.json())
    .then((res) => console.log(res))
    .catch((err) => console.error(err));
  ```

  ```java title="Java" theme={null}
  OkHttpClient client = new OkHttpClient();

  Request request = new Request.Builder()
    .url("https://api.ttapi.io/midjourney/v1/fetch?jobId={jobId}")
    .get()
    .addHeader("TT-API-KEY", "YOUR_API_KEY")
    .build();

  Response response = client.newCall(request).execute();
  System.out.println(response.body().string());
  ```
</CodeGroup>

#### Пример ответа

```json theme={null}
{
  "status": "SUCCESS",
  "message": "",
  "jobId": "8ddd973f-b5ff-4192-b418-b37fb65c65f3",
  "data": {
    "action": "imagine",
    "jobId": "8ddd973f-b5ff-4192-b418-b37fb65c65f3",
    "progress": "100",
    "prompt": "A cute kitten",
    "quota": "2",
    "discordImage": "https://cdn.ttapi.io/midjourney/2025-11-14/20260307_024522_19cf9806e1c7438b.png",
    "cdnImage": "https://cdn.ttapi.io/midjourney/2025-11-14/20260307_024522_19cf9806e1c7438b.png",
    "width": 960,
    "height": 1200,
    "hookUrl": "https://webhook-test.com/40bb50795afa242aee8c837617cd72e9",
    "components": [
      "upsample1", "upsample2", "upsample3", "upsample4", "reroll", "variation1", "variation2", "variation3", "variation4"
    ],
    "seed": null,
    "images": [
      "https://cdn.ttapi.io/midjourney/20260307/5c7261ec-7271-495d-a0f7-4dd395652a84tl.png",
      "https://cdn.ttapi.io/midjourney/20260307/5c7261ec-7271-495d-a0f7-4dd395652a84tr.png",
      "https://cdn.ttapi.io/midjourney/20260307/5c7261ec-7271-495d-a0f7-4dd395652a84bl.png",
      "https://cdn.ttapi.io/midjourney/20260307/5c7261ec-7271-495d-a0f7-4dd395652a84br.png"
    ]
  }
}
```

## Статусы задач

| Статус          | Значение            |
| :-------------- | :------------------ |
| `PENDING_QUEUE` | Ожидает очереди     |
| `ON_QUEUE`      | Обрабатывается      |
| `SUCCESS`       | Успешно завершено   |
| `FAILED`        | Завершилось ошибкой |

## Нужна помощь?

* Ограничения очереди и параллелизма: [Очередь](/grids/ru/faq/queue)
* Подпись запросов и заголовки: [Шлюз и авторизация](/grids/ru/development/authentication)
* Поддержка и коммерческие вопросы: [Контакты](/grids/ru/about/connect)
