Kompletna dokumentacja API VoxScriber dla programistów. Punkty końcowe, uwierzytelnianie i przykłady kodu.
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.
Bezpieczny system uwierzytelniania za pomocą tokenów API.
Automatyczne przesyłanie plików do transkrypcji.
Automatyczne powiadomienia o postępie.
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.
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"
POST /v1/upload
Content-Type: multipart/form-data
Parametry:
file (wymagany) - plik audio/wideolanguage (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
}
POST /v1/transcribe
Content-Type: application/json
Treść żądania:
{
"uploadId": "upload_abc123",
"engine": "ASSEMBLYAI",
"speakerDetection": true,
"language": "en-US"
}
GET /v1/transcription/{id}/status
Odpowiedź:
{
"id": "trans_xyz789",
"status": "COMPLETED",
"progress": 100,
"text": "Transcribed text...",
"duration": 120.5,
"creditsUsed": 8
}
GET /v1/transcription/{id}/export?format=json
Dostępne formaty: json, txt, srt, vtt, docx, pdf
| 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.
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;
}
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()
| 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 |