API 文档
参照 Gemini API 与 Google Nano Banana 官方文档,通过 OpenAI 兼容接口调用对话模型,并通过原生 generateContent 调用图片、视频与音乐。本文档涵盖鉴权、端点、Nano Banana 图片生成详解、流式输出与计费。
概述
Aisoui 模型中转站将主流 AI 模型封装为易于集成的 HTTP API。 对外 API 地址为 https://api.aisoui.com/v1,提供 OpenAI Chat Completions 兼容 接口,现有 OpenAI SDK / 客户端只需替换 Base URL 与 API Key 即可接入。
控制台还提供网页端「游乐场」「图片工作室」,适合调试;生产环境建议使用 API Key 调用 /v1/chat/completions。
快速开始
- 注册 / 登录控制台,在「API 密钥」创建密钥(格式
sk-...)。 - 将请求 Base URL 设为
https://api.aisoui.com/v1(域名api.aisoui.com)。 - 请求头添加
Authorization: Bearer YOUR_API_KEY。 - 在
model字段指定模型 ID,如gemini-3.5-flash。 - 账户需有足够余额;新用户注册赠送 ¥5,详见「定价与计费」。
身份验证
API Key(对外接口)
所有对外 API 均需在 Header 中携带:
Authorization: Bearer sk-xxxxxxxx
接口范围与 Key 权限:
- OpenAI 兼容:
/v1/models、/v1/chat/completions - Gemini 兼容:
POST /v1beta/models/{model}:generateContent(图片、音乐等)
创建 Key 时可选择权限:
- 完全访问:全部 /v1/* 与 /v1beta/* 接口
- 标准:模型列表 + 对话 + generateContent
- 只读:仅
GET /v1/models
模型
请求中的 model 使用下方模型 ID(与 Google Gemini 官方 ID 一致)。可通过 List Models 接口获取完整列表。
curl https://api.aisoui.com/v1/models \ -H "Authorization: Bearer YOUR_API_KEY"
主流对话模型
| 模型 | 模型 ID | 说明 |
|---|---|---|
| Gemini 3.5 Flash GA | gemini-3.5-flash | 默认推荐。最智能的 Flash 模型,适合智能体、编码与长期任务,可大规模用于生产 |
| Gemini 3.1 Pro | gemini-3.1-pro-preview | 复杂推理与深度分析 |
| Gemini 3 Flash | gemini-3-flash-preview | Gemini 3 Flash 预览版 |
| Gemini 3.1 Flash-Lite | gemini-3.1-flash-lite | 轻量高速,成本更低 |
图片模型(Nano Banana 系列 · 控制台图片工作室)
| 模型 | 模型 ID | 说明 |
|---|---|---|
| Nano Banana 2 | gemini-3.1-flash-image | Gemini 3.1 Flash Image,Pro Image 的高效版,针对速度与高容量开发者场景优化 |
| Nano Banana Pro | gemini-3-pro-image | Gemini 3 Pro Image,专为专业资产制作设计,支持高级推理(「思考」)与复杂指令、高保真文本 |
| Nano Banana | gemini-2.5-flash-image | Gemini 2.5 Flash Image,专为速度与效率设计,适合海量低延迟任务 |
视频模型(Veo 系列)
| 模型 | 模型 ID | 说明 |
|---|---|---|
| Veo 3.1 Standard | veo-3.1-generate-001 | 高质量视频+音频同步生成(GA),720p/1080p 同价,支持 4K |
| Veo 3.1 Fast | veo-3.1-fast-generate-001 | 快速视频+音频生成(GA),适合高频迭代 |
| Veo 3.1 Lite | veo-3.1-lite-generate-001 | 最经济档,适合预览与批量,不支持 4K |
| Veo 3 Standard | veo-3.0-generate-001 | 稳定版高质量视频+音频(GA) |
| Veo 3 Fast | veo-3.0-fast-generate-001 | 稳定版快速视频+音频(GA) |
音乐模型(Lyria 3 系列)
| 模型 | 模型 ID | 说明 |
|---|---|---|
| Lyria 3 Clip | lyria-3-clip-preview | 固定 30 秒 MP3,适合短片段、循环与预览;含人声、歌词与完整编曲,44.1 kHz 立体声 |
| Lyria 3 Pro | lyria-3-pro-preview | 完整歌曲(约数分钟),主歌/副歌/桥段结构;支持文本或图片输入,MP3/WAV 输出 |
对话 API
POST /v1/chat/completions — 兼容 OpenAI Chat Completions
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 必填,模型 ID |
messages | array | 必填,{ role, content } 消息数组 |
stream | boolean | 可选,true 启用 SSE 流式 |
temperature | number | 可选,采样温度 |
curl https://api.aisoui.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gemini-3.5-flash",
"messages": [
{ "role": "user", "content": "你好" }
]
}'流式输出
设置 "stream": true 后,响应为 Server-Sent Events(SSE),与 OpenAI 流式格式兼容。 控制台「游乐场」即基于此实现。反向代理需关闭 proxy_buffering 并设置足够长的 proxy_read_timeout。
curl https://api.aisoui.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gemini-3.5-flash",
"stream": true,
"messages": [
{ "role": "user", "content": "写一首短诗" }
]
}'Nano Banana 图片生成
用自然语言描述场景即可生成、编辑、迭代视觉内容。Aisoui 提供 Gemini 兼容的 POST /v1beta/models/{model}:generateContent 接口,请求/响应格式与 Google 官方文档 一致;使用 API Key 鉴权(Authorization: Bearer sk-…)。
Nano Banana 简介
Nano Banana 是 Gemini 原生图片生成能力的统称。模型可对话式地生成与处理图像,支持纯文本、参考图、多轮历史组合输入,实现文生图、局部编辑、风格迁移与复杂排版。
| 名称 | Gemini 模型 ID | 定位 |
|---|---|---|
| Nano Banana 2 | gemini-3.1-flash-image | 默认推荐。速度与智能平衡,支持 512~4K、Google 搜索 grounding、最多 14 张参考图 |
| Nano Banana Pro | gemini-3-pro-image | 专业资产:复杂指令、「思考」过程、高保真文字、最高 4K |
| Nano Banana | gemini-2.5-flash-image | 轻量高速,1024px 级输出,适合海量低延迟 |
所有生成图片均含 SynthID 数字水印。计费按 Token 用量,详见「定价与计费」。
如何选择模型
- 日常 / 高并发 →
gemini-3.1-flash-image(Nano Banana 2) - 海报、信息图、精确文字、复杂构图 →
gemini-3-pro-image(Pro) - 简单图标、快速草稿 →
gemini-2.5-flash-image
图片工作室
登录控制台 →「图片工作室」,可在网页上调试 Prompt、管理多轮历史与参考图。 生产环境请使用下方 REST 接口,Base URL 为 https://api.aisoui.com/v1beta。
单次生成通常 30 秒~2 分钟;4K 或复杂 Prompt 可能更久。建议客户端超时 ≥ 120s。
文生图(Text-to-Image)
调用 generateContent,在 generationConfig 中设置 responseModalities: ["TEXT", "IMAGE"]。响应 parts 中可能同时包含说明文字与 inlineData 图片(Base64)。
curl -s -X POST \
"https://api.aisoui.com/v1beta/models/gemini-3.1-flash-image:generateContent" \
-H "Authorization: Bearer sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "Create a picture of a nano banana dish in a fancy restaurant with a Gemini theme"}
]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"]
}
}'for (const part of response.candidates[0].content.parts) {
if (part.text) {
console.log(part.text)
} else if (part.inlineData) {
const buffer = Buffer.from(part.inlineData.data, 'base64')
fs.writeFileSync('output.png', buffer)
}
}图生图与编辑(Text + Image → Image)
在 parts 中同时传入文本与 inline_data,可添加/删除元素、改风格、换背景、inpainting 语义蒙版等。请确保对上传图片拥有合法使用权。
- 元素增删:「在这张猫照片上给它加一顶针织巫师帽,光线与原图一致」
- 语义 inpainting:「只把蓝色沙发换成棕色 Chesterfield,其余不变」
- 高保真保留:详细描述需保留的人脸/Logo 细节 + 修改项
- 多图合成:最多 14 张参考(3.1 Flash:10 物体 + 4 角色;Pro:6 物体 + 5 角色)
curl -s -X POST \
"https://api.aisoui.com/v1beta/models/gemini-3.1-flash-image:generateContent" \
-H "Authorization: Bearer sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [
{"text": "Create a picture of my cat eating a nano-banana in a fancy restaurant"},
{"inline_data": {"mime_type": "image/png", "data": "<BASE64_IMAGE_DATA>"}}
]
}],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"}
}
}'多轮对话式编辑
推荐用多轮会话迭代图片:每轮将上一轮 model 输出的图片放入 contents 数组,再发送新指令。
Gemini 3 图像模型在复杂 Prompt 下会启用 Thinking:可能先产生 interim「思考图」(默认不展示、不计入最终输出),再生成终稿。多轮时需保留 thought_signature(官方 SDK 自动处理;手动拼 history 时需按官方说明回传)。
{
"contents": [
{
"role": "user",
"parts": [{"text": "Create a vibrant infographic explaining photosynthesis…"}]
},
{
"role": "model",
"parts": [{"inline_data": {"mime_type": "image/png", "data": "<PREVIOUS_IMAGE>"}}]
},
{
"role": "user",
"parts": [{"text": "Update this infographic to be in Spanish. Do not change layout."}]
}
],
"generationConfig": {
"responseModalities": ["TEXT", "IMAGE"],
"imageConfig": {"aspectRatio": "16:9", "imageSize": "2K"}
}
}Gemini 3 图像模型能力
分辨率
3.x:512、1K、2K、4K(须大写 K)。2.5 Flash 默认约 1024px。
宽高比
1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9;3.1 Flash 另支持 1:4、4:1、1:8、8:1。
Google 搜索 Grounding
工具 google_search,基于实时信息生成信息图、天气图等。在请求体 tools 中配置,详见 Google 官方文档。
Thinking 级别
3.1 Flash:minimal(低延迟,默认)/ high。includeThoughts 控制是否在响应中返回思考过程文本。
| 宽高比 | 1K | 2K | 4K |
|---|---|---|---|
| 1:1 | 1024×1024 | 2048×2048 | 4096×4096 |
| 16:9 | 1376×768 | 2752×1536 | 5504×3072 |
| 9:16 | 768×1376 | 1536×2752 | 3072×5504 |
完整像素与 Token 对照见 Google 官方文档 Aspect ratios 表格。
generateContent 常用参数
请求体遵循 Gemini API 格式。路径中的 {model} 为模型 ID(如 gemini-3.1-flash-image)。
| 字段 | 类型 | 说明 |
|---|---|---|
contents | array | 对话轮次;每轮含 parts(text / inline_data) |
generationConfig.responseModalities | array | 图片生成设为 ["TEXT","IMAGE"] 或 ["IMAGE"] |
generationConfig.imageConfig.aspectRatio | string | 1:1、16:9、9:16 等,默认 1:1 |
generationConfig.imageConfig.imageSize | string | 512 / 1K / 2K / 4K,仅 Gemini 3 图像模型 |
tools | array | 可选,启用 Google 搜索 grounding(google_search) |
generationConfig.thinkingConfig | object | 3.1 Flash:thinkingLevel(minimal / high)、includeThoughts |
解析响应
成功时返回 Gemini 标准 JSON。遍历 candidates[0].content.parts, 其中 inlineData 为 Base64 图片;跳过 thought: true 的中间图(除非调试)。 Token 用量见 usageMetadata。
{
"candidates": [{
"content": {
"parts": [
{ "text": "Generated an isometric city scene…" },
{ "inlineData": { "mimeType": "image/png", "data": "<BASE64>" } }
]
}
}],
"usageMetadata": {
"promptTokenCount": 1120,
"candidatesTokenCount": 1120
}
}Prompt 指南与示例
描述场景,不要只列关键词。叙事性段落几乎总是比标签堆叠效果更好。
写实摄影
一位年迈的日本陶艺家的特写肖像,深皱纹与温暖笑容,在阳光充足的工作坊里检查茶碗。85mm 人像镜头,浅景深,黄金时刻侧光,竖构图。
使用摄影术语:焦段、光线、景深、构图方向。
贴纸 / 图标
一只 happy 红熊猫 kawaii 贴纸,戴小竹帽,粗线条、赛璐璐上色,背景必须为纯白(模型不支持透明 PNG)。
明确风格与背景;透明背景需后期处理。
品牌文字
为咖啡店 The Daily Grind 设计极简黑白圆形 Logo,无衬线粗体,巧妙融入咖啡豆元素。
Pro / 3.1 Flash Image 更擅长可读文字。
产品摄影
极简哑光黑陶瓷咖啡杯产品照,抛光混凝土台面,三点柔光箱,45° 俯拍,蒸汽细节清晰,方形构图。
电商主图:材质、灯光、角度写清楚。
搜索 grounding
将旧金山未来 5 天天气预报可视化为现代信息图,并标注每日穿搭建议。
需开启 googleSearch;基于实时信息生成。
风格迁移
将这张现代城市夜景照片转为梵高《星夜》风格,保留建筑与车辆构图,旋转笔触,蓝黄对比色。
上传原图 + 描述目标风格,而非只列关键词。
专业技巧
- 极度具体:写材质、光线、镜头、情绪,而非「高质量」「精美」
- 说明用途:「高端护肤品牌极简 Logo」比「做个 Logo」更好
- 分步指令:复杂场景拆成「先背景 → 再主体 → 再文字」
- 迭代 refine:「很好,把光线再暖一点」「保持构图,只改文字为西班牙语」
- 相机语言:wide-angle、macro、low-angle、85mm bokeh 等
- 语义负向:用正向描述替代「不要车」→「空无一车的安静街道」
限制与最佳实践
- 最佳语言:中文、英语及 Google 文档列出的主要语言
- 不支持透明背景 PNG;需要透明请后期抠图
- 不保证严格输出用户指定的图片张数
- 2.5 Flash 参考图建议 ≤3 张;3 Pro 高保真 ≤5 张,合计最多 14 张
- 含文字的复杂排版:建议 Pro 或 3.1 Flash + 2K/4K
- 上传人物/品牌素材请遵守版权与 Google 使用政策
- 失败常见原因:余额不足、安全过滤、上游超时 — 见「错误处理」
视频生成
视频生成基于 Google Veo 模型,支持文生视频、图生视频,默认输出带同步音频。 计费按成功生成的视频秒数 × 分辨率单价,与 Gemini API 官方一致。
- 常用时长:4 / 6 / 8 秒(视模型而定)
- 分辨率:720p、1080p;Standard / Fast 另支持 4K
- 模型 ID 示例:
veo-3.1-generate-001、veo-3.1-fast-generate-001 - 生成为异步长任务,需轮询操作状态;仅生成成功时扣费
登录控制台 →「视频工作室」,可在网页上调试 Prompt、时长、分辨率与参考图。
音乐生成
音乐生成基于 Google Lyria 3,通过 generateContent 调用,支持文本或图片(最多 10 张)多模态输入,输出 44.1 kHz 高保真立体声 MP3(Pro 可选 WAV)。
lyria-3-clip-preview— 固定 30 秒片段,适合快速试 promptlyria-3-pro-preview— 完整歌曲,可用[Verse]/[Chorus]标签或时间戳控制结构- 响应含歌词文本 + 音频二进制,需遍历所有 parts(歌词顺序不固定)
- generationConfig 需设置
responseModalities: ["AUDIO", "TEXT"]
curl -s -X POST \
"https://api.aisoui.com/v1beta/models/lyria-3-clip-preview:generateContent" \
-H "Authorization: Bearer sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"contents": [{
"parts": [{ "text": "Create a 30-second cheerful acoustic folk song with guitar and harmonica." }]
}],
"generationConfig": {
"responseModalities": ["AUDIO", "TEXT"]
}
}'Base URL:https://api.aisoui.com/v1beta。可在控制台「音乐工作室」体验,或通过 API Key 调用。
定价与计费
对话与图片按 Token 用量 后付费;视频按 生成秒数 计费;音乐按 每次生成 计费。
新用户注册
赠送 ¥5
充值赠送(最低 ¥10)
- 充 ¥100赠送 ¥5
- 充 ¥500赠送 ¥30
- 充 ¥1000赠送 ¥80
余额不足时 API 返回错误,请先在控制台「财务账单」充值。消费明细可在同一页面查看。
对话模型费率
| 模型 | 模型 ID | 输入 / 1K | 输出 / 1K |
|---|
图片模型费率
| 模型 | 模型 ID | 输入 / 1K | 输出 / 1K |
|---|
图片单次生成约 1120 输入 + 1120 输出 Token(以实际 usage 为准)。
视频模型费率
| 模型 | 模型 ID | 720p ¥/秒 | 1080p ¥/秒 |
|---|
示例:Veo 3.1 Fast 生成 8 秒 1080p 视频 ≈ ¥1.17 × 8 = ¥9.36(以实际秒数为准)。
音乐模型费率
| 模型 | 模型 ID | 单价 |
|---|
Clip 固定 30 秒/首;Pro 按完整歌曲计 1 首。官方仅成功生成时计费。
错误处理
| HTTP 状态 | 含义 |
|---|---|
401 | API Key 无效或未提供 |
403 | API Key 权限不足(如只读 Key 调用对话接口) |
400 | 参数错误、余额不足、模型不存在 |
429 | 请求过于频繁(如有速率限制) |
504 | 上游 Gemini 超时,请检查网络或代理 |
500 | 服务端内部错误 |
错误响应体为 JSON:{ "error": "描述信息" }