Je hebt de AI-video-face-swaps overal gezien – vrienden die in filmscènes spelen, creators die alle rollen in hun eigen sketches vertolken, merken die presentatoren wisselen zonder opnieuw te hoeven filmen. Leuk. Maar hier is de versie die niemand je laat zien: wat als je één video kunt nemen en er tien verschillende versies van kunt genereren, elk met een ander gezicht, allemaal in één batch, met een tool die privé op je eigen computer draait?
Precies dat gaan we vandaag bouwen met de YouCam AI Video Face Swap API en Claude. Geen programmeerskills. Je hoeft je video's niet te uploaden naar een willekeurige website. Eén prompt, één gratis API-sleutel en je hebt je eigen batch-face-swapmachine.
Drie stappen. Laten we beginnen.
Wat je nodig hebt voordat je begint
- Claude Cowork: Anthropic's agentische workspace-app. Het bouwt de tool voor je.
- Een YouCam API-sleutel: gratis aanmelden, en je krijgt 40 gratis credits om meteen te beginnen swappen.
- Eén doelvideo: de video waarvan het gezicht wordt vervangen.
- Een paar gezichtsfoto's: de gezichten die je wilt inswappen, tot 10 tegelijk. Elk gezicht levert zijn eigen aparte geswapte video op.
Dat is alles. Geen videobewerkingssoftware, geen watermerken van willekeurige freemiumtools.

Stap 1: vraag Claude om je face-swap-videotool te bouwen
Open Claude Cowork en plak de prompt hieronder. Claude bouwt een kleine lokale webtool: je uploadt één video, voegt meerdere gezichtsfoto's toe, en de tool draait een aparte AI-face-swap voor elk gezicht tegen dezelfde video, waarbij de resultaten worden getoond zodra ze klaar zijn.

