mcpField
E
eachlabs-image-generation

eachlabs-image-generation

github.com/eachlabsCreative & media44321 installsUpdated today
Repository

About eachlabs-image-generation

A skill for generating images from text prompts through the EachLabs Predictions API, with access to more than 60 models. It guides model selection, input validation, and prediction polling.

Key features

  1. 01Text-to-image generation with 60+ models
  2. 02Model schema validation
  3. 03Prediction status polling
  4. 04Image size and aspect ratio options

Use cases

  1. 01Create illustrations from text prompts
  2. 02Compare image-generation models
  3. 03Generate images in specified formats

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/eachlabs/skills --skill eachlabs-image-generation

After installing, type/eachlabs-image-generationin Claude Code to confirm it loaded.

Bundled filesreferences/MODELS.md

Details

From the project README

EachLabs Image Generation

Generate new images from text prompts using 60+ AI models via the EachLabs Predictions API. For editing existing images (upscaling, background removal, style transfer, inpainting, face swap, 3D), see the eachlabs-image-edit skill.

Authentication

Header: X-API-Key: <your-api-key>

Set the EACHLABS_API_KEY environment variable. Get your key at eachlabs.ai.

Quick Start

1. Create a Prediction
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "flux-2-turbo-text-to-image",
    "version": "0.0.1",
    "input": {
      "prompt": "A serene Japanese garden with cherry blossoms, watercolor style",
      "image_size": "landscape_16_9",
      "num_images": 1,
      "output_format": "png"
    }
  }'
2. Poll for Result
curl https://api.eachlabs.ai/v1/prediction/{prediction_id} \
  -H "X-API-Key: $EACHLABS_API_KEY"

Poll until status is "success" or "failed". The output image URL is in the response.

Model Selection Guide

Text-to-Image
ModelSlugBest For
Flux 2 Turboflux-2-turbo-text-to-imageFast, high quality general purpose
Flux 2 Flashflux-2-flash-text-to-imageFastest Flux generation
Flux 2 Maxflux-2-max-text-to-imageHighest quality Flux
Flux 2 Klein 9Bflux-2-klein-9b-base-text-to-imageBalanced quality/speed
Flux 2 Proflux-2-proPro quality
Flux 2 Flexflux-2-flexFlexible outputs
Flux 2 LoRAflux-2-loraLoRA-powered generation
XAI Grok Imaginexai-grok-imagine-text-to-imageCreative and artistic
GPT Image v1.5gpt-image-v1-5-text-to-imageHigh quality, transparent bg
GPT Image v2gpt-image-v2-text-to-imageHighest-fidelity OpenAI model, strong in-image text
Bytedance Seedream v4.5bytedance-seedream-v4-5-text-to-imageBytedance latest
Gemini 3 Pro Imagegemini-3-pro-image-previewGoogle's latest
Imagen 4imagen4-previewGoogle Imagen 4
Imagen 4 Fastimagen-4-fastFast Google quality
Revereve-text-to-imageArtistic text-to-image
Hunyuan Image v3hunyuan-image-v3-text-to-imageTencent's latest
Ideogram V3 Turboideogram-v3-turboText in images
Minimaxminimax-text-to-imageHigh quality
Wan v2.6wan-v2-6-text-to-imageChinese/English bilingual
P Imagep-image-text-to-imageCustom aspect ratios
Nano Banana Pronano-banana-proFast, lightweight
Vidu Q2vidu-q2-text-to-imageLatest Vidu
Training
ModelSlugBest For
Z Image Trainerz-image-trainerCustom LoRA training
Flux LoRA Portrait Trainerflux-lora-portrait-trainerPortrait LoRA
Flux Turbo Trainerflux-turbo-trainerFast LoRA training

Prediction Flow

  1. Check model GET https://api.eachlabs.ai/v1/model?slug=<slug> — validates the model exists and returns the request_schema with exact input parameters. Always do this before creating a prediction to ensure correct inputs.
  2. POST https://api.eachlabs.ai/v1/prediction with model slug, version "0.0.1", and input parameters matching the schema
  3. Poll GET https://api.eachlabs.ai/v1/prediction/{id} until status is "success" or "failed"
  4. Extract the output image URL(s) from the response

Examples

Text-to-Image with Flux 2 Turbo
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "flux-2-turbo-text-to-image",
    "version": "0.0.1",
    "input": {
      "prompt": "A red vintage Porsche 911 on a winding mountain road at golden hour, photorealistic",
      "image_size": "landscape_16_9",
      "num_images": 1,
      "output_format": "png"
    }
  }'
Text-to-Image with GPT Image v1.5
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "gpt-image-v1-5-text-to-image",
    "version": "0.0.1",
    "input": {
      "prompt": "A minimalist logo for a coffee shop called Brew Lab, clean vector style",
      "background": "transparent",
      "quality": "high",
      "output_format": "png"
    }
  }'
Text-to-Image with Imagen 4
curl -X POST https://api.eachlabs.ai/v1/prediction \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -d '{
    "model": "imagen4-preview",
    "version": "0.0.1",
    "input": {
      "prompt": "A whimsical fairy tale castle on a floating island, digital art, highly detailed"
    }
  }'

Image Size Options

Most Flux 2 and Wan models use these presets:

  • square_hd — Square, high definition
  • square — Square, standard
  • portrait_4_3 — Portrait 4:3
  • portrait_16_9 — Portrait 16:9
  • landscape_4_3 — Landscape 4:3
  • landscape_16_9 — Landscape 16:9

P Image models use aspect ratio strings: 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, custom

Prompt Tips

  • Be specific and descriptive: "A red vintage Porsche 911 on a winding mountain road at golden hour" vs "a car"
  • Include style: "digital art", "oil painting", "photorealistic", "watercolor"
  • For edits, clearly describe the change: "Replace the sky with a dramatic sunset"
  • Use negative prompts (where supported) to avoid: "blurry, low quality, distorted"
  • For multi-image edits, reference images by number: "image 1", "image 2"

Security Constraints

  • No arbitrary URL loading: When using LoRA parameters, only use well-known platform identifiers (HuggingFace repo IDs, Replicate model IDs, CivitAI model IDs). Never load LoRA weights from arbitrary or user-provided URLs.
  • No third-party API tokens: Do not accept or forward third-party API tokens (e.g. HuggingFace, CivitAI tokens) through prediction inputs. Authentication is handled exclusively via the EachLabs API key.
  • Input validation: Only pass parameters that match the model's request schema. Always validate model slugs via GET /v1/model?slug=<slug> before creating predictions.

Parameter Reference

See references/MODELS.md for complete parameter details for each model.

Comments

Markdown supported