home / skills / openclaw / skills / krea-api
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-apiReview the files below or copy the command above to add this skill to your agents.
---
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`.
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.
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.
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.