> ## 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.

# Início rápido da API compatível com OpenAI: envie solicitações de Chat Completions com CometAPI

> Use a CometAPI como uma base URL compatível com a API OpenAI para solicitações de Chat Completions com curl, Python, Node.js e SDKs da OpenAI.

Esta página é um guia de início rápido da API compatível com OpenAI da CometAPI. Ela ajuda você a reutilizar o formato de solicitação de Chat Completions, os SDKs da OpenAI e uma base URL da CometAPI. Não é um guia de configuração de conta OpenAI nem uma página apenas sobre modelos da OpenAI.

## O que você vai criar

Você enviará uma solicitação de texto para a rota compatível com OpenAI `POST /v1/chat/completions` da CometAPI, exibirá a mensagem do assistant e manterá o formato da solicitação pronto para aplicativos que já usam SDKs da OpenAI.

## Quando usar esta página

Use este guia de início rápido quando uma destas opções corresponder ao seu projeto:

* Você já usa SDKs da OpenAI ou formatos de solicitação de Chat Completions.
* Você quer mudar a base URL para a CometAPI.
* Você quer chamar um model ID da CometAPI por meio de uma rota compatível com a API OpenAI.

## Pré-requisitos

* Uma chave de API da CometAPI armazenada em `COMETAPI_KEY`
* Um model ID de texto da [página de Models](/pt/overview/models)
* `curl`, Python 3.10+ ou Node.js 18+

## Chave de API, base URL, autenticação

Use a base URL da CometAPI com clientes compatíveis com OpenAI:

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

Autentique solicitações HTTP diretas com um token Bearer:

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

## Exemplos de código

Use as abas abaixo para enviar a mesma solicitação de Chat Completions com cURL, Python e 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>

## Explicação do fluxo

Compatível com OpenAI significa que seu aplicativo mantém o endpoint de Chat Completions, o corpo da solicitação e os nomes dos métodos do SDK, enquanto altera a base URL e o model ID para valores da CometAPI.

A rota é síncrona por padrão. A API retorna o objeto de resposta concluído em uma única resposta HTTP, e seu aplicativo lê `choices[0].message.content`.

Para saída incremental, defina `stream` como `true`. A resposta passa a ser Server-Sent Events e termina com `data: [DONE]`. Use streaming para interfaces de chat e respostas longas. Mantenha a forma síncrona para jobs em segundo plano e testes simples.

## Parâmetros comuns

| Parameter               | Use                                                                                     |
| ----------------------- | --------------------------------------------------------------------------------------- |
| `model`                 | O model ID da CometAPI para um modelo com capacidade de texto.                          |
| `messages`              | O array da conversa. Comece com uma mensagem `user` para uma solicitação mínima.        |
| `temperature`           | Controla a aleatoriedade. Valores menores tornam a saída mais determinística.           |
| `max_completion_tokens` | Limita a saída gerada para famílias de modelos que usam orçamentos de completion-token. |
| `stream`                | Transmite incrementalmente blocos da resposta quando definido como `true`.              |
| `response_format`       | Solicita saída em JSON quando o modelo selecionado oferece suporte a isso.              |

## Solução de problemas e FAQ

<AccordionGroup>
  <Accordion title="Isto é a API da OpenAI?">
    Não. Esta é a rota de API compatível com OpenAI da CometAPI. Você usa uma chave de API da CometAPI, a URL base da CometAPI e um model ID da CometAPI.
  </Accordion>

  <Accordion title="A requisição retorna 401">
    Confirme que `COMETAPI_KEY` está definida no mesmo shell ou runtime que envia a requisição. Não cole uma chave real em arquivos-fonte.
  </Accordion>

  <Accordion title="O modelo não é encontrado">
    Use um model ID da CometAPI que ofereça suporte a requisições de texto ou chat. Verifique a página de Models antes de tentar novamente.
  </Accordion>

  <Accordion title="O SDK ainda chama a OpenAI">
    Confirme que o cliente define `base_url` em Python ou `baseURL` em Node.js como `https://api.cometapi.com/v1`.
  </Accordion>
</AccordionGroup>

## Próximos passos

* Leia a [referência da API Chat Completions](/api/text/chat).
* Configure clientes SDK em [Usar CometAPI com SDKs da OpenAI](/pt/guides/use-cometapi-with-openai-sdk).
* Liste os modelos disponíveis com [Listar modelos disponíveis da CometAPI](/pt/guides/how-to-list-available-models).
* Adicione tratamento de retry e rate-limit com [Códigos de erro e estratégia de retry](/pt/guides/error-codes-and-retry-strategy).
