eachlabs-face-swap — Claude Code skill: swap faces in photos and video
A skill that walks your agent through face swaps on images and video using the EachLabs Predictions API. Handy when one face has to land in someone else's shot.
npx skills add eachlabs/skills --skill eachlabs-face-swap -a claude-codeWhat eachlabs-face-swap does
The skill covers the EachLabs Predictions API. Your agent picks a model, posts to https://api.eachlabs.ai/v1/prediction, then pulls the finished image or video. Image swaps run on aifaceswap-face-swap, each-faceswap-v1 or face-swap-new; video swaps use faceswap-video. A prompt-based route through gpt-image-v1-5-edit is described too.
The flow has four steps. First the agent calls GET https://api.eachlabs.ai/v1/model?slug=<slug> to confirm the model exists and read its request_schema. Then it creates a prediction, polls GET https://api.eachlabs.ai/v1/prediction/{id} until the status reads success or failed, and takes the output URL. Requests carry an X-API-Key header, so set EACHLABS_API_KEY first — the key comes from eachlabs.ai.
Source images decide the outcome. A clear frontal portrait with even lighting swaps cleanly; a heavily occluded face in the target frame will not. Matching the light between the two shots helps.
What it helps with
- swap a face between two photos by URL
- carry a face from a still into a video
- check a model's request schema before spending a call
- pick between image and video swap models
- replace a face with a text prompt instead of a dedicated model
Example prompts for the agent
- Swap the face in
target-photo.jpgwith the one fromsource-face.jpg - Run a face swap on
target-video.mp4usingsource-face.jpg - Check the
each-faceswap-v1schema and start the swap
How to install eachlabs-face-swap
1Skills CLI (Vercel)
npx skills add eachlabs/skills --skill eachlabs-face-swap -a claude-code2Manually: put the files in place
~/.claude/skills/eachlabs-face-swap/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/eachlabs-face-swap/
1Skills CLI (Vercel)
npx skills add eachlabs/skills --skill eachlabs-face-swap -a codex2Manually: put the files in place
.agents/skills/eachlabs-face-swap/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add eachlabs/skills --skill eachlabs-face-swap -a cursor2Manually: put the files in place
.cursor/skills/eachlabs-face-swap/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install eachlabs/skills eachlabs-face-swap2Manually: put the files in place
.github/skills/eachlabs-face-swap/SKILL.md1Skills CLI (Vercel)
npx skills add eachlabs/skills --skill eachlabs-face-swap -a gemini-cli2Platform CLI
gemini skills install https://github.com/eachlabs/skills --path skills/eachlabs-face-swapManually: put the files in place
.devin/skills/eachlabs-face-swap/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add eachlabs/skills --skill eachlabs-face-swap -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about eachlabs-face-swap
How do I install eachlabs-face-swap in Claude Code?
Run npx skills add eachlabs/skills --skill eachlabs-face-swap -a claude-code. The skill lands at ~/.claude/skills/eachlabs-face-swap/SKILL.md.
What does eachlabs-face-swap do?
It swaps faces across images and in video through the EachLabs Predictions API: model selection, prediction request, then the result URL.
What do I need before using it?
An EachLabs key stored in the EACHLABS_API_KEY environment variable. It travels in the X-API-Key header, and calls fail without it.