Zurück
8 Min. Lesezeit
Erweiterte Funktionen

API-Integration

Vollständige VoxScriber API-Dokumentation für Entwickler. Endpunkte, Authentifizierung und Codebeispiele.

API-Integration

Vollständige VoxScriber REST-API-Dokumentation für Entwickler. Erfahren Sie mehr über Authentifizierung, die wichtigsten Endpunkte, Webhooks und wie Sie die automatische Transkription in Ihre Systeme integrieren.

API-Funktionen

Token-Authentifizierung

Sicheres Authentifizierungssystem über API-Tokens.

  • Eindeutige Tokens pro Anwendung
  • Automatische Verlängerung möglich
  • Granulare Berechtigungssteuerung
  • Individuelles Rate Limiting

Programmgesteuerter Upload

Automatisierte Dateiübermittlung zur Transkription.

  • Mehrere unterstützte Formate
  • Direkter Upload oder per URL
  • Asynchrone Verarbeitung
  • Echtzeit-Status-Rückmeldungen

Intelligente Webhooks

Automatische Benachrichtigungen über den Fortschritt.

  • Konfigurierbare Ereignisse
  • Automatische Wiederholung bei Fehlern
  • Sicherheitssignatur
  • Mehrere Endpunkte pro Ereignis

Authentifizierung

API-Schlüssel abrufen

Dashboard aufrufen

Melden Sie sich bei VoxScriber an

API-Einstellungen

Gehen Sie zu Einstellungen -> API -> Schlüssel

Neuen Schlüssel generieren

Klicken Sie auf „Neuer API-Schlüssel“ und legen Sie Berechtigungen fest

Kopieren und speichern

Kopieren Sie den generierten Schlüssel und bewahren Sie ihn sicher auf

Geben Sie Ihren API-Schlüssel niemals öffentlich weiter. Speichern Sie ihn in Umgebungsvariablen und niemals in der Versionsverwaltung unterliegendem Quellcode.

API-Schlüssel verwenden

Fügen Sie Ihren API-Schlüssel in den Authorization-Header aller Anfragen ein:

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

Wichtige Endpunkte

Datei-Upload

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

Parameter:

  • file (erforderlich) - Audio-/Videodatei
  • language (optional) - Sprachcode (z. B. „en-US“)
  • engine (optional) - Transkriptions-Engine („ASSEMBLYAI“, „WHISPER“, „ELEVENLABS“)
  • speaker_detection (optional) - Sprechererkennung aktivieren (boolesch)

Antwort:

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

Transkription starten

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

Body:

{
  "uploadId": "upload_abc123",
  "engine": "ASSEMBLYAI",
  "speakerDetection": true,
  "language": "en-US"
}

Status abfragen

GET /v1/transcription/{id}/status

Antwort:

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

Ergebnis herunterladen

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

Verfügbare Formate: json, txt, srt, vtt, docx, pdf

Rate Limiting

| Endpunkt | Limit | Zeitraum | |---|---|---| | Upload | 10 Anfragen | 60 Sekunden | | Transkription | 10 Anfragen | 60 Sekunden | | Abfrage | 60 Anfragen | 60 Sekunden | | Export | 30 Anfragen | 60 Sekunden |

Verwenden Sie Webhooks anstelle von Polling, um den Transkriptionsstatus zu verfolgen. Dies reduziert die Anzahl der Anfragen drastisch und verbessert die Effizienz der Integration.

Integrationsbeispiele

Node.js

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

const API_KEY = process.env.VOXSCRIBER_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. Transcribe
  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['VOXSCRIBER_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. Transcribe
    transcription = requests.post(
        f'{BASE_URL}/transcribe',
        headers=headers,
        json={
            'uploadId': upload.json()['id'],
            'engine': 'ASSEMBLYAI',
            'speakerDetection': True
        }
    )

    return transcription.json()

Fehlerbehandlung

| Code | Bedeutung | Empfohlene Aktion | |---|---|---| | 400 | Ungültige Anfrage | Parameter prüfen | | 401 | Nicht authentifiziert | API-Schlüssel prüfen | | 403 | Verboten | Token-Berechtigungen prüfen | | 429 | Rate-Limit überschritten | Warten und erneut versuchen | | 500 | Interner Fehler | Nach 30 Sekunden erneut versuchen |

Sicherheit

  • HTTPS für alle Anfragen verwenden
  • API-Schlüssel in Umgebungsvariablen speichern
  • Schlüssel regelmäßig rotieren
  • Minimal erforderliche Berechtigungen verwenden
  • Signaturprüfung für Webhooks implementieren

Weiterlernen