模型简介
nano-banana-2.1 是 DeepSeek Tavern 提供的 AI 图片生成模型,支持文生图、图生图(最多 14 张参考图)、改图,提供 OpenAI 图片接口、Chat 接口、Gemini 原生接口三种调用方式,适合角色卡插图、场景图、头像等创作场景。
快速信息
| 项目 | 说明 |
|---|---|
| 模型名称 | nano-banana-2.1 |
| 价格 | 0.6 元/次,按张计费,n 张就是 n 次 |
| 生成耗时 | 一张约 1–2 分钟,客户端超时请设到 180 秒以上 |
| 分辨率 | image_size:1K / 2K / 4K,默认 1K |
| 画幅 | 1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9 |
| Base URL | https://deepseektavern.com/v1 |
| 支持端点 | /v1/images/generations、/v1/images/edits、/v1/chat/completions、/v1beta/models/nano-banana-2.1:generateContent |
注意
返回的结果图片链接不会永久保存,请及时下载保存到本地或你自己的存储。
获取 API Key
登录 DeepSeek Tavern 控制台,在「令牌管理」中创建 API Key。详细步骤参考:API 密钥获取指南。
Base URL 统一为 https://deepseektavern.com/v1,认证方式:Authorization: Bearer <你的API密钥>。下文示例中的 YOUR_API_KEY 请替换为你自己的 Key。
方式一:OpenAI 图片生成端点
POST https://deepseektavern.com/v1/images/generations
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | nano-banana-2.1 |
prompt | string | 是 | 图片描述提示词 |
size | string | 否 | 如 1024x1024、1792x1024,会自动换算成最接近的画幅 |
aspect_ratio | string | 否 | 直接指定画幅:1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9(与 size 二选一) |
image_size | string | 否 | 1K(默认)/ 2K / 4K |
n | int | 否 | 生成张数 1–4,按张计费 |
response_format | string | 否 | url(默认)或 b64_json |
images | array | 否 | 参考图数组,元素可以是图片 URL 或 data:image/...;base64,...,最多 14 张,用于图生图 |
curl 示例:文生图
curl https://deepseektavern.com/v1/images/generations \
--max-time 300 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "nano-banana-2.1",
"prompt": "一位白发少女站在樱花树下,新海诚电影风格,柔和暖色调",
"aspect_ratio": "16:9",
"image_size": "2K",
"n": 1
}'
curl 示例:图生图(参考图)
curl https://deepseektavern.com/v1/images/generations \
--max-time 300 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "nano-banana-2.1",
"prompt": "保持人物外貌不变,把背景换成雪夜的古风街道",
"images": ["https://example.com/my-character.png"],
"size": "1024x1536"
}'
Python 示例(OpenAI SDK)
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://deepseektavern.com/v1",
timeout=300, # 生成一张约 1-2 分钟,超时要设到 180 秒以上
)
resp = client.images.generate(
model="nano-banana-2.1",
prompt="一只在星空下弹吉他的猫,吉卜力风格",
size="1024x1024",
n=1,
# SDK 未内置的参数通过 extra_body 传入
extra_body={
"image_size": "2K",
# "aspect_ratio": "16:9",
# "images": ["https://example.com/ref.png"],
},
)
for img in resp.data:
print(img.url) # 结果链接请及时下载保存
Python 示例:保存 b64_json 结果
import base64
from openai import OpenAI
client = OpenAI(api_key="YOUR_API_KEY", base_url="https://deepseektavern.com/v1", timeout=300)
resp = client.images.generate(
model="nano-banana-2.1",
prompt="赛博朋克风格的夜市街道,霓虹灯,雨后反光",
response_format="b64_json",
extra_body={"aspect_ratio": "9:16"},
)
with open("result.png", "wb") as f:
f.write(base64.b64decode(resp.data[0].b64_json))
方式二:改图端点
POST https://deepseektavern.com/v1/images/edits,支持两种请求格式:
- multipart/form-data:字段
image上传图片文件,其余参数(model、prompt 等)作为表单字段 - JSON:参考图放在
images数组里(URL 或 data URI),参数与生成端点相同
curl 示例:multipart 上传文件
curl https://deepseektavern.com/v1/images/edits \
--max-time 300 \
-H "Authorization: Bearer YOUR_API_KEY" \
-F model=nano-banana-2.1 \
-F image=@input.png \
-F prompt="把衣服换成黑色哥特风长裙,其余保持不变"
curl 示例:JSON 格式
curl https://deepseektavern.com/v1/images/edits \
--max-time 300 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "nano-banana-2.1",
"prompt": "给人物加上一对白色羽翼",
"images": ["https://example.com/input.png"]
}'
Python 示例(OpenAI SDK)
from openai import OpenAI
client = OpenAI(api_key="YOUR_API_KEY", base_url="https://deepseektavern.com/v1", timeout=300)
with open("input.png", "rb") as f:
resp = client.images.edit(
model="nano-banana-2.1",
image=f,
prompt="把背景换成海边日落",
)
print(resp.data[0].url)
方式三:Chat 端点(适合 SillyTavern 等聊天客户端)
POST https://deepseektavern.com/v1/chat/completions,在 messages 里写提示词即可;需要参考图时,按 OpenAI 多模态格式附 image_url。返回内容是 markdown 图片(形如 ),聊天客户端可直接渲染。
curl 示例
curl https://deepseektavern.com/v1/chat/completions \
--max-time 300 \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "nano-banana-2.1",
"messages": [
{"role": "user", "content": "画一只在星空下弹吉他的猫,吉卜力风格,16:9"}
]
}'
Python 示例:附参考图
from openai import OpenAI
client = OpenAI(api_key="YOUR_API_KEY", base_url="https://deepseektavern.com/v1", timeout=300)
resp = client.chat.completions.create(
model="nano-banana-2.1",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "参考这张图的人物,画她在图书馆看书的场景"},
{"type": "image_url", "image_url": {"url": "https://example.com/ref.png"}},
],
}],
)
# 返回 markdown 图片,例如 
print(resp.choices[0].message.content)
在 SillyTavern 中使用
- API 类型选择 Chat Completion
- Chat Completion Source 选择 Custom (OpenAI-compatible)
- 填入端点:
https://deepseektavern.com/v1 - 填入你的 API Key
- 模型名称手动输入:
nano-banana-2.1
方式四:Gemini 原生端点
POST https://deepseektavern.com/v1beta/models/nano-banana-2.1:generateContent
| 位置 | 说明 |
|---|---|
| 请求头 | x-goog-api-key: 你的Key |
contents[].parts[] | 文本放 {"text": "..."};参考图放 {"inlineData": {"mimeType": "image/png", "data": "base64..."}} |
generationConfig.imageConfig | {"aspectRatio": "16:9", "imageSize": "2K"} |
| 返回 | candidates[0].content.parts[].inlineData,其中 data 是 base64 图片 |
curl 示例
curl "https://deepseektavern.com/v1beta/models/nano-banana-2.1:generateContent" \
--max-time 300 \
-H "Content-Type: application/json" \
-H "x-goog-api-key: YOUR_API_KEY" \
-d '{
"contents": [{"parts": [{"text": "水墨画风格的江南小镇,细雨,乌篷船"}]}],
"generationConfig": {"imageConfig": {"aspectRatio": "3:2", "imageSize": "1K"}}
}'
Python 示例(requests)
import base64
import requests
API_KEY = "YOUR_API_KEY"
url = "https://deepseektavern.com/v1beta/models/nano-banana-2.1:generateContent"
with open("ref.png", "rb") as f:
ref_b64 = base64.b64encode(f.read()).decode()
body = {
"contents": [{
"parts": [
{"text": "参考这张图的人物,画成 Q 版贴纸风格"},
{"inlineData": {"mimeType": "image/png", "data": ref_b64}},
]
}],
"generationConfig": {"imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}},
}
r = requests.post(url, json=body, headers={"x-goog-api-key": API_KEY}, timeout=300)
r.raise_for_status()
for i, part in enumerate(r.json()["candidates"][0]["content"]["parts"]):
if "inlineData" in part:
with open(f"out_{i}.png", "wb") as f:
f.write(base64.b64decode(part["inlineData"]["data"]))
计费说明
| 项目 | 价格 |
|---|---|
| 每张图片 | 0.6 元 |
| 一次生成 n 张 | n × 0.6 元 |
提示
提示词建议包含主体描述、风格(如吉卜力、赛博朋克、水墨)、构图(半身像 / 全身 / 特写)和色彩氛围,效果更稳定。