Riferimento API di produzione
API AI face swap di DeepSwapAI
Collega face swap per foto, batch, gruppi, video e GIF con un’unica interfaccia di produzione. Verifica contratto, unità di costo, stati e limiti; campi e risposte completi sono disponibili nel riferimento API in inglese.
Un contratto, cinque flussi
HTTPS, upload multipart e stati JSON
Tutte le route di generazione pubblicate usano una chiave API Bearer, restituiscono un taskId e leggono lo stato con GET sulla stessa route.
Risposta diretta
Un account API per cinque tipi di input
Foto, batch, mapping di più volti in una foto di gruppo, video e GIF usano lo stesso dominio di produzione e ciclo della task. Prima della richiesta verifica formato, dimensione, durata, numero di obiettivi e crediti; poi salva il taskId e interroga la route GET corrispondente.
Contratto pubblico attuale
Route, unità di costo e limiti principali
| Flusso | Route POST | Unità | Limite principale |
|---|---|---|---|
| Foto | POST /api/ai-tasks | 3 crediti / output | Un volto sorgente e un’immagine obiettivo |
| Batch foto | POST /api/ai-tasks/batch-face-swap | 3 crediti / output | Fino a 20 immagini; 95 MB complessivi |
| Mapping di gruppo | POST /api/ai-tasks/multi-face-swap | 3 crediti / volto selezionato | Fino a 10 volti mappati; 95 MB complessivi |
| Video | POST /api/ai-tasks/video | 1 credito per secondo arrotondato; minimo 5 | MP4, MOV o WebM; 600 secondi; livello massimo 1080p fisso |
| GIF | POST /api/ai-tasks/gif | 1 credito per secondo arrotondato; minimo 5 | GIF, MP4 o WebM; 30 secondi |
Integrazione minima
Valida la richiesta prima di generare
- 1. Conserva la chiave API sul server, mai nel browser, pacchetto mobile, log o repository pubblico.
- 2. Valida campi multipart, formati, dimensioni, quantità, durata e crediti del flusso scelto.
- 3. Invia POST e salva taskId e addebito previsto.
- 4. Interroga GET sulla stessa route fino a COMPLETED, FAILED o CANCELLED.
- 5. Consegna il risultato solo all’account proprietario e rimuovi i media secondo la regola pubblicata.
Ciclo di vita delle attività
Conserva il taskId e fermati a uno stato terminale
| Evento | Record attività | Azione credito | Azione client |
|---|---|---|---|
| Attività accettata | Persisti taskId e costo previsto | Tratta la liquidazione come di proprietà del server | Inizia il polling misurato |
| Attività completata | Risultato terminale | Il lavoro completato rimane liquidato | Autorizza il recupero del risultato |
| Elaborazione non riuscita | Guasto terminale | Il contratto corrente rimborsa automaticamente l'elaborazione fallita | Leggi il guasto prima di decidere di reinviare |
| Esito della risposta incerto | Riconcilia prima di un altro POST | Non indovinare mai da un timeout | Usa il taskId memorizzato o la cronologia dell'account |
Esito della risposta incerto Nessun campo idempotency-key è documentato nel contratto pubblico. Il servizio chiamante dovrebbe disabilitare l'invio duplicato, persistere il primo taskId e riconciliare una risposta di rete incerta prima di emettere un altro POST.
Costo, privacy ed export
Inserisci limiti verificabili nell’integrazione
L’accesso API richiede e-mail verificata e almeno un ordine crediti PAID o COMPLETED. I crediti premio e prova sono disponibili solo nel flusso web autenticato e non possono essere automatizzati via API. Massimo 3 chiavi per account e 6 richieste di generazione al minuto per chiave. Le attività fallite vengono rimborsate e i media eliminati entro 24 ore.
Domande per sviluppatori
Verifica prima del rilascio
L’API supporta webhook?
Non ancora. Salva il taskId dopo POST e interroga GET sulla stessa route fino allo stato finale.
Esiste un SDK ufficiale?
Non sono stati pubblicati SDK ufficiali per linguaggio. HTTPS, Bearer, multipart e JSON possono essere chiamati da qualsiasi client HTTP server-side.
Quanti crediti costa una foto?
Una foto, un output batch o un volto selezionato in una foto di gruppo costano attualmente 3 crediti. Video e GIF usano secondi arrotondati e un minimo.
Posso mettere la chiave API nel frontend?
No. Conservala sul server e non inserirla in bundle browser, binari mobili, log, eventi analytics o ticket.
Verifica l’integrazione con una task rappresentativa
Testa campi, stati, costo e consegna con media autorizzati e minimi prima di passare a batch o video lunghi.
