AI Headshot Generator
Generate professional headshots for LinkedIn, corporate profiles, and business use using each::sense — the intelligent AI agent that automatically selects the best model for your request.
Quick Start
Requires an each::labs API key. Get one at eachlabs.ai.
Using curl
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [
{
"role": "user",
"content": "Professional corporate headshot of a confident woman in her 30s, wearing a navy blazer over a white blouse, soft studio lighting, neutral gray background, sharp focus on face, shoulders up, warm natural smile, DSLR quality"
}
],
"stream": false
}'
Using Python (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
api_key="YOUR_EACHLABS_API_KEY",
base_url="https://eachsense-agent.core.eachlabs.run/v1"
)
response = client.chat.completions.create(
model="eachsense/beta",
messages=[{
"role": "user",
"content": "Professional corporate headshot of a confident woman in her 30s, wearing a navy blazer over a white blouse, soft studio lighting, neutral gray background, sharp focus on face, shoulders up, warm natural smile, DSLR quality"
}]
)
print(response.choices[0].message.content)
With Reference Photo
Upload a selfie or casual photo to generate a professional headshot version:
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "Transform this photo into a professional corporate headshot. Keep the same person, add studio lighting, neutral background, professional attire, shoulders-up framing, sharp focus"},
{"type": "image_url", "image_url": {"url": "https://example.com/my-selfie.jpg"}}
]
}
],
"stream": false
}'
Images are sent inside messages using the OpenAI multimodal content format. Maximum 4 images per request.
Streaming
Set "stream": true for real-time Server-Sent Events (SSE) responses, or "stream": false to receive the complete result in a single response. Streaming is useful for showing progress in UIs; non-streaming is simpler for scripts and automation.
Headshot Styles
| Style | Description | Best For |
|---|---|---|
| Corporate Formal | Suit/blazer, neutral background, traditional lighting | Finance, law, consulting |
| Business Casual | Smart-casual attire, warm tones, approachable | Tech, marketing, startups |
| Creative Professional | Bold colors, environmental background, personality | Design, media, entertainment |
| Medical/Clinical | White coat, clinical setting, trustworthy | Healthcare professionals |
| Academic | Office/library background, intellectual warmth | Professors, researchers |
Prompt Tips
What Makes a Great Headshot Prompt
Professional headshot + [subject description] + [attire] + [lighting] + [background] + [framing] + [expression]
Background Options
neutral gray background— safest, works everywheresoft white background— clean, modernblurred office environment— contextual, professionaloutdoor bokeh— approachable, creativedark charcoal background— dramatic, executive
Lighting Keywords
soft studio lighting— even, flatteringRembrandt lighting— dramatic, executivebutterfly lighting— glamorous, beautynatural window light— approachable, warmrim light with soft fill— separation from background
Examples
LinkedIn Executive Portrait
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [
{
"role": "user",
"content": "Executive headshot of a man in his 50s, silver hair, wearing a charcoal suit with a burgundy tie, Rembrandt lighting, dark background, confident expression, head and shoulders, 85mm lens look, sharp eyes"
}
],
"stream": false
}'
Startup Founder Casual
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [
{
"role": "user",
"content": "Business casual headshot of a young man in a dark crew-neck sweater, natural window lighting from the left, blurred modern office background, genuine smile, upper body, clean-shaven, approachable and confident"
}
],
"stream": false
}'
Creative Professional
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"messages": [
{
"role": "user",
"content": "Creative professional headshot of a woman with colorful braids, wearing a black turtleneck, bold teal background, soft directional lighting, artistic but professional, editorial quality, slight smile"
}
],
"stream": false
}'
Team Headshot Batch
Generate consistent headshots for a team page:
# Use the same style parameters for consistency
STYLE="soft studio lighting, neutral gray background, shoulders up, professional, 85mm portrait lens, DSLR quality"
DESCRIPTIONS=(
"Professional headshot of a woman in her 30s, dark hair, navy blazer, $STYLE"
"Professional headshot of a man in his 40s, glasses, light blue dress shirt, $STYLE"
"Professional headshot of a young woman, curly hair, white blouse, $STYLE"
)
for DESC in "${DESCRIPTIONS[@]}"; do
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d "{
\"messages\": [{\"role\": \"user\", \"content\": \"$DESC\"}],
\"stream\": false
}"
echo "---"
done
Output Specifications
| Platform | Recommended Size | Aspect Ratio |
|---|---|---|
| 400x400 px | 1:1 | |
| Corporate Website | 600x800 px | 3:4 |
| Email Signature | 200x200 px | 1:1 |
| Business Card | 300x400 px | 3:4 |
| Slack/Teams Avatar | 512x512 px | 1:1 |
Related Skills
- AI Portrait Photo — Studio-quality portrait photography
- AI Avatar Generator — Stylized avatars from photos
- Background Removal — Swap headshot backgrounds
- AI Photo Enhancer — Improve photo quality
Related Models
- flux-2-max — Highest quality image generation
- flux-kontext-pro — Best for reference-based generation
- seedream-v4-5 — Creative and artistic styles