From eachlabs-skills
Morph, blend, and transform faces using each::sense AI. Create face morphs, celebrity blends, family resemblance predictions, gender swaps, and animated transitions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/eachlabs-skills:face-morphingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Transform and blend faces using each::sense. This skill enables face morphing, blending two or more faces together, predicting family resemblances, creating gender swaps, and generating smooth morph animations.
Transform and blend faces using each::sense. This skill enables face morphing, blending two or more faces together, predicting family resemblances, creating gender swaps, and generating smooth morph animations.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Morph these two faces together into a seamless blend, 50% each"}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/face1.jpg",
"https://example.com/face2.jpg"
],
"mode": "max"
}'
Basic face morphing that blends two faces into one unified result.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Morph these two faces together. Create a seamless blend that takes facial structure from the first image and some features like eyes and nose from the second image. Make it look natural and realistic."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/person-a.jpg",
"https://example.com/person-b.jpg"
],
"mode": "max"
}'
Blend a user photo with a celebrity face for fun transformations.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Blend my face with this celebrity photo. Create a 50/50 morph that combines my facial structure with their features. Keep the result looking like a real person, not artificial."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/my-photo.jpg",
"https://example.com/celebrity.jpg"
],
"mode": "max"
}'
Generate what a child might look like based on two parent photos.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Based on these two parent photos, generate what their child might look like. Create a baby/toddler face that naturally combines features from both parents - take eye shape from the first parent, nose structure from the second, and blend skin tones appropriately. Make it look like a realistic child portrait."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/parent1.jpg",
"https://example.com/parent2.jpg"
],
"mode": "max"
}'
Create a merged face from a couple's photos.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Merge these two faces from a couple into one face. The result should look like a single person who has balanced features from both individuals. Keep natural proportions and make it look like a genuine portrait photo."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/partner1.jpg",
"https://example.com/partner2.jpg"
],
"mode": "max"
}'
Visualize genetic similarities across family members.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Analyze these family member photos and create a face that represents the family resemblance - the common features shared across all family members. Highlight the genetic similarities in bone structure, eye shape, and facial proportions."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/family-member1.jpg",
"https://example.com/family-member2.jpg",
"https://example.com/family-member3.jpg"
],
"mode": "max"
}'
Create a smooth video transition morphing from one face to another.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a gradual morph animation video that smoothly transitions from the first face to the second face over 3 seconds. The transformation should be fluid and show intermediate blended states between both faces. Output as a video."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/start-face.jpg",
"https://example.com/end-face.jpg"
],
"mode": "max"
}'
Transform facial features to appear as a different gender.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Transform this face to show how the person might look as a different gender. Adjust facial features like jawline, brow ridge, cheekbones, and add appropriate hair and makeup while maintaining recognizable features from the original person."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/original-face.jpg"
],
"mode": "max"
}'
Create a face that blends features from multiple ethnicities.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Blend these faces from different ethnic backgrounds into a single harmonious face. Create a natural-looking result that represents a mix of features from each source face - taking skin tone, eye shape, nose structure, and facial proportions from different inputs."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/face-ethnicity1.jpg",
"https://example.com/face-ethnicity2.jpg",
"https://example.com/face-ethnicity3.jpg"
],
"mode": "max"
}'
Transform a historical portrait to modern photographic style.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Take this historical portrait and modernize it. Transform the face to show how this historical figure would look in a modern photograph - update the lighting to contemporary photography style, adjust skin texture to look photorealistic, and give them a modern hairstyle while preserving their distinctive facial features."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/historical-portrait.jpg"
],
"mode": "max"
}'
Generate an average face that combines features from multiple input faces.
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create an average face from all these input photos. Blend the facial features mathematically to produce a single face that represents the statistical average of all inputs - averaged bone structure, feature placement, skin tone, and proportions."}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/face1.jpg",
"https://example.com/face2.jpg",
"https://example.com/face3.jpg",
"https://example.com/face4.jpg",
"https://example.com/face5.jpg"
],
"mode": "max"
}'
Use session_id to refine and iterate on face morphs:
# Initial morph
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Morph these two faces together with a 50/50 blend"}],
"model": "eachsense/beta",
"stream": true,
"image_urls": [
"https://example.com/face-a.jpg",
"https://example.com/face-b.jpg"
],
"session_id": "morph-project-001"
}'
# Adjust the blend ratio
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Adjust the blend to be 70% first face and 30% second face"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "morph-project-001"
}'
# Request specific feature adjustments
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Keep the eyes from the first face but use the jawline from the second face"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "morph-project-001"
}'
Ask your users before generating:
"Do you want fast & cheap, or high quality?"
| Mode | Best For | Speed | Quality |
|---|---|---|---|
max | Final morph outputs, detailed blends, animations | Slower | Highest |
eco | Quick previews, testing different combinations | Faster | Good |
When creating face morphs, include these details in your prompt:
"[Action] these faces with [blend ratio].
Take [features] from the first face and [features] from the second.
Output as [image/video]. Make it look [style descriptor]."
| Error | Cause | Solution |
|---|---|---|
Failed to create prediction: HTTP 422 | Insufficient balance | Top up at eachlabs.ai |
No face detected | Input image has no clear face | Use a clearer face photo |
Face alignment failed | Faces too different in angle | Use photos with similar head positions |
| Timeout | Complex generation | Set client timeout to minimum 10 minutes |
each-sense - Core API documentationface-swap - Swap faces between imagesimage-generation - Generate faces from text descriptionsvideo-generation - Create face animation videosnpx claudepluginhub eachlabs/skillsUses each::sense AI to transform faces across ages — age progression, de-aging, baby-to-adult predictions for entertainment, forensics, and visual effects.
Detects keypoints, beautifies, ages/de-ages, swaps genders, replaces faces, creates cartoon avatars, and checks liveness via AceDataCloud API.
Provides fal.ai endpoints for FLUX image-to-image, ControlNet (canny, depth, pose), inpainting with masks, upscaling (ESRGAN, Clarity), background removal (BiRefNet, RemBG), face restoration (GFPGAN, CodeFormer), and IP-Adapter style transfer. Supports TypeScript/Python.