Bewijsgrens
Een openbare-contract referentie, geen privé-infrastructuurdiagram
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.
Geverifieerd openbaar contract
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.
| Workflow | POST en polling GET | Kosteneenheid | Primaire grens |
|---|---|---|---|
| Foto | /api/ai-tasks | 6 credits per taak | 30 MB per afbeelding |
| Batchfoto | /api/ai-tasks/batch-face-swap | 6 credits per output | 20 afbeeldingen, 95 MB gecombineerd |
| Gekoppelde groepsfoto | /api/ai-tasks/multi-face-swap | 6 credits per vervangend gezicht | 10 gemapte gezichten, 95 MB gecombineerd |
| Video | /api/ai-tasks/video | Alleen gezicht met behoud van scène: 3/s, min 12 bij 1080p | 600 seconden, 95 MB gecombineerde upload |
| GIF / korte clip | /api/ai-tasks/gif | 3 credit per seconde, min 12 | 30 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.
Referentiearchitectuur
Geef elke onomkeerbare beslissing één eigenaar
Ingress en identiteit
Beëindig TLS, authenticeer de server-gehouden sleutel, wijs een verzoek-correlatie-ID toe en bind elke taak aan één account.
Beleid en validatie
Controleer toestemmingsstatus, workflowvelden, gedetecteerd mediatype, bytegrootte, aantal, duur, mapping, accountgereedheid en creditbeschikbaarheid.
Taakgrootboek
Bewaar de taskId, eigenaar, workflow, verwachte kosten, statustransities, tijdstempels en vereffeningsuitkomst voordat u de controle teruggeeft.
Begrensde verwerking
Ontkoppel verzoekacceptatie van generatie, begrens actief werk en onderscheid opnieuw probeerbare transportfouten van ongeldige invoer.
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.
Levering en verwijdering
Autoriseer resultaattoegang door taakeigenaar, pas de afbeeldingsexport-entitlement toe en verwijder media volgens het gedocumenteerde 24-uurs schema.
Achtstaps verzoekvolgorde
Van verzoekcontract tot bewijsgestuurde verwijdering
- Bevries het openbare verzoekcontract. Kies de exacte workflow en noteer velden, medialimieten, kosteneenheid en eindtoestanden.
- Poort autorisatie, toestemming en accountgereedheid. Houd de API-sleutel server-side en vereis een toestemmingsbeslissing voordat u media accepteert.
- 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.
- Maak één duurzame taakrecord aan. Bewaar eigendom, workflow, verwachte kosten, invoerreferenties, status en taskId.
- Verwerk asynchroon achter een begrensde wachtrij. Beperk gelijktijdigheid en classificeer tijdelijke versus permanente fouten.
- Vereffen credits precies één keer. Leg voltooid werk vast en pas het gedocumenteerde terugbetalingspad voor mislukte verwerking toe zonder dubbele vereffening.
- Stel eigenaar-gescope status en resultaattoegang beschikbaar. Pollen op een gemeten interval en stop bij COMPLETED, FAILED of CANCELLED.
- Handhaaf verwijdering en bewaar operationeel bewijs. Verwijder media volgens schema terwijl alleen het minimaal toegestane taak-, facturerings-, beveiligings- en ondersteuningsrecord wordt bewaard.
Status en vereffening
Houd verwerkingsstatus gescheiden van geldstatus
| Gebeurtenis | Taakrecord | Creditactie | Clientactie |
|---|---|---|---|
| Verzoek afgewezen vóór taakcreatie | Geen geaccepteerde taak | Leid geen kosten af | Corrigeer het verzoek of de accountstatus |
| Taak geaccepteerd | Bewaar taskId en verwachte kosten | Behandel vereffening als server-eigendom | Begin gemeten polling |
| Taak voltooid | Eindresultaat | Voltooid werk blijft vereffend | Autoriseer resultaat ophalen |
| Verwerking mislukt | Eindfalen | Huidig contract refunds mislukte verwerking automatisch | Lees de fout voordat u besluit opnieuw in te dienen |
| Reactie-uitkomst onzeker | Afstemmen voor een volgende POST | Nooit raden na een time-out | Gebruik 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.
Falingsbeleid
Alleen opnieuw proberen wanneer de foutklasse dit toestaat
| Status | Foutklasse | Architectuurrespons |
|---|---|---|
| 400 | Ongeldig verzoek of media | Permanent afwijzen totdat velden of media veranderen. |
| 401 / 403 | Sleutel- of accountgereedheid | De sleutel roteren of verificatie voltooien; niet herhalen. |
| 402 | Onvoldoende credits | Credits toevoegen en pas na bevestiging een nieuwe taak indienen. |
| 404 | Verkeerde eigenaar, route of taskId | Identiteit en opgeslagen taakmetadata afstemmen. |
| 429 | Snelheids- of actieve generatielimiet | Retry-After respecteren wanneer opgegeven, jitter toevoegen en pogingen beperken. |
| 500 | Tijdelijke acceptatie- of leesfout | Begrensde exponentiële backoff gebruiken en afstemmen voor dubbele verzending. |
Observerbaarheid en beveiliging
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.
Totale eigendomskosten
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.
| Kostendimensie | Beheerd API | Zelfgehost | Hybride | Te verzamelen bewijs |
|---|---|---|---|---|
| Verwerkingscapaciteit | Gepubliceerde taak- of duurkosten | GPU-lease of -aankoop, inactieve headroom, schaling en modelruntime | Interne basislijn plus externe overloop of specialistische verwerking | Voltooide eenheden, duur, resolutie, gelijktijdigheid en gebruik |
| Engineering en operaties | Integratie, taakpersistentie, polling, beoordeling en leverancierswijzigingsafhandeling | Modelserving, wachtrij, upgrades, capaciteitsplanning, implementatie en oproepbare respons | Orchestratie, providerabstractie en intern platformeigendom | Gemeten engineeruren, releasecadans en oproepbare belasting |
| Veiligheid en governance | Applicatietoestemmingspoort, accountbeleid, beoordeling en bewijs | Alle moderatie, opslag, verwijdering, toegangscontrole en auditcontroles | Gedeelde controles met een expliciete eigenaar voor elke beslissing | Beoordelingsminuten, escalatiepercentage, retentieomvang en controle-eigenaren |
| Opslag en levering | Applicatiezijde invoer, resultaat en netwerkafhandeling | Invoer, tussenresultaat, resultaat, back-up, egress en verwijderingsoperaties | Interne records plus begrensde provideroverdrachten | Bewaarde bytes, overdrachtsvolume, retentietijd en verwijderingswerk |
| Falen en betrouwbaarheid | Opnieuw proberen, afstemmen, provideruitvalafhandeling en schakelkosten | Redundantie, incidentrespons, mislukte taken, herstel en ongebruikte capaciteit | Zowel afhankelijkheidsfalen als interne orchestratiefalen | Faalkans, hersteltijd, dubbel werk en ondersteuningsbelasting |
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.
Bouwbeslissing
Kies beheerd, zelfgehost of hybride op basis van de controles die u moet bezitten
| Model | U bezit | Externe afhankelijkheid | Beste pasvorm |
|---|---|---|---|
| Beheerd API | Toestemmingspoort, applicatie-UX, taakpersistentie, polling, beoordeling en bedrijfsbeleid | Gepubliceerd API, limieten, prijzen en verwerkingsgedrag | Teams die integratiesnelheid verkiezen boven infrastructuurcontrole |
| Zelfgehost | Model, GPU-capaciteit, wachtrij, moderatie, opslag, beveiliging, afwikkeling, verwijdering en incidentrespons | Model- en infrastructuurtoeleveringsketen | Teams met een gerechtvaardigde controle- of implementatiebehoefte en operationele capaciteit |
| Hybride | Intern beleid, orchestratie, auditrecord, beoordeling en providerabstractie | Een of meer begrensde generatiediensten | Teams die applicatieniveaucontrole nodig hebben zonder elk modelonderdeel te bedienen |
Bronnen en methode
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.
Architectuurvragen
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.