Gemini原生格式 API 文档
普通对话(非流)
接口说明
提供 Gemini 2.5 Flash 模型的文本生成能力
请求地址
POST https://www.dmxapi.cn/v1beta/models/gemini-2.5-flash:generateContent
请求参数
Header 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
Content-Type | string | 是 | 固定值 application/json |
key | string | 是 | API 密钥 |
Body 参数
json
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "输入你的问题或提示"
}
]
}
]
}
Python 示例代码
python
import requests
import json
# API 配置
model = "gemini-2.5-flash"
API_KEY = "sk-*******************" # 替换为你的API密钥
API_URL = f"https://www.dmxapi.cn/v1beta/models/{model}:generateContent?key={API_KEY}"
def generate_text(prompt):
"""调用Gemini API生成文本
Args:
prompt (str): 用户输入的提示文本
Returns:
dict: API响应结果
"""
headers = {"Content-Type": "application/json"}
payload = {
"contents": [{
"role": "user",
"parts": [{"text": prompt}]
}]
}
try:
response = requests.post(
API_URL,
headers=headers,
params={"key": API_KEY},
json=payload
)
response.raise_for_status() # 检查请求是否成功
return response.json()
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
if e.response:
print(f"状态码: {e.response.status_code}")
print(f"响应内容: {e.response.text}")
return None
# 使用示例
if __name__ == "__main__":
result = generate_text("Hi, 你是谁?")
if result:
print(json.dumps(result, indent=2, ensure_ascii=False))
响应示例
json
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "你好!我是一个大型语言模型,由 Google 训练。"
}
]
},
"finishReason": "STOP",
"index": 0,
"safetyRatings": null
}
],
"promptFeedback": {
"safetyRatings": null
},
"usageMetadata": {
"promptTokenCount": 5,
"candidatesTokenCount": 13,
"totalTokenCount": 49,
"thoughtsTokenCount": 31,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 5
}
]
}
}
注意事项
- 请妥善保管API密钥
- 参数
"role": "user"
从 gemini-2.5 开始是必填项,不让会报错400