API 目录

创建聊天识图 (流式)base64 格式

POST
/v1/chat/completions

创建聊天识图(流式,Base64 图片)

通过聊天补全接口发送文本与 Base64 编码图片,让模型对图片内容进行理解并以流式方式返回结果。

接口地址

POST https://www.vortapapi.com/v1/chat/completions

请求头

名称必填说明
Content-Type固定为 application/json
Accept使用流式响应时可设置为 text/event-stream
AuthorizationAPI Key,格式为 Bearer sk-***

请求体

参数类型必填说明
modelstring要调用的模型名称,需使用支持视觉输入的模型
messagesarray对话消息列表
messages[].rolestring消息角色,例如 userassistantsystem
messages[].contentstring 或 array消息内容。传入图片时通常使用数组结构,包含文本与图片对象
streamboolean是否启用流式输出。设为 true 时,接口会以 SSE 形式逐步返回内容
max_tokensinteger限制模型最多生成的 token 数
temperaturenumber控制输出随机性,值越高结果越发散

Base64 图片格式

图片需要放入 image_url.url 字段中,并使用 Data URL 形式:

data:image/png;base64,{BASE64_IMAGE}

也可以根据实际图片类型使用:

data:image/jpeg;base64,{BASE64_IMAGE}

请求示例

curl https://www.vortapapi.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Accept: text/event-stream" \
  -H "Authorization: Bearer sk-***" \
  -d '{
    "model": "gpt-4o-mini",
    "stream": true,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "请描述这张图片中的主要内容。"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
            }
          }
        ]
      }
    ],
    "max_tokens": 500
  }'

流式响应示例

启用 stream: true 后,响应会按事件分片返回。每个分片通常包含增量内容,最后以 [DONE] 结束。

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gpt-4o-mini","choices":[{"index":0,"delta":{"role":"assistant"},"finish_reason":null}]}

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gpt-4o-mini","choices":[{"index":0,"delta":{"content":"这张图片"},"finish_reason":null}]}

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gpt-4o-mini","choices":[{"index":0,"delta":{"content":"展示了一个场景,"},"finish_reason":null}]}

data: {"id":"chatcmpl-123","object":"chat.completion.chunk","created":1677652288,"model":"gpt-4o-mini","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}

data: [DONE]

非流式响应示例

如果将 stream 设置为 false 或不传该字段,接口会在生成完成后一次性返回完整结果。

{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "gpt-4o-mini",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "这张图片展示了一个场景,我可以看到其中的主要元素包括……"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 120,
    "completion_tokens": 36,
    "total_tokens": 156
  }
}

响应字段说明

字段类型说明
idstring本次聊天补全请求的唯一标识
objectstring对象类型。非流式通常为 chat.completion,流式分片通常为 chat.completion.chunk
createdinteger响应创建时间,Unix 时间戳
modelstring实际使用的模型
choicesarray模型生成结果列表
choices[].indexinteger当前结果在列表中的序号
choices[].messageobject非流式响应中的完整消息
choices[].deltaobject流式响应中的增量消息片段
choices[].finish_reasonstring 或 null生成结束原因,例如 stoplength
usageobjecttoken 使用量统计。通常仅在非流式完整响应中返回

注意事项

  • Base64 内容较长时,请确保请求体大小未超过模型或网关限制。
  • 图片 MIME 类型需要与实际图片格式一致,例如 PNG 使用 image/png,JPEG 使用 image/jpeg
  • 使用流式响应时,客户端需要按 SSE 数据流逐段读取 data: 内容。
  • Authorization 必须使用 Vortap API Key,并以 Bearer 方式传入。