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

# Référence de l'API

> Référence complète pour l'API REST VoiceCheap

# Référence de l'API

L'API VoiceCheap est organisée autour des principes REST. Elle utilise des méthodes HTTP standard, renvoie des réponses encodées en JSON et utilise des codes de réponse HTTP standard.

## URL de base

Toutes les requêtes API doivent être effectuées vers :

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

## Authentification

Toutes les requêtes nécessitent une clé API transmise dans l'en-tête `x-api-key`. Voir la page [Authentification](/docs/fr/authentication) pour plus de détails.

## Types de contenu

* **Requête** : Utilisez `multipart/form-data` pour les téléchargements de fichiers, `application/json` pour les autres requêtes
* **Réponse** : Les points de terminaison JSON renvoient `application/json`. Les exportations de transcriptions peuvent également renvoyer du texte SRT ou VTT.

## Points de terminaison disponibles

<CardGroup cols={2}>
  <Card title="Transcrire un média" icon="captions" href="/docs/fr/api-reference/transcribe">
    `POST /v1/transcribe`

    Transcrivez un fichier téléchargé au format JSON, SRT ou VTT.
  </Card>

  <Card title="Exporter la transcription du projet" icon="file-lines" href="/docs/fr/api-reference/project-transcript">
    `POST /v1/projects/{projectId}/transcript`

    Récupérez les transcriptions originales ou traduites du projet.
  </Card>

  <Card title="Démarrer la traduction" icon="play" href="/docs/fr/api-reference/translate">
    `POST /v1/translate`

    Téléchargez un fichier vidéo ou audio et démarrez un projet de traduction.
  </Card>

  <Card title="Obtenir le statut de la traduction" icon="magnifying-glass" href="/docs/fr/api-reference/translation-status">
    `GET /v1/translate/{projectId}/status`

    Vérifiez le statut d'un projet de traduction et récupérez les résultats.
  </Card>

  <Card title="Obtenir les détails du projet" icon="list-tree" href="/docs/fr/api-reference/project-details">
    `GET /v1/projects/{projectId}`

    Récupérez l'historique des versions traduites, l'historique de la synchronisation labiale et l'état du projet.
  </Card>

  <Card title="Supprimer le projet" icon="trash" href="/docs/fr/api-reference/delete-project">
    `DELETE /v1/translate/{projectId}`

    Supprimez définitivement un projet de traduction et ses ressources.
  </Card>
</CardGroup>

## Flux de travail de traduction

Le flux de travail typique pour traduire une vidéo est :

```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"
```

## Format de réponse

Toutes les réponses réussies suivent cette structure générale :

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

Les réponses d'erreur suivent cette structure :

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

## Codes de statut HTTP

| Code de statut | Description                                      |
| -------------- | ------------------------------------------------ |
| 200            | Succès                                           |
| 400            | Requête incorrecte - Paramètres invalides        |
| 401            | Non autorisé - Clé API invalide ou manquante     |
| 403            | Interdit - Autorisations ou crédits insuffisants |
| 404            | Non trouvé - La ressource n'existe pas           |
| 429            | Trop de requêtes - Limite de débit dépassée      |
| 500            | Erreur interne du serveur                        |
