Bevisgräns
En referens för offentligt kontrakt, inte ett privat infrastrukturschema
Använd den för att bestämma var ägarskap, validering, uppgiftstillstånd, återförsök, avräkning, leverans, radering och bevis ska finnas i din egen integration. För exakta flerdelsfält och svar, använd API-dokumentation och OpenAPI 3.1-kontraktet. För forskningskoncepten bakom ansiktslokalisering, identitetsöverföring, syntes, blandning och videokonsistens, läs hur AI-ansiktsbyte fungerar.
Verifierat offentligt kontrakt
Fem asynkrona arbetsflöden delar en kontrollform
Varje nuvarande genereringsarbetsflöde autentiserar med en Bearer API-nyckel, accepterar flerdelsmedia, returnerar en taskId, och exponerar ägaromfattad status via GET på samma rutt. Slutförande använder polling; webhook-återanrop och officiella SDK:er för språk publiceras för närvarande inte.
| Arbetsflöde | POST och polling GET | Kostnadsenhet | Primär begränsning |
|---|---|---|---|
| Foto | /api/ai-tasks | 6 krediter per uppgift | 30 MB per bild |
| Batchfoto | /api/ai-tasks/batch-face-swap | 6 krediter per utdata | 20 bilder, 95 MB totalt |
| Kartlagt gruppfoto | /api/ai-tasks/multi-face-swap | 6 krediter per ersättningsansikte | 10 kartlagda ansikten, 95 MB totalt |
| Video | /api/ai-tasks/video | Endast ansikte med scenbevarande: 3/s, minst 12 vid 1080p | 600 sekunder, 95 MB kombinerad uppladdning |
| GIF / kort klipp | /api/ai-tasks/gif | 3 kredit per sekund, minst 12 | 30 sekunder, 95 MB mål |
Den aktiva arbetsytan och API-dokumentationen är fortsatt avgörande för exakta format, minimiavgifter och begärandefält. Konto- och API-uppgifter kräver en verifierad e-postadress, en generering i taget kan vara aktiv per konto och uttömda gränser kan returnera HTTP 429 med information om nytt försök.
Referensarkitektur
Ge varje oåterkalleligt beslut en ägare
Ingång och identitet
Avsluta TLS, autentisera den serverhållna nyckeln, tilldela en begäranskorrelations-ID och bind varje uppgift till ett konto.
Policy och validering
Kontrollera behörighetsstatus, arbetsflödesfält, detekterad mediatyp, bytestorlek, antal, varaktighet, kartläggning, kontoberedskap och kredittillgänglighet.
Uppgiftsreskontra
Spara taskId, ägare, arbetsflöde, förväntad avgift, tillståndsövergångar, tidsstämplar och avräkningsresultat innan du återlämnar kontroll.
Begränsad bearbetning
Frikoppla begäransacceptans från generering, tak för aktivt arbete och särskilj återförsöksbara transportfel från ogiltiga indata.
Avräkning
Använd en atomär auktoritet för beslut om reservering, slutförande och återbetalning av misslyckad uppgift så att ett återförsök inte kan debitera eller återbetala två gånger.
Leverans och radering
Auktorisera resultatåtkomst av uppgiftsägare, tillämpa rättigheten för bildexport och radera media enligt det dokumenterade 24-timmarsschemat.
Åttastegs begäranssekvens
Radera från begäranskontrakt till bevisunderstödd radering
- Frys det offentliga begäranskontraktet. Välj det exakta arbetsflödet och registrera fält, mediagränser, kostnadsenhet och terminaltillstånd.
- Styra auktorisering, samtycke och kontoberedskap. Håll API-nyckeln serversida och kräv ett behörighetsbeslut innan du accepterar media.
- Validera media och beräkna kostnad före köning. Inspektera detekterad typ, storlek, antal, varaktighet, kartläggning och tillgängliga krediter innan dyrt arbete.
- Skapa en beständig uppgiftspost. Spara ägarskap, arbetsflöde, förväntad avgift, indatareferenser, tillstånd och taskId.
- Bearbeta asynkront bakom en begränsad kö. Begränsa samtidigheten och klassificera övergående kontra permanenta fel.
- Avräkna krediter exakt en gång. Genomför slutfört arbete och tillämpa den dokumenterade återbetalningsvägen för misslyckad bearbetning utan dubbel avräkning.
- Exponera ägaromfattad status och resultatåtkomst. Poll med ett uppmätt intervall och stoppa vid COMPLETED, FAILED eller CANCELLED.
- Genomdriv radering och behåll operativa bevis. Radera media enligt schema samtidigt som endast den minsta tillåtna uppgifts-, fakturerings-, säkerhets- och supportposten behålls.
Tillstånd och avräkning
Håll bearbetningstillstånd separat från pengatillstånd
| Händelse | Uppgiftspost | Kreditåtgärd | Klientåtgärd |
|---|---|---|---|
| Begäran avvisad före uppgiftsskapande | Ingen accepterad uppgift | Anta inte en avgift | Korrigera begäran eller kontotillstånd |
| Uppgift accepterad | Spara taskId och förväntad kostnad | Behandla avräkning som serverägd | Påbörja mätt polling |
| Uppgift slutförd | Terminalresultat | Slutfört arbete förblir avräknat | Auktorisera resultathämtning |
| Bearbetningen misslyckades | Terminalfel | Nuvarande kontrakt återbetalar misslyckad bearbetning automatiskt | Läs felet innan du beslutar att skicka igen |
| Svarssultat osäkert | Stäm av före en annan POST | Gissa aldrig från en timeout | Använd lagrad taskId eller kontohistorik |
Inget idempotency-key-fält är dokumenterat i det offentliga kontraktet. Den anropande tjänsten bör inaktivera dubblettinlämning, spara det första taskId och stämma av ett osäkert nätverkssvar innan en annan POST utfärdas.
Felpolicy
Försök igen endast när felklassen tillåter det
| Status | Felklass | Arkitektursvar |
|---|---|---|
| 400 | Ogiltig begäran eller media | Avvisa permanent tills fält eller media ändras. |
| 401 / 403 | Nyckel eller kontoberedskap | Rotera nyckeln eller slutför verifiering; loopa inte. |
| 402 | Otillräckliga krediter | Lägg till krediter och skicka en ny uppgift endast efter bekräftelse. |
| 404 | Fel ägare, rutt eller taskId | Stäm av identitet och lagrad uppgiftsmetadata. |
| 429 | Hastighets- eller aktiv-genereringsgräns | Respektera Retry-After när den tillhandahålls, lägg till jitter och begränsa återförsök. |
| 500 | Tillfälligt acceptans- eller läsfel | Använd begränsad exponentiell backoff och stäm av före dubblettinlämning. |
Observerbarhet och säkerhet
Spåra kontrollbeslut utan att kopiera känslig media till loggar
Rekommenderad uppgiftstelemetri inkluderar en korrelations-ID, taskId, kontoidentifierare, arbetsflöde, sanerade mediafakta, förväntat kreditbelopp, tillståndsövergångar, antal återförsök, felklass, avräkningshändelse och borttagningstidsstämpel. Logga inte API-nycklar, ansiktsbilder, fullständiga uppladdade filnamn, signerade resultat-URL:er eller flerdelade kroppar. W3C Trace Context-rekommendationen definierar interoperabel begärandekontext; det är ett designalternativ, inte ett påstående om DeepSwapAI:s privata implementering.
För uppladdningsförsvar, validera avkodade filnamn, upptäckt innehåll, tillåtna format, antal och storlekar; lita inte enbart på webbläsarens Content-Type. OWASP File Upload Cheat Sheet är den externa säkerhetsreferensen. Använd samtyckes- och informationsplaneraren för den mänskliga auktorisationsgrinden och Förtroendecenter för nuvarande offentliga tjänstegränser.
Total ägandekostnad
Jämför hanterad, självhanterad och hybrid på samma uppmätta arbetsbelastning
Jämför inte en API-avgift med enbart GPU-hyra. Fixera först ett arbetsbelastningsfönster: arbetsflödesmix, medielängd och upplösning, toppkonkurrens, återförsöksfrekvens, lagring, granskningsvolym och erforderlig tillgänglighet. Tilldela sedan varje återkommande och felrelaterad kostnad till samma fönster.
| Kostnadsdimension | Hanterad API | Självhanterad | Hybrid | Bevis att samla in |
|---|---|---|---|---|
| Bearbetningskapacitet | Publicerad uppgifts- eller tidsavgift | GPU-leasing eller köp, inaktiv marginal, skalning och modellkörningstid | Intern baslinje plus extern överbelastning eller specialistbearbetning | Slutförda enheter, varaktighet, upplösning, konkurrens och utnyttjande |
| Teknik och drift | Integration, uppgiftspersistens, polling, granskning och leverantörsbyte | Modellhantering, kö, uppgraderingar, kapacitetsplanering, driftsättning och jourberedskap | Orkestrering, leverantörsabstraktion och intern plattformsägande | Uppmätta ingenjörstimmar, releasefrekvens och jourbelastning |
| Säkerhet och styrning | Tillämpning av samtyckesgrind, kontopolicy, granskning och bevis | All moderering, lagring, borttagning, åtkomstkontroll och revisionskontroller | Delade kontroller med en utsedd ägare för varje beslut | Granskningsminuter, eskaleringsfrekvens, lagringsomfattning och kontrollägare |
| Lagring och leverans | Applikationssidans hantering av indata, resultat och nätverk | Indata, mellanlagring, resultat, säkerhetskopiering, utgående trafik och borttagningsoperationer | Interna poster plus begränsade leverantörsöverföringar | Byte som lagras, överföringsvolym, lagringstid och borttagningsarbete |
| Fel och tillförlitlighet | Återförsök, avstämning, hantering av leverantörsavbrott och växlingskostnad | Redundans, incidenthantering, misslyckade jobb, återställning och outnyttjad kapacitet | Både beroendefel och internt orkestreringsfel | Felfrekvens, återställningstid, dubblettarbete och supportbelastning |
Detta ramverk publicerar inget självhanterat prisriktmärke och påstår inte att hanterad, självhanterad eller hybrid är universellt billigare. Beslutet beror på arbetsbelastningen och de kontroller som kan bevisas för samma period.
Byggbeslut
Välj hanterad, självhanterad eller hybrid baserat på de kontroller du måste äga
| Modell | Du äger | Externt beroende | Bästa passform |
|---|---|---|---|
| Hanterad API | Samtyckesgrind, applikations-UX, uppgiftspersistens, polling, granskning och affärspolicy | Publicerad API, gränser, prissättning och bearbetningsbeteende | Team som prioriterar integrationshastighet över infrastrukturkontroll |
| Självhanterad | Modell, GPU-kapacitet, kö, moderering, lagring, säkerhet, avräkning, borttagning och incidenthantering | Modell- och infrastrukturförsörjningskedja | Team med ett motiverat kontroll- eller driftsättningskrav och operationskapacitet |
| Hybrid | Intern policy, orkestrering, revisionspost, granskning och leverantörsabstraktion | En eller flera begränsade generationstjänster | Team som behöver applikationsnivåkontroll utan att driva varje modellkomponent |
Källor och metod
Aktuella produktfakta plus primära externa standarder
DeepSwapAI Produktteamet kontrollerade de fem offentliga vägarna, Bearer-autentisering, flerdelade begäranden, uppgiftstillstånd, pollningsflöde, felsvar, konkurrensgräns, kreditavräkning, testbildsberättigande och 24-timmars mediaborttagning den 22 juli 2026. De rekommenderade kontrollerna är informerade av OpenAPI Specifikation 3.1.2, OWASP-uppladdningsguiden, NIST AI RMF 1.0, och W3C Trace Context. Se metod för påståendeverifiering för hur nuvarande produktuttalanden separeras från allmän designvägledning.
Arkitekturfrågor
Vet vad det offentliga kontraktet fastställer och inte fastställer
Är detta DeepSwapAI:s privata produktionsarkitektur?
Nej. Det är en designreferens för offentligt kontrakt och avslöjar inte leverantörstopologi, köteknik, modellplacering, antal arbetare, internt nätverk eller servicenivåmål.
Hur får en klient veta att en uppgift är klar?
Spara taskId som returneras av POST och polla GET på samma arbetsflödesrutt tills COMPLETED, FAILED eller CANCELLED. Webhook-återanrop publiceras för närvarande inte.
Kan API-nyckeln placeras i klientkod?
Nej. Behandla den som en serversidahemlighet och håll den borta från webbläsarpaket, mobilbinärer, arkiv, analysverktyg, loggar och supportmeddelanden.
Publicerar API en idempotency-nyckel?
Inget idempotency-key-fält är dokumenterat. Förhindra dubblettinlämning, spara det första taskId och stäm av osäkra svar före en annan POST.
Garantierar denna design genomströmning eller kvalitet?
Nej. Det är inte ett riktmärke, SLA, noggrannhetspoäng eller kvalitetsgaranti.