Documentazione completa dell'API VoxScriber per sviluppatori. Endpoint, autenticazione ed esempi di codice.
Documentazione completa dell'API REST di VoxScriber per sviluppatori. Scopri autenticazione, endpoint principali, webhook e come integrare la trascrizione automatica nei tuoi sistemi.
Sistema di autenticazione sicuro tramite token API.
Invio automatico di file per la trascrizione.
Notifiche automatiche sull'avanzamento.
Non condividere mai la tua chiave API pubblicamente. Conservala in variabili d'ambiente e mai in codice sorgente sottoposto a controllo di versione.
Includi la tua chiave API nell'intestazione Authorization di tutte le richieste:
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
Parametri:
file (obbligatorio) - File audio/videolanguage (opzionale) - Codice lingua (es. "it-IT")engine (opzionale) - Motore di trascrizione ("ASSEMBLYAI", "WHISPER", "ELEVENLABS")speaker_detection (opzionale) - Abilita identificazione parlante (booleano)Risposta:
{
"id": "upload_abc123",
"status": "UPLOADED",
"duration": 120.5,
"fileSize": 2048000
}
POST /v1/transcribe
Content-Type: application/json
Corpo:
{
"uploadId": "upload_abc123",
"engine": "ASSEMBLYAI",
"speakerDetection": true,
"language": "en-US"
}
GET /v1/transcription/{id}/status
Risposta:
{
"id": "trans_xyz789",
"status": "COMPLETED",
"progress": 100,
"text": "Transcribed text...",
"duration": 120.5,
"creditsUsed": 8
}
GET /v1/transcription/{id}/export?format=json
Formati disponibili: json, txt, srt, vtt, docx, pdf
| Endpoint | Limite | Finestra | |---|---|---| | Caricamento | 10 richieste | 60 secondi | | Trascrizione | 10 richieste | 60 secondi | | Query | 60 richieste | 60 secondi | | Esportazione | 30 richieste | 60 secondi |
Utilizza i webhook invece del polling per monitorare lo stato della trascrizione. Ciò riduce drasticamente il numero di richieste e migliora l'efficienza dell'integrazione.
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()
| Codice | Significato | Azione consigliata | |---|---|---| | 400 | Richiesta non valida | Verifica i parametri | | 401 | Non autenticato | Controlla la tua chiave API | | 403 | Vietato | Controlla le autorizzazioni del token | | 429 | Limite di frequenza superato | Attendi e riprova | | 500 | Errore interno | Riprova dopo 30 secondi |