axonhub / docs /zh /api-reference /image-generation.md
llzai's picture
Upload 1793 files
9853396 verified
# 图像生成 API
## 概述
AxonHub 通过 OpenAI 兼容的 `/v1/images/generations` 端点支持图像生成功能。
**注意**:图像生成目前不支持流式传输。
## API 使用
要生成图像,请向 `/v1/images/generations` 端点发送请求。
### 示例
```python
import requests
import json
url = "https://your-axonhub-instance/v1/images/generations"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
payload = {
"model": "gpt-image-1",
"prompt": "Generate a beautiful sunset over mountains",
"size": "1024x1024",
"quality": "high",
"n": 1
}
response = requests.post(url, headers=headers, json=payload)
result = response.json()
# 访问生成的图像
for image in result.get("data", []):
if "b64_json" in image:
print(f"图像 (base64): {image['b64_json'][:50]}...")
if "url" in image:
print(f"图像 URL: {image['url']}")
if "revised_prompt" in image:
print(f"优化后的提示词: {image['revised_prompt']}")
```
```typescript
const response = await fetch("https://your-axonhub-instance/v1/images/generations", {
method: "POST",
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "gpt-image-1",
prompt: "Generate a beautiful sunset over mountains",
size: "1024x1024",
quality: "high",
n: 1,
}),
});
const result = await response.json();
// 访问生成的图像
if (result.data) {
result.data.forEach((image, index) => {
if (image.b64_json) {
console.log(`图像 ${index + 1} (base64): ${image.b64_json.substring(0, 50)}...`);
}
if (image.url) {
console.log(`图像 ${index + 1} URL: ${image.url}`);
}
if (image.revised_prompt) {
console.log(`优化后的提示词: ${image.revised_prompt}`);
}
});
}
```
## 响应格式
```json
{
"created": 1699000000,
"data": [
{
"b64_json": "iVBORw0KGgoAAAANSUhEUgAA...",
"url": "https://...",
"revised_prompt": "A beautiful sunset over mountains with orange and purple sky"
}
]
}
```
## 请求参数
| 参数 | 类型 | 描述 | 默认值 |
|-----------|------|-------------|---------|
| `prompt` | string | **必填。** 所需图像的文本描述。 | - |
| `model` | string | 用于图像生成的模型。 | `dall-e-2` |
| `n` | integer | 要生成的图像数量。 | 1 |
| `quality` | string | 图像质量:`"standard"``"hd"``"high"``"medium"``"low"``"auto"`。 | `"auto"` |
| `response_format` | string | 返回图像的格式:`"url"``"b64_json"`。 | `"b64_json"` |
| `size` | string | 生成图像的尺寸:`"256x256"``"512x512"``"1024x1024"`。 | `"1024x1024"` |
| `style` | string | 生成图像的风格(仅 DALL-E 3):`"vivid"``"natural"`。 | - |
| `user` | string | 代表最终用户的唯一标识符。 | - |
| `background` | string | 背景样式:`"opaque"``"transparent"`。 | - |
| `output_format` | string | 图像格式:`"png"``"webp"``"jpeg"`。 | `"png"` |
| `output_compression` | number | 压缩级别 (0-100%)。 | 100 |
| `moderation` | string | 内容审核级别:`"low"``"auto"`。 | - |
| `partial_images` | number | 要生成的部分图像数量。 | 1 |
## 图像编辑(局部重绘)
要编辑图像,请使用 `/v1/images/edits` 端点,使用 multipart/form-data 格式:
```python
import requests
url = "https://your-axonhub-instance/v1/images/edits"
headers = {
"Authorization": f"Bearer {API_KEY}"
}
with open("image.png", "rb") as image_file, open("mask.png", "rb") as mask_file:
files = {
"image": image_file,
"mask": mask_file
}
data = {
"model": "gpt-image-1",
"prompt": "将颜色改为白色",
"size": "1024x1024",
"n": 1
}
response = requests.post(url, headers=headers, files=files, data=data)
result = response.json()
```
### 图像编辑参数
| 参数 | 类型 | 描述 | 默认值 |
|-----------|------|-------------|---------|
| `image` | file | **必填。** 要编辑的图像。 | - |
| `prompt` | string | **必填。** 所需编辑的文本描述。 | - |
| `mask` | file | 可选的蒙版图像。透明区域表示要编辑的位置。 | - |
| `model` | string | 要使用的模型。 | `dall-e-2` |
| `n` | integer | 要生成的图像数量。 | 1 |
| `size` | string | 生成图像的尺寸。 | `"1024x1024"` |
| `response_format` | string | 格式:`"url"``"b64_json"`。 | `"b64_json"` |
| `user` | string | 最终用户的唯一标识符。 | - |
| `background` | string | 背景样式:`"opaque"``"transparent"`。 | - |
| `output_format` | string | 图像格式:`"png"``"webp"``"jpeg"`。 | `"png"` |
| `output_compression` | number | 压缩级别 (0-100%)。 | 100 |
| `input_fidelity` | string | 输入保真度级别。 | - |
| `partial_images` | number | 部分图像数量。 | 1 |
## 支持的提供商
| 提供商 | 状态 | 支持的模型 | 备注 |
| -------------------- | ------- | ------------------------------------------------------------- | --------------------- |
| **OpenAI** | ✅ 完成 | gpt-image-1、dall-e-2、dall-e-3 等 | 不支持流式传输 |
| **字节跳动豆包** | ✅ 完成 | doubao-seed-dream-4-0 等 | 不支持流式传输 |
| **OpenRouter** | ✅ 完成 | gpt-image-1、gemini-2.5-flash-image-preview 等 | 不支持流式传输 |
| **Gemini** | ✅ 完成 | gemini-2.5-flash-image、gemini-2.0-flash-preview-image-generation 等 | 不支持流式传输 |
| **ZAI** | ✅ 完成 | - | 仅支持生成,不支持编辑 |
## 相关资源
- [OpenAI API](openai-api.md)
- [Anthropic API](anthropic-api.md)
- [Gemini API](gemini-api.md)
- [Claude Code 集成](../guides/claude-code-integration.md)