Technische ontwerpreferentie

Ontwerp een end-to-end productie face swap-pipeline

Zet een media-generatieverzoek om in een eigendom, waarneembare en correct vereffende taak. Deze referentie scheidt het huidige DeepSwapAI API-contract van architectuur- en totale-kostenbeslissingen die uw integratie moet nemen.

Door DeepSwapAI ProductteamBijgewerkt op 27 juli 2026Technische ontwerpgids

Een openbare-contract referentie, geen privé-infrastructuurdiagram

Dit is een openbare-contract ontwerpreferentie, geen diagram van de privé-infrastructuur van DeepSwapAI. Het onderscheidt gedrag dat is geverifieerd in de openbare API van aanbevolen integratiecontroles. Het onthult geen aanbiedertopologie, wachtrijtechnologie, modelplaatsing, werknemersaantal, intern netwerkontwerp, doorvoer, latentie, SLA, nauwkeurigheid of visuele-kwaliteitsbenchmarks.

Gebruik het om te beslissen waar eigendom, validatie, taakstatus, nieuwe poging, vereffening, levering, verwijdering en bewijs in uw eigen integratie moeten leven. Voor exacte multipart-velden en reacties, gebruik het API-documentatie en OpenAPI 3.1-contract. Voor de onderzoeksconcepten in gezichtslokalisatie, identiteitsoverdracht, synthese, blending en videoconsistentie, lees hoe AI face swap werkt.

Vijf asynchrone workflows delen één controlevorm

Elke huidige generatieworkflow authenticeert met een Bearer API-sleutel, accepteert multipart-media, retourneert een taskId, en stelt eigenaar-gescope status beschikbaar via GET op dezelfde route. Voltooiing gebruikt polling; webhook-callbacks en officiële taal-SDK's zijn momenteel niet gepubliceerd.

WorkflowPOST en polling GETKosteneenheidPrimaire grens
Foto/api/ai-tasks6 credits per taak30 MB per afbeelding
Batchfoto/api/ai-tasks/batch-face-swap6 credits per output20 afbeeldingen, 95 MB gecombineerd
Gekoppelde groepsfoto/api/ai-tasks/multi-face-swap6 credits per vervangend gezicht10 gemapte gezichten, 95 MB gecombineerd
Video/api/ai-tasks/videoAlleen gezicht met behoud van scène: 3/s, min 12 bij 1080p600 seconden, 95 MB gecombineerde upload
GIF / korte clip/api/ai-tasks/gif3 credit per seconde, min 1230 seconden, 95 MB doel

De live werkruimte en de API-documentatie blijven leidend voor exacte formaten, minimumkosten en aanvraagvelden. Account- en API-taken vereisen een geverifieerd e-mailadres, per account kan één generatie tegelijk actief zijn en uitgeputte limieten kunnen HTTP 429 met informatie over opnieuw proberen teruggeven.

Geef elke onomkeerbare beslissing één eigenaar

01

Ingress en identiteit

Beëindig TLS, authenticeer de server-gehouden sleutel, wijs een verzoek-correlatie-ID toe en bind elke taak aan één account.

02

Beleid en validatie

Controleer toestemmingsstatus, workflowvelden, gedetecteerd mediatype, bytegrootte, aantal, duur, mapping, accountgereedheid en creditbeschikbaarheid.

03

Taakgrootboek

Bewaar de taskId, eigenaar, workflow, verwachte kosten, statustransities, tijdstempels en vereffeningsuitkomst voordat u de controle teruggeeft.

04

Begrensde verwerking

Ontkoppel verzoekacceptatie van generatie, begrens actief werk en onderscheid opnieuw probeerbare transportfouten van ongeldige invoer.

05

Vereffening

Gebruik één atomaire autoriteit voor reserverings-, voltooiings- en terugbetalingsbeslissingen voor mislukte taken, zodat een nieuwe poging niet twee keer kan worden belast of terugbetaald.

06

Levering en verwijdering

Autoriseer resultaattoegang door taakeigenaar, pas de afbeeldingsexport-entitlement toe en verwijder media volgens het gedocumenteerde 24-uurs schema.

Van verzoekcontract tot bewijsgestuurde verwijdering

  1. Bevries het openbare verzoekcontract. Kies de exacte workflow en noteer velden, medialimieten, kosteneenheid en eindtoestanden.
  2. Poort autorisatie, toestemming en accountgereedheid. Houd de API-sleutel server-side en vereis een toestemmingsbeslissing voordat u media accepteert.
  3. Valideer media en bereken kosten voordat u in de wachtrij plaatst. Inspecteer gedetecteerd type, grootte, aantal, duur, mapping en beschikbare credits voordat u dure werkzaamheden uitvoert.
  4. Maak één duurzame taakrecord aan. Bewaar eigendom, workflow, verwachte kosten, invoerreferenties, status en taskId.
  5. Verwerk asynchroon achter een begrensde wachtrij. Beperk gelijktijdigheid en classificeer tijdelijke versus permanente fouten.
  6. Vereffen credits precies één keer. Leg voltooid werk vast en pas het gedocumenteerde terugbetalingspad voor mislukte verwerking toe zonder dubbele vereffening.
  7. Stel eigenaar-gescope status en resultaattoegang beschikbaar. Pollen op een gemeten interval en stop bij COMPLETED, FAILED of CANCELLED.
  8. Handhaaf verwijdering en bewaar operationeel bewijs. Verwijder media volgens schema terwijl alleen het minimaal toegestane taak-, facturerings-, beveiligings- en ondersteuningsrecord wordt bewaard.

