curl --request POST \
--url https://api.omniall.ai/v1beta/models/{model}:generateContent \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "生成一张黄色陶瓷马克杯放在木桌上的产品图。"
}
]
}
],
"generationConfig": {
"responseModalities": [
"TEXT",
"IMAGE"
],
"imageConfig": {
"aspectRatio": "3:2",
"imageSize": "1K"
}
}
}
'Gemini绘图
Gemini原生格式
Google Gemini 原生 generateContent 生图。
路径: POST https://api.omniall.ai/v1beta/models/{model}:generateContent
PDF / 短视频参考生图推荐使用 gemini-nano-banana-2.1。
inlineData.data 填原始 Base64,不要带 data: 前缀。
输出图片在 candidates[].content.parts[].inlineData。
鉴权:Authorization: Bearer sk-... 或 x-goog-api-key。
POST
/
v1beta
/
models
/
{model}
:generateContent
curl --request POST \
--url https://api.omniall.ai/v1beta/models/{model}:generateContent \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "生成一张黄色陶瓷马克杯放在木桌上的产品图。"
}
]
}
],
"generationConfig": {
"responseModalities": [
"TEXT",
"IMAGE"
],
"imageConfig": {
"aspectRatio": "3:2",
"imageSize": "1K"
}
}
}
'香蕉 2.1(gemini-nano-banana-2.1)
原生 generateContent 支持文生图、图生图,以及 PDF 参考、短视频参考。
| 输入 | inlineData.mimeType | inlineData.data |
|---|---|---|
| 图片 | image/jpeg / image/png 等 | 原始 Base64(不要 data: 前缀) |
application/pdf | 原始 Base64 | |
| 短视频 | video/mp4 | 原始 Base64 |
generationConfig.responseModalities 中包含 IMAGE。
PDF 参考生图(完整)
export BASE_URL="https://api.omniall.ai"
export API_KEY="sk-xxx"
PDF_B64=$(base64 < reference.pdf | tr -d '\n')
cat > request.json <<EOF
{
"contents": [{
"role": "user",
"parts": [
{"inlineData": {"mimeType": "application/pdf", "data": "$PDF_B64"}},
{"text": "读取附件 PDF 的每一页。先按页序列出编号、颜色和形状,再生成一张保留这些信息的参考图。"}
]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "3:2", "imageSize": "1K"}
}
}
EOF
curl --fail-with-body --max-time 180 \
"$BASE_URL/v1beta/models/gemini-nano-banana-2.1:generateContent" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
--data-binary @request.json -o response.json
短视频参考生图(完整)
VIDEO_B64=$(base64 < reference.mp4 | tr -d '\n')
cat > request.json <<EOF
{
"contents": [{
"role": "user",
"parts": [
{"inlineData": {"mimeType": "video/mp4", "data": "$VIDEO_B64"}},
{"text": "观看完整视频,先按出现顺序列出各场景中的编号、颜色和形状,再生成一张按该顺序排列的参考图。"}
]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "3:2", "imageSize": "1K"}
}
}
EOF
curl --fail-with-body --max-time 180 \
"$BASE_URL/v1beta/models/gemini-nano-banana-2.1:generateContent" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
--data-binary @request.json -o response.json
candidates[].content.parts[].inlineData 读取输出图片(遍历全部 parts,跳过 thought: true)。优先使用短小的 H.264 MP4 与小体积 PDF;Base64 约膨胀三分之一。
可选:Thinking
香蕉 2.1 支持thinkingLevel:minimal / medium(默认)/ high。常规接入可省略;需要时写入 generationConfig.thinkingConfig:
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": { "aspectRatio": "3:2", "imageSize": "1K" },
"thinkingConfig": {
"thinkingLevel": "high",
"includeThoughts": false
}
}
includeThoughts 只控制是否返回思考正文,不会关闭内部思考。档位说明见 概述 · Thinking。请求头
Bearer API Key。
示例:
"Bearer sk-..."
路径参数
Gemini 图像模型 ID。示例:gemini-nano-banana-2.1、gemini-3.1-flash-image-preview。
示例:
"gemini-nano-banana-2.1"
请求体
application/json
响应
成功 — 从 candidates[].content.parts 读取文字/图片。