Documentazione API
ISO 27001SOC 2 CertifiedGDPR Compliant

API di Rilevamento Audio AI

Documentazione completa per integrare l'API di rilevamento audio AI di TruthScan nelle tue applicazioni.

Provalo senza codice visitando il nostro endpoint FastAPI: https://detect-audio.truthscan.com/docs

Autenticazione

TruthScan usa chiavi API per consentire l'accesso all'API. Puoi ottenere la tua chiave API al in alto nella pagina del nostro portale sviluppatori.

TruthScan si aspetta che la chiave API sia inclusa in tutte le richieste API al server in un corpo richiesta che assomiglia al seguente:

{
  "key": "YOUR API KEY GOES HERE"
}

Devi sostituire LA TUA CHIAVE API VA QUI con la tua chiave API personale.

Rilevatore Audio AI

Rileva (Processo in 3 Passaggi)

Il flusso di lavoro di Rilevamento Audio AI consiste nei seguenti passaggi:

  • Ottieni un URL di Upload Pre-signed
  • Carica l'Audio
  • Invia l'Audio per il Rilevamento

1. Ottieni un URL di Upload Pre-signed

Inizia richiedendo un URL pre-signed dall'API. Questo URL ti permette di caricare in modo sicuro il tuo file audio sul server di archiviazione.

Formati File Supportati

MP3, WAV, M4A, FLAC, OGG, MP4

Nota Importante

È necessario rimuovere gli spazi dal nome del file audio quando si richiede un URL pre-signed.

GET https://detect-audio.truthscan.com/get-presigned-url?file_name=example.mp3

Richiesta di Esempio

curl -X GET 'https://detect-audio.truthscan.com/get-presigned-url?file_name=example.mp3' \
--header 'apikey: YOUR API KEY GOES HERE'

Risposta di Esempio

{
  "status": "success",
  "presigned_url": "https://audio-presigned-upload.ai-assets-cdn.com?file_name=581d47c7-3ef4-42af-88d9-6dab6bf69389_20250611-121955_example.mp3...",
  "file_path": "/uploads/581d47c7-3ef4-42af-88d9-6dab6bf69389_20250901-090201_example.mp3"
}

2. Carica l'Audio

Usa il 'presigned_url' fornito per caricare il tuo audio tramite una richiesta PUT. Assicurati che il tipo di contenuto corretto sia impostato in base al tuo formato audio.

Nota Importante

È necessario rimuovere gli spazi dal nome del file audio quando si carica l'audio.

Richiesta di Esempio

curl -X PUT 'https://audio-presigned-upload.ai-assets-cdn.com?file_name=581d47c7-3ef4-42af-88d9-6dab6bf69389_20250611-121955_example.mp3...' \
  --header 'Content-Type: audio/<FILE_FORMAT - mp3, wav, m4a, flac, ogg, mp4>' \
  --header 'x-amz-acl: private' \
  --data-binary '@example.mp3' # Attachment

Limiti Dimensione File

  • Dimensione file minima: 1KB
  • Dimensione file massima: 100MB

Assicurati che il formato del file rimanga coerente durante il processo di upload. Un upload riuscito restituirà un codice di stato 200.

3. Invia Audio per Rilevamento AI

Dopo il caricamento, invia l'audio per il rilevamento AI facendo riferimento al 'file_path' dal passaggio precedente.

POST https://detect-audio.truthscan.com/detect

Richiesta di Esempio

curl -X 'POST' \
  'https://detect-audio.truthscan.com/detect' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "key": "YOUR-API-KEY-GOES-HERE",
  "url": "<FILE_PATH>",
  "document_type": "Audio",
  "analyzeUpToSeconds": 60
}'

Il 'FILE_PATH' si riferisce al percorso ottenuto dalla risposta nel passaggio iniziale, 'Ottieni un URL di Upload Pre-signed'.

Parametri Opzionali

  • analyzeUpToSeconds: Analizza fino a N secondi dall'inizio (default: 60)
  • document_type: Tipo di documento (default: 'Audio')
  • email: Email opzionale per l'elaborazione

Risposta di Esempio

{
    "id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
    "status": "pending"
}

La risposta include un ID unico per tracciare lo stato del rilevamento.

Interroga Stato e Risultati del Rilevamento

Per controllare lo stato e recuperare i risultati, usa l'endpoint /query con l'ID.

POST https://detect-audio.truthscan.com/query

Richiesta di Esempio

curl -X 'POST' \
  'https://detect-audio.truthscan.com/query' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "ID-GOES-HERE"
}'

Risposta di Esempio

{
    "id": "00fee5ff-a55b-42fb-b7c7-d14f05ae0769",
    "status": "done",
    "result": 0.873,
    "result_details": {
        "is_valid": true,
        "message": "processed",
        "original_duration": 123.45,
        "is_truncated": true,
        "truncated_duration": 60.0,
        "mean_ai_prob": 0.873,
        "individual_chunks_ai_prob": [0.81, 0.90, 0.91]
    }
}

Dettagli Risultato

  • is_valid: Indica se il file audio è valido (true/false)
  • message: Messaggio di elaborazione
  • original_duration: Durata in secondi dell'audio originale
  • is_truncated: Se l'audio è stato troncato per l'analisi
  • truncated_duration: Durata analizzata se troncato
  • mean_ai_prob: Punteggio di probabilità AI complessivo
  • individual_chunks_ai_prob: Punteggi di probabilità AI per chunk

