Discover and implement EachLabs AI providers. Use when: checking for new EachLabs models, implementing EachLabs providers, updating providers.md status, or working with EachLabs API integrations.
Manage the lifecycle of EachLabs AI providers: discover new models via API and implement them as IMG.LY providers.
EachLabs provides a structured API for model discovery:
specs/providers/eachlabs/providers.mdspecs/providers/ (schemas, architecture)packages/plugin-ai-image-generation-web/src/eachlabs/packages/plugin-ai-video-generation-web/src/eachlabs/packages/plugin-ai-image-generation-web/README.mdpackages/plugin-ai-video-generation-web/README.mdhttps://api.eachlabs.ai
X-API-Key: <your-api-key>GET /v1/models - List all modelsGET /v1/model?slug=<slug> - Get model details including request_schemaPOST /v1/prediction - Create predictionGET /v1/prediction/{id} - Get prediction statusGET /v1/models?limit=500&offset=0&name=<filter>
Response:
{
"models": [
{
"title": "Flux 2 Pro",
"slug": "flux-2-pro",
"version": "0.0.1",
"output_type": "image"
}
]
}
GET /v1/model?slug=<model-slug>
Response includes request_schema:
{
"title": "Flux 2 Pro",
"slug": "flux-2-pro",
"version": "0.0.1",
"output_type": "image",
"request_schema": {
"type": "object",
"required": ["prompt"],
"properties": {
"prompt": {
"type": "string",
"default": "",
"description": "The prompt to generate an image from."
},
"image_size": {
"type": "string",
"default": "landscape_4_3",
"enum": ["square_hd", "square", "portrait_4_3", "portrait_16_9", "landscape_4_3", "landscape_16_9"]
}
}
}
}
POST /v1/prediction
Content-Type: application/json
X-API-Key: <api-key>
{
"model": "flux-2-pro",
"version": "0.0.1",
"input": { ... }
}
GET /v1/prediction/{id}
X-API-Key: <api-key>
Response:
{
"id": "...",
"status": "success|processing|starting|failed|cancelled",
"output": { ... },
"predict_time": 12.5,
"cost": 0.05
}
This skill operates in two phases:
Run the discovery script to get available models:
node .claude/skills/partner-providers-eachlabs/discover-models.mjs
This outputs a minimal JSON array with slug, title, and output_type for each model. Compare against specs/providers/eachlabs/providers.md to identify new models.
For detailed steps, see DISCOVERY_CHECKLIST.md.
Classify models by output_type:
image - Image generation (text-to-image, image-to-image)video - Video generation (text-to-video, image-to-video)audio - Audio generationtext - Text generationarray - Multi-output (e.g., multiple images)| Pattern | Capability |
|---------|------------|
| -text-to-video | text-to-video |
| -image-to-video | image-to-video |
| image_url in required | image-to-image or image-to-video |
| Only prompt required, output=image | text-to-image |
| Only prompt required, output=video | text-to-video |
## Discovery Results
### New Models Found
| Slug | Name | Type | Capability | Recommendation |
|------|------|------|------------|----------------|
| flux-2-pro | Flux 2 Pro | image | t2i | implement |
### Updated Models
| Slug | Change |
|------|--------|
| ... | ... |
### Summary
- X new models found
- Y recommended for implementation
- Z skipped (older versions, niche use cases)
After presenting results, ask: "Which models would you like me to implement?"
Only proceed after user approval. Follow IMPLEMENTATION_CHECKLIST.md to:
request_schemarequest_schema to OpenAPI format (add x-imgly-* extensions)eachlabs/index.tstranslations.jsonexamples/ai/src/eachlabsProviders.ts)specs/providers/eachlabs/providers.md status to "implemented"pnpm --filter "@imgly/plugin-ai-*" check:allEachLabs request_schema is JSON Schema format. Convert to OpenAPI with IMG.LY extensions:
Input (EachLabs):
{
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "The prompt"
},
"image_size": {
"type": "string",
"enum": ["square", "landscape_4_3"]
}
}
}
Output (OpenAPI with extensions):
{
"openapi": "3.0.0",
"info": { "title": "EachLabs API", "version": "1.0.0" },
"components": {
"schemas": {
"ModelNameInput": {
"type": "object",
"properties": {
"prompt": {
"title": "Prompt",
"type": "string",
"description": "The prompt",
"x-imgly-builder": { "component": "TextArea" }
},
"image_size": {
"title": "Format",
"type": "string",
"enum": ["square", "landscape_4_3"],
"x-imgly-enum-labels": {
"square": "Square",
"landscape_4_3": "Landscape 4:3"
},
"x-imgly-builder": { "component": "Select" }
}
},
"x-fal-order-properties": ["prompt", "image_size"],
"required": ["prompt"]
}
}
},
"paths": {}
}
| JSON Schema Type | x-imgly-builder component |
|------------------|---------------------------|
| string (long text) | TextArea |
| string (enum) | Select |
| string (url/image) | Custom via renderCustomProperty |
| boolean | Switch |
| integer/number | Number |
When updating providers.md:
| Status | When to Use |
|--------|-------------|
| implemented | Provider code exists and works |
| planned | Will implement (high priority) |
| skipped | Intentionally not implementing (older version, limited use) |
| undecided | Needs discussion |
discover-models.mjs - Discovery script (run to find new models)DISCOVERY_CHECKLIST.md - Step-by-step discovery processIMPLEMENTATION_CHECKLIST.md - Step-by-step implementation processspecs/providers/README.md - Overview of provider systemspecs/providers/architecture.md - How providers fit into the plugin systemspecs/providers/patterns/ui-guidelines.md - CRITICAL: Which parameters to expose/hide in UIspecs/providers/patterns/text-to-image.md - T2I implementation patternspecs/providers/patterns/image-to-image.md - I2I implementation patternspecs/providers/patterns/text-to-video.md - T2V implementation patternspecs/providers/patterns/image-to-video.md - I2V implementation patternspecs/providers/eachlabs/providers.md - Model inventory and statusnpx skills add imgly/partner-providers-eachlabs下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer