- 使用 Google 原生 API 格式调用 Gemini 模型
- 同步处理模式,实时返回对话内容
- 最简化参数,快速上手
请求示例
bash
curl --request POST \
--url https://api.openveer.com/v1beta/models/gemini-2.5-pro:generateContent \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"contents": [
{
"role": "user",
"parts": [
{
"text": "你好,介绍一下自己"
}
]
}
]
}'
```python
import requests
url = "https://api.openveer.com/v1beta/models/gemini-2.5-pro:generateContent"
payload = {
"contents": [
{
"role": "user",
"parts": [
{
"text": "你好,介绍一下自己"
}
]
}
]
}
headers = {
"Authorization": "Bearer
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
```
```javascript
const url = "https://api.openveer.com/v1beta/models/gemini-2.5-pro:generateContent";
const payload = {
contents: [
{
role: "user",
parts: [
{
text: "你好,介绍一下自己"
}
]
}
]
};
const headers = {
"Authorization": "Bearer
"Content-Type": "application/json"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
```
```go
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://api.openveer.com/v1beta/models/gemini-2.5-pro:generateContent"
payload := map[string]interface{}{
"contents": []map[string]interface{}{
{
"role": "user",
"parts": []map[string]interface{}{
{
"text": "你好,介绍一下自己",
},
},
},
},
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
```
```java
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://api.openveer.com/v1beta/models/gemini-2.5-pro:generateContent";
String payload = """
{
"contents": [
{
"role": "user",
"parts": [
{
"text": "你好,介绍一下自己"
}
]
}
]
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
```
```php
[
[
"role" => "user",
"parts" => [
[
"text" => "你好,介绍一下自己"
]
]
]
]
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer
```
```ruby
require 'net/http'
require 'json'
require 'uri'
url = URI("https://api.openveer.com/v1beta/models/gemini-2.5-pro:generateContent")
payload = {
contents: [
{
role: "user",
parts: [
{
text: "你好,介绍一下自己"
}
]
}
]
}
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
```
响应示例
json
{
"code": 200,
"data": {
"candidates": [
{
"content": {
"role": "model",
"parts": [
{
"text": "你好!很高兴能向你介绍我自己。\n\n我是一个大型语言模型,由 Google 训练和开发..."
}
]
},
"finishReason": "STOP",
"index": 0,
"safetyRatings": [
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"probability": "NEGLIGIBLE"
}
]
}
],
"promptFeedback": {
"safetyRatings": [
{
"category": "HARM_CATEGORY_HATE_SPEECH",
"probability": "NEGLIGIBLE"
}
]
]
},
"usageMetadata": {
"promptTokenCount": 4,
"candidatesTokenCount": 611,
"totalTokenCount": 2422,
"thoughtsTokenCount": 1807,
"promptTokensDetails": [
{
"modality": "TEXT",
"tokenCount": 4
}
]
}
}
json
{
"error": {
"code": 400,
"message": "无效的请求参数",
"status": "INVALID_ARGUMENT"
}
}
json
{
"error": {
"code": 401,
"message": "认证失败,请检查 API Key",
"status": "UNAUTHENTICATED"
}
}
json
{
"error": {
"code": 402,
"message": "余额不足,请充值",
"status": "PAYMENT_REQUIRED"
}
}
json
{
"error": {
"code": 403,
"message": "没有访问权限",
"status": "PERMISSION_DENIED"
}
}
json
{
"error": {
"code": 404,
"message": "找不到指定的模型",
"status": "NOT_FOUND"
}
}
json
{
"error": {
"code": 429,
"message": "请求过于频繁,请稍后重试",
"status": "RESOURCE_EXHAUSTED"
}
}
json
{
"error": {
"code": 500,
"message": "服务器内部错误",
"status": "INTERNAL"
}
}
json
{
"error": {
"code": 502,
"message": "网关错误,服务暂时不可用",
"status": "BAD_GATEWAY"
}
}
json
{
"error": {
"code": 503,
"message": "服务暂时不可用",
"status": "UNAVAILABLE"
}
}
Authorizations
Authorization stringPath Parameters
model stringmethod stringBody
contents arrayparts arrayinlineData objectdata string</ParamField>
示例:
json
[
{
"role": "user",
"parts": [{ "text": "你好,介绍一下自己" }]
}
]
generationConfig objectmaxOutputTokens integertopP numbertopK integerstopSequences arraysafetySettings arraythreshold stringResponse
candidates arrayparts array</ResponseField>
finishReason stringindex integersafetyRatings arrayprobability stringpromptFeedback objectblockReason stringusageMetadata objectcandidatesTokenCount integertotalTokenCount integerthoughtsTokenCount integerpromptTokensDetails arraytokenCount integer