FLUX Pro 专业图像生成完整指南
最新一代 AI 图像生成模型,支持超高分辨率、精确风格控制、批量生成等专业功能
超高分辨率
支持 4K 图像生成
风格控制
精确艺术风格
摄影级质量
专业摄影效果
创意增强
智能创意扩展
一、基础图像生成
快速开始
import requests
import json
import base64
from PIL import Image
from io import BytesIO
# API 配置
API_URL = "https://api.n1n.ai/v1/images/generations"
API_KEY = "your-api-key"
def generate_image(prompt, model="flux-pro", size="1024x1024"):
"""使用 FLUX Pro 生成图像"""
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
payload = {
"model": model,
"prompt": prompt,
"n": 1,
"size": size,
"quality": "hd",
"response_format": "b64_json"
}
response = requests.post(API_URL, headers=headers, json=payload)
if response.status_code == 200:
result = response.json()
image_data = result["data"][0]["b64_json"]
# 将 base64 转换为图像
image = Image.open(BytesIO(base64.b64decode(image_data)))
image.save(f"flux_{size}.png")
print(f"图像已保存")
return image
else:
print(f"错误: {response.status_code}")
return None
# 使用示例
prompt = "cyberpunk city at night, neon lights, flying cars, ultra detailed, 8k"
image = generate_image(prompt, model="flux-pro")模型版本
- • FLUX Pro - 最高质量
- • FLUX Dev - 开发版
- • FLUX Schnell - 快速版
支持尺寸
- • 1024x1024 (1:1)
- • 1792x1024 (16:9)
- • 1024x1792 (9:16)
- • 2048x2048 (Ultra)
质量等级
- • Standard - 标准质量
- • HD - 高清质量
- • Ultra - 超高清
二、高级提示词构建
提示词构建器
class FluxProPromptBuilder:
"""FLUX Pro 提示词构建器"""
def __init__(self):
self.elements = {
"subject": "",
"style": "",
"lighting": "",
"camera": "",
"quality": []
}
def subject(self, description):
self.elements["subject"] = description
return self
def style(self, *styles):
self.elements["style"] = ", ".join(styles)
return self
def lighting(self, lighting_type):
self.elements["lighting"] = lighting_type
return self
def camera(self, angle, focal_length=None):
camera_str = angle
if focal_length:
camera_str += f", {focal_length} lens"
self.elements["camera"] = camera_str
return self
def quality_tags(self, *tags):
self.elements["quality"].extend(tags)
return self
def build(self):
prompt_parts = []
if self.elements["subject"]:
prompt_parts.append(self.elements["subject"])
if self.elements["style"]:
prompt_parts.append(self.elements["style"])
if self.elements["lighting"]:
prompt_parts.append(self.elements["lighting"])
if self.elements["camera"]:
prompt_parts.append(self.elements["camera"])
if self.elements["quality"]:
prompt_parts.extend(self.elements["quality"])
return ", ".join(prompt_parts)
# 使用示例
builder = FluxProPromptBuilder()
prompt = builder\
.subject("majestic dragon soaring through clouds")\
.style("fantasy art", "digital painting")\
.lighting("dramatic sunset lighting")\
.camera("wide angle shot", "24mm")\
.quality_tags("8k resolution", "highly detailed", "masterpiece")\
.build()
print("生成的提示词:", prompt)💡 提示词最佳实践
- • 主体描述放在最前面,越重要的内容越靠前
- • 使用具体的形容词,避免模糊表达
- • 添加艺术风格、光照、构图等修饰词
- • 使用权重语法 (word:1.2) 强调重要元素
- • 负向提示词排除不想要的元素
三、精确风格控制
风格预设与混合
# FLUX Pro 风格控制
class FluxProStyleControl:
"""风格精确控制"""
STYLE_PRESETS = {
"photorealistic": {
"prompt_suffix": "photorealistic, ultra realistic, professional photography",
"guidance_scale": 7.5,
"steps": 50
},
"anime": {
"prompt_suffix": "anime style, manga art, cel shaded",
"guidance_scale": 12,
"steps": 40
},
"oil_painting": {
"prompt_suffix": "oil painting, traditional art, brush strokes",
"guidance_scale": 8,
"steps": 45
}
}
@classmethod
def apply_style(cls, prompt, style_name):
if style_name not in cls.STYLE_PRESETS:
raise ValueError(f"Unknown style: {style_name}")
style = cls.STYLE_PRESETS[style_name]
full_prompt = f"{prompt}, {style['prompt_suffix']}"
return {
"prompt": full_prompt,
"guidance_scale": style["guidance_scale"],
"steps": style["steps"]
}
# 风格混合
def blend_styles(prompt, style1, style2, ratio=0.7):
"""混合两种风格"""
s1 = FluxProStyleControl.STYLE_PRESETS[style1]
s2 = FluxProStyleControl.STYLE_PRESETS[style2]
blended_prompt = f"{prompt}, [{s1['prompt_suffix']}:{ratio}], [{s2['prompt_suffix']}:{1-ratio}]"
return {
"prompt": blended_prompt,
"guidance_scale": s1["guidance_scale"] * ratio + s2["guidance_scale"] * (1-ratio),
"steps": int(s1["steps"] * ratio + s2["steps"] * (1-ratio))
}艺术风格
- • 写实摄影 - Photorealistic
- • 动漫插画 - Anime/Manga
- • 油画 - Oil Painting
- • 水彩 - Watercolor
- • 3D 渲染 - 3D Render
- • 概念艺术 - Concept Art
相机参数
- • 镜头焦距 - 24mm, 50mm, 85mm
- • 光圈 - f/1.4, f/2.8, f/5.6
- • 景深 - shallow/deep DOF
- • 视角 - wide/close-up/aerial
- • ISO - 100, 400, 1600
四、批量生成优化
异步批量处理
import asyncio
import aiohttp
class FluxProBatchGenerator:
"""批量生成优化"""
def __init__(self, api_key, max_concurrent=3):
self.api_key = api_key
self.api_url = "https://api.n1n.ai/v1/images/generations"
self.max_concurrent = max_concurrent
async def generate_single(self, session, prompt, **kwargs):
headers = {
"Authorization": f"Bearer {self.api_key}",
"Content-Type": "application/json"
}
payload = {
"model": "flux-pro",
"prompt": prompt,
"n": 1,
**kwargs
}
async with session.post(self.api_url, headers=headers, json=payload) as response:
if response.status == 200:
return await response.json()
else:
return {"error": f"Status {response.status}"}
async def generate_batch(self, prompts_with_params):
async with aiohttp.ClientSession() as session:
semaphore = asyncio.Semaphore(self.max_concurrent)
async def generate_with_limit(prompt_params):
async with semaphore:
prompt = prompt_params["prompt"]
params = prompt_params.get("params", {})
return await self.generate_single(session, prompt, **params)
tasks = [generate_with_limit(pp) for pp in prompts_with_params]
return await asyncio.gather(*tasks)🚀 批量生成技巧
- • 使用异步并发提高吞吐量
- • 控制并发数避免限流
- • 批量生成相似风格可复用参数
- • 设置重试机制处理失败
- • 实时保存避免数据丢失
五、性能与成本优化
⚡ 性能优化
- ✅ FLUX Schnell 用于快速预览
- ✅ 批量处理提高效率
- ✅ 30-50 步通常足够
- ✅ 先小图后放大策略
- ✅ 缓存常用结果
💰 成本控制
- ✅ 开发用 FLUX Dev
- ✅ 成品用 FLUX Pro
- ✅ Standard 质量满足多数需求
- ✅ 避免过大分辨率
- ✅ 设置预算上限
成本参考
FLUX Pro
$0.05/张 (1024x1024)
FLUX Dev
$0.03/张 (1024x1024)
FLUX Schnell
$0.01/张 (1024x1024)