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

# Быстрый старт OpenAI-compatible API: отправка запросов Chat Completions с CometAPI

> Используйте CometAPI как base URL, совместимый с OpenAI API, для запросов Chat Completions через curl, Python, Node.js и OpenAI SDK.

Эта страница — руководство по быстрому старту CometAPI OpenAI-compatible API. Она помогает повторно использовать формат запросов Chat Completions, OpenAI SDK и base URL CometAPI. Это не руководство по настройке аккаунта OpenAI и не страница только для моделей OpenAI.

## Что вы создадите

Вы отправите один текстовый запрос в OpenAI-compatible маршрут CometAPI `POST /v1/chat/completions`, выведете сообщение assistant и сохраните формат запроса готовым для приложений, которые уже используют OpenAI SDK.

## Когда использовать эту страницу

Используйте это руководство по быстрому старту, если вашему проекту подходит один из следующих вариантов:

* Вы уже используете OpenAI SDK или формат запросов Chat Completions.
* Вы хотите переключить base URL на CometAPI.
* Вы хотите вызывать model ID CometAPI через маршрут, совместимый с OpenAI API.

## Предварительные требования

* API-ключ CometAPI, сохранённый в `COMETAPI_KEY`
* Text model ID со страницы [Models page](/ru/overview/models)
* `curl`, Python 3.10+ или Node.js 18+

## API-ключ, base URL, аутентификация

Используйте base URL CometAPI с клиентами, совместимыми с OpenAI:

```text theme={null}
https://api.cometapi.com/v1
```

Аутентифицируйте прямые HTTP-запросы с помощью Bearer token:

```text theme={null}
Authorization: Bearer $COMETAPI_KEY
```

## Примеры кода

Используйте вкладки ниже, чтобы отправить один и тот же запрос Chat Completions через cURL, Python и Node.js.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.cometapi.com/v1/chat/completions \
    -H "Authorization: Bearer $COMETAPI_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "your-model-id",
      "messages": [
        {
          "role": "user",
          "content": "Write one sentence about CometAPI."
        }
      ]
    }'
  ```

  ```python Python theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ["COMETAPI_KEY"],
      base_url="https://api.cometapi.com/v1",
  )

  completion = client.chat.completions.create(
      model="your-model-id",
      messages=[
          {
              "role": "user",
              "content": "Write one sentence about CometAPI.",
          }
      ],
  )

  print(completion.choices[0].message.content)
  ```

  ```javascript Node.js theme={null}
  import OpenAI from "openai";

  const client = new OpenAI({
    apiKey: process.env.COMETAPI_KEY,
    baseURL: "https://api.cometapi.com/v1",
  });

  const completion = await client.chat.completions.create({
    model: "your-model-id",
    messages: [
      {
        role: "user",
        content: "Write one sentence about CometAPI.",
      },
    ],
  });

  console.log(completion.choices[0].message.content);
  ```
</CodeGroup>

## Объяснение процесса

OpenAI-compatible означает, что ваше приложение сохраняет endpoint Chat Completions, тело запроса и имена методов SDK, при этом меняются только base URL и model ID на значения CometAPI.

По умолчанию маршрут работает синхронно. API возвращает готовый объект ответа в одном HTTP-ответе, а ваше приложение читает `choices[0].message.content`.

Для инкрементального вывода установите `stream` в `true`. Ответ станет Server-Sent Events и завершится `data: [DONE]`. Используйте streaming для интерфейсов чата и длинных ответов. Сохраняйте синхронную форму для фоновых задач и простых тестов.

## Общие параметры

| Parameter               | Use                                                                                          |
| ----------------------- | -------------------------------------------------------------------------------------------- |
| `model`                 | CometAPI model ID для модели с поддержкой текста.                                            |
| `messages`              | Массив диалога. Для минимального запроса начните с одного сообщения `user`.                  |
| `temperature`           | Управляет случайностью. Более низкие значения делают вывод более детерминированным.          |
| `max_completion_tokens` | Ограничивает генерируемый вывод для семейств моделей, использующих бюджеты completion-token. |
| `stream`                | Передаёт инкрементальные части ответа в потоке, если установлено значение `true`.            |
| `response_format`       | Запрашивает JSON-вывод, если выбранная модель это поддерживает.                              |

## Устранение неполадок и FAQ

<AccordionGroup>
  <Accordion title="Это OpenAI API?">
    Нет. Это OpenAI-совместимый API-маршрут CometAPI. Вы используете API-ключ CometAPI, базовый URL CometAPI и model ID CometAPI.
  </Accordion>

  <Accordion title="Запрос возвращает 401">
    Убедитесь, что `COMETAPI_KEY` задан в той же оболочке или среде выполнения, откуда отправляется запрос. Не вставляйте настоящий ключ в исходные файлы.
  </Accordion>

  <Accordion title="Модель не найдена">
    Используйте model ID CometAPI, который поддерживает текстовые запросы или chat-запросы. Перед повторной попыткой проверьте страницу Models.
  </Accordion>

  <Accordion title="SDK по-прежнему вызывает OpenAI">
    Убедитесь, что клиент задает `base_url` в Python или `baseURL` в Node.js как `https://api.cometapi.com/v1`.
  </Accordion>
</AccordionGroup>

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

* Прочитайте [справочник по API Chat Completions](/api/text/chat).
* Настройте SDK-клиенты в разделе [Использование CometAPI с OpenAI SDK](/ru/guides/use-cometapi-with-openai-sdk).
* Получите список доступных моделей с помощью [Список доступных моделей CometAPI](/ru/guides/how-to-list-available-models).
* Добавьте обработку повторных попыток и ограничений скорости с помощью [Коды ошибок и стратегия повторных попыток](/ru/guides/error-codes-and-retry-strategy).
