视觉理解
LongCat-2.5-Preview 模型支持在文本之外输入图片和视频,你可以让模型描述图片、识别截图中的文字、分析图表,或理解视频内容。
传入图片
共有两种方式向模型提供图片,均使用标准的 OpenAI 兼容对话补全格式,即 content 为一个块(block)数组,而非纯字符串。
方式一:Base64 编码图片(内联)
将图片编码后以 data: URL 的形式直接嵌入请求,这是本地文件最简单的方式。Base64 数据会计入请求体大小限制(见限制)。
import base64
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.longcat.chat/openai"
)
with open("image.jpg", "rb") as f:
b64 = base64.b64encode(f.read()).decode("utf-8")
response = client.chat.completions.create(
model="LongCat-2.5-Preview",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这张图片里有什么?"},
{
"type": "image_url",
"image_url": {"url": f"data:image/jpeg;base64,{b64}"},
},
],
}
],
)
print(response.choices[0].message.content)curl https://api.longcat.chat/openai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "LongCat-2.5-Preview",
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "这张图片里有什么?"},
{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,<BASE64_DATA>"}}
]
}
]
}'方式二:外部图片 URL
传入一个可公开访问的 http(s) 链接,模型会自动下载图片。
response = client.chat.completions.create(
model="LongCat-2.5-Preview",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "描述一下这张图片。"},
{
"type": "image_url",
"image_url": {"url": "https://example.com/image.jpg"},
},
],
}
],
)
print(response.choices[0].message.content)传入视频
视频仅支持通过 URL 方式传入,模型会自动下载并解析视频内容。同样使用 content 块数组形式,视频以 video_url 块承载:
response = client.chat.completions.create(
model="LongCat-2.5-Preview",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这个视频里发生了什么?"},
{
"type": "video_url",
"video_url": {"url": "https://example.com/video.mp4"},
},
],
}
],
)
print(response.choices[0].message.content)Token 用量
图片和视频会根据其尺寸换算成 Token,并与文本 Token 一起计费。
图片 Token 数的估算公式:N_image = 图片像素总数 ÷ 784(每个视觉 Token 对应 28 × 28 像素)。若统计实际 PromptTokens,还需要增加 <img_start> 和 <img_end> 两个特殊 Token,即图片带来的 PromptTokens 增量 ≈ N_image + 2。
你也可以使用下面的计算器估算单张图片的 Token 消耗:
图片 Token 计算
计算公式: N = (W × H) ÷ 784
估算值,实际 token 数量以接口返回的 usage 为准。
限制
图片限制
| 限制项 | 数值 |
|---|---|
| 支持格式 | PNG、JPG、JPEG、WebP、GIF(不支持 SVG、HEIC/HEIF 等) |
| 传入形式 | Base64 编码、URL |
| 原始宽高比 | 超过 200:1 直接报错 |
| 单张图片大小 | 不超过 10 MB |
| 单请求图片数量 | 不超过 50 张(暂定) |
视频限制(暂定)
| 限制项 | 数值 |
|---|---|
| 支持格式 | MP4、MOV、MKV、AVI、WebM |
| 传入形式 | 仅支持 URL |
| 单个视频大小 | 不超过 50 MB |
| 视频时长 | 不超过 1 小时 |
接口信息
OpenAI 兼容接口
视觉理解使用标准的 OpenAI 兼容对话补全端点:
- 请求路径:
POST https://api.longcat.chat/openai/v1/chat/completions - 模型名称:
LongCat-2.5-Preview - 图片内容块:
{"type": "image_url", "image_url": {"url": "..."}},url 支持公网 URL 或data:URL(Base64) - 视频内容块:
{"type": "video_url", "video_url": {"url": "..."}},url 仅支持公网 URL
Anthropic 兼容接口
除 OpenAI 兼容端点外,也支持通过 Anthropic 兼容的 /messages 端点传入图片(base_url 为 https://api.longcat.chat/anthropic)。区别在于图片内容块的结构:Anthropic 使用 image 块,其 source 对象的 type 为 base64 或 url 之一:
import anthropic
client = anthropic.Anthropic(
api_key="YOUR_API_KEY",
base_url="https://api.longcat.chat/anthropic"
)
message = client.messages.create(
model="LongCat-2.5-Preview",
max_tokens=1024,
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "这张图片里有什么?"},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "<BASE64_DATA>",
},
},
],
}
],
)
print(message.content)