OpenAI的消息格式,请参考官方格式。

非流式调用:

import requests


url = "https://tokencount.aigemini.org/v1/chat/completions"

headers = {
    "Authorization": "Bearer 你需要在网站创建令牌并填在这里",
    "content-type": "application/json"
}
data = {
    "messages": [
        {
            "role": "user",
            "content": "hello",
        }
    ],
    "model": "claude-3-5-sonnet-20240620"
}

response = requests.post(url, headers=headers, json=data)
print(response.text)

流式调用:

url = "https://tokencount.aigemini.org/v1/chat/completions"

headers = {
    "Authorization": "Bearer 你需要在网站创建令牌并填在这里",
    "content-type": "application/json"
}
data = {
    "messages": [
        {
            "role": "user",
            "content": "hello",
        }
    ],
    "model": "claude-3-5-sonnet-20240620",
    "stream":True
}

response = requests.post(url, headers=headers, json=data, stream=True)
print('Claude>>> ', end='')
for message_chunk in response.iter_lines():
    message_chunk = message_chunk.decode('utf-8')
    if message_chunk.strip() == '':
        continue
    if message_chunk.strip() == 'data: [DONE]':
        continue
    message_json = json.loads(message_chunk[6:])  # Skip the 'data: ' prefix
    if "stop_reason" in message_json and message_json["stop_reason"] is not None:
        break
    message =  message_json["choices"][0]["delta"]["content"]
    print(message, end='', flush=True)
print()

文生图和图生图(更多参考openai官方网站)

imageUrl为图片地址或者data:image/jpeg;base64,${base64};格式的数据,细节可以参考openai官方文档

curl -X POST "https://tokencount.aigemini.org/v1/chat/completions"  -H "Content-Type: application/json"  -H "Authorization: Bearer YOUR_API_KEY"  -d '{
    "model": "gemini-2.5-flash-image",
    "messages": [
        {
          "role": "user",
          "content": [
            {
              "type": "text",
              "text": "任务衣服变成红色"
            },
            {
              "type": "image_url",
              "image_url": {
                "url": "滴滴答答"
              }
            }
          ]
        }
    ],
    "max_tokens": 150,
    "temperature": 0.7
  }'
  • gemini-2.5-flash-image正式版支持比例控制:2:3 ,3:2 ,3:4 ,4:3 ,4:5 ,5:4 ,9:16,16:9,21:9。为了兼容性你需要添加extra_body和开头额外的system的message来控制。
    imageUrl为图片地址或者data:image/jpeg;base64,${base64};格式的数据,细节可以参考openai官方文档
    curl -X POST "https://tokencount.aigemini.org/v1/chat/completions"  -H "Content-Type: application/json"  -H "Authorization: Bearer YOUR_API_KEY"  -d '{
        "extra_body":{
            "imageConfig": {
              "aspectRatio": "16:9"
            }
        },
        "model": "gemini-2.5-flash-image",
        "messages": [
          {
          "role":"system",
          "content":"{\"imageConfig\": {\"aspectRatio\": \"16:9\"}}"
          },
            {
              "role": "user",
              "content": [
                {
                  "type": "text",
                  "text": "任务衣服变成红色"
                },
                {
                  "type": "image_url",
                  "image_url": {
                    "url": "滴滴答答"
                  }
                }
              ]
            }
        ],
        "max_tokens": 150,
        "temperature": 0.7
      }'
    
Edit

Pub: 20 Oct 2024 05:01 UTC

Edit: 08 Apr 2026 07:07 UTC

Views: 1571