DeepAnima
Kouri Ai

Gemini 接口

使用 Gemini 原生协议或 OpenAI 兼容协议调用 Gemini 模型

Kouri Ai 的 Gemini 模型支持原生的 Google Gemini SDK 协议,也支持 OpenAI SDK 兼容协议。推荐优先使用原生协议,稳定性更高、功能更丰富。

协议选择

协议类型端点地址说明
Gemini 协议https://api.kourichat.com/v1beta原生协议,推荐使用,支持所有模型
OpenAI 协议https://api.kourichat.com/v1兼容协议,简单场景使用

推荐使用原生 Gemini 协议:Dify、Chatbox 等主流应用均支持原生协议。OpenAI 兼容协议仅建议在只支持 OpenAI 格式的应用中使用。

cURL 请求(原生协议)

curl "https://api.kourichat.com/v1beta/models/gemini-2.5-pro:generateContent" \
  -H "x-goog-api-key: sk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{
    "contents": [
      {
        "parts": [
          {
            "text": "你好!"
          }
        ]
      }
    ]
  }'

原生 Gemini 协议

Python SDK(新版 google-genai)

使用最新的 google-genai SDK:

from google import genai
from google.genai import types

client = genai.Client(
    api_key="sk-xxxxxxxx",  # 替换为您的 Kouri Ai 令牌
    http_options=types.HttpOptions(
        api_version="v1beta",
        base_url="https://api.kourichat.com"
    ),
)

response = client.models.generate_content(
    model='gemini-2.5-pro',
    contents="你好!",
    config=types.GenerateContentConfig()
)

print(response.text)

使用新版 SDK 时,建议设置 api_version: "v1beta" 以使用正确的 API 版本。

Python SDK(旧版 google-generativeai)

如果您使用旧版 google-generativeai SDK:

import google.generativeai as genai

# 必须明确指定 rest 协议调用,不支持默认的 grpc 调用
genai.configure(
    api_key='sk-xxxxxxxx',  # 替换为您的 Kouri Ai 令牌
    transport="rest",  # 重要:必须指定 rest 协议
    client_options={"api_endpoint": "https://api.kourichat.com/v1beta"},
)

model = genai.GenerativeModel('gemini-2.5-pro')
response = model.generate_content("你好!")
print(response.text)

重要:必须明确指定 transport="rest",否则会默认使用 gRPC 协议导致报错。

流式输出

import google.generativeai as genai

genai.configure(
    api_key='sk-xxxxxxxx',
    transport="rest",
    client_options={"api_endpoint": "https://api.kourichat.com/v1beta"},
)

model = genai.GenerativeModel('gemini-2.5-pro')

response = model.generate_content(
    "讲一个故事",
    stream=True
)

for chunk in response:
    print(chunk.text, end="", flush=True)

多轮对话

import google.generativeai as genai

genai.configure(
    api_key='sk-xxxxxxxx',
    transport="rest",
    client_options={"api_endpoint": "https://api.kourichat.com/v1beta"},
)

model = genai.GenerativeModel('gemini-2.5-pro')
chat = model.start_chat(history=[])

response = chat.send_message("你好,我是小明")
print(response.text)

response = chat.send_message("我叫什么名字?")
print(response.text)

图片理解

import google.generativeai as genai
from PIL import Image

genai.configure(
    api_key='sk-xxxxxxxx',
    transport="rest",
    client_options={"api_endpoint": "https://api.kourichat.com/v1beta"},
)

model = genai.GenerativeModel('gemini-2.5-pro')

# 使用本地图片
image = Image.open("image.jpg")
response = model.generate_content(["描述这张图片", image])
print(response.text)

图片生成

from google import genai
from google.genai import types

prompt = "A popular anime games screenshot"
aspect_ratio = "16:9"
resolution = "4K"

client = genai.Client(
    api_key="sk-xxxxxxxx",  # 替换为您的 Kouri Ai 令牌
    http_options=types.HttpOptions(
        base_url="https://api.kourichat.com"
    ),
)

response = client.models.generate_content(
    model="gemini-3-pro-image-preview",
    contents=prompt,
    config=types.GenerateContentConfig(
        response_modalities=['TEXT', 'IMAGE'],
        image_config=types.ImageConfig(
            aspect_ratio=aspect_ratio,
            image_size=resolution
        ),
    )
)

for part in response.parts:
    if part.text is not None:
        print(part.text)
    elif image := part.as_image():
        image.save("test.png")

常见参数

原生协议参数

参数类型说明
modelstring模型名称
contentsstring/list输入内容
configGenerateContentConfig生成配置

GenerateContentConfig 选项

参数类型说明
temperaturefloat随机性,0-2 之间
top_pfloat核采样参数
top_kintTop-K 采样
max_output_tokensint最大输出 token 数
stop_sequenceslist停止序列

常见问题

gRPC 协议报错

如果遇到 gRPC 相关错误,请确保:

  1. 使用 transport="rest" 参数(旧版 SDK)
  2. 或正确设置 http_options(新版 SDK)

响应超时

Gemini 模型在处理复杂任务时可能需要较长时间,如遇到超时:

  1. 尝试减少输入长度
  2. 使用流式输出模式
  3. 增加客户端超时设置

更多资源

On this page