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

# Referência da API

> Referência completa para a API REST VoiceCheap

# Referência da API

A API VoiceCheap é organizada em torno dos princípios REST. Ela utiliza métodos HTTP padrão, retorna respostas codificadas em JSON e usa códigos de resposta HTTP padrão.

## URL Base

Todas as solicitações da API devem ser feitas para:

```
https://api.voicecheap.ai
```

## Autenticação

Todas as solicitações exigem uma chave de API passada no cabeçalho `x-api-key`. Consulte a página [Autenticação](/docs/pt/authentication) para obter detalhes.

## Tipos de Conteúdo

* **Solicitação**: Use `multipart/form-data` para uploads de arquivos, `application/json` para outras solicitações
* **Resposta**: Endpoints JSON retornam `application/json`. Exportações de transcrição também podem retornar texto SRT ou VTT.

## Endpoints Disponíveis

<CardGroup cols={2}>
  <Card title="Transcrever Mídia" icon="captions" href="/docs/pt/api-reference/transcribe">
    `POST /v1/transcribe`

    Transcreva um arquivo enviado como JSON, SRT ou VTT.
  </Card>

  <Card title="Exportar Transcrição do Projeto" icon="file-lines" href="/docs/pt/api-reference/project-transcript">
    `POST /v1/projects/{projectId}/transcript`

    Recupere transcrições de projeto originais ou traduzidas.
  </Card>

  <Card title="Iniciar Tradução" icon="play" href="/docs/pt/api-reference/translate">
    `POST /v1/translate`

    Envie um arquivo de vídeo ou áudio e inicie um projeto de tradução.
  </Card>

  <Card title="Obter Status da Tradução" icon="magnifying-glass" href="/docs/pt/api-reference/translation-status">
    `GET /v1/translate/{projectId}/status`

    Verifique o status de um projeto de tradução e recupere os resultados.
  </Card>

  <Card title="Obter Detalhes do Projeto" icon="list-tree" href="/docs/pt/api-reference/project-details">
    `GET /v1/projects/{projectId}`

    Recupere o histórico da versão traduzida, o histórico de sincronização labial e o estado do projeto.
  </Card>

  <Card title="Excluir Projeto" icon="trash" href="/docs/pt/api-reference/delete-project">
    `DELETE /v1/translate/{projectId}`

    Exclua permanentemente um projeto de tradução e seus ativos.
  </Card>
</CardGroup>

## Fluxo de Trabalho de Tradução

O fluxo de trabalho típico para traduzir um vídeo é:

```mermaid theme={null}
sequenceDiagram
    participant Client
    participant API
    participant Processing

    Client->>API: POST /v1/translate (file + options)
    API->>Processing: Queue translation job
    API-->>Client: 200 OK (projectId)

    loop Poll for status
        Client->>API: GET /v1/translate/{projectId}/status
        API-->>Client: Status (processing/success/failed)
    end

    Note over Client: Download translated video URL when status is "success"
```

## Formato de Resposta

Todas as respostas bem-sucedidas seguem esta estrutura geral:

```json theme={null}
{
  "success": true,
  "message": "Description of the result"
  // Additional fields specific to the endpoint
}
```

As respostas de erro seguem esta estrutura:

```json theme={null}
{
  "code": "ERROR_CODE",
  "message": "Human-readable error description"
}
```

## Códigos de Status HTTP

| Código de Status | Descrição                                         |
| ---------------- | ------------------------------------------------- |
| 200              | Sucesso                                           |
| 400              | Solicitação Inválida - Parâmetros inválidos       |
| 401              | Não Autorizado - Chave de API inválida ou ausente |
| 403              | Proibido - Permissões ou créditos insuficientes   |
| 404              | Não Encontrado - O recurso não existe             |
| 429              | Muitas Solicitações - Limite de taxa excedido     |
| 500              | Erro Interno do Servidor                          |
