{
  "schemaVersion": "1.0",
  "item": {
    "slug": "each-sense",
    "name": "Each Sense",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/eftalyurtseven/each-sense",
    "canonicalUrl": "https://clawhub.ai/eftalyurtseven/each-sense",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/each-sense",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=each-sense",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/SSE-EVENTS.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/each-sense"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/each-sense",
    "agentPageUrl": "https://openagent3.xyz/skills/each-sense/agent",
    "manifestUrl": "https://openagent3.xyz/skills/each-sense/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/each-sense/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "each::sense - Intelligent Layer for Generative Media",
        "body": "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.\n\nUse each::sense when the user needs:\n\nMarketing assets and ad creatives\nProduct images and e-commerce visuals\nVideo content (ads, UGC, social media)\nAny creative content generation\nMulti-step workflows combining multiple AI models"
      },
      {
        "title": "Authentication",
        "body": "Header: X-API-Key: <your-api-key>\n\nGet your API key at eachlabs.ai → API Keys.\n\nSet the EACHLABS_API_KEY environment variable."
      },
      {
        "title": "Base URL",
        "body": "https://sense.eachlabs.run"
      },
      {
        "title": "Quick Start",
        "body": "curl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Generate a portrait of a woman with golden hour lighting\",\n    \"mode\": \"max\"\n  }'\n\nThe endpoint returns Server-Sent Events (SSE) with real-time progress and the final generated output."
      },
      {
        "title": "Request Schema",
        "body": "{\n  \"message\": \"string (required) - User's request\",\n  \"session_id\": \"string (optional) - Session ID for conversation history and multi-turn chats\",\n  \"mode\": \"string (optional, default: 'max') - Quality mode: 'max' or 'eco'\",\n  \"behavior\": \"string (optional, default: 'agent') - Behavior: 'agent', 'plan', or 'ask'\",\n  \"model\": \"string (optional, default: 'auto') - Model slug or 'auto' for AI selection\",\n  \"image_urls\": \"array[string] (optional) - Image URLs for editing/processing\",\n  \"workflow_id\": \"string (optional) - Enables workflow building mode\",\n  \"version_id\": \"string (optional) - Required with workflow_id\",\n  \"web_search\": \"boolean (optional, default: true) - Enable/disable web search\",\n  \"enable_safety_checker\": \"boolean (optional, default: true) - Set to false to allow NSFW content generation\"\n}"
      },
      {
        "title": "Parameter Details",
        "body": "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"
      },
      {
        "title": "Modes",
        "body": "Agents can ask users to choose between quality and speed/cost before generating content:\n\n\"Do you want fast & cheap, or high quality?\"\n\"Quick draft or premium output?\""
      },
      {
        "title": "MAX Mode (Default)",
        "body": "Uses the highest quality models available. Best for final outputs, client-facing work, and when quality matters most.\n\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\"message\": \"Create a product shot\", \"mode\": \"max\"}'"
      },
      {
        "title": "ECO Mode",
        "body": "Uses fast, cost-effective models. Best for prototyping, drafts, and high-volume generation.\n\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\"message\": \"Create a product shot\", \"mode\": \"eco\"}'"
      },
      {
        "title": "Agent (Default)",
        "body": "Automatically executes the request, selecting the best model and generating output.\n\n{\"message\": \"Generate a sunset video\", \"behavior\": \"agent\"}"
      },
      {
        "title": "Plan",
        "body": "Explains what it will do before executing. Good for complex requests where you want to review the approach.\n\n{\"message\": \"Create a marketing video for my bakery\", \"behavior\": \"plan\"}"
      },
      {
        "title": "Ask",
        "body": "Always asks clarifying questions before proceeding. Good when you want maximum control.\n\n{\"message\": \"Generate a portrait\", \"behavior\": \"ask\"}"
      },
      {
        "title": "Session Management",
        "body": "Use session_id to maintain conversation history and context across multiple requests. This enables:\n\nMulti-turn conversations: Follow-up on previous requests without repeating context\nIterative refinement: Ask for modifications to previously generated content\nClarification flows: Respond to clarification_needed events and continue the conversation\nContext awareness: The AI remembers previous generations, preferences, and instructions"
      },
      {
        "title": "How It Works",
        "body": "Provide any unique string as session_id in your requests. All requests with the same session_id share conversation history.\n\n# Use any unique string as session_id\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Generate a portrait\",\n    \"session_id\": \"my-chat-session-123\"\n  }'"
      },
      {
        "title": "Example: Iterative Generation",
        "body": "# First request - generate initial image\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Generate a logo for a coffee shop called Brew Lab\",\n    \"session_id\": \"logo-project-001\"\n  }'\n\n# Follow-up - modify the result (same session_id)\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Make it more minimalist and change the color to dark green\",\n    \"session_id\": \"logo-project-001\"\n  }'\n\n# Another follow-up - request variation (same session_id)\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Create 3 variations of this logo\",\n    \"session_id\": \"logo-project-001\"\n  }'"
      },
      {
        "title": "Example: Handling Clarifications",
        "body": "# Ambiguous request - AI will ask for clarification\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Edit this image\",\n    \"session_id\": \"edit-task-001\",\n    \"image_urls\": [\"https://example.com/photo.jpg\"]\n  }'\n# Response: clarification_needed event asking what edit to make\n\n# Respond to clarification (same session_id)\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Remove the background and make it transparent\",\n    \"session_id\": \"edit-task-001\",\n    \"image_urls\": [\"https://example.com/photo.jpg\"]\n  }'"
      },
      {
        "title": "Session Persistence",
        "body": "Sessions are persisted and can be resumed at any time\nEach session maintains full conversation history\nUse sessions to build chat-like experiences with each::sense\nYou control the session ID - use any unique string for related requests"
      },
      {
        "title": "1. Image Generation",
        "body": "curl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Generate a professional headshot of a business executive, studio lighting\",\n    \"mode\": \"max\"\n  }'"
      },
      {
        "title": "2. Video Generation",
        "body": "curl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Create a 5 second video of a sunset over the ocean\",\n    \"mode\": \"max\"\n  }'"
      },
      {
        "title": "3. Image Editing (with uploaded image)",
        "body": "curl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Remove the background from this image\",\n    \"image_urls\": [\"https://example.com/my-photo.jpg\"]\n  }'"
      },
      {
        "title": "4. Image-to-Video Animation",
        "body": "curl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Animate this image with gentle camera movement\",\n    \"image_urls\": [\"https://example.com/landscape.jpg\"]\n  }'"
      },
      {
        "title": "5. Direct Model Execution (skip AI selection)",
        "body": "curl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"A cyberpunk city at night with neon lights\",\n    \"model\": \"flux-2-max\"\n  }'"
      },
      {
        "title": "6. Product Photography",
        "body": "curl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Generate a product shot of a coffee mug on a wooden table with morning light\",\n    \"mode\": \"max\"\n  }'"
      },
      {
        "title": "7. Marketing Assets",
        "body": "curl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Create a social media ad for a fitness app, show someone working out with energetic vibes\",\n    \"mode\": \"max\"\n  }'"
      },
      {
        "title": "8. Multi-Turn Conversation",
        "body": "# First request with a session_id\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Edit this image\",\n    \"session_id\": \"user-123-chat\",\n    \"image_urls\": [\"https://example.com/photo.jpg\"]\n  }'\n\n# Response includes clarification_needed asking what edit to make\n# Follow-up with same session_id\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Remove the background\",\n    \"session_id\": \"user-123-chat\",\n    \"image_urls\": [\"https://example.com/photo.jpg\"]\n  }'"
      },
      {
        "title": "9. Complex Workflow (UGC Video)",
        "body": "curl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"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.\",\n    \"mode\": \"max\"\n  }'"
      },
      {
        "title": "SSE Response Format",
        "body": "The endpoint returns Server-Sent Events (SSE) with Content-Type: text/event-stream.\n\nEach event has the format:\n\ndata: {\"type\": \"event_type\", ...fields}\\n\\n\n\nStream ends with:\n\ndata: [DONE]\\n\\n"
      },
      {
        "title": "Event Types",
        "body": "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"
      },
      {
        "title": "Key Event Examples",
        "body": "generation_response\n\nGenerated media URL (the primary output):\n\n{\n  \"type\": \"generation_response\",\n  \"url\": \"https://storage.eachlabs.ai/outputs/abc123.png\",\n  \"generations\": [\"https://storage.eachlabs.ai/outputs/abc123.png\"],\n  \"total\": 1,\n  \"model\": \"nano-banana-pro\"\n}\n\nclarification_needed\n\nAI needs more information:\n\n{\n  \"type\": \"clarification_needed\",\n  \"question\": \"What type of edit would you like to make to this image?\",\n  \"options\": [\"Remove the background\", \"Apply a style transfer\", \"Upscale to higher resolution\"],\n  \"context\": \"I can see your image but need to know the specific edit you want.\"\n}\n\ncomplete\n\nFinal event with summary:\n\n{\n  \"type\": \"complete\",\n  \"task_id\": \"chat_1708345678901\",\n  \"status\": \"ok\",\n  \"generations\": [\"https://storage.eachlabs.ai/outputs/abc123.png\"],\n  \"model\": \"nano-banana-pro\"\n}\n\nerror\n\nAn error occurred:\n\n{\n  \"type\": \"error\",\n  \"message\": \"Failed to generate image: Invalid aspect ratio\"\n}"
      },
      {
        "title": "Model Aliases",
        "body": "Common shorthand names that are automatically resolved:\n\nAliasResolves 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"
      },
      {
        "title": "HTTP Errors",
        "body": "CodeResponseCause401{\"detail\": \"API key is required.\"}Missing or invalid API key500{\"detail\": \"Error message\"}Internal server error503{\"detail\": \"ChatAgent not available\"}Service temporarily unavailable"
      },
      {
        "title": "Streaming Errors",
        "body": "{\"type\": \"error\", \"message\": \"Failed to execute model: Invalid parameters\"}\n\nError 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"
      },
      {
        "title": "Timeouts",
        "body": "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.\n\n# curl example with 10 minute timeout\ncurl --max-time 600 -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\"message\": \"Create a complex UGC video...\"}'\n\nPlatform limits:\n\nStreaming connections timeout after 1 hour of inactivity\nWorkflow executions timeout after 1 hour"
      },
      {
        "title": "Rate Limits",
        "body": "Depends on your EachLabs API key tier"
      },
      {
        "title": "Best Practices",
        "body": "Use session_id for multi-turn conversations to maintain context\nUse ECO mode for prototyping and cost-sensitive applications\nUse specific model when you know exactly what you want (faster execution)\nHandle clarification events - respond with requested information in the same session\nProvide clear prompts - be specific about style, mood, and composition\nMonitor SSE events - use thinking_delta for progress, generation_response for output"
      }
    ],
    "body": "each::sense - Intelligent Layer for Generative Media\n\neach::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.\n\nUse each::sense when the user needs:\n\nMarketing assets and ad creatives\nProduct images and e-commerce visuals\nVideo content (ads, UGC, social media)\nAny creative content generation\nMulti-step workflows combining multiple AI models\nAuthentication\nHeader: X-API-Key: <your-api-key>\n\n\nGet your API key at eachlabs.ai → API Keys.\n\nSet the EACHLABS_API_KEY environment variable.\n\nBase URL\nhttps://sense.eachlabs.run\n\nQuick Start\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Generate a portrait of a woman with golden hour lighting\",\n    \"mode\": \"max\"\n  }'\n\n\nThe endpoint returns Server-Sent Events (SSE) with real-time progress and the final generated output.\n\nRequest Schema\n{\n  \"message\": \"string (required) - User's request\",\n  \"session_id\": \"string (optional) - Session ID for conversation history and multi-turn chats\",\n  \"mode\": \"string (optional, default: 'max') - Quality mode: 'max' or 'eco'\",\n  \"behavior\": \"string (optional, default: 'agent') - Behavior: 'agent', 'plan', or 'ask'\",\n  \"model\": \"string (optional, default: 'auto') - Model slug or 'auto' for AI selection\",\n  \"image_urls\": \"array[string] (optional) - Image URLs for editing/processing\",\n  \"workflow_id\": \"string (optional) - Enables workflow building mode\",\n  \"version_id\": \"string (optional) - Required with workflow_id\",\n  \"web_search\": \"boolean (optional, default: true) - Enable/disable web search\",\n  \"enable_safety_checker\": \"boolean (optional, default: true) - Set to false to allow NSFW content generation\"\n}\n\nParameter Details\nParameter\tType\tDefault\tDescription\nmessage\tstring\trequired\tNatural language request\nsession_id\tstring\tnull\tSession ID for conversation history. Use to continue previous chats, handle clarifications, and iteratively refine outputs\nmode\tstring\t\"max\"\tmax = best quality, eco = fastest/cheapest\nbehavior\tstring\t\"agent\"\tagent = auto-execute, plan = explain first, ask = clarify first\nmodel\tstring\t\"auto\"\tSpecific model slug or \"auto\" for AI selection\nimage_urls\tarray\tnull\tURLs of images to process/edit\nworkflow_id\tstring\tnull\tEnables workflow building mode\nversion_id\tstring\tnull\tWorkflow version, required with workflow_id\nweb_search\tboolean\ttrue\tAllow web search for information\nenable_safety_checker\tboolean\ttrue\tSet to false to allow NSFW content generation\nModes\n\nAgents can ask users to choose between quality and speed/cost before generating content:\n\n\"Do you want fast & cheap, or high quality?\"\n\"Quick draft or premium output?\"\nMAX Mode (Default)\n\nUses the highest quality models available. Best for final outputs, client-facing work, and when quality matters most.\n\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\"message\": \"Create a product shot\", \"mode\": \"max\"}'\n\nECO Mode\n\nUses fast, cost-effective models. Best for prototyping, drafts, and high-volume generation.\n\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\"message\": \"Create a product shot\", \"mode\": \"eco\"}'\n\nBehaviors\nAgent (Default)\n\nAutomatically executes the request, selecting the best model and generating output.\n\n{\"message\": \"Generate a sunset video\", \"behavior\": \"agent\"}\n\nPlan\n\nExplains what it will do before executing. Good for complex requests where you want to review the approach.\n\n{\"message\": \"Create a marketing video for my bakery\", \"behavior\": \"plan\"}\n\nAsk\n\nAlways asks clarifying questions before proceeding. Good when you want maximum control.\n\n{\"message\": \"Generate a portrait\", \"behavior\": \"ask\"}\n\nSession Management\n\nUse session_id to maintain conversation history and context across multiple requests. This enables:\n\nMulti-turn conversations: Follow-up on previous requests without repeating context\nIterative refinement: Ask for modifications to previously generated content\nClarification flows: Respond to clarification_needed events and continue the conversation\nContext awareness: The AI remembers previous generations, preferences, and instructions\nHow It Works\n\nProvide any unique string as session_id in your requests. All requests with the same session_id share conversation history.\n\n# Use any unique string as session_id\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Generate a portrait\",\n    \"session_id\": \"my-chat-session-123\"\n  }'\n\nExample: Iterative Generation\n# First request - generate initial image\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Generate a logo for a coffee shop called Brew Lab\",\n    \"session_id\": \"logo-project-001\"\n  }'\n\n# Follow-up - modify the result (same session_id)\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Make it more minimalist and change the color to dark green\",\n    \"session_id\": \"logo-project-001\"\n  }'\n\n# Another follow-up - request variation (same session_id)\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Create 3 variations of this logo\",\n    \"session_id\": \"logo-project-001\"\n  }'\n\nExample: Handling Clarifications\n# Ambiguous request - AI will ask for clarification\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Edit this image\",\n    \"session_id\": \"edit-task-001\",\n    \"image_urls\": [\"https://example.com/photo.jpg\"]\n  }'\n# Response: clarification_needed event asking what edit to make\n\n# Respond to clarification (same session_id)\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Remove the background and make it transparent\",\n    \"session_id\": \"edit-task-001\",\n    \"image_urls\": [\"https://example.com/photo.jpg\"]\n  }'\n\nSession Persistence\nSessions are persisted and can be resumed at any time\nEach session maintains full conversation history\nUse sessions to build chat-like experiences with each::sense\nYou control the session ID - use any unique string for related requests\nUse Case Examples\n1. Image Generation\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Generate a professional headshot of a business executive, studio lighting\",\n    \"mode\": \"max\"\n  }'\n\n2. Video Generation\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Create a 5 second video of a sunset over the ocean\",\n    \"mode\": \"max\"\n  }'\n\n3. Image Editing (with uploaded image)\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Remove the background from this image\",\n    \"image_urls\": [\"https://example.com/my-photo.jpg\"]\n  }'\n\n4. Image-to-Video Animation\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Animate this image with gentle camera movement\",\n    \"image_urls\": [\"https://example.com/landscape.jpg\"]\n  }'\n\n5. Direct Model Execution (skip AI selection)\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"A cyberpunk city at night with neon lights\",\n    \"model\": \"flux-2-max\"\n  }'\n\n6. Product Photography\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Generate a product shot of a coffee mug on a wooden table with morning light\",\n    \"mode\": \"max\"\n  }'\n\n7. Marketing Assets\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Create a social media ad for a fitness app, show someone working out with energetic vibes\",\n    \"mode\": \"max\"\n  }'\n\n8. Multi-Turn Conversation\n# First request with a session_id\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Edit this image\",\n    \"session_id\": \"user-123-chat\",\n    \"image_urls\": [\"https://example.com/photo.jpg\"]\n  }'\n\n# Response includes clarification_needed asking what edit to make\n# Follow-up with same session_id\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"message\": \"Remove the background\",\n    \"session_id\": \"user-123-chat\",\n    \"image_urls\": [\"https://example.com/photo.jpg\"]\n  }'\n\n9. Complex Workflow (UGC Video)\ncurl -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\n    \"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.\",\n    \"mode\": \"max\"\n  }'\n\nSSE Response Format\n\nThe endpoint returns Server-Sent Events (SSE) with Content-Type: text/event-stream.\n\nEach event has the format:\n\ndata: {\"type\": \"event_type\", ...fields}\\n\\n\n\n\nStream ends with:\n\ndata: [DONE]\\n\\n\n\nEvent Types\nEvent\tDescription\nthinking_delta\tAI reasoning in real-time\nstatus\tCurrent operation being executed\ntext_response\tText content (explanations, answers)\ngeneration_response\tGenerated media URL\nclarification_needed\tAI needs more information\nweb_search_query\tWeb search being executed\nweb_search_citations\tCitations from search results\nworkflow_created\tNew workflow was created\nworkflow_fetched\tExisting workflow was loaded\nworkflow_built\tWorkflow definition constructed\nworkflow_updated\tWorkflow pushed to API\nexecution_started\tWorkflow execution began\nexecution_progress\tProgress update during execution\nexecution_completed\tWorkflow execution finished\ntool_call\tDetails of tool being called\nmessage\tInformational message\ncomplete\tFinal event with summary\nerror\tAn error occurred\nKey Event Examples\ngeneration_response\n\nGenerated media URL (the primary output):\n\n{\n  \"type\": \"generation_response\",\n  \"url\": \"https://storage.eachlabs.ai/outputs/abc123.png\",\n  \"generations\": [\"https://storage.eachlabs.ai/outputs/abc123.png\"],\n  \"total\": 1,\n  \"model\": \"nano-banana-pro\"\n}\n\nclarification_needed\n\nAI needs more information:\n\n{\n  \"type\": \"clarification_needed\",\n  \"question\": \"What type of edit would you like to make to this image?\",\n  \"options\": [\"Remove the background\", \"Apply a style transfer\", \"Upscale to higher resolution\"],\n  \"context\": \"I can see your image but need to know the specific edit you want.\"\n}\n\ncomplete\n\nFinal event with summary:\n\n{\n  \"type\": \"complete\",\n  \"task_id\": \"chat_1708345678901\",\n  \"status\": \"ok\",\n  \"generations\": [\"https://storage.eachlabs.ai/outputs/abc123.png\"],\n  \"model\": \"nano-banana-pro\"\n}\n\nerror\n\nAn error occurred:\n\n{\n  \"type\": \"error\",\n  \"message\": \"Failed to generate image: Invalid aspect ratio\"\n}\n\nModel Aliases\n\nCommon shorthand names that are automatically resolved:\n\nAlias\tResolves To\nflux max\tflux-2-max\nflux pro\tflux-2-pro\ngpt image\tgpt-image-1-5\nnano banana pro\tnano-banana-pro\nseedream\tseedream-4-5\ngemini imagen\tgemini-imagen-4\nkling 3\tkling-3-0\nveo\tveo3-1-text-to-video-fast\nsora\tsora-2\nhailuo\thailuo-2-3\nError Handling\nHTTP Errors\nCode\tResponse\tCause\n401\t{\"detail\": \"API key is required.\"}\tMissing or invalid API key\n500\t{\"detail\": \"Error message\"}\tInternal server error\n503\t{\"detail\": \"ChatAgent not available\"}\tService temporarily unavailable\nStreaming Errors\n{\"type\": \"error\", \"message\": \"Failed to execute model: Invalid parameters\"}\n\nError Message\tCause\tSolution\nFailed to create prediction: HTTP 422\tInsufficient account balance\tTop up at eachlabs.ai\nFailed to execute model: Invalid parameters\tMissing/invalid inputs\tCheck model parameters\nModel not found\tInvalid model slug\tUse \"auto\" or valid slug\nWorkflow execution timed out\tExceeded 1 hour limit\tSplit into smaller workflows\nTimeouts\n\nClient 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.\n\n# curl example with 10 minute timeout\ncurl --max-time 600 -X POST https://sense.eachlabs.run/chat \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: $EACHLABS_API_KEY\" \\\n  -H \"Accept: text/event-stream\" \\\n  -d '{\"message\": \"Create a complex UGC video...\"}'\n\n\nPlatform limits:\n\nStreaming connections timeout after 1 hour of inactivity\nWorkflow executions timeout after 1 hour\nRate Limits\nDepends on your EachLabs API key tier\nBest Practices\nUse session_id for multi-turn conversations to maintain context\nUse ECO mode for prototyping and cost-sensitive applications\nUse specific model when you know exactly what you want (faster execution)\nHandle clarification events - respond with requested information in the same session\nProvide clear prompts - be specific about style, mood, and composition\nMonitor SSE events - use thinking_delta for progress, generation_response for output"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/eftalyurtseven/each-sense",
    "publisherUrl": "https://clawhub.ai/eftalyurtseven/each-sense",
    "owner": "eftalyurtseven",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/each-sense",
    "downloadUrl": "https://openagent3.xyz/downloads/each-sense",
    "agentUrl": "https://openagent3.xyz/skills/each-sense/agent",
    "manifestUrl": "https://openagent3.xyz/skills/each-sense/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/each-sense/agent.md"
  }
}