Indietro
8 min di lettura
Funzionalità Avanzate

Integrazione API

Documentazione completa dell'API VoxScriber per sviluppatori. Endpoint, autenticazione ed esempi di codice.

Integrazione API

Documentazione completa dell'API REST di VoxScriber per sviluppatori. Scopri autenticazione, endpoint principali, webhook e come integrare la trascrizione automatica nei tuoi sistemi.

Funzionalità dell'API

Autenticazione tramite token

Sistema di autenticazione sicuro tramite token API.

  • Token univoci per applicazione
  • Rinnovo automatico disponibile
  • Controllo granulare delle autorizzazioni
  • Limitazione della frequenza personalizzata

Caricamento programmatico

Invio automatico di file per la trascrizione.

  • Supporto di più formati
  • Caricamento diretto o tramite URL
  • Elaborazione asincrona
  • Callback sullo stato in tempo reale

Webhook intelligenti

Notifiche automatiche sull'avanzamento.

  • Eventi configurabili
  • Ripetizione automatica in caso di errore
  • Firma di sicurezza
  • Endpoint multipli per evento

Autenticazione

Ottenere la chiave API

Accedi al pannello

Accedi a VoxScriber

Impostazioni API

Vai su Impostazioni -> API -> Chiavi

Genera una nuova chiave

Clicca su "Nuova chiave API" e imposta le autorizzazioni

Copia e conserva

Copia la chiave generata e conservala in modo sicuro

Non condividere mai la tua chiave API pubblicamente. Conservala in variabili d'ambiente e mai in codice sorgente sottoposto a controllo di versione.

Utilizzo della chiave API

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"

Endpoint principali

Caricamento file

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

Parametri:

  • file (obbligatorio) - File audio/video
  • language (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
}

Avvia trascrizione

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

Corpo:

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

Controlla stato

GET /v1/transcription/{id}/status

Risposta:

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

Scarica risultato

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

Formati disponibili: json, txt, srt, vtt, docx, pdf

Limitazione della frequenza

| 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.

Esempi di integrazione

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

Gestione degli errori

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

Sicurezza

  • Usa HTTPS per tutte le richieste
  • Conserva le chiavi API in variabili d'ambiente
  • Ruota le chiavi regolarmente
  • Utilizza le autorizzazioni minime necessarie
  • Implementa la verifica della firma per i webhook

Continua a imparare