Hier is de prompt – kopieer alles:
Ik wil dat je een lokale tool voor me bouwt die de "AI Video Face Swap"-API (face-swap-vid) van Perfect Corp's YouCam gebruikt om een gezicht in een doelvideo te wisselen. Ik heb al een YouCam API-sleutel en plak die in de UI van de tool — vraag er in deze prompt niet naar. Functionele vereisten * Bouw een web-UI (lokaal gehost) waarin ik het volgende kan: * ÉÉN doelvideo uploaden (de video waarvan het gezicht wordt vervangen). Laat een voorbeeldspeler zien en lees automatisch de duur uit zodra de video geladen is. * MEERDERE referentie-gezichtsfoto's tegelijk uploaden (tot 10), met miniatuurvoorbeelden, en de mogelijkheid om er vóór het indienen elke gewenste foto te verwijderen. * De uitvoerduur in seconden instellen (dst_duration), automatisch vooraf ingevuld met de werkelijke duur van de geüploade video (naar boven afgerond, met een maximum van 30), door mij aanpasbaar. * Op één knop klikken om de hele batch te starten. Voor elke referentie-gezichtsfoto moet een aparte face-swap-taak tegen DEZELFDE doelvideo worden uitgevoerd — hergebruik de ene videoupload, upload de video niet opnieuw per gezicht. Toon resultaten zodra ze klaar zijn. Laat me niet wachten op de traagste taak voordat ik het eerste resultaat zie — één kaart per gezicht: miniatuur van het gezicht, een spinner tijdens de verwerking, daarna de uiteindelijke gewisselde resultaatvideo (inline afspeelbaar) plus een link om deze op volledige grootte te openen. Als één face swap mislukt, mag alleen die kaart een foutmelding tonen; de rest van de batch gaat door. Technische feiten over deze API die je moet weten * Basis-URL: https://yce-api-01.makeupar.com * Authenticatie: V2 API — enkel "Authorization: Bearer YOUR_API_KEY" op ieder verzoek, geen aparte token-exchange-call. * Bestandsupload-flow: POST /s2s/v2.0/file/face-swap-vid met body { "files": [{ "content_type", "file_name", "file_size" }] }. Dezezelfde endpoint wordt gebruikt om ZOWEL de doelvideo als elke referentie-gezichtsafbeelding te registreren — roep hem gewoon één keer per bestand aan met het juiste content_type ("video/mp4" of "image/jpeg" enz.). De response bevat een file_id plus een presigned upload-URL (requests[0].url / requests[0].method) — het aanroepen van deze endpoint uploadt het bestand NIET; je moet de ruwe bestandsbytes apart via PUT naar die URL sturen. Stuur geen Content-Length-header mee bij die PUT; laat de HTTP-client deze instellen, anders mislukt de upload. De exacte JSON-nesting van file_id / requests kan per documentversie verschillen, dus parse de registratie-response defensief (zoek recursief naar deze keys) in plaats van uit te gaan van één vaste structuur. * Bestandslimieten: doelvideo mag niet langer zijn dan 30 seconden, 4K-resolutie of 30 FPS; container mov/mp4; bestandsgrootte tot 100MB. Deze API ondersteunt alleen video's met één gezicht. * Taak aanmaken: POST /s2s/v2.0/task/face-swap-vid met body { "src_file_id": <video file_id>, "ref_file_id": <face file_id>, "dst_duration": <seconds> } → retourneert { "data": { "task_id" } }. * Polling: GET /s2s/v2.0/task/face-swap-vid/{task_id} → controleer taakstatus. Documentversies zijn hier inconsistent — soms verschijnt het resultaat als een kale top-level url zodra het klaar is, zonder expliciet statusveld, soms is het genest onder data.task_status / data.results.url zoals bij andere YouCam-taak-API's. Parse defensief: beschouw het vinden van een result-URL als succes; zoek anders naar een expliciete task_status (running / success / error), waarbij je standaard uitgaat van running als er nog niets is gevonden. * Rate limit: ongeveer 250 verzoeken / 300 seconden per API-sleutel. Beperk bij het uploaden/aanmaken van taken voor meerdere gezichten in één batch de gelijktijdigheid (bijv. 3 tegelijk) in plaats van alles in één keer af te vuren. * Dit is een server-to-server-API. Deze rechtstreeks vanuit browser-JavaScript aanroepen leidt tot CORS-fouten ("Failed to fetch"). Bouw een kleine lokale Node.js/Express-server die de API-sleutel bevat en alle calls server-side naar Perfect Corp proxyt. De browser-UI mag alleen praten met deze lokale server (bijv. http://localhost:3939), nooit direct met yce-api-01.makeupar.com. * De API-sleutel mag nooit op schijf terechtkomen. Laat de browser de sleutel in een gewone JS-variabele houden (uit het invoerveld in de UI) en stuur hem bij elk verzoek naar de lokale server mee via een custom header (bijv. X-YCE-API-Key); de lokale server leest die header per verzoek uit en stuurt hem upstream door als "Authorization: Bearer <key>". Schrijf de sleutel niet weg naar een configbestand, env-bestand en log hem niet. UI-implementatie-guardrail (vermijd een bekende bug) * Voor elke uploadtrigger ("klik om een video te uploaden" / "klik om gezichtsfoto's te uploaden") moet je het klik-naar-bestandskiezer-gedrag exact ÉÉN KEER koppelen. Een veelgemaakte fout: het verborgen <input type="file">-element in een <label> wikkelen EN ook input.click() aanroepen vanuit een JS-click-handler op datzelfde label. De native click-forwarding van het label plus de handmatige .click()-aanroep opent de bestandskiezer twee keer per klik, en in de meeste browsers annuleert de tweede call het dialoogvenster dat de eerste net heeft geopend — waardoor klikken helemaal niets lijkt te doen, zonder foutmelding. Gebruik een gewone container die geen <label> is (bijv. een <div role="button" tabindex="0">) als dropzone/klikdoel en trigger het file-input-element via één enkele JS-click-handler (plus een keydown-handler voor Enter/Spatie zodat het nog steeds via het toetsenbord toegankelijk is). Opleverings- / verpakkingsvereisten * Pure Node.js + Express + multer. Geen build-stap, geen frontendframework. * Single-page HTML/CSS/JS-frontend, geserveerd als statische bestanden door dezelfde Express-server (zelfde origin, dus geen CORS-config nodig op de server zelf). * Voeg een package.json met de dependencies toe. * Voeg dubbelklik-launchers toe voor ZOWEL macOS als Windows: een .command-bestand voor macOS en een .bat-bestand voor Windows. Elk daarvan moet: cd naar de eigen map, npm install draaien alleen als node_modules nog niet bestaat, automatisch http://localhost:3939 in de browser openen na een korte pauze, en daarna npm start uitvoeren. Laat npm install bij het installeren wijzen naar een project-lokale cachemap (--cache "$(pwd)/.npm-cache" op Mac, --cache "%cd%\.npm-cache" op Windows) in plaats van de globale npm-cache — op sommige machines is de globale npm-cache corrupt of heeft die kapotte rechten, waardoor installs anders stuklopen, en dit voorkomt dat probleem volledig. * Test de serverlogica zelf voordat je die aan mij overdraagt — verifieer dat de verzoekvormen voor bestandsupload / taakaanmaak / polling daadwerkelijk werken tegen de echte API. Als ik je nog geen echte sleutel heb gegeven, valideer dan met een expres ongeldige sleutel en controleer of je de verwachte 401-responses bij elke stap krijgt, zodat we weten dat de endpoints en payloadvormen correct zijn aangesloten. * Doe ook een sanity check van de upload-UI aan de frontend-kant (bijv. bevestig dat er precies één klik-naar-bestandskiezer-binding per dropzone is, volgens de guardrail hierboven) in plaats van alleen de serverroutes te testen.Claude bouwt het, test de API‑koppeling en geeft je een map terug. Dubbelklik op start-mac.command (Mac) of start-windows.bat (Windows), en je faceswapstudio opent op localhost:3939.

