Zum Hauptinhalt springen
Die Plattform unterstützt den Zugriff auf Gemini-Modelle über das OpenAI-Protokoll chat/completions sowie über das native Gemini-Protokoll. Die folgenden Beispiele verwenden alle den Nicht-Stream-Modus. Wenn Sie den Stream-Modus benötigen, ändern Sie einfach den Path zu /gemini/v1/models/:streamGenerateContent.

Schnellstart

curl https://api.highwayapi.ai/openai/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-d '{
    "model": "gemini-2.5-flash",
    "messages": [{
        "role": "user", "content": "What is the capital of France?"
    }],
    "reasoning_effort": "low"
  }'

Steuerung des Denkprozesses im OpenAI-Protokoll

Die Plattform konvertiert den Parameter reasoning_effort aus OpenAI-chat/completions-Anfragen in Gemini-thinking-Parameter.
reasoning_effortthinking
”disable”, “none""budget_tokens”: 0
”low""budget_tokens”: 1024
”medium""budget_tokens”: 2048
”high""budget_tokens”: 4096
⚠️ Die nicht standardmäßigen OpenAI-Werte disable/none können verwendet werden, um den Denkprozess zu deaktivieren.

Standardeinstellungen je Modell

ModellStandardeinstellung (wenn reasoning_effort nicht gesetzt ist)
2.5 ProDynamisches Denken: Das Modell entscheidet, wann und wie viel es denkt
2.5 FlashDynamisches Denken: Das Modell entscheidet, wann und wie viel es denkt
2.5 Flash LiteDenken ist deaktiviert
⚠️ Für Gemini 2.5 Pro kann das Denken nicht deaktiviert werden; reasoning_effort: none wird in das minimale thinkingBudget 128 konvertiert ⚠️ thinkingBudget wird nur in Gemini 2.5 Flash, 2.5 Pro und 2.5 Flash-Lite unterstützt. Je nach Prompt kann das Modell das Token-Budget über- oder unterschreiten.

Verwendung serverseitiger Tools

Mit Google Search können Gemini-Modelle mit Echtzeit-Webinhalten verknüpft werden, wobei alle verfügbaren Sprachen unterstützt werden. Dadurch kann Gemini genauere Antworten liefern und überprüfbare Quellen zitieren, die nach dem Wissensstichtag liegen.
curl https://api.highwayapi.ai/openai/chat/completions \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-H "Content-Type: application/json" -d @- <<EOF
{
  "model": "gemini-2.5-flash-lite",
  "messages": [
    {
      "role": "user",
      "content": "列一下今天中国的热点新闻"
    }
  ],
  "tools": [
    {
      "function": {"name": "google_search"}
    }
  ]
}
EOF
Ein Beispielergebnis sieht wie folgt aus. Beim OpenAI-Protokoll können Grounding-Informationen über das nicht standardmäßige Feld gemini_grounding_metadata abgerufen werden.
{
  "id": "dcc7eab10b5adeb9e8648d134e815409",
  "object": "chat.completion",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Here are some of today's top news in China: ..."
      },
      "finish_reason": "stop"
    }
  ],
  "gemini_grounding_metadata": {  # 👈 GEMINI GROUNDING
    "webSearchQueries": [
      "中国今日热点新闻"
    ],
    ...
    "groundingChunks": [
      ...
    ]
  }
}

Code Execution

Gemini stellt ein Tool zur Codeausführung bereit, mit dem das Modell Python-Code generieren und ausführen kann. Anschließend kann das Modell anhand der Ergebnisse der Codeausführung iterativ lernen, bis die endgültige Ausgabe erreicht ist.
curl https://api.highwayapi.ai/openai/chat/completions \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-H "Content-Type: application/json" -d @- <<EOF
{
  "model": "gemini-2.5-flash",
  "messages": [
    {
      "role": "user",
      "content": "What is the sum of the first 50 prime numbers? Generate and run code for the calculation, and make sure you get all 50."
    }
  ],
  "tools": [
      {
           "function":  {"name": "code_execution"}
      }
  ],
  "reasoning_effort": "low"
}
EOF
Ein Beispielergebnis sieht wie folgt aus. Beim OpenAI-Protokoll werden der Code und die Ergebnisse der Codeausführung in content dargestellt. Beim Gemini-Protokoll befindet sich der Code im Feld executableCode, das Ausführungsergebnis im Feld codeExecutionResult und die Zusammenfassung im Feld text.
Okay, I can help you with that. I will write a Python script to find the
first 50 prime numbers and then calculate their sum.

Here's the plan:

1.  Create a function to check if a number is prime.
2.  Create a function to generate the first `n` prime numbers.
3.  Call the generation function for the first 50 primes.
4.  Sum the resulting list of primes.

Here is the code to perform this calculation:

