From claude-code-config
Generates expert prose prompts for FLUX.2 [klein] text-to-image generation, image editing, multi-reference workflows, and T2I/I2I tasks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-code-config:flux2-klein-promptingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Official BFL prompting guide requires **connected prose**, not keyword lists.
Official BFL prompting guide requires connected prose, not keyword lists. Write: who/what is in the image, where, in what style, materials/light/camera, and — for editing — what must remain unchanged.
| Axis | Options | Notes |
|---|---|---|
| Size | 4B / 9B | 9B better for complex instructions; 4B fastest |
| Mode | Distilled / Base | Distilled = 4 steps, CFG≈1.0; Base = 50 steps, CFG≈4.0 |
| License | 4B Apache-2.0 / 9B Non-Commercial | Check before commercial use |
| Task | T2I / Edit (I2I) / Multi-reference | Edit requires input_image; up to 4 ref images via API |
9B uses Qwen3 8B text embedder → solid multilingual support (Russian works natively).
Text in image → always in straight quotes, specify position. Without this: garbled glyphs.
Заголовок: "ТОЧНЫЙ ТЕКСТ". Шрифт жирный гротеск, ровный кернинг. Других надписей не добавлять.
Negatives → positives → don't say "don't change X", say "preserve X"
❌ "не меняй освещение"
✅ "Сохрани освещение, перспективу и лицо"
Multi-reference → simplify text, use explicit indexing
"Возьми персонажа из image 2 и помести рядом с объектом из image 1."
Distilled for previews, Base for finals
Фотореалистичная предметная фотография [объект] на [фон], ракурс [сверху/на уровне глаз/крупный план], мягкий студийный свет, реалистичные материалы и фактуры, аккуратные тени, высокая детализация. Без логотипов и водяных знаков.
Каталожный product shot: [товар] в центре кадра, фон [описание], чистая композиция, цвет товара строго [HEX или словом], реалистичные отражения, нейтральный стиль, как для e-commerce.
Минималистичная иконка: [смысл/символ], плоский дизайн, 2–3 цвета, чёткий силуэт, без мелких деталей. Без текста.
Персонаж: [кто], внешний вид: [рост/пропорции/одежда], выражение лица [эмоция], стиль [аниме/3D/иллюстрация], палитра [цвета], фон простой. Сохранить узнаваемость: [признак 1], [признак 2].
Набор стикеров одного персонажа (6 штук): радость, злость, удивление, смущение, сон, восторг. Единый стиль, толстый контур, яркая палитра, прозрачный фон, без текста.
Постер [стиль]. Вверху крупный заголовок: "ТОЧНЫЙ ТЕКСТ". Шрифт: жирный гротеск, ровный кернинг, читаемо. Ниже подзаголовок: "Ещё одна строка". Остальные надписи не добавлять.
UI‑мокап мобильного приложения [тематика]. 3 экрана в одной сетке. Читаемые заголовки на русском в кавычках: "[Экран 1]", "[Экран 2]", "[Экран 3]". Минималистичная дизайн‑система, много воздуха, аккуратная типографика, без лишнего декоративного шума.
Бесшовная текстура (seamless): [материал], равномерное освещение, без объектов, без текста, высокая детализация, натуральные вариации, без резких пятен.
Это то же изображение, но: [что изменить]. Сохрани: [освещение / перспектива / лицо / композиция / стиль]. Сделай результат фотореалистичным и согласованным по теням и отражениям.
Это то же изображение, но добавь на [табличку/вывеску] точный текст: "[ТЕКСТ]". Сохрани стиль таблички, фон и освещение. Текст должен быть читаемым. Больше текста не добавляй.
Это то же изображение, но возьми персонажа из image 2 и помести рядом с персонажем из image 1. Сохрани реалистичные тени, масштаб и общую атмосферу сцены.
| Mode | Steps | guidance_scale | Use for |
|---|---|---|---|
| Distilled | 4 | ~1.0 | Fast previews, interactive |
| Base | 50 | ~4.0 | Final renders, detail/diversity |
steps / guidance not exposed in klein API (unlike flex) — control via prompt + seed + resolutionprompt, input_image, input_image_2..4, seed, width, height, safety_tolerance, output_format, webhook
import os, time, requests
BFL_API_KEY = os.environ["BFL_API_KEY"]
# 1. Create task
create = requests.post(
"https://api.bfl.ai/v1/flux-2-klein-4b",
headers={"x-key": BFL_API_KEY, "Content-Type": "application/json"},
json={
"prompt": 'Это то же изображение, но добавь на вывеску текст "ОТКРЫТО". '
"Сохрани фон, освещение и перспективу. Больше текста не добавляй.",
"input_image": "https://example.com/your-image.png",
"seed": 42,
"output_format": "png",
},
timeout=60,
)
task = create.json()
# 2. Poll until ready
while True:
time.sleep(0.5)
data = requests.get(task["polling_url"], headers={"x-key": BFL_API_KEY}).json()
if data["status"] == "Ready":
print("Done:", data["result"]["sample"]) # signed URL
break
if data["status"] in ("Error", "Failed"):
raise RuntimeError(data)
import torch
from PIL import Image
from diffusers import Flux2KleinPipeline
pipe = Flux2KleinPipeline.from_pretrained(
"black-forest-labs/FLUX.2-klein-4B", torch_dtype=torch.bfloat16
).to("cuda")
# T2I
image = pipe(
prompt='Постер "КОФЕ". Жирный гротеск, ровный кернинг, без других надписей.',
height=1024, width=1024,
guidance_scale=1.0, num_inference_steps=4,
generator=torch.Generator("cuda").manual_seed(42),
).images[0]
# Edit (I2I)
base = Image.open("input.png").convert("RGB").resize((1024, 1024))
edited = pipe(
prompt="Это то же изображение, но замени фон на светлую кухню. "
"Сохрани объект, освещение и перспективу.",
image=[base],
height=1024, width=1024,
guidance_scale=1.0, num_inference_steps=4,
).images[0]
| Problem | Cause | Fix |
|---|---|---|
| Garbled text / glyphs | Text not quoted explicitly | Exact string in quotes; say "no other text" |
| Blurry / artifacts | Distilled 4-step compromise | Switch to Base (50 steps) for finals |
| Style drift in edit | Missing preservation clause | Always add "Сохрани: свет/лицо/композицию" |
| Multi-reference "soup" | Overloaded prompt + conflicting refs | Simplify text; use "image 1 / image 2" indexing |
| Wrong resolution | Input not multiple of 16 | Pre-resize input to ×16, ≤4MP |
npx claudepluginhub anastasiyaw/claude-code-configGenerates images from text prompts using fal.ai FLUX.1/2 Pro/Dev/Schnell and SDXL models. Configures image sizes, guidance scale, inference steps, LoRA, seeds, batching via TypeScript/Python APIs.
Generates images from text, edits images with references, performs product placement, style transfer, and multi-image composition using OpenAI DALL-E or Google Gemini.
Generates optimized prompts for Gemini 2.5 Flash Image (Nano Banana) using best practices for photorealistic shots, art styles, and multi-turn editing workflows.