API publique

Documentation développeur et exemples de requêtes.

What is a API Parole-to-Text

A API Parole-to-Text turns audio and vidéo into text programmatically—without manual téléversers in the browser. The Polyglot Voice API fits bots, CRMs, call centers, edtech, and media produits: send a file or URL, poll status or use a webhook, then fetch the transcription, traduction, and export files (SRT, TXT, JSON). Traitement runs in the Polyglot Voice cloud—you do not deploy or télécharger recognition models on your side.

Capacités API

  • Parole recognition to text (98+ langues)
  • Transcript and vidéo content traduction
  • Automatic sous-titres and SRT/TXT export
  • Entretien, cours, and call transcriptionion
  • Webhooks à la fin et interrogation d'état

When to use the web UI vs the API

Web interface

One-off jobs, manual review, translation, voiceover and clips.

API

Automation, product integration, bots, bulk processing and webhooks.

Price starting point

Transcription starts from 49 RUB per fast minute/unit. TTS pack: 499 RUB for 500,000 characters.

View pricing

Fast integration path

  1. Étape 1Create API key
  2. Étape 2POST upload/from-url
  3. Étape 3Receive webhook or poll status
  4. Étape 4GET result/download

URL de base

Utilisez l'URL de base pour toutes les requêtes API.

https://polyglotvoice.ru/api/v1

Autorisation

Les endpoints ci-dessous acceptent Authorization: Bearer avec le JWT de session du site ou une clé API sk_….

Authorization: Bearer sk_...

