home / skills / openclaw / skills / krea-api

krea-api skill

This skill lets you generate images via Krea.ai API across multiple models with asynchronous jobs, credentials, and configurable parameters.

npx playbooks add skill openclaw/skills --skill krea-api

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
2.5 KB
---
name: krea-api
description: Generate images via Krea.ai API (Flux, Imagen, Ideogram, Seedream, etc.)
version: 0.1.0
---

# Krea.ai Image Generation Skill

Generate images using Krea.ai's API with support for multiple models including Flux, Imagen 4, Ideogram 3.0, and more.

## Features

- Async job-based generation (POST → poll → result)
- Support for multiple image models
- Configurable parameters (width, height, steps, guidance, seed, etc.)
- Webhook support for background completion
- Stdlib-only dependencies (no `requests` required)

## Setup

1. Get your Krea.ai API credentials from https://docs.krea.ai/developers/api-keys-and-billing
2. Configure with:

```bash
clawdbot config set skill.krea_api.key_id YOUR_KEY_ID
clawdbot config set skill.krea_api.secret YOUR_SECRET
```

3. Or pass credentials directly as arguments.

## Usage

### Interactive Mode

```
You: Generate a sunset over the ocean with Flux
Klawf: Creates the image and returns the URL
```

### Python Script

```python
from krea_api import KreaAPI

api = KreaAPI(
    key_id="your-key-id",
    secret="your-secret"
)

# Generate and wait
urls = api.generate_and_wait(
    prompt="A serene Japanese garden",
    model="flux",
    width=1024,
    height=1024
)
print(urls)
```

### Available Models (examples)

| Model | Endpoint |
|-------|----------|
| flux | `/generate/image/bfl/flux-1-dev` |
| flux-kontext | `/generate/image/bfl/flux-1-dev-kontext` |
| flux-1.1-pro | `/generate/image/bfl/flux-1-1-pro` |
| imagen-3 | `/generate/image/google/imagen-3` |
| imagen-4 | `/generate/image/google/imagen-4` |
| ideogram-3.0 | `/generate/image/ideogram/ideogram-3-0` |
| seedream-4 | `/generate/image/seedream/seedream-4` |

For the full list, run:

```bash
python3 krea_api.py --list-models
```

## Parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| prompt | str | required | Image description (max 1800 chars) |
| model | str | "flux" | Model name from table above |
| width | int | 1024 | Image width (512-2368) |
| height | int | 1024 | Image height (512-2368) |
| steps | int | 25 | Generation steps (1-100) |
| guidance_scale | float | 3.0 | Guidance scale (0-24) |
| seed | str | None | Random seed for reproducibility |
| webhook_url | str | None | URL for completion notification |

## Credits

Thanks to Claude Opus 4.5 for researching the correct API structure. The docs incorrectly suggest `/v1/images/flux` but the working endpoint is `/generate/image/bfl/flux-1-dev`.

Overview

This skill generates images via the Krea.ai API and supports multiple models such as Flux, Imagen, Ideogram, and Seedream. It provides async job-based generation, optional webhook callbacks, and configurable parameters for width, height, steps, guidance, and seeds. The implementation is lightweight with stdlib-only dependencies and can be used interactively or from Python scripts. It focuses on reliable polling or webhook-based completion for background tasks.

How this skill works

You submit a generation request (POST) specifying a model and parameters, then either poll the returned job ID until completion or register a webhook URL to receive the finished result. The skill exposes helper functions to start jobs, list available models, and fetch final image URLs once the job succeeds. It supports common image models by mapping friendly model names to Krea.ai endpoints and allows deterministic output with an optional seed.

When to use it

  • When you need programmatic image generation across multiple Krea.ai models
  • When you want async generation with polling or webhook notification
  • When you require reproducible outputs using seeds
  • When integrating image creation into bots, pipelines, or batch jobs
  • When you need fine control over image size, steps, and guidance scale

Best practices

  • Use webhooks for large batches to avoid long polling and rate limits
  • Set an explicit seed for reproducible results during iteration
  • Validate width/height against allowed ranges (512–2368) to prevent API errors
  • Start with conservative steps and guidance_scale, then increase for higher detail
  • List available models first to ensure the desired endpoint name is supported

Example use cases

  • Generate hero images for blog posts using Imagen-4 or Flux
  • Create character concept art with Ideogram-3.0 and a fixed seed for consistency
  • Automate social media image batches via webhooks and background jobs
  • Prototype UI illustrations from prompts in an interactive chatbot session
  • Archive generated outputs and metadata for auditing or reuse

FAQ

How do I authenticate?

Provide your key_id and secret either via config (clawdbot config) or pass them directly when constructing the API client.

Can I get results asynchronously?

Yes. The API is job-based: submit a job, then poll the job status or register a webhook URL to receive completion notifications and final image URLs.