Images API
Canvas 文生图
OpenAI Images API 风格,适合 canvas-20 / gpt-image-2。
POST /api/v1/images/generations
认证: Authorization: Bearer <API_KEY>
请求体
{
"model": "gpt-image-2",
"prompt": "一只戴墨镜的柴犬坐在咖啡馆里",
"size": "1024x1024",
"quality": "medium",
"n": 1
}
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model |
string | 是 | 模型 ID 或别名 |
prompt |
string | 是 | 图片描述 |
n |
integer | 否 | 图片数量,默认 1 |
size |
string | 否 | auto、预设尺寸或满足模型约束的自定义尺寸 |
quality |
string | 否 | low、medium、high、auto |
stream |
boolean | 否 | 是否开启 SSE 流式返回 |
partial_images |
integer | 否 | 流式中间图数量,需 stream=true |
POST /api/v3/images/generations 也可用于兼容既有图片生成入口。
响应 (200)
{
"created": 1234567890,
"data": [...],
"usage": {
"input_tokens": 120,
"output_tokens": 4096,
"total_tokens": 4216
}
}
Canvas 图片编辑
OpenAI Images Edits 风格,使用 multipart/form-data。
POST /api/v1/images/edits
curl https://app.silvamux.io/api/v1/images/edits \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-F "model=gpt-image-2" \
-F "image=@photo.png" \
-F "prompt=给图片加上一些装饰文字" \
-F "size=1024x1024" \
-F "quality=medium"
支持最多 16 张输入图,重复传入 image=@... 即可。mask、background、n、size、quality、stream、partial_images 等字段会透传给上游。POST /api/v3/images/edits 也可用于兼容既有路径。
上传限制
请求体大小不超过 64 MB。超出限制时返回 413:
{
"error": {
"message": "request body too large",
"type": "invalid_request_error",
"code": "REQUEST_TOO_LARGE"
}
}
Banana Gemini 图像生成
Gemini generateContent 风格,适合 g3.1-flash-image-preview / banana-2。
POST /api/v1/gemini/v1beta/models/{model}:generateContent
{
"contents": [
{
"role": "user",
"parts": [{ "text": "画一只坐在窗台上的猫" }]
}
],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {
"aspectRatio": "1:1",
"imageSize": "1K"
}
}
}
响应保持 Gemini 格式,计费字段在 usageMetadata 中。
计费
Canvas 按响应 usage.input_tokens 与 usage.output_tokens 计费。
Banana 按响应 usageMetadata.candidatesTokenCount 计费;usageMetadata.promptTokenCount 和 usageMetadata.totalTokenCount 会记录到用量明细中。
费用公式:
cost = (input_tokens * input_price + output_tokens * output_price) / 1,000,000 * discount_rate