Logo
Logo
API 概览认证生成图片
API Reference

生成图片

图片生成 API 端点文档

端点

POST /api/ai/nano-banana/generate

从文本提示生成图片,可选使用参考图片。

请求

请求头

头部必需描述
Authorization是带有 API Key 的 Bearer 令牌:Bearer sk-xxxxx
Content-Type是application/json 或 multipart/form-data

请求体参数

Prop

Type

支持的宽高比

比例描述使用场景
1:1方形社交媒体帖子、头像
2:3竖版手机壁纸
3:2横版摄影风格
3:4竖版产品图片
4:3横版演示文稿
9:16竖版Stories、抖音、Reels
16:9宽屏YouTube 缩略图、桌面壁纸
21:9超宽电影风格横幅

响应

成功响应 (200)

{
  "model": "nano-banana-2-4k",
  "created": 1705123456,
  "images": [
    {
      "url": "https://storage.example.com/generated-image.png"
    }
  ]
}

响应字段

Prop

Type

示例

基础文生图

curl -X POST https://nano-banana-pro.net/api/ai/nano-banana/generate \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "一座宁静的日本庭院,樱花盛开,锦鲤池塘,传统木桥,黄金时刻的光线",
    "size": "4k",
    "aspectRatio": "16:9"
  }'
async function generateImage() {
  const response = await fetch('https://nano-banana-pro.net/api/ai/nano-banana/generate', {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer sk-your-api-key',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      prompt: '一座宁静的日本庭院,樱花盛开,锦鲤池塘,传统木桥,黄金时刻的光线',
      size: '4k',
      aspectRatio: '16:9',
    }),
  });

  if (!response.ok) {
    throw new Error(`API 错误: ${response.status}`);
  }

  const data = await response.json();
  console.log('生成的图片 URL:', data.images[0].url);
  return data;
}
import requests

def generate_image():
    response = requests.post(
        'https://nano-banana-pro.net/api/ai/nano-banana/generate',
        headers={
            'Authorization': 'Bearer sk-your-api-key',
            'Content-Type': 'application/json',
        },
        json={
            'prompt': '一座宁静的日本庭院,樱花盛开,锦鲤池塘,传统木桥,黄金时刻的光线',
            'size': '4k',
            'aspectRatio': '16:9',
        }
    )

    response.raise_for_status()
    data = response.json()
    print('生成的图片 URL:', data['images'][0]['url'])
    return data

使用参考图片 URL 的图生图

使用参考图片来引导生成:

curl -X POST https://nano-banana-pro.net/api/ai/nano-banana/generate \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "将这张图片转换为水彩画风格",
    "image": "https://example.com/my-photo.jpg",
    "size": "2k"
  }'
const response = await fetch('https://nano-banana-pro.net/api/ai/nano-banana/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer sk-your-api-key',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    prompt: '将这张图片转换为水彩画风格',
    image: 'https://example.com/my-photo.jpg',
    size: '2k',
  }),
});
response = requests.post(
    'https://nano-banana-pro.net/api/ai/nano-banana/generate',
    headers={
        'Authorization': 'Bearer sk-your-api-key',
        'Content-Type': 'application/json',
    },
    json={
        'prompt': '将这张图片转换为水彩画风格',
        'image': 'https://example.com/my-photo.jpg',
        'size': '2k',
    }
)

多张参考图片

组合多张图片进行复杂的图像合成:

{
  "prompt": "将这些图片组合成一个连贯的风景场景",
  "image": [
    "https://example.com/mountains.jpg",
    "https://example.com/lake.jpg",
    "https://example.com/sunset.jpg"
  ],
  "size": "4k",
  "aspectRatio": "21:9"
}

上传图片(Multipart Form)

上传本地图片:

curl -X POST https://nano-banana-pro.net/api/ai/nano-banana/generate \
  -H "Authorization: Bearer sk-your-api-key" \
  -F "prompt=让这张照片看起来像复古胶片风格" \
  -F "size=2k" \
  -F "image=@/path/to/your/image.jpg"
const formData = new FormData();
formData.append('prompt', '让这张照片看起来像复古胶片风格');
formData.append('size', '2k');
formData.append('image', fileInput.files[0]); // 从 input 元素获取的文件

const response = await fetch('https://nano-banana-pro.net/api/ai/nano-banana/generate', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer sk-your-api-key',
    // 不要设置 Content-Type - 浏览器会自动设置带边界的值
  },
  body: formData,
});
with open('/path/to/your/image.jpg', 'rb') as f:
    response = requests.post(
        'https://nano-banana-pro.net/api/ai/nano-banana/generate',
        headers={
            'Authorization': 'Bearer sk-your-api-key',
        },
        data={
            'prompt': '让这张照片看起来像复古胶片风格',
            'size': '2k',
        },
        files={
            'image': ('image.jpg', f, 'image/jpeg'),
        }
    )

错误响应

状态码错误描述
400Bad Request请求参数无效
401UnauthorizedAPI Key 缺失或无效
402Payment Required积分不足
500Internal Server Error生成失败

错误响应格式

{
  "error": "描述错误的消息"
}

常见错误

计划限制

功能免费StandardPro
最大参考图片数3814
并发生成数1510
最大图片大小2.5MB2.5MB2.5MB
4K 生成✗✓✓
API 访问✗✓✓

获得更好结果的技巧

编写详细的提示词

具体说明您想要什么。包括风格、光线、构图和氛围的细节。

// 好的提示词
"一间温馨的咖啡店内部,温暖的灯光,裸露的红砖墙,
复古木质家具,杯中升起的蒸汽,透过大窗户的晨光,
照片级真实,4K 画质"

// 效果较差
"咖啡店"

使用风格修饰词

添加质量和风格关键词来改善结果:

  • 4K 画质、高度详细、照片级真实
  • 电影级光线、黄金时刻、柔和阴影
  • 油画风格、水彩、数字艺术

选择合适的宽高比

将宽高比与您的预期用途相匹配:

  • 社交帖子: 1:1
  • 手机壁纸: 9:16
  • 桌面壁纸: 16:9
  • 电影风格: 21:9

认证

如何使用 NB Pro API 进行认证

目录

端点
请求
请求头
请求体参数
支持的宽高比
响应
成功响应 (200)
响应字段
示例
基础文生图
使用参考图片 URL 的图生图
多张参考图片
上传图片(Multipart Form)
错误响应
错误响应格式
常见错误
计划限制
获得更好结果的技巧
编写详细的提示词
使用风格修饰词
选择合适的宽高比