Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
each::sense is the intelligent layer for generative media. A unified AI agent that generates marketing assets, ads, product images, videos, and creative cont...
each::sense is the intelligent layer for generative media. A unified AI agent that generates marketing assets, ads, product images, videos, and creative cont...
This item's current download entry is known to bounce back to a listing or homepage instead of returning a package file.
Use the source page and any available docs to guide the install because the item currently does not return a direct package file.
I tried to install a skill package from Yavira, but the item currently does not return a direct package file. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required.
I tried to upgrade a skill package from Yavira, but the item currently does not return a direct package file. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need.
each::sense is a unified AI agent that can generate images, videos, build workflows, search the web, and hold conversational interactions. It uses Claude as the orchestrator with access to 200+ AI models. Use each::sense when the user needs: Marketing assets and ad creatives Product images and e-commerce visuals Video content (ads, UGC, social media) Any creative content generation Multi-step workflows combining multiple AI models
Header: X-API-Key: <your-api-key> Get your API key at eachlabs.ai β API Keys. Set the EACHLABS_API_KEY environment variable.
https://sense.eachlabs.run
curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Generate a portrait of a woman with golden hour lighting", "mode": "max" }' The endpoint returns Server-Sent Events (SSE) with real-time progress and the final generated output.
{ "message": "string (required) - User's request", "session_id": "string (optional) - Session ID for conversation history and multi-turn chats", "mode": "string (optional, default: 'max') - Quality mode: 'max' or 'eco'", "behavior": "string (optional, default: 'agent') - Behavior: 'agent', 'plan', or 'ask'", "model": "string (optional, default: 'auto') - Model slug or 'auto' for AI selection", "image_urls": "array[string] (optional) - Image URLs for editing/processing", "workflow_id": "string (optional) - Enables workflow building mode", "version_id": "string (optional) - Required with workflow_id", "web_search": "boolean (optional, default: true) - Enable/disable web search", "enable_safety_checker": "boolean (optional, default: true) - Set to false to allow NSFW content generation" }
ParameterTypeDefaultDescriptionmessagestringrequiredNatural language requestsession_idstringnullSession ID for conversation history. Use to continue previous chats, handle clarifications, and iteratively refine outputsmodestring"max"max = best quality, eco = fastest/cheapestbehaviorstring"agent"agent = auto-execute, plan = explain first, ask = clarify firstmodelstring"auto"Specific model slug or "auto" for AI selectionimage_urlsarraynullURLs of images to process/editworkflow_idstringnullEnables workflow building modeversion_idstringnullWorkflow version, required with workflow_idweb_searchbooleantrueAllow web search for informationenable_safety_checkerbooleantrueSet to false to allow NSFW content generation
Agents can ask users to choose between quality and speed/cost before generating content: "Do you want fast & cheap, or high quality?" "Quick draft or premium output?"
Uses the highest quality models available. Best for final outputs, client-facing work, and when quality matters most. curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{"message": "Create a product shot", "mode": "max"}'
Uses fast, cost-effective models. Best for prototyping, drafts, and high-volume generation. curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{"message": "Create a product shot", "mode": "eco"}'
Automatically executes the request, selecting the best model and generating output. {"message": "Generate a sunset video", "behavior": "agent"}
Explains what it will do before executing. Good for complex requests where you want to review the approach. {"message": "Create a marketing video for my bakery", "behavior": "plan"}
Always asks clarifying questions before proceeding. Good when you want maximum control. {"message": "Generate a portrait", "behavior": "ask"}
Use session_id to maintain conversation history and context across multiple requests. This enables: Multi-turn conversations: Follow-up on previous requests without repeating context Iterative refinement: Ask for modifications to previously generated content Clarification flows: Respond to clarification_needed events and continue the conversation Context awareness: The AI remembers previous generations, preferences, and instructions
Provide any unique string as session_id in your requests. All requests with the same session_id share conversation history. # Use any unique string as session_id curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Generate a portrait", "session_id": "my-chat-session-123" }'
# First request - generate initial image curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Generate a logo for a coffee shop called Brew Lab", "session_id": "logo-project-001" }' # Follow-up - modify the result (same session_id) curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Make it more minimalist and change the color to dark green", "session_id": "logo-project-001" }' # Another follow-up - request variation (same session_id) curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Create 3 variations of this logo", "session_id": "logo-project-001" }'
# Ambiguous request - AI will ask for clarification curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Edit this image", "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://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Remove the background and make it transparent", "session_id": "edit-task-001", "image_urls": ["https://example.com/photo.jpg"] }'
Sessions are persisted and can be resumed at any time Each session maintains full conversation history Use sessions to build chat-like experiences with each::sense You control the session ID - use any unique string for related requests
curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Generate a professional headshot of a business executive, studio lighting", "mode": "max" }'
curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Create a 5 second video of a sunset over the ocean", "mode": "max" }'
curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Remove the background from this image", "image_urls": ["https://example.com/my-photo.jpg"] }'
curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Animate this image with gentle camera movement", "image_urls": ["https://example.com/landscape.jpg"] }'
curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "A cyberpunk city at night with neon lights", "model": "flux-2-max" }'
curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Generate a product shot of a coffee mug on a wooden table with morning light", "mode": "max" }'
curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Create a social media ad for a fitness app, show someone working out with energetic vibes", "mode": "max" }'
# First request with a session_id curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Edit this image", "session_id": "user-123-chat", "image_urls": ["https://example.com/photo.jpg"] }' # Response includes clarification_needed asking what edit to make # Follow-up with same session_id curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "Remove the background", "session_id": "user-123-chat", "image_urls": ["https://example.com/photo.jpg"] }'
curl -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{ "message": "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.", "mode": "max" }'
The endpoint returns Server-Sent Events (SSE) with Content-Type: text/event-stream. Each event has the format: data: {"type": "event_type", ...fields}\n\n Stream ends with: data: [DONE]\n\n
EventDescriptionthinking_deltaAI reasoning in real-timestatusCurrent operation being executedtext_responseText content (explanations, answers)generation_responseGenerated media URLclarification_neededAI needs more informationweb_search_queryWeb search being executedweb_search_citationsCitations from search resultsworkflow_createdNew workflow was createdworkflow_fetchedExisting workflow was loadedworkflow_builtWorkflow definition constructedworkflow_updatedWorkflow pushed to APIexecution_startedWorkflow execution beganexecution_progressProgress update during executionexecution_completedWorkflow execution finishedtool_callDetails of tool being calledmessageInformational messagecompleteFinal event with summaryerrorAn error occurred
generation_response Generated media URL (the primary output): { "type": "generation_response", "url": "https://storage.eachlabs.ai/outputs/abc123.png", "generations": ["https://storage.eachlabs.ai/outputs/abc123.png"], "total": 1, "model": "nano-banana-pro" } clarification_needed AI needs more information: { "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." } complete Final event with summary: { "type": "complete", "task_id": "chat_1708345678901", "status": "ok", "generations": ["https://storage.eachlabs.ai/outputs/abc123.png"], "model": "nano-banana-pro" } error An error occurred: { "type": "error", "message": "Failed to generate image: Invalid aspect ratio" }
Common shorthand names that are automatically resolved: AliasResolves Toflux maxflux-2-maxflux proflux-2-progpt imagegpt-image-1-5nano banana pronano-banana-proseedreamseedream-4-5gemini imagengemini-imagen-4kling 3kling-3-0veoveo3-1-text-to-video-fastsorasora-2hailuohailuo-2-3
CodeResponseCause401{"detail": "API key is required."}Missing or invalid API key500{"detail": "Error message"}Internal server error503{"detail": "ChatAgent not available"}Service temporarily unavailable
{"type": "error", "message": "Failed to execute model: Invalid parameters"} Error MessageCauseSolutionFailed to create prediction: HTTP 422Insufficient account balanceTop up at eachlabs.aiFailed to execute model: Invalid parametersMissing/invalid inputsCheck model parametersModel not foundInvalid model slugUse "auto" or valid slugWorkflow execution timed outExceeded 1 hour limitSplit into smaller workflows
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), which can take several minutes to complete. # curl example with 10 minute timeout curl --max-time 600 -X POST https://sense.eachlabs.run/chat \ -H "Content-Type: application/json" \ -H "X-API-Key: $EACHLABS_API_KEY" \ -H "Accept: text/event-stream" \ -d '{"message": "Create a complex UGC video..."}' Platform limits: Streaming connections timeout after 1 hour of inactivity Workflow executions timeout after 1 hour
Depends on your EachLabs API key tier
Use session_id for multi-turn conversations to maintain context Use ECO mode for prototyping and cost-sensitive applications Use specific model when you know exactly what you want (faster execution) Handle clarification events - respond with requested information in the same session Provide clear prompts - be specific about style, mood, and composition Monitor SSE events - use thinking_delta for progress, generation_response for output
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.