Il campo "status" sarà uno di: "pending" (elaborazione in coda), "analyzing" (rilevamento AI in corso), "done" (risultati disponibili) o "failed" (elaborazione fallita).

Controlla Crediti Utente

Questo endpoint accetta l'apikey degli utenti tramite l'header. E restituisce i dettagli dei crediti degli utenti.

GET https://detect-audio.truthscan.com/check-user-credits

Richiesta di Esempio

curl -X 'GET' \
  'https://detect-audio.truthscan.com/check-user-credits' \
  -H 'apikey: YOUR API KEY GOES HERE' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json'

Risposta di Esempio

{
    "baseCredits": 10000,
    "boostCredits": 1000,
    "credits": 11000
}

Verifica Integrità

Verifica lo stato di integrità del server API.

GET https://detect-audio.truthscan.com/health

Richiesta di Esempio

curl -X 'GET' \
  'https://detect-audio.truthscan.com/health' \
  -H 'accept: application/json'

Risposta di Esempio

{
    "status": "healthy"
}

Errori

La maggior parte degli errori saranno da parametri incorretti inviati all'API. Ricontrolla i parametri di ogni chiamata API per assicurarti che sia formattata correttamente e prova a eseguire il codice di esempio fornito.

I codici di errore generici che usiamo sono conformi allo standard REST:

Codice ErroreSignificato
400Bad Request -- La tua richiesta non è valida.
403Forbidden -- La chiave API non è valida o non ci sono crediti sufficienti per l'elaborazione audio.
404Not Found -- La risorsa specificata non esiste.
405Method Not Allowed -- Hai provato ad accedere a una risorsa con un metodo non valido.
406Not Acceptable -- Hai richiesto un formato che non è JSON.
410Gone -- La risorsa a questo endpoint è stata rimossa.
422Invalid Request Body -- Il tuo corpo richiesta è formattato in modo errato o non valido o ha parametri mancanti.
429Too Many Requests -- Stai inviando troppe richieste! Rallenta!
500Internal Server Error -- Abbiamo avuto un problema con il nostro server. Riprova più tardi.
503Service Unavailable -- Siamo temporaneamente offline per manutenzione. Riprova più tardi.

Problemi Comuni e Soluzioni

Problemi di Autenticazione

"User verification failed" (403)

Causa: Chiave API non valida o scaduta

Soluzione:

  1. Verifica che la tua chiave API sia corretta
  2. Controlla se la tua chiave API è attiva nel tuo account
  3. Prova a rigenerare la tua chiave API

"Not enough credits" (403)

Causa: Crediti insufficienti per l'elaborazione audio

Soluzione:

  1. Controlla i tuoi crediti rimanenti usando /check-user-credits
  2. Acquista crediti aggiuntivi se necessario
  3. Usa analyzeUpToSeconds per analizzare meno audio e consumare meno crediti

Problemi di Validazione Input

"Unsupported file format" (400)

Causa: Formato audio non supportato o invalido inviato

Soluzione:

  1. Verifica che il formato audio sia supportato (MP3, WAV, M4A, FLAC, OGG, MP4)
  2. Assicurati che il file non sia corrotto
  3. Controlla che l'header Content-Type sia corretto quando carichi

"File too large" (400)

Causa: La dimensione del file supera il limite di 100MB

Soluzione:

  1. Comprimi o converti l'audio a meno di 100MB
  2. Controlla la dimensione del file prima di caricare
  3. Usa formati più efficienti come MP3 quando possibile

Problemi di Elaborazione

"Audio processing took too long"

Causa: L'elaborazione audio ha richiesto troppo tempo o si è verificato un timeout

Soluzione:

  1. Prova con un file audio più piccolo o durata più breve
  2. Usa analyzeUpToSeconds per analizzare solo i primi secondi
  3. Controlla se il servizio sta sperimentando alto carico
  4. Riprova la richiesta dopo alcuni minuti

Stato "failed" nella risposta /query

Causa: Elaborazione fallita per vari motivi

Soluzione:

  1. Controlla se l'audio soddisfa i requisiti minimi (1KB - 100MB)
  2. Verifica che l'audio sia in un formato supportato
  3. Verifica che l'upload sia completato con successo prima di inviare per il rilevamento
  4. Contatta il supporto se il problema persiste

Problemi di Upload

"Audio upload failed" (403/400)

Causa: URL pre-signed non valido o scaduto, o problemi con il server di archiviazione

Soluzione:

  1. Assicurati di usare l'URL pre-signed immediatamente dopo averlo ricevuto (può scadere)
  2. Verifica che l'header Content-Type sia corretto per il formato audio
  3. Rimuovi gli spazi dal nome del file prima di caricare
  4. Prova a generare un nuovo URL pre-signed se quello corrente è scaduto

"Invalid pre-signed URL" (400)

Causa: Nome file con spazi o URL pre-signed scaduto/corrotto

Soluzione:

  1. Rimuovi tutti gli spazi dal nome del file prima di richiedere l'URL pre-signed
  2. Usa solo caratteri alfanumerici, trattini e underscore nel nome del file
  3. Genera un nuovo URL pre-signed se necessario

Hai Bisogno di Aiuto?

Per maggiori informazioni sull'uso della nostra API o per supporto tecnico, contattaci.

Domande Frequenti API

Trova risposte alle domande più comuni sulla nostra API di rilevamento audio AI.