each::sense is the intelligent layer for generative media. A unified AI agent that generates marketing assets, ads, product images, videos, and creative content. It knows all AI models and automatically selects the best one for your task. Use for any creative content generation request.
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
each::sense is the intelligent layer for generative media. A unified AI agent that generates marketing assets, ads, product images, videos, and creative content. It knows all AI models and automatically selects the best one for your task. Use for any creative content generation request.
metadata
{"author":"eachlabs","version":"2.0"}
each::sense - Intelligent Layer for Generative Media
each::sense is an OpenAI-compatible AI agent that can generate images, videos, audio, 3D models, build workflows, search the web, and hold conversational interactions. It orchestrates 500+ AI models through a single unified interface.
each::sense itself is completely free. You only get charged for the models it uses.
Use each::sense when the user needs:
Marketing assets and ad creatives
Product images and e-commerce visuals
Video content (ads, UGC, social media)
Audio and music generation
Any creative content generation
Multi-step workflows combining multiple AI models
Authentication
Header: X-API-Key: <your-api-key>
Also supports OpenAI SDK compatible authentication:
{"id":"chatcmpl-123","object":"chat.completion","choices":[{"message":{"role":"assistant","content":"Here's your image..."}}],"generations":["https://cdn.example.com/image.png"],"task_id":"task-456","session_id":"my-session"}
Modes
MAX Mode (Default)
Uses premium quality models (flux-2-max, veo-3, etc.). Best for final outputs, client-facing work, and when quality matters most. Processing time: 10-300 seconds.
# First request - generate initial image
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": "Generate a logo for a coffee shop called Brew Lab"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "logo-project-001"
}'# Follow-up - modify the result (same session_id)
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": "Make it more minimalist and change the color to dark green"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "logo-project-001"
}'# Another follow-up - request variation (same session_id)
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 3 variations of this logo"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "logo-project-001"
}'
Example: Handling Clarifications
# Ambiguous request - AI will ask for clarification
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": "Edit this image"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "edit-task-001",
"image_urls": ["https://example.com/photo.jpg"]
}'# Response: clarification_needed event asking what edit to make# Respond to clarification (same session_id)
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": "Remove the background and make it transparent"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "edit-task-001",
"image_urls": ["https://example.com/photo.jpg"]
}'
Use Case Examples
1. Image Generation
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": "Generate a professional headshot of a business executive, studio lighting"}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
2. Video Generation
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 5 second video of a sunset over the ocean"}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
3. Image Editing (with uploaded image)
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": "Remove the background from this image"}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/my-photo.jpg"]
}'
4. Image-to-Video Animation
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": "Animate this image with gentle camera movement"}],
"model": "eachsense/beta",
"stream": true,
"image_urls": ["https://example.com/landscape.jpg"]
}'
5. Product Photography
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": "Generate a product shot of a coffee mug on a wooden table with morning light"}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
6. Marketing Assets
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 social media ad for a fitness app, show someone working out with energetic vibes"}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
7. Complex Workflow (UGC Video)
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 30 second UGC video with a consistent presenter explaining why fitness is important. The presenter is a 30-year-old fit woman with brown hair in workout clothes, gym background."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
8. Workflow Builder
curl -X POST https://eachsense-agent.core.eachlabs.run/workflow \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-d '{
"message": "Create a workflow that generates an image and then upscales it",
"stream": true,
"session_id": "my-session"
}'
SSE Response Format
The endpoint returns Server-Sent Events (SSE) wrapped in OpenAI chat.completion.chunk format with an eachlabs extension field.
{"type":"clarification_needed","question":"What type of edit would you like to make to this image?","options":["Remove the background","Apply a style transfer","Upscale to higher resolution"],"context":"I can see your image but need to know the specific edit you want."}
Common shorthand names that are automatically resolved:
Alias
Resolves To
Flux Max
flux-2-max
Flux Pro
flux-2-pro
Flux Edit
flux-2-edit
Flux Fill
flux-fill-pro
Flux Kontext
flux-kontext-pro
Imagen 4
gemini-imagen-4
Veo 3
veo-3
Kling 3
kling-3-0
Sora
sora-2-pro
ElevenLabs
elevenlabs-tts
Error Handling
HTTP Errors
Code
Response
Cause
401
{"error": "Invalid or missing API key"}
Missing or invalid API key
422
{"error": "..."}
Missing required fields or invalid parameters
429
{"error": "..."}
Rate limited - implement exponential backoff
500
{"error": "..."}
Internal server error - retry with backoff
Streaming Errors
{"type":"error","message":"Failed to execute model: Invalid parameters","error_code":"..."}
Error Message
Cause
Solution
Model execution failed
Underlying model error
Check model parameters
Session not found
Invalid or expired session
Create new session
Workflow execution timeout
Exceeded 15 minute limit
Split into smaller workflows
Retry strategy: Use exponential backoff for 429 and 500 errors. Wait 2^attempt seconds, maximum 3 retries.
Timeouts
Client timeout recommendation: Set your HTTP client timeout to minimum 10 minutes. Complex use cases may require running multiple AI models sequentially (e.g., 10+ model executions for UGC videos).
Operation
Timeout
HTTP request
300 seconds
Streaming idle
15 minutes
Image generation
10-60 seconds
Video generation
60-600 seconds
Workflow execution
15 minutes
# curl example with 10 minute timeout
curl --max-time 600 -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 complex UGC video..."}],
"model": "eachsense/beta",
"stream": true
}'