Wstecz
8 min czytania
Zaawansowane funkcje

Integracja API

Kompletna dokumentacja API VoxScriber dla programistów. Punkty końcowe, uwierzytelnianie i przykłady kodu.

Integracja API

Kompletna dokumentacja REST API VoxScriber dla programistów. Dowiedz się o uwierzytelnianiu, głównych punktach końcowych, webhookach i jak zintegrować automatyczną transkrypcję ze swoimi systemami.

Funkcje API

Uwierzytelnianie tokenem

Bezpieczny system uwierzytelniania za pomocą tokenów API.

  • Unikalne tokeny dla każdej aplikacji
  • Automatyczne odnawianie dostępne
  • Kontrola szczegółowych uprawnień
  • Własne ograniczniki szybkości

Przesyłanie programistyczne

Automatyczne przesyłanie plików do transkrypcji.

  • Wiele obsługiwanych formatów
  • Bezpośrednie przesyłanie lub przez URL
  • Przetwarzanie asynchroniczne
  • Wywołania zwrotne o statusie w czasie rzeczywistym

Inteligentne webhooki

Automatyczne powiadomienia o postępie.

  • Konfigurowalne zdarzenia
  • Automatyczne ponawianie przy błędzie
  • Sygnatura bezpieczeństwa
  • Wiele punktów końcowych na zdarzenie

Uwierzytelnianie

Uzyskanie klucza API

Wejdź do panelu

Zaloguj się do VoxScriber

Ustawienia API

Przejdź do Ustawienia -> API -> Klucze

Wygeneruj nowy klucz

Kliknij "Nowy klucz API" i ustaw uprawnienia

Skopiuj i przechowaj bezpiecznie

Skopiuj wygenerowany klucz i przechowuj go bezpiecznie

Nigdy nie udostępniaj swojego klucza API publicznie. Przechowuj go w zmiennych środowiskowych i nigdy w kodzie źródłowym kontrolowanym przez system kontroli wersji.

Używanie klucza API

Dołącz swój klucz API w nagłówku Authorization wszystkich zapytań:

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"

Główne punkty końcowe

Przesyłanie pliku

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

Parametry:

  • file (wymagany) - plik audio/wideo
  • language (opcjonalny) - kod języka (np. "en-US")
  • engine (opcjonalny) - silnik transkrypcji ("ASSEMBLYAI", "WHISPER", "ELEVENLABS")
  • speaker_detection (opcjonalny) - Włącz identyfikację mówców (wartość logiczna)

Odpowiedź:

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

Rozpoczęcie transkrypcji

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

Treść żądania:

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

Sprawdzanie statusu

GET /v1/transcription/{id}/status

Odpowiedź:

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

Pobieranie wyniku

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

Dostępne formaty: json, txt, srt, vtt, docx, pdf

Ograniczenia szybkości

| Punkt końcowy | Limit | Okno | |---|---|---| | Przesyłanie | 10 żądań | 60 sekund | | Transkrypcja | 10 żądań | 60 sekund | | Zapytanie | 60 żądań | 60 sekund | | Eksport | 30 żądań | 60 sekund |

Używaj webhooków zamiast odpytywania w celu śledzenia statusu transkrypcji. To drastycznie zmniejsza liczbę żądań i poprawia wydajność integracji.

Przykłady integracji

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

Obsługa błędów

| Kod | Znaczenie | Zalecane działanie | |---|---|---| | 400 | Nieprawidłowe żądanie | Sprawdź parametry | | 401 | Nieuwierzytelniony | Sprawdź swój klucz API | | 403 | Zabroniony | Sprawdź uprawnienia tokena | | 429 | Przekroczono limit szybkości | Odczekaj i spróbuj ponownie | | 500 | Błąd wewnętrzny | Spróbuj ponownie po 30 sekundach |

Bezpieczeństwo

  • Używaj HTTPS dla wszystkich żądań
  • Przechowuj klucze API w zmiennych środowiskowych
  • Regularnie zmieniaj klucze
  • Używaj minimalnych niezbędnych uprawnień
  • Zaimplementuj weryfikację sygnatur dla webhooków

Dalsza nauka