Houd verwerkingsstatus gescheiden van geldstatus

PENDINGPROCESSINGCOMPLETEDof MISLUKT / GEANNULEERD
GebeurtenisTaakrecordCreditactieClientactie
Verzoek afgewezen vóór taakcreatieGeen geaccepteerde taakLeid geen kosten afCorrigeer het verzoek of de accountstatus
Taak geaccepteerdBewaar taskId en verwachte kostenBehandel vereffening als server-eigendomBegin gemeten polling
Taak voltooidEindresultaatVoltooid werk blijft vereffendAutoriseer resultaat ophalen
Verwerking misluktEindfalenHuidig contract refunds mislukte verwerking automatischLees de fout voordat u besluit opnieuw in te dienen
Reactie-uitkomst onzekerAfstemmen voor een volgende POSTNooit raden na een time-outGebruik de opgeslagen taskId of accountgeschiedenis

Er is geen idempotentie-sleutelveld gedocumenteerd in het publieke contract. De aanroepende service moet dubbele verzending uitschakelen, de eerste taskId bewaren en een onzekere netwerkrespons afstemmen voordat een nieuwe POST wordt gedaan.

Alleen opnieuw proberen wanneer de foutklasse dit toestaat

StatusFoutklasseArchitectuurrespons
400Ongeldig verzoek of mediaPermanent afwijzen totdat velden of media veranderen.
401 / 403Sleutel- of accountgereedheidDe sleutel roteren of verificatie voltooien; niet herhalen.
402Onvoldoende creditsCredits toevoegen en pas na bevestiging een nieuwe taak indienen.
404Verkeerde eigenaar, route of taskIdIdentiteit en opgeslagen taakmetadata afstemmen.
429Snelheids- of actieve generatielimietRetry-After respecteren wanneer opgegeven, jitter toevoegen en pogingen beperken.
500Tijdelijke acceptatie- of leesfoutBegrensde exponentiële backoff gebruiken en afstemmen voor dubbele verzending.

Controlebeslissingen traceren zonder gevoelige media in logs te kopiëren

Aanbevolen taaktelemetrie omvat een correlatie-ID, taskId, accountidentificatie, workflow, gesaneerde mediafeiten, verwacht creditbedrag, statusovergangen, aantal pogingen, foutklasse, afwikkelingsgebeurtenis en verwijderingstijdstempel. Log geen API-sleutels, gezichtsafbeeldingen, volledige geüploade bestandsnamen, ondertekende resultaat-URL's of multipart-lichamen. De W3C Trace Context-aanbeveling definieert interoperabele verzoekcontext; het is een ontwerpoptie, geen bewering over de privé-implementatie van DeepSwapAI.

Voor uploadverdediging, valideer gedecodeerde bestandsnamen, gedetecteerde inhoud, toegestane formaten, aantallen en groottes; vertrouw niet alleen op de door de browser geleverde Content-Type. De OWASP File Upload Cheat Sheet is de externe beveiligingsreferentie. Gebruik de toestemmings- en openbaarmakingsplanner voor de menselijke autorisatiepoort en het Vertrouwenscentrum voor de huidige openbare servicerandvoorwaarden.

Vergelijk beheerd, zelfgehost en hybride op dezelfde gemeten workload

Vergelijk geen API-kosten met alleen ruwe GPU-verhuur. Stel eerst één workloadvenster vast: workflowmix, mediaduur en -resolutie, piekgelijktijdigheid, herhalingspercentage, retentie, beoordelingsvolume en vereiste beschikbaarheid. Ken vervolgens elke terugkerende en foutgerelateerde kost toe aan hetzelfde venster.

