1. 选择图片生成模型
本站已接入 GPT-image2、Gemini 与 Grok 图片生成能力。不同模型在画面风格、文字表现、编辑能力、尺寸支持和返回格式上可能不同。
先前往模型广场了解图片分类,再在API 密钥页面点击创建密钥,查看当前分组中的真实模型代号和倍率。
最低 0.03 元/张该价格是本站图片生成服务的最低单张价格,不代表所有模型、尺寸和质量参数均为同一价格。提交批量任务前先在控制台核对实际费率。
2. 准备 API Key 与请求地址
- 创建一个包含目标图片模型的 API Key。
- 复制密钥分组中显示的完整模型代号。
- 确认账户余额足够完成计划生成数量。
- OpenAI 兼容请求使用
https://www.codex789.com/v1。
先用单张低规格测试模型参数支持范围可能不同。先完成一张测试图并检查扣费、尺寸和返回格式,再扩大数量或并发。
3. 发送图片生成请求
以下是 OpenAI 兼容图片接口的通用示例。将 MODEL_ID 替换为创建密钥页面显示的真实代号;尺寸、数量和返回格式仅在目标模型支持时使用。
cURL
curl https://www.codex789.com/v1/images/generations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MODEL_ID",
"prompt": "白色背景上的简洁科技产品主图,柔和棚拍光线,主体完整",
"size": "1024x1024",
"n": 1
}'
如果控制台文档为某个模型提供了不同请求路径或专用参数,应以该模型的当前接口说明为准。
4. Python 请求示例
下面使用标准 HTTP 请求,便于查看完整响应。先安装依赖并通过环境变量设置 ISLAND_API_KEY。
Terminal
pip install requestsPython
import os
import requests
response = requests.post(
"https://www.codex789.com/v1/images/generations",
headers={
"Authorization": f"Bearer {os.environ['ISLAND_API_KEY']}",
"Content-Type": "application/json",
},
json={
"model": "MODEL_ID",
"prompt": "电影感城市夜景,清晰主体,蓝绿霓虹,横向构图",
"size": "1024x1024",
"n": 1,
},
timeout=180,
)
response.raise_for_status()
print(response.json())
图片生成通常比文字请求耗时更长。生产环境应设置合理读取超时,并避免在超时后立即无限重试。
5. 编写可控的图片提示词
相比堆叠形容词,结构化描述更容易复用。可以按以下顺序组织:
| 部分 | 需要描述的内容 | 示例 |
|---|---|---|
| 主体 | 画面中最重要的人、物或场景 | 一台银色便携咖啡机 |
| 用途 | 商品图、封面、分镜或海报 | 电商详情页首图 |
| 构图 | 景别、角度、留白和比例 | 正面视角,主体居中,右侧留白 |
| 光线 | 棚拍、自然光、电影光等 | 柔和棚拍光,轻微轮廓光 |
| 约束 | 必须保留或避免的元素 | 白色背景,不出现多余文字 |
6. 三类常见应用场景
电商商品图
固定主体、背景、光线和画幅模板,每次只替换商品属性。批量任务应先抽样检查产品外观、文字和边缘细节。
短剧与漫剧素材
为角色建立稳定描述,统一服装、发型、色彩和镜头语言;按场次生成时保存每次使用的提示词与参数,方便返修。
办公封面与营销配图
预留标题区域并控制信息密度,先生成无文字底图,再在排版工具中添加准确标题和品牌信息。
7. 处理返回结果
根据模型与接口格式,结果可能返回图片地址或 Base64 数据。应用需要同时处理两种情况:
- 图片地址:在有效期内下载到自己的存储空间,不要长期依赖临时地址。
- Base64 数据:解码后检查文件类型、尺寸和大小,再写入存储。
- 批量任务:保存请求编号、模型代号、参数、扣费和输出位置。
- 用户输入:限制提示词长度,并过滤不应进入日志的敏感内容。
8. 常见错误排查
| 问题 | 处理方法 |
|---|---|
| 模型不存在或无权限 | 重新检查密钥分组,并从创建密钥页面复制模型代号 |
| 参数不支持 | 删除可选参数,用最小请求测试,再逐项增加尺寸、质量或数量 |
| 请求超时 | 增加合理读取超时、降低并发,避免立即重复扣费的盲目重试 |
| 返回内容无法保存 | 判断是 URL 还是 Base64,并检查响应中的媒体类型 |
| 实际费用与预期不同 | 核对模型、规格、生成数量和创建密钥页面显示的倍率 |