La clé sk_… est créée dans le profil, est valable 30 jours et ne s'applique qu'aux chemins transcriptions/* ; le reste du site utilise le JWT. Les deux conviennent pour ces routes.

Comment obtenir une clé API

  1. Connectez-vous à votre compte.
  2. Ouvrez Profil → « Clés API ».
  3. Créez une clé et sauvegardez-la (affichée une seule fois).
  4. Utilisez la clé dans vos requêtes.

Points d’accès

Endpoints principaux pour les transcriptions.

POST /api/v1/transcriptions/upload

Téléverser un fichier pour la transcription.

POST /api/v1/transcriptions/from-url

Transcrire depuis une URL média.

POST /api/v1/transcriptions/validate-url

Valider une URL média avant traitement.

GET /api/v1/transcriptions

Lister les tâches de transcription.

GET /api/v1/transcriptions/{task_id}

Détails de la tâche.

GET /api/v1/transcriptions/{task_id}/result

Résultat de transcription.

GET /api/v1/transcriptions/{task_id}/downloads/{kind}

Télécharger le fichier de résultat (srt/txt/json, etc.).

GET /api/v1/transcriptions/{task_id}/source

Diffuser le média source (Range).

POST /api/v1/transcriptions/convert-audio

Convertir l'audio et télécharger le résultat.

Exemples de requêtes

Exemples de base pour commencer.

curl

curl -X POST "https://polyglotvoice.ru/api/v1/transcriptions/upload" \
  -H "Authorization: Bearer sk_..." \
  -F "file=@audio.mp3"

Python

import requests

url = "https://polyglotvoice.ru/api/v1/transcriptions/upload"
headers = {"Authorization": "Bearer sk_..."}
files = {"file": open("audio.mp3", "rb")}

response = requests.post(url, headers=headers, files=files)
print(response.json())

JavaScript

const formData = new FormData();
formData.append("file", file);

fetch("https://polyglotvoice.ru/api/v1/transcriptions/upload", {
  method: "POST",
  headers: { Authorization: "Bearer sk_..." },
  body: formData
})
  .then((res) => res.json())
  .then(console.log);

Formats de fichiers

Les formats audio et vidéo courants sont pris en charge.

Par exemple : mp3, wav, m4a, ogg, mp4, webm.

Statuts des tâches

A transcriptionion task moves through these statuses:

  • en file d'attente - accepté, en attente de traitement
  • traitement — media is being processed
  • completed — result ready; fetch text and téléchargers
  • failed — traitement error (see failure_reason)
  • annulé — annulé par l'utilisateur

Réponses et erreurs

Exemple de création de tâche et d'erreur d'auth.

Tâche créée (HTTP 200)

{ "task_id": "9b9c1b9a-....", "status": "queued" }

Task after traitement (GET /transcriptionions/{task_id})

{
  "task_id": "9b9c1b9a-....",
  "status": "completed",
  "model": "fast",
  "input_language": "en",
  "output_language": "ru",
  "audio_duration_seconds": 125.4,
  "confidence": 0.94,
  "transcript_preview": "Hello, this is a sample transcript..."
}

Full result (GET /transcriptionions/{task_id}/result)

{
  "task_id": "9b9c1b9a-....",
  "transcript": "Hello, this is a sample transcript...",
  "translation": "Привет, это пример транскрипта...",
  "segments": [{ "start": 0.0, "end": 2.4, "text": "Hello..." }],
  "confidence": 0.94,
  "updated_at": "2026-05-24T12:00:00Z"
}

Result files: GET /transcriptionions/{task_id}/téléchargers/{kind} — kind: srt, txt, json, etc.

401

{ "detail": "Invalid token." }

Webhook

Set a webhook URL in your profil for the sk_ API key. When a task reaches a final status, Polyglot Voice sends an HTTP POST to your URL. Headers: Content-Type: application/json, X-Polyglot-Timestamp, X-Polyglot-Signature (HMAC-SHA256 over the body). Fetch the full transcription via GET /transcriptionions/{task_id}/result.

Exemple de corps de webhook

POST https://client.example.com/webhook

{
  "event": "transcription.completed",
  "task_id": "9b9c1b9a-....",
  "status": "completed",
  "model": "fast",
  "failure_reason": null,
  "has_transcript": true,
  "has_translation": true,
  "transcript_preview": "Hello, this is a sample..."
}

Codes d'erreur HTTP

Réponses d'erreur typiques de l'API :

  • 400 — mauvaise requête (paramètres, format, URL)
  • 401 — clé/jeton invalide ou manquant
  • 403 — accès refusé
  • 404 — tâche ou fichier introuvable
  • 429 — limite de débit dépassée (voir Limites)
  • 500 — erreur de serveur interne

Limites

Ces valeurs sont appliquées par l’API. Les plafonds courts (burst) s’appliquent par utilisateur connecté — le même compte avec un JWT de session ou une clé sk_. Les compteurs journaliers et mensuels comptent chaque requête faite avec l’une de vos clés sk_ (jour et mois civils UTC). Au dépassement, l’API renvoie HTTP 429.

Le champ JSON à jour rate_limits est renvoyé par :

GET https://polyglotvoice.ru/api/v1/developer/documentation

Chargement des limites…

En outre, chaque forfait limite la durée audio max. par fichier, la taille d’envoi, les tâches simultanées et (sur le site) les envois quotidiens — voir votre abonnement dans le tableau de bord.

FAQ

Which formats are assistanceed?

Popular audio and vidéo: mp3, wav, m4a, ogg, mp4, webm, and more. Téléverser a file or pass a media URL.

Comment obtenir une clé API ?

Sign in → Profil → API keys → create an sk_ key and save it (shown once).

Existe-t-il un webhook ?

Oui. Définissez l'URL sur votre clé API ; en cas d'achèvement ou d'échec, vous recevez un POST signé.

Quelles sont les limites ?

Limites de rafale par minute par utilisateur et limites quotidiennes/mensuelles par plan pour les clés sk_. Les valeurs actuelles se trouvent dans la section Limites ci-dessous et dans GET /developer/documentation.

Is there a gratuit plan?

Yes—a gratuit tier with limits on minutes and attempts. See the tarifs page for details.

Pages associées