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

# Transcription (REST)

> Transcription en un appel de fichiers audio complets via HTTP POST

Utilisez l'endpoint REST lorsque vous disposez d'un fichier audio
complet et voulez une seule requête HTTP, sans WebSocket à gérer. Le
serveur lit l'intégralité du corps, le transcrit et renvoie dans le
corps de la réponse un flux de messages JSON séparés par des sauts de
ligne (NDJSON).

<Card title="Besoin de streaming ?" icon="waveform-lines" href="/fr/guides/speech-to-text">
  Pour l'audio en direct (microphone, téléphonie) ou pour réagir en
  temps réel aux événements de VAD et de flush, utilisez plutôt le guide
  de streaming avec le SDK.
</Card>

## Démarrage rapide

<CodeGroup>
  ```python Python theme={null}
  import json
  import requests

  with open("input.wav", "rb") as f:
      audio = f.read()

  with requests.post(
      "https://api.gradium.ai/api/post/speech/asr",
      params={"json_config": json.dumps({"language": "en"})},
      data=audio,
      headers={
          "x-api-key": "your_api_key",
          "Content-Type": "audio/wav",
      },
      stream=True,
  ) as resp:
      resp.raise_for_status()
      transcript = []
      for line in resp.iter_lines(decode_unicode=True):
          if not line:
              continue
          msg = json.loads(line)
          if msg["type"] == "text":
              transcript.append(msg["text"])
  print(" ".join(transcript))
  ```

  ```bash cURL theme={null}
  curl -L -X POST https://api.gradium.ai/api/post/speech/asr \
    --url-query 'json_config={"language":"en"}' \
    -H "x-api-key: your_api_key" \
    -H "Content-Type: audio/wav" \
    --data-binary @input.wav
  ```
</CodeGroup>

## Format de la réponse

La réponse est de type `Content-Type: application/x-ndjson`. Chaque
ligne est un objet JSON doté d'un champ `type` ; `text` et `end_text`
sont généralement ceux qui vous intéressent, et `error` peut apparaître
si le pipeline échoue en cours de flux. Le corps se ferme une fois la
transcription terminée.

Pour le schéma complet des messages, le corps de la requête, les
paramètres de requête et la forme des erreurs, consultez la
[référence de l'endpoint STT POST](/fr/api-reference/endpoint/stt-post).

## Passer `json_config`

Les options avancées (`temp`, `language`, `padding_bonus`,
`delay_in_frames`, ainsi qu'un dictionnaire `keywords` pour
[renforcer les noms et le jargon](/fr/guides/transcription-settings#renforcement-de-mots-clés-keyword-boosting))
se passent sous forme de chaîne encodée en JSON dans le paramètre de
requête `json_config`. L'exemple ci-dessous définit `language` et
modifie le délai adaptatif :

<CodeGroup>
  ```bash cURL theme={null}
  curl -L -X POST https://api.gradium.ai/api/post/speech/asr \
    --url-query 'json_config={"language":"en","delay_in_frames":16}' \
    -H "x-api-key: your_api_key" \
    -H "Content-Type: audio/wav" \
    --data-binary @input.wav
  ```

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

  with open("input.wav", "rb") as f:
      audio = f.read()

  config = {"language": "en", "delay_in_frames": 16}

  with requests.post(
      "https://api.gradium.ai/api/post/speech/asr",
      params={"json_config": json.dumps(config)},  # requests URL-encodes for you
      data=audio,
      headers={
          "x-api-key": "your_api_key",
          "Content-Type": "audio/wav",
      },
      stream=True,
  ) as resp:
      resp.raise_for_status()
      for line in resp.iter_lines(decode_unicode=True):
          if line:
              print(json.loads(line))
  ```
</CodeGroup>

Les clés prises en charge, les valeurs autorisées et les règles de
validation sont documentées dans
[Réglages de la transcription](/fr/guides/transcription-settings).

## Étapes suivantes

<CardGroup cols={2}>
  <Card title="Référence API STT POST" icon="code" href="/fr/api-reference/endpoint/stt-post">
    Schéma complet de la requête et de la réponse, paramètres de
    requête, types de contenu.
  </Card>

  <Card title="Streaming avec le SDK" icon="waveform-lines" href="/fr/guides/speech-to-text">
    Transcription à faible latence, adaptée au microphone, avec VAD et
    flush.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.