图片生成接口
文生图接口根据模型分为两种风格:OpenAI Images API 风格(豆包 Seedream)和 Gemini generateContent 风格;图片编辑使用 multipart/form-data 上传原图。
POST/api/v3/images/generations
图片生成
🔑Bearer API Key请求头使用 Authorization: Bearer sk_live_...,也支持 x-api-key。
🧩先确认模型调用名请先在 模型广场 筛选支持当前接口格式的模型,打开模型详情页复制调用名。当前账号的最终可用范围还受组织权限影响。 请求结构
下方内容用于确认方法、地址和鉴权方式,属于 HTTP 结构片段,不是可独立执行示例。
POST https://www.silvamux.com/api/v3/images/generations
Authorization: Bearer $SILVAMUX_API_KEY
Content-Type: application/json
请求体
application/json · ImageGenerationRequest · 必填
| 字段 | 类型 | 必填 | 说明 |
|---|
model | string | 是 | 从模型广场选择支持当前图片接口的模型并复制调用名。 |
n | integer | 否 | — |
prompt | string | 是 | — |
response_format | string | 否 | — |
size | string | 否 | 可用尺寸由模型决定;Seedream 5.0 的首次调用示例使用 2048x2048。 |
响应
200图片生成或编辑响应。
application/json · ImageResponse
| 字段 | 类型 | 必填 | 说明 |
|---|
created | integer (int64) | 否 | — |
data | array<object> | 否 | — |
data.b64_json | string | 否 | — |
data.url | string (uri) | 否 | — |
defaultVolcengine 兼容错误。
application/json · VolcengineError
| 字段 | 类型 | 必填 | 说明 |
|---|
error | FreeFormObject | 否 | — |
curl https://www.silvamux.com/api/v3/images/generations \
-H "Authorization: Bearer $SILVAMUX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-seedream-5-0-260128",
"prompt": "一只戴墨镜的柴犬坐在咖啡馆里",
"size": "2048x2048",
"n": 1
}'
# pip install openai
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["SILVAMUX_API_KEY"],
base_url="https://www.silvamux.com/api/v3",
)
result = client.images.generate(
model="doubao-seedream-5-0-260128",
prompt="一只戴墨镜的柴犬坐在咖啡馆里",
size="2048x2048",
n=1,
)
for item in result.data:
print(item.url)
// npm install openai
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.SILVAMUX_API_KEY,
baseURL: "https://www.silvamux.com/api/v3",
});
const result = await client.images.generate({
model: "doubao-seedream-5-0-260128",
prompt: "一只戴墨镜的柴犬坐在咖啡馆里",
size: "2048x2048",
n: 1,
});
for (const item of result.data) {
console.log(item.url);
}
// 仅依赖标准库
package main
import (
"bytes"
"fmt"
"io"
"net/http"
"os"
)
func main() {
payload := []byte(`{
"model": "doubao-seedream-5-0-260128",
"prompt": "一只戴墨镜的柴犬坐在咖啡馆里",
"size": "2048x2048",
"n": 1
}`)
req, err := http.NewRequest("POST", "https://www.silvamux.com/api/v3/images/generations", bytes.NewReader(payload))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer "+os.Getenv("SILVAMUX_API_KEY"))
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
响应:
{
"created": 1234567890,
"data": [{"url": "https://..."}],
"usage": {"output_images": 1}
}
https://www.silvamux.com/api/v3 即接入域名下的 /api/v3,对应路由 /api/v3/images/generations。
Gemini generateContent 风格,适合 Gemini 图像模型。
⚠️当前模型列表和模型广场暂无公开可发现的 Gemini 图像模型。以下内容仅用于展示请求结构,不能直接执行;<MODEL_CALL_NAME> 必须替换为模型广场后续发布的真实调用名,请勿猜测模型名称。
POST /api/v1beta/models/{model}:generateContent
认证: Authorization: Bearer <API_KEY> 或 x-api-key: <API_KEY>
curl https://www.silvamux.com/api/v1beta/models/<MODEL_CALL_NAME>:generateContent \
-H "Authorization: Bearer $SILVAMUX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{"role": "user", "parts": [{"text": "画一只坐在窗台上的猫"}]}
],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}
}
}'
响应保持 Gemini 格式,计费字段在 usageMetadata 中。
图生图(图片编辑)接口兼容 OpenAI Images Edits 风格,使用 multipart/form-data 上传图片并按提示词编辑。
POST/api/v3/images/edits
编辑图片(Volcengine v3)
使用 multipart/form-data 上传图片;请求体通过 #/components/requestBodies/ImageEdit 定义,解析后 model、prompt 和 image 为必填字段。
ℹ️当前没有公开可发现模型当前模型列表和模型广场没有提供适用于此接口的公开调用名,本页仅用于核对 OpenAPI 契约,不能作为可独立执行示例。请勿猜测模型名称;待模型广场发布对应模型后,再使用模型详情中的调用名接入。
🔑Bearer API Key请求头使用 Authorization: Bearer sk_live_...,也支持 x-api-key。
🧩先确认模型调用名请先在 模型广场 筛选支持当前接口格式的模型,打开模型详情页复制调用名。当前账号的最终可用范围还受组织权限影响。 请求结构
下方内容用于确认方法、地址和鉴权方式,属于 HTTP 结构片段,不是可独立执行示例。
POST https://www.silvamux.com/api/v3/images/edits
Authorization: Bearer $SILVAMUX_API_KEY
Content-Type: multipart/form-data
请求体
multipart/form-data · ImageEditRequest · 必填
图片编辑 v1/v3 共用的必填请求体。Content-Type 为 multipart/form-data;继续解析 ImageEditRequest 可获得 model、prompt、image 等字段。
| 字段 | 类型 | 必填 | 说明 |
|---|
image | string (binary) | array<string (binary)> | 是 | — |
mask | string (binary) | 否 | — |
model | string | 是 | — |
n | integer | 否 | — |
prompt | string | 是 | — |
size | string | 否 | — |
响应
200图片生成或编辑响应。
application/json · ImageResponse
| 字段 | 类型 | 必填 | 说明 |
|---|
created | integer (int64) | 否 | — |
data | array<object> | 否 | — |
data.b64_json | string | 否 | — |
data.url | string (uri) | 否 | — |
defaultOpenAI 兼容错误。
application/json · OpenAIError
| 字段 | 类型 | 必填 | 说明 |
|---|
error | object | 是 | — |
error.code | string | integer | 否 | — |
error.message | string | 是 | — |
error.type | string | 否 | — |
| 参数 | 类型 | 必填 | 说明 |
|---|
model | string | 是 | 模型调用名;必须从模型广场或模型列表获取 |
image | file | 是 | 输入图片,最多 16 张(重复传入 image=@...) |
prompt | string | 是 | 编辑指令 |
size | string | 否 | 尺寸,如 1024x1024 |
mask | file | 否 | 蒙版图 |
n | integer | 否 | 输出图片数量 |
stream | boolean | 否 | 模型透传字段,当前不属于统一 OpenAPI 契约;是否支持以后续公开模型为准 |
图片编辑 v1 和 v3 在 OpenAPI 中共用 #/components/requestBodies/ImageEdit 请求体,并继续引用 #/components/schemas/ImageEditRequest 定义字段。读取或生成 SDK 时需要递归解析本地 $ref;字段没有直接内联在接口节点下,不代表请求体缺失。
解析后的请求体为必填的 multipart/form-data,其中 model、prompt 和 image 必填,image 为单个或多个二进制文件。
⚠️当前模型列表和模型广场暂未公开可发现的图片编辑模型。以下内容是请求结构示例,不能直接执行;<MODEL_CALL_NAME> 必须替换为模型广场后续发布的真实调用名,请勿猜测模型名称。
curl https://www.silvamux.com/api/v3/images/edits \
-H "Authorization: Bearer $SILVAMUX_API_KEY" \
-F "model=<MODEL_CALL_NAME>" \
-F "image=@photo.png" \
-F "prompt=给图片加上一些装饰文字" \
-F "size=1024x1024"
background、partial_images 等字段属于模型透传字段,当前不属于统一 OpenAPI 契约。是否支持以后续公开模型的详情为准。
请求体大小不超过 64 MB。超出返回 413(REQUEST_TOO_LARGE)。
当前可直接使用的样例模型:doubao-seedream-5-0-260128(Seedream)。Gemini 图像模型与图片编辑模型暂无公开可发现的调用名,可用调用名必须以模型广场或模型列表接口为准。
文生图和图生图均按生成张数计费,当前单价请在模型广场打开对应模型详情查看。