Retour
8 min de lecture
Fonctionnalités avancées

Intégration API | Voix2Texte - Documentation Complète pour Développeurs

Documentation complète de l'API Voix2Texte pour les développeurs. Points d'accès, authentification et exemples de code.

Intégration API

Documentation complète de l'API REST de Voix2Texte pour les développeurs. Apprenez l'authentification, les points d'accès principaux, les webhooks et comment intégrer la transcription automatique dans vos systèmes.

Fonctionnalités de l'API

Authentification par Token

Système d'authentification sécurisé via tokens API.

  • Tokens uniques par application
  • Renouvellement automatique disponible
  • Contrôle granulaire des permissions
  • Rate limiting personnalisé

Upload Programmatique

Envoi automatisé de fichiers pour transcription.

  • Multiples formats pris en charge
  • Upload direct ou via URL
  • Traitement asynchrone
  • Callback de statut en temps réel

Webhooks Intelligents

Notifications automatiques sur la progression.

  • Événements configurables
  • Retry automatique en cas d'échec
  • Signature de sécurité
  • Multiples endpoints par événement

Authentification

Obtenir votre Clé API

Accédez au Tableau de bord

Connectez-vous à Voix2Texte

Paramètres API

Allez dans Paramètres → API → Clés

Générez une nouvelle clé

Cliquez sur "Nouvelle Clé API" et définissez les permissions

Copiez et stockez

Copiez la clé générée et stockez-la en lieu sûr

Ne partagez jamais votre Clé API publiquement. Stockez-la dans des variables d'environnement et jamais dans du code source versionné.

Utiliser la Clé API

Incluez votre Clé API dans l'en-tête Authorization de toutes les requêtes :

curl -X POST https://api.vozparatexto.com.br/v1/transcribe \
  -H "Authorization: Bearer VOTRE_CLE_API" \
  -H "Content-Type: multipart/form-data" \
  -F "file=@audio.mp3"

Points d'Accès Principaux

Upload de Fichier

POST /v1/upload
Content-Type: multipart/form-data

Paramètres :

  • file (obligatoire) - Fichier audio/vidéo
  • language (optionnel) - Code de la langue (ex : "fr-FR")
  • engine (optionnel) - Moteur de transcription ("ASSEMBLYAI", "WHISPER", "ELEVENLABS")
  • speaker_detection (optionnel) - Activer l'identification des locuteurs (boolean)

Réponse :

{
  "id": "upload_abc123",
  "status": "UPLOADED",
  "duration": 120.5,
  "fileSize": 2048000
}

Lancer la Transcription

POST /v1/transcribe
Content-Type: application/json

Body :

{
  "uploadId": "upload_abc123",
  "engine": "ASSEMBLYAI",
  "speakerDetection": true,
  "language": "fr-FR"
}

Consulter le Statut

GET /v1/transcription/{id}/status

Réponse :

{
  "id": "trans_xyz789",
  "status": "COMPLETED",
  "progress": 100,
  "text": "Texte transcrit...",
  "duration": 120.5,
  "creditsUsed": 8
}

Télécharger le Résultat

GET /v1/transcription/{id}/export?format=json

Formats disponibles : json, txt, srt, vtt, docx, pdf

Rate Limiting

| Point d'accès | Limite | Fenêtre | |---|---|---| | Upload | 10 requêtes | 60 secondes | | Transcription | 10 requêtes | 60 secondes | | Consultation | 60 requêtes | 60 secondes | | Export | 30 requêtes | 60 secondes |

Utilisez des webhooks au lieu du polling pour suivre le statut des transcriptions. Cela réduit considérablement le nombre de requêtes et améliore l'efficacité de l'intégration.

Exemples d'Intégration

Node.js

const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');

const API_KEY = process.env.VOZPARATEXTO_API_KEY;
const BASE_URL = 'https://api.vozparatexto.com.br/v1';

async function transcribeFile(filePath) {
  // 1. Upload
  const form = new FormData();
  form.append('file', fs.createReadStream(filePath));

  const upload = await axios.post(`${BASE_URL}/upload`, form, {
    headers: {
      'Authorization': `Bearer ${API_KEY}`,
      ...form.getHeaders()
    }
  });

  // 2. Transcrire
  const transcription = await axios.post(`${BASE_URL}/transcribe`, {
    uploadId: upload.data.id,
    engine: 'ASSEMBLYAI',
    speakerDetection: true
  }, {
    headers: { 'Authorization': `Bearer ${API_KEY}` }
  });

  return transcription.data;
}

Python

import requests
import os

API_KEY = os.environ['VOZPARATEXTO_API_KEY']
BASE_URL = 'https://api.vozparatexto.com.br/v1'

def transcribe_file(file_path):
    headers = {'Authorization': f'Bearer {API_KEY}'}

    # 1. Upload
    with open(file_path, 'rb') as f:
        upload = requests.post(
            f'{BASE_URL}/upload',
            headers=headers,
            files={'file': f}
        )

    # 2. Transcrire
    transcription = requests.post(
        f'{BASE_URL}/transcribe',
        headers=headers,
        json={
            'uploadId': upload.json()['id'],
            'engine': 'ASSEMBLYAI',
            'speakerDetection': True
        }
    )

    return transcription.json()

Gestion des Erreurs

| Code | Signification | Action Recommandée | |---|---|---| | 400 | Requête invalide | Vérifiez les paramètres | | 401 | Non authentifié | Vérifiez votre Clé API | | 403 | Sans permission | Vérifiez les permissions du token | | 429 | Rate limit dépassé | Attendez et réessayez | | 500 | Erreur interne | Réessayez après 30 secondes |

Sécurité

  • Utilisez HTTPS pour toutes les requêtes
  • Stockez les Clés API dans des variables d'environnement
  • Renouvelez les clés régulièrement
  • Utilisez les permissions minimales nécessaires
  • Implémentez la vérification de signature pour les webhooks

Continuer à apprendre