使用 Google Gemini API 进行图像分析
POST /v1beta/models/gemini-2.5-flash:generateContent{
"contents": [
{
"role": "user",
"parts": [
{
"inlineData": {
"mimeType": "image/jpeg",
"data": "base64-encoded-image-data"
}
},
{
"text": "Describe this image."
}
]
}
]
}{
"contents": [
{
"role": "user",
"parts": [
{
"fileData": {
"mimeType": "image/jpeg",
"fileUri": "https://example.com/image.jpg"
}
},
{
"text": "Describe this image."
}
]
}
]
}| Parameter | Type | Required | Default | Range / Example | Description |
|---|---|---|---|---|---|
contents.parts | array | Yes | — | text, inlineData, fileData | 消息的内容部分,可以包含不同类型的内容。 |
contents.parts.inlineData | object | No | - | - | 内联媒体内容。如果使用,data 必须是 base64 编码。 |
contents.parts.inlineData.mimeType | string | Yes (if inlineData is used) | - | application/pdf, image/jpeg | 源数据的 IANA 标准 MIME 类型。 |
contents.parts.inlineData.data | string | Yes (if inlineData is used) | - | - | Base64 编码的媒体数据。 |
contents.parts.fileData | object | No | - | - | 文件媒体内容。如果使用,必须提供 fileUri。 |
contents.parts.fileData.mimeType | string | Yes (if fileData is used) | - | application/pdf, image/jpeg | 源数据的 IANA 标准 MIME 类型。 |
contents.parts.fileData.fileUri | string | Yes (if fileData is used) | - | - | 要处理的文件的 URI。 |
{
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "This image depicts a cozy, serene indoor scene..."
}
]
},
"finishReason": "STOP"
}
],
"usageMetadata": {
"promptTokenCount": 1097,
"candidatesTokenCount": 403,
"totalTokenCount": 2779
},
"modelVersion": "gemini-2.5-flash"
}| Error Code | Error Name | Description |
|---|---|---|
| 401 | Unauthorized | API 密钥缺失或无效 |
| 403 | Forbidden | 您的 API 密钥没有访问此资源的权限,或余额不足以执行请求的操作 |
| 429 | Too Many Requests | 您已超出速率限制 |
| 500 | Internal server error | 发生内部服务器错误 |
| 503 | Content policy violation | 内容因安全问题被阻止(实际状态码为 400) |