Claude Vision 图像识别 API 教程

Claude 支持多模态输入,可以理解和分析图像内容。本文介绍 Claude Vision API 的图像识别能力,包括 OCR 文字识别、图表理解、base64 编码传图等用法。

Claude Vision 支持的能力

支持的图像格式

Claude Vision 支持以下图像格式:

单张图像大小限制约 5MB,建议分辨率不超过 1568 x 1568 像素以获得最佳性能。

Base64 编码方式传图

import anthropic
import base64

client = anthropic.Anthropic(
    api_key="your-api-key",
    base_url="https://claude4u.com/v1"
)

# 读取本地图片并编码
with open("chart.png", "rb") as f:
    image_data = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": "image/png",
                        "data": image_data
                    }
                },
                {
                    "type": "text",
                    "text": "请分析这张图表的数据趋势和关键信息"
                }
            ]
        }
    ]
)
print(response.content[0].text)

URL 方式传图

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": "https://example.com/photo.jpg"
                    }
                },
                {
                    "type": "text",
                    "text": "描述这张图片的内容"
                }
            ]
        }
    ]
)

Node.js 示例

import Anthropic from '@anthropic-ai/sdk';
import fs from 'fs';

const client = new Anthropic({
  apiKey: 'your-api-key',
  baseURL: 'https://claude4u.com/v1'
});

const imageBuffer = fs.readFileSync('receipt.jpg');
const base64Image = imageBuffer.toString('base64');

const response = await client.messages.create({
  model: 'claude-sonnet-4-20250514',
  max_tokens: 1024,
  messages: [{
    role: 'user',
    content: [
      {
        type: 'image',
        source: {
          type: 'base64',
          media_type: 'image/jpeg',
          data: base64Image
        }
      },
      { type: 'text', text: '请识别这张发票上的所有信息,包括金额、日期和商品明细' }
    ]
  }]
});

console.log(response.content[0].text);

多图对比分析

Claude 支持在一次请求中传入多张图片进行对比分析:

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=2048,
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": image1_b64}},
                {"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": image2_b64}},
                {"type": "text", "text": "对比这两张设计图,列出主要区别"}
            ]
        }
    ]
)

Vision API 应用场景

  1. 智能客服:用户上传截图描述问题,AI 自动识别并给出解决方案
  2. 数据录入:扫描纸质表格或票据,自动提取结构化数据
  3. 内容审核:自动分析上传的图片内容
  4. 辅助设计:分析 UI 截图,提供改进建议和代码实现
  5. 教育辅助:识别数学公式、解析题目图片
提示:图像会消耗较多 token(一张典型图片约 1000-4000 token),建议在发送前压缩图片尺寸。通过 claude4u.com 轻舟 AI 中转服务使用 Vision API,可以实时查看每次调用的 token 消耗,精确控制成本。
注意:Claude 不支持生成图像,仅支持理解和分析图像内容。如需图像生成能力,可以结合 OpenAI DALL-E API 使用,轻舟 AI 同时支持 Claude 和 OpenAI 接口。

Start Using 轻舟 AI

Stable, fast AI API relay — supports Claude, OpenAI, Gemini and more

Sign Up Now