Skip to content
Back to skills

Eachlabs Image Generation

ASecurity

Generate new images from text prompts using EachLabs AI models. Supports text-to-image with multiple model families including Flux, GPT Image, Gemini, Imagen, Seedream, and more. Use when the user wants to create new images from text. For editing existing images, see eachlabs-image-edit.

  • 16 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 7, 2026
ai-agentsgobashgitapisecurity

Works with

  • api

Security analysis

A96/100
  • mediumUses curl or wget to download content

Pro scans all 2 files and shows the line behind each finding

Scanned June 7, 2026

npx -y skills add modbender/skill-library-mcp --skill eachlabs-image-generation --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Eachlabs Image Generation?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Eachlabs Image Generation
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/modbender-eachlabs-image-generation/badge)](https://www.skillsdirectory.com/skills/modbender-eachlabs-image-generation)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: eachlabs-image-generation
description: Generate new images from text prompts using EachLabs AI models. Supports text-to-image with multiple model families including Flux, GPT Image, Gemini, Imagen, Seedream, and more. Use when the user wants to create new images from text. For editing existing images, see eachlabs-image-edit.
metadata:
  author: eachlabs
  version: "1.0"
---

# 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](https://eachlabs.ai).

## Quick Start

### 1. Create a Prediction

```bash
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

```bash
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

| Model | Slug | Best For |
|-------|------|----------|
| Flux 2 Turbo | `flux-2-turbo-text-to-image` | Fast, high quality general purpose |
| Flux 2 Flash | `flux-2-flash-text-to-image` | Fastest Flux generation |
| Flux 2 Max | `flux-2-max-text-to-image` | Highest quality Flux |
| Flux 2 Klein 9B | `flux-2-klein-9b-base-text-to-image` | Balanced quality/speed |
| Flux 2 Pro | `flux-2-pro` | Pro quality |
| Flux 2 Flex | `flux-2-flex` | Flexible outputs |
| Flux 2 LoRA | `flux-2-lora` | LoRA-powered generation |
| XAI Grok Imagine | `xai-grok-imagine-text-to-image` | Creative and artistic |
| GPT Image v1.5 | `gpt-image-v1-5-text-to-image` | High quality, transparent bg |
| Bytedance Seedream v4.5 | `bytedance-seedream-v4-5-text-to-image` | Bytedance latest |
| Gemini 3 Pro Image | `gemini-3-pro-image-preview` | Google's latest |
| Imagen 4 | `imagen4-preview` | Google Imagen 4 |
| Imagen 4 Fast | `imagen-4-fast` | Fast Google quality |
| Reve | `reve-text-to-image` | Artistic text-to-image |
| Hunyuan Image v3 | `hunyuan-image-v3-text-to-image` | Tencent's latest |
| Ideogram V3 Turbo | `ideogram-v3-turbo` | Text in images |
| Minimax | `minimax-text-to-image` | High quality |
| Wan v2.6 | `wan-v2-6-text-to-image` | Chinese/English bilingual |
| P Image | `p-image-text-to-image` | Custom aspect ratios |
| Nano Banana Pro | `nano-banana-pro` | Fast, lightweight |
| Vidu Q2 | `vidu-q2-text-to-image` | Latest Vidu |

### Training

| Model | Slug | Best For |
|-------|------|----------|
| Z Image Trainer | `z-image-trainer` | Custom LoRA training |
| Flux LoRA Portrait Trainer | `flux-lora-portrait-trainer` | Portrait LoRA |
| Flux Turbo Trainer | `flux-turbo-trainer` | Fast 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

```bash
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

```bash
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

```bash
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](references/MODELS.md) for complete parameter details for each model.

Files in this skill

  • SKILL.md6.7 KB
  • references/MODELS.md81 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.