KostendimensieBeheerd APIZelfgehostHybrideTe verzamelen bewijs
VerwerkingscapaciteitGepubliceerde taak- of duurkostenGPU-lease of -aankoop, inactieve headroom, schaling en modelruntimeInterne basislijn plus externe overloop of specialistische verwerkingVoltooide eenheden, duur, resolutie, gelijktijdigheid en gebruik
Engineering en operatiesIntegratie, taakpersistentie, polling, beoordeling en leverancierswijzigingsafhandelingModelserving, wachtrij, upgrades, capaciteitsplanning, implementatie en oproepbare responsOrchestratie, providerabstractie en intern platformeigendomGemeten engineeruren, releasecadans en oproepbare belasting
Veiligheid en governanceApplicatietoestemmingspoort, accountbeleid, beoordeling en bewijsAlle moderatie, opslag, verwijdering, toegangscontrole en auditcontrolesGedeelde controles met een expliciete eigenaar voor elke beslissingBeoordelingsminuten, escalatiepercentage, retentieomvang en controle-eigenaren
Opslag en leveringApplicatiezijde invoer, resultaat en netwerkafhandelingInvoer, tussenresultaat, resultaat, back-up, egress en verwijderingsoperatiesInterne records plus begrensde provideroverdrachtenBewaarde bytes, overdrachtsvolume, retentietijd en verwijderingswerk
Falen en betrouwbaarheidOpnieuw proberen, afstemmen, provideruitvalafhandeling en schakelkostenRedundantie, incidentrespons, mislukte taken, herstel en ongebruikte capaciteitZowel afhankelijkheidsfalen als interne orchestratiefalenFaalkans, hersteltijd, dubbel werk en ondersteuningsbelasting
Vergelijkbare TCO-formule: variabele verwerking + gereserveerde capaciteit + engineering en operaties + veiligheid en governance + opslag en levering + falen en betrouwbaarheid. Gebruik de huidige workflowkostencalculator voor de gepubliceerde DeepSwapAI-verwerkingskant, en gebruik gemeten arbeid, infrastructuuroffertes en incidentgegevens voor de delen die uw team beheert.

Dit raamwerk publiceert geen zelfgehoste prijsbenchmark en beweert niet dat beheerd, zelfgehost of hybride universeel goedkoper is. De beslissing hangt af van de workload en controles die voor dezelfde periode kunnen worden aangetoond.

Kies beheerd, zelfgehost of hybride op basis van de controles die u moet bezitten

ModelU bezitExterne afhankelijkheidBeste pasvorm
Beheerd APIToestemmingspoort, applicatie-UX, taakpersistentie, polling, beoordeling en bedrijfsbeleidGepubliceerd API, limieten, prijzen en verwerkingsgedragTeams die integratiesnelheid verkiezen boven infrastructuurcontrole
ZelfgehostModel, GPU-capaciteit, wachtrij, moderatie, opslag, beveiliging, afwikkeling, verwijdering en incidentresponsModel- en infrastructuurtoeleveringsketenTeams met een gerechtvaardigde controle- of implementatiebehoefte en operationele capaciteit
HybrideIntern beleid, orchestratie, auditrecord, beoordeling en providerabstractieEen of meer begrensde generatiedienstenTeams die applicatieniveaucontrole nodig hebben zonder elk modelonderdeel te bedienen
Beslissingsgrens: deze matrix vergelijkt verantwoordelijkheid, niet uitvoerkwaliteit. Het stelt niet vast dat één implementatiemodel sneller, veiliger, goedkoper of nauwkeuriger is.

Huidige productfeiten plus primaire externe standaarden

Het DeepSwapAI Productteam heeft de vijf openbare routes, Bearer-authenticatie, multipart-verzoeken, taakstatussen, polling-stroom, foutresponses, gelijktijdigheidsgrens, creditafwikkeling, proefafbeeldingrecht en 24-uurs mediaverwijdering gecontroleerd op 22 juli 2026. De aanbevolen controles zijn gebaseerd op de OpenAPI Specificatie 3.1.2, OWASP uploadrichtlijnen, NIST AI RMF 1.0, en W3C Trace Context. Zie de claimverificatiemethodologie voor hoe huidige productverklaringen worden gescheiden van algemene ontwerprichtlijnen.

Weet wat het publieke contract wel en niet vaststelt

Is dit de privé-productiearchitectuur van DeepSwapAI?

Nee. Het is een ontwerpreferentie voor het publieke contract en onthult geen providertopologie, wachtrijtechnologie, modelplaatsing, werknemersaantal, intern netwerk of serviceniveaudoelen.

Hoe leert een client dat een taak is voltooid?

Bewaar de taskId die door POST is geretourneerd en poll GET op dezelfde workflowroute tot COMPLETED, FAILED of CANCELLED. Webhook-callbacks zijn momenteel niet gepubliceerd.

Kan de API-sleutel in clientcode worden geplaatst?

Nee. Behandel het als een server-side geheim en houd het buiten browserbundels, mobiele binaire bestanden, repositories, analyses, logs en ondersteuningsberichten.

Publiceert de API een idempotentie-sleutel?

Er is geen idempotentie-sleutelveld gedocumenteerd. Voorkom dubbele verzending, bewaar de eerste taskId en stem onzekere responsen af voordat u een nieuwe POST doet.

Garandeert dit ontwerp doorvoer of kwaliteit?

Nee. Het is geen benchmark, SLA, nauwkeurigheidsscore of kwaliteitsgarantie.

Implementeer tegen het geverifieerde contract

Gebruik de exacte endpointreferentie en het OpenAPI-bestand wanneer u klaar bent om dit controlemodel om te zetten in een server-side integratie.

Open API-documentatie