Gemini 3.1 Pro API
Img2Vid 在公开 chat 模型 API 中使用 google/gemini-3.1-pro-preview 暴露 Gemini 3.1 Pro。
模型标识
| 字段 | 值 |
|---|---|
| Img2Vid 模型 key | google/gemini-3.1-pro-preview |
| 运行时模型 id | gemini-3.1-pro-preview |
| Provider | |
| 公开能力 | Reasoning、图片附件、工具调用 |
价格
| 单位 | Credits |
|---|---|
| Input | 每 1,000,000 tokens 4 credits |
| Output | 每 1,000,000 tokens 24 credits |
| Cached input | 每 1,000,000 tokens 1 credit |
模型参数
| 参数 | 类型 | 默认值 | 可选值 |
|---|---|---|---|
reasoning_effort |
string | medium |
none、low、medium、high |
使用 reasoning: true 开启推理,并通过 options.reasoning_effort 传递推理强度。
OpenAI 兼容示例
curl https://img2vid.net/api/v1/chat/completions \
-H "Authorization: Bearer $BUBLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-3.1-pro-preview",
"messages": [
{
"role": "system",
"content": "You are a careful multimodal analysis assistant."
},
{
"role": "user",
"content": "Compare the likely product risks and suggest next validation steps."
}
],
"reasoning": true,
"options": {
"reasoning_effort": "medium"
},
"max_completion_tokens": 800
}'
Anthropic Messages 兼容示例
curl https://img2vid.net/api/v1/messages \
-H "Authorization: Bearer $BUBLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-3.1-pro-preview",
"system": "You are a careful multimodal analysis assistant.",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "Compare the likely product risks and suggest next validation steps."
}
]
}
],
"thinking": true,
"options": {
"reasoning_effort": "medium"
},
"max_tokens": 800
}'
Gemini 兼容示例
curl https://img2vid.net/api/v1beta/models/google/gemini-3.1-pro-preview:generateContent \
-H "Authorization: Bearer $BUBLE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"systemInstruction": {
"parts": [
{
"text": "You are a careful multimodal analysis assistant."
}
]
},
"contents": [
{
"role": "user",
"parts": [
{
"text": "Compare the likely product risks and suggest next validation steps."
}
]
}
],
"reasoning": true,
"options": {
"reasoning_effort": "medium"
},
"generationConfig": {
"maxOutputTokens": 800
}
}'
Gemini 兼容流式输出使用 /api/v1beta/models/google/gemini-3.1-pro-preview:streamGenerateContent。
SDK 示例
下面的示例使用本页的 Img2Vid chat 模型 key,并通过 OpenAI 兼容 Chat Completions 调用。片段假设你已经按快速开始初始化了 SDK client,并引入了对应语言需要的 SDK 类型。Anthropic Messages 和 Gemini 兼容调用使用同一模型 key;Gemini 流式输出请使用 SDK 的 streamGenerateContent / stream_generate_content 方法。
JavaScript / TypeScript
const completion = await buble.chat.completions.create({
model: 'google/gemini-3.1-pro-preview',
messages: [
{
role: 'system',
content: 'You are a careful multimodal analysis assistant.',
},
{
role: 'user',
content:
'Compare the likely product risks and suggest next validation steps.',
},
],
reasoning: true,
options: {
reasoning_effort: 'medium',
},
max_completion_tokens: 800,
});
console.log(completion.choices?.[0]?.message?.content);
Python
completion = client.chat.completions.create(
model="google/gemini-3.1-pro-preview",
messages=[
{"role": "system", "content": "You are a careful multimodal analysis assistant."},
{"role": "user", "content": "Compare the likely product risks and suggest next validation steps."},
],
reasoning=True,
options={"reasoning_effort": "medium"},
max_completion_tokens=800,
)
print(completion["choices"][0]["message"]["content"])
Go
completion, err := client.Chat.Completions.Create(ctx, buble.ChatRequest{
"model": "google/gemini-3.1-pro-preview",
"messages": []any{
map[string]any{"role": "system", "content": "You are a careful multimodal analysis assistant."},
map[string]any{"role": "user", "content": "Compare the likely product risks and suggest next validation steps."},
},
"reasoning": true,
"options": map[string]any{"reasoning_effort": "medium"},
"max_completion_tokens": 800,
})
if err != nil {
return err
}
fmt.Println(completion)
Rust
let completion = client.chat().completions().create(serde_json::json!({
"model": "google/gemini-3.1-pro-preview",
"messages": [
{ "role": "system", "content": "You are a careful multimodal analysis assistant." },
{ "role": "user", "content": "Compare the likely product risks and suggest next validation steps." }
],
"reasoning": true,
"options": { "reasoning_effort": "medium" },
"max_completion_tokens": 800
})).await?;
Swift
let completion = try await client.chat.completions.create([
"model": "google/gemini-3.1-pro-preview",
"messages": [
["role": "system", "content": "You are a careful multimodal analysis assistant."],
["role": "user", "content": "Compare the likely product risks and suggest next validation steps."]
],
"reasoning": true,
"options": ["reasoning_effort": "medium"],
"max_completion_tokens": 800
])
Dart / Flutter
final completion = await client.chat.completions.create({
'model': 'google/gemini-3.1-pro-preview',
'messages': [
{'role': 'system', 'content': 'You are a careful multimodal analysis assistant.'},
{'role': 'user', 'content': 'Compare the likely product risks and suggest next validation steps.'},
],
'reasoning': true,
'options': {'reasoning_effort': 'medium'},
'max_completion_tokens': 800,
});
Elixir
{:ok, completion} =
Buble.Chat.Completions.create(client, %{
model: "google/gemini-3.1-pro-preview",
messages: [
%{role: "system", content: "You are a careful multimodal analysis assistant."},
%{role: "user", content: "Compare the likely product risks and suggest next validation steps."}
],
reasoning: true,
options: %{reasoning_effort: "medium"},
max_completion_tokens: 800
})
Java
var completion = client.chat().completions().create(Map.of(
"model", "google/gemini-3.1-pro-preview",
"messages", List.of(
Map.of("role", "system", "content", "You are a careful multimodal analysis assistant."),
Map.of("role", "user", "content", "Compare the likely product risks and suggest next validation steps.")),
"reasoning", true,
"options", Map.of("reasoning_effort", "medium"),
"max_completion_tokens", 800));
.NET
var completion = await client.Chat.Completions.CreateAsync(new Dictionary<string, object?>
{
["model"] = "google/gemini-3.1-pro-preview",
["messages"] = new[]
{
new Dictionary<string, object?> { ["role"] = "system", ["content"] = "You are a careful multimodal analysis assistant." },
new Dictionary<string, object?> { ["role"] = "user", ["content"] = "Compare the likely product risks and suggest next validation steps." }
},
["reasoning"] = true,
["options"] = new Dictionary<string, object?>
{
["reasoning_effort"] = "medium"
},
["max_completion_tokens"] = 800
});
PHP
$completion = $client->chat()->completions()->create([
'model' => 'google/gemini-3.1-pro-preview',
'messages' => [
['role' => 'system', 'content' => 'You are a careful multimodal analysis assistant.'],
['role' => 'user', 'content' => 'Compare the likely product risks and suggest next validation steps.'],
],
'reasoning' => true,
'options' => [
'reasoning_effort' => 'medium',
],
'max_completion_tokens' => 800,
]);
Ruby
completion = client.chat.completions.create(
model: "google/gemini-3.1-pro-preview",
messages: [
{ role: "system", content: "You are a careful multimodal analysis assistant." },
{ role: "user", content: "Compare the likely product risks and suggest next validation steps." }
],
reasoning: true,
options: {reasoning_effort: "medium"},
max_completion_tokens: 800
)