```PYTHON
def is_prime(num):
    """Checks if a number is prime."""
    if num <= 1:
        return False
    if num <= 3:
        return True
    if num % 2 == 0 or num % 3 == 0:
        return False
    i = 5
    while i * i <= num:
        if num % i == 0 or num % (i + 2) == 0:
            return False
        i += 6
    return True

def get_first_n_primes(n):
    """Generates a list of the first n prime numbers."""
    primes = []
    num = 2
    while len(primes) < n:
        if is_prime(num):
            primes.append(num)
        num += 1
    return primes

# Get the first 50 prime numbers
first_50_primes = get_first_n_primes(50)


# Calculate the sum of these prime numbers

sum_of_primes = sum(first_50_primes)


print(f"The first 50 prime numbers are: {first_50_primes}")

print(f"The sum of the first 50 prime numbers is: {sum_of_primes}")
```

The first 50 prime numbers are: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,
37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107,
109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191,
193, 197, 199, 211, 223, 227, 229]

The sum of the first 50 prime numbers is: 5117

URL context

Mit dem URL context-Tool können Sie dem Modell zusätzlichen Kontext in Form von URLs bereitstellen. Wenn Sie URLs zur Anfrage hinzufügen, greift das Modell auf die Inhalte dieser Webseiten zu, um Informationen für die Antwort bereitzustellen und die Antwortqualität zu verbessern.
curl https://api.highwayapi.ai/openai/chat/completions \
-H "Authorization: Bearer <YOUR-API-KEY>" \
-H "Content-Type: application/json" -d @- <<EOF
{
  "model": "gemini-2.5-flash-lite",
  "messages": [
    {
      "role": "user",
      "content": "这份食谱适合什么人士 https://www.foodnetwork.com/recipes/ina-garten/perfect-roast-chicken-recipe-1940592"
    }
  ],
  "tools": [
    {
      "function": {"name": "url_context"}
    }
  ]
}
EOF
Eine Beispielantwort sieht wie folgt aus
{
  "id": "82f10046aebe6697ed9d33a9fa398de4",
  "object": "chat.completion",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "这份食谱是关于如何制作 Ina Garten 的完美烤鸡。\n\n**关键信息:**\n* **食谱来源:** Ina Garten,改编自《Barefoot Contessa Cookbook》。\n* **准备时间:** 20 分钟\n* **烘烤时间:** 1 小时 30 分钟\n* **总时间:** 2 小时 10 分钟\n* **份量:** 8 人份\n* **难度:** 中等\n\n**食材:**\n* 一只 5-6 磅的烤鸡\n* 犹太盐\n* 新鲜磨碎的黑胡椒\n* 一大把新鲜百里香,外加 20 枝\n* 一个柠檬,对半切\n* 一头大蒜,横向切半\n* 2 汤匙(1/4 条)黄油,融化\n* 1 个大黄洋葱,厚切\n* 4 根胡萝卜,切成 2 英寸块\n* 1 个茴香头,去掉顶部,切成楔形\n* 橄榄油\n\n**制作步骤:**\n1. 预热烤箱至 425 华氏度(约 220 摄氏度)。\n2. 清理鸡的内脏,冲洗鸡的内外。去除多余的脂肪和残留的羽毛,并拍干鸡的外部。\n3. 在鸡的内部慷慨地撒上盐和胡椒。将一把百里香、半个柠檬和所有大蒜塞入鸡腔。\n4. 用融化的黄油刷鸡的外部,并再次撒上盐和胡椒。\n5. 用厨房绳子将鸡腿绑在一起,并将鸡翅尖塞到鸡身下方。\n6. 将洋葱、胡萝卜和茴香放入烤盘。用盐、胡椒、20 枝百里香和橄榄油拌匀。将蔬菜铺在烤盘底部,然后将鸡放在蔬菜上面。\n7. 烘烤鸡肉 1.5 小时,或直至用刀在腿和 thigh 之间切割时,汁水清澈。\n8. 将烤好的鸡和蔬菜移至盘子,用铝箔覆盖静置约 20 分钟。\n9. 将鸡肉切片装盘,与蔬菜一起食用。\n\n**烹饪技巧和用户反馈:**\n* 食谱中提到,如果蔬菜底部开始变褐色,可以加入一杯鸡汤帮助保持湿润。\n* 有用户建议使用更小的烤盘,以避免蔬菜烤焦。\n* 有用户将茴香替换成土豆。\n* 许多用户反馈鸡肉非常鲜嫩多汁,风味十足,而且烹饪过程简单。"
      },
      "finish_reason": "stop"
    }
  ],
  "gemini_grounding_metadata": {
    "groundingChunks": [
      {
        "web": {
          "uri": "https://www.foodnetwork.com/recipes/ina-garten/perfect-roast-chicken-recipe-1940592",
          "title": "Perfect Roast Chicken Recipe | Ina Garten | Food Network"
        }
      }
    ],
    "groundingSupports": [....]
  }
}