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

# Autenticação

> Saiba como autenticar com a API VoiceCheap

# Autenticação

A API VoiceCheap utiliza chaves de API para autenticação. Todas as solicitações de API devem incluir sua chave de API no cabeçalho `x-api-key`.

## Obtendo sua chave de API

<Steps>
  <Step title="Faça login no VoiceCheap">
    Acesse [app.voicecheap.ai](https://app.voicecheap.ai) e faça login na sua conta.
  </Step>

  <Step title="Navegue até a página da API">
    Vá para a página de **API** em [app.voicecheap.ai/page-api](https://app.voicecheap.ai/page-api).
  </Step>

  <Step title="Gerar chave de API">
    Clique em **Criar Nova Chave** e dê um nome a ela. Sua chave de API completa será exibida apenas uma vez - copie e armazene-a com segurança imediatamente.
  </Step>
</Steps>

<Warning>
  **Importante: Salve sua chave imediatamente**

  Sua chave de API completa é exibida **apenas uma vez** quando criada. Após fechar o modal, você verá apenas uma versão mascarada (`vc_abc...xyz`). Se você perder sua chave, deverá excluí-la e criar uma nova.
</Warning>

## Limites da chave de API

* Você pode criar um **máximo de 5 chaves de API** por conta
* Cada chave pode ser nomeada para fácil identificação (por exemplo, "Produção", "Desenvolvimento")
* As chaves podem ser excluídas a qualquer momento na página da API

## Usando sua chave de API

Inclua sua chave de API no cabeçalho `x-api-key` em cada solicitação:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.voicecheap.ai/v1/translate \
    -H "x-api-key: vc_your-api-key-here" \
    -F "file=@video.mp4" \
    -F "targetLanguage=spanish"
  ```

  ```typescript TypeScript theme={null}
  const formData = new FormData();
  formData.append('file', videoFile);
  formData.append('targetLanguage', 'spanish');

  const response = await fetch('https://api.voicecheap.ai/v1/translate', {
    method: 'POST',
    headers: {
      'x-api-key': 'vc_your-api-key-here'
    },
    body: formData
  });

  const data = await response.json();
  ```

  ```javascript JavaScript theme={null}
  const formData = new FormData();
  formData.append('file', videoFile);
  formData.append('targetLanguage', 'spanish');

  const response = await fetch('https://api.voicecheap.ai/v1/translate', {
    method: 'POST',
    headers: {
      'x-api-key': 'vc_your-api-key-here'
    },
    body: formData
  });

  const data = await response.json();
  ```

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

  files = {'file': open('video.mp4', 'rb')}
  data = {'targetLanguage': 'spanish'}
  headers = {'x-api-key': 'vc_your-api-key-here'}

  response = requests.post(
      'https://api.voicecheap.ai/v1/translate',
      headers=headers,
      files=files,
      data=data
  )
  ```
</CodeGroup>

## Requisitos

<Warning>
  **Assinatura paga necessária**

  O acesso à API requer uma assinatura paga ativa. Contas gratuitas não podem usar a API. Se você tentar usar a API sem uma assinatura válida, receberá um erro `403 Forbidden`.
</Warning>

## Segurança da chave de API

<CardGroup cols={2}>
  <Card title="Mantenha em segredo" icon="lock">
    Nunca exponha sua chave de API em código do lado do cliente, repositórios públicos ou qualquer local acessível publicamente.
  </Card>

  <Card title="Use variáveis de ambiente" icon="shield">
    Armazene sua chave de API em variáveis de ambiente ou em um gerenciador de segredos seguro.
  </Card>

  <Card title="Faça a rotação regularmente" icon="rotate">
    Faça a rotação periódica de suas chaves de API, especialmente se suspeitar que elas possam ter sido comprometidas.
  </Card>

  <Card title="Monitore o uso" icon="eye">
    Acompanhe o uso da sua API para detectar qualquer acesso não autorizado.
  </Card>
</CardGroup>

## Respostas de erro

Se a autenticação falhar, você receberá um dos seguintes erros:

| Código de Status | Código de Erro           | Descrição                                                    |
| ---------------- | ------------------------ | ------------------------------------------------------------ |
| 401              | `MISSING_API_KEY`        | O cabeçalho `x-api-key` não foi fornecido                    |
| 401              | `INVALID_API_KEY_FORMAT` | A chave de API não usa o prefixo `vc_` esperado              |
| 401              | `INVALID_API_KEY`        | A chave de API fornecida é inválida                          |
| 403              | `API_ACCESS_REQUIRED`    | O acesso à API não está habilitado para esta conta           |
| 403              | `SUBSCRIPTION_REQUIRED`  | O acesso à API requer uma assinatura paga ativa              |
| 403              | `INSUFFICIENT_CREDITS`   | Sua conta não possui créditos suficientes para esta operação |

## Exemplo de resposta de erro

```json theme={null}
{
  "code": "INVALID_API_KEY",
  "message": "The provided API key is invalid. Please check your API key and try again."
}
```