Stap 2: haal je gratis YouCam API-sleutel (en 40 gratis credits)
De tool draait op dezelfde YouCam AI Video Face Swap-engine die ook YouCams online face swap aandrijft. Om hem te gebruiken ga je naar de YouCam AI API-pagina, meld je je aan en claim je je 40 gratis credits — die zijn meteen van jou zodra je registreert.

Kopieer je API-sleutel uit het dashboard. De tool slaat die nooit op: hij leeft alleen in je browsersessie en wordt bij elk verzoek veilig verzonden. Niet op schijf geschreven, niet gelogd, niemand anders z'n zaak dan die van jou.
Stap 3: één video erin, tien face swaps eruit
Terug in je lokale tool:
- Plak je API-sleutel bovenaan.
- Upload je doelvideo — de tool geeft een preview en vult automatisch de uitvoerduur voor je in.
- Voeg tot 10 gezichtsfoto's toe. Er verschijnen miniaturen; verwijder alles waar je op terugkomt.
- Klik op de knop. Elk gezicht krijgt z'n eigen kaart met een spinner en daarna z'n eigen voltooide swap — direct daar afspeelbaar, met een link op volledig formaat. Drie swaps worden tegelijk verwerkt, en als er één faalt gaan de rest gewoon door.

Hier betaalt de batchmagic zich uit. Test je welke creator het beste werkt in een advertentie? Maak je een gepersonaliseerde clip voor iedereen in je groepschat? Lokaliseer je één video met verschillende presentatoren? Dat is nu één klik in plaats van tien aparte edit-sessies.
Wat voor video werkt het beste voor AI face swap?
Een paar basisregels zodat de AI z'n beste werk kan leveren:
| Vereiste | De sweet spot |
|---|---|
| Videolengte | Tot 30 seconden |
| Formaat | MP4 of MOV, tot 100MB |
| Resolutie / framerate | Tot 4K, tot 30 FPS |
| Gezichten in video | Exact één duidelijk, frontaal onderwerp — video's met meerdere personen worden niet ondersteund |
| Gezichtsfoto's | Scherp, goed belicht, frontaal, niets dat het gezicht bedekt |
Nog één ding, en het is belangrijk: swap verantwoord. Gebruik alleen video's waar je de rechten op hebt en gezichten waarvoor je toestemming hebt.
Face swap is er voor creativiteit, skits, campagnes en fancontent met toestemming, niet voor imitatie of misleiding.
Veel platforms vragen makers nu om AI-gegenereerde content te labelen, en die transparantie is sowieso goed voor je merk.
Waarom dit bouwen met de YouCam API in plaats van een willekeurige gratis tool te gebruiken?
Een terechte vraag. Gratis face swap-sites zijn overal. Maar deze route geeft je dingen die zij niet hebben:
- Batch by design. Tien gezichten op één video in één run — de meeste gratis tools laten je één swap per keer doen.
- Privacy by architecture. De tool draait lokaal en praat direct met de API van YouCam. Geen derde site die je video's gegijzeld houdt achter een paywall.
- Een pad naar productie. Dit is dezelfde developer-API die je zou gebruiken om face swap in je eigen app of campagnestroom te bouwen. Vandaag is het een desktoptool; morgen is het een feature die je uitrolt.
Het sluit ook mooi aan op de rest van de YouCam AI-stack: we hebben hetzelfde Claude-plus-API-patroon laten zien bij huidanalyse.
Klaar voor je eerste swap? Meld je aan voor de YouCam AI API, pak je 40 gratis credits en je hebt nog voor de lunch een batch faceswapvideo's klaarstaan.
FAQ: AI-faceswapvideo met YouCam & Claude
Wat is een AI-videofaceswap?
Dat is AI die een gezicht in een video beeld voor beeld vervangt door een ander gezicht, terwijl de originele gezichtsuitdrukking, hoofdbeweging en belichting behouden blijven zodat het resultaat er natuurlijk uitziet in plaats van erop geplakt. De YouCam face-swap-vid API doet de tracking en blending automatisch.
Is de YouCam AI Video Face Swap API gratis uit te proberen?
Ja — je krijgt 40 gratis credits wanneer je je aanmeldt, genoeg om je eerste batch swaps te draaien en de kwaliteit zelf te beoordelen. Daarna betaal je naar gebruik.
Kan ik meerdere gezichten tegelijk swappen?
Ja en nee, en dat onderscheid is belangrijk. De doelvideo zelf mag maar één gezicht bevatten; deze API swapt geen meerdere personen binnen één video. Wat de batchtool doet, is tot 10 aparte swaps uitvoeren op die ene single-facevideo: één nieuw gezicht per run, één afgewerkte video per gezicht. Dus: één gezicht in de video, tien verschillende versies eruit.
Hoe lang duurt een faceswapvideo?
Elke swap is voor korte clips meestal in ruim minder dan een minuut klaar, en de tool draait er drie tegelijk, dus een volledige batch van 10 kost niet 10x zoveel wachttijd.
Is mijn content veilig?
De tool draait op je eigen machine en je API-sleutel wordt nooit naar schijf geschreven of gelogd. Uploads gaan rechtstreeks naar de beveiligde API van YouCam — er zit geen externe website tussen.
Is faceswapping legaal?
Je eigen content gebruiken, of content waarvoor je toestemming hebt, voor creatieve doeleinden — ja. Het imiteren van echte mensen voor fraude, intimidatie of misleiding is niet oké (en niet toegestaan). Label AI-gegenereerde content als je deze openbaar deelt waar platforms dat vereisen.
Wat als ik vastloop?
Neem contact op — neem contact op met het team van Perfect Corp en we helpen je je faceswapworkflow op te zetten.
Auteur: 




