Tillbaka
8 min läsning
Avancerade funktioner

API-integration

Fullständig VoxScriber API-dokumentation för utvecklare. Slutpunkter, autentisering och kodexempel.

API-integration

Fullständig VoxScriber REST API-dokumentation för utvecklare. Lär dig om autentisering, huvudsakliga slutpunkter, webhooks och hur du integrerar automatisk transkribering i dina system.

API-funktioner

Token-autentisering

Säkert autentiseringssystem via API-tokens.

  • Unika tokens per applikation
  • Automatisk förnyelse tillgänglig
  • Granulär behörighetskontroll
  • Anpassad hastighetsbegränsning

Programmatisk uppladdning

Automatiserad filinlämning för transkribering.

  • Flera format som stöds
  • Direktuppladdning eller via URL
  • Asynkron bearbetning
  • Återkoppling i realtid om status

Smarta webhooks

Automatiska meddelanden om framsteg.

  • Konfigurerbara händelser
  • Automatiskt omförsök vid fel
  • Säkerhetssignatur
  • Flera slutpunkter per händelse

Autentisering

Hämta din API-nyckel

Gå till instrumentpanelen

Logga in på VoxScriber

API-inställningar

Gå till Inställningar -> API -> Nycklar

Generera en ny nyckel

Klicka på "Ny API-nyckel" och ange behörigheter

Kopiera och spara

Kopiera den genererade nyckeln och förvara den säkert

Dela aldrig din API-nyckel offentligt. Lagra den i miljövariabler och aldrig i versionshanterad källkod.

Använda API-nyckeln

Inkludera din API-nyckel i Authorization-huvudet för alla förfrågningar:

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"

Huvudsakliga slutpunkter

Filuppladdning

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

Parametrar:

  • file (obligatorisk) - Ljud-/videofil
  • language (valfritt) - Språkkod (t.ex. "en-US")
  • engine (valfritt) - Transkriberingsmotor ("ASSEMBLYAI", "WHISPER", "ELEVENLABS")
  • speaker_detection (valfritt) - Aktivera talaridentifiering (booleskt)

Svar:

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

Starta transkribering

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

Brödtext:

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

Kontrollera status

GET /v1/transcription/{id}/status

Svar:

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

Ladda ner resultat

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

Tillgängliga format: json, txt, srt, vtt, docx, pdf

Hastighetsbegränsning

| Slutpunkt | Gräns | Tidsfönster | |---|---|---| | Uppladdning | 10 förfrågningar | 60 sekunder | | Transkribering | 10 förfrågningar | 60 sekunder | | Förfrågan | 60 förfrågningar | 60 sekunder | | Export | 30 förfrågningar | 60 sekunder |

Använd webhooks istället för polling för att följa transkriberingsstatus. Det minskar antalet förfrågningar drastiskt och förbättrar integrationseffektiviteten.

Integrationsexempel

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()

Felhantering

| Kod | Betydelse | Rekommenderad åtgärd | |---|---|---| | 400 | Ogiltig begäran | Kontrollera parametrarna | | 401 | Inte autentiserad | Kontrollera din API-nyckel | | 403 | Åtkomst nekas | Kontrollera tokenbehörigheter | | 429 | Hastighetsbegränsning överskriden | Vänta och försök igen | | 500 | Internt fel | Försök igen efter 30 sekunder |

Säkerhet

  • Använd HTTPS för alla förfrågningar
  • Lagra API-nycklar i miljövariabler
  • Rotera nycklar regelbundet
  • Använd minsta nödvändiga behörighet
  • Implementera signaturverifiering för webhooks

Fortsätt lära dig