Інтеграція FLUX для генерації зображень
FLUX від Black Forest Labs (команда творців Stable Diffusion) - поточний SOTA у генерації реалістичних зображень. FLUX.1 Dev і FLUX.1 Pro перевершують SDXL і можна порівняти з Midjourney v6 за якістю.
Варіанти моделей
| Модель | Використання | Ліцензія Швидкість |
|---|---|---|
| FLUX.1 Pro | API тільки | Комерційна |
| FLUX.1 Розробка | Власний хостинг / API | Некомерційне |
| FLUX.1 Schnell | Self-hosted | Apache 2.0 3-8 сек (4 кроки) |
Replicate API інтеграція
import replicate
import httpx
import asyncio
async def generate_flux(
prompt: str,
model: str = "flux-dev", # flux-pro, flux-dev, flux-schnell
aspect_ratio: str = "1:1",
output_format: str = "webp",
guidance: float = 3.5,
steps: int = 28
) -> bytes:
model_map = {
"flux-pro": "black-forest-labs/flux-pro",
"flux-dev": "black-forest-labs/flux-dev",
"flux-schnell": "black-forest-labs/flux-schnell"
}
output = await replicate.async_run(
model_map[model],
input={
"prompt": prompt,
"aspect_ratio": aspect_ratio,
"output_format": output_format,
"output_quality": 90,
"guidance": guidance,
"num_inference_steps": steps,
}
)
async with httpx.AsyncClient() as client:
response = await client.get(str(output[0]))
return response.content
Дифузори з власним хостингом
from diffusers import FluxPipeline
import torch
pipe = FluxPipeline.from_pretrained(
"black-forest-labs/FLUX.1-dev",
torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload() # Для GPU < 24 GB
def generate(prompt: str, width: int = 1024, height: int = 1024) -> bytes:
import io
image = pipe(
prompt,
height=height,
width=width,
guidance_scale=3.5,
num_inference_steps=50,
max_sequence_length=512,
generator=torch.Generator("cpu").manual_seed(0)
).images[0]
buf = io.BytesIO()
image.save(buf, format="PNG")
return buf.getvalue()
FLUX.1 Schnell для швидкого прототипування
# Schnell: Apache 2.0, 4 шага вместо 50
pipe_schnell = FluxPipeline.from_pretrained(
"black-forest-labs/FLUX.1-schnell",
torch_dtype=torch.bfloat16
)
image = pipe_schnell(
prompt="professional photo of a product on white background",
num_inference_steps=4, # 4 шага достаточно
guidance_scale=0.0, # Schnell не использует CFG
).images[0]
FLUX ControlNet дозволяє керувати позою, глибиною, кантами (як ControlNet для SD). Терміни: інтеграція Replicate API – 1 день. Self-hosted з чергою – 1 тиждень.







