MaoMaoToken 文档

图片分析

Claude 图片分析接口支持通过 MaomaoToken 调用 Claude 模型对图片进行智能分析。你可以使用本地图片 Base64,也可以直接传入可访问的网络图片 URL。

请求地址

https://api.maomaotoken.com/v1/messages

本地图片分析

下面示例会读取本地图片,自动识别 MIME 类型并转换为 Base64,然后发送给 Claude 分析。

import base64
import json
import os
from pathlib import Path

import requests


# ==================== 基础配置 ====================

BASE_URL = "https://api.maomaotoken.com"
API_KEY = os.getenv("MAOMAO_API_KEY") or "sk-******************************"
image_path = "./example.png"


headers = {
    "content-type": "application/json",
    "x-api-key": API_KEY
}


def get_image_media_type(file_path: str) -> str:
    ext = Path(file_path).suffix.lower()

    media_types = {
        ".jpg": "image/jpeg",
        ".jpeg": "image/jpeg",
        ".png": "image/png",
        ".gif": "image/gif",
        ".webp": "image/webp"
    }

    return media_types.get(ext, "image/jpeg")


def encode_image_to_base64(file_path: str) -> str:
    with open(file_path, "rb") as f:
        return base64.b64encode(f.read()).decode("utf-8")


if not os.path.exists(image_path):
    raise FileNotFoundError(f"图片文件不存在: {image_path}")

print(f"正在读取图片: {image_path}")
image_data = encode_image_to_base64(image_path)
media_type = get_image_media_type(image_path)

payload = {
    "model": "claude-sonnet-4-6",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": media_type,
                        "data": image_data
                    }
                },
                {
                    "type": "text",
                    "text": "这张图片里有什么?"
                }
            ]
        }
    ]
}

print(f"正在分析图片: {image_path}")
response = requests.post(
    f"{BASE_URL}/v1/messages",
    headers=headers,
    json=payload
)

if response.status_code == 200:
    result = response.json()
    print(json.dumps(result, indent=2, ensure_ascii=False))
else:
    print(f"请求失败,状态码: {response.status_code}")
    print(response.text)

本地图片返回示例

{
  "id": "msg_example",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "text",
      "text": "这是一幅奇幻或科幻风格的概念艺术作品。画面中央有一棵巨大的古树,周围有漂浮岩石、藤蔓、远景山脉和金色光线,整体营造出宏大、梦幻和探索感。"
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 1364,
    "output_tokens": 473
  }
}

URL 图片分析

如果图片已经有可访问的 URL,可以直接使用 source.type: "url"

import json
import os
import requests


BASE_URL = "https://api.maomaotoken.com"
API_KEY = os.getenv("MAOMAO_API_KEY") or "sk-**********************************************"

image_url = "https://example.com/example.jpg"

headers = {
    "content-type": "application/json",
    "x-api-key": API_KEY
}

if not image_url.startswith(("http://", "https://")):
    raise ValueError(f"无效的图片 URL: {image_url}")

payload = {
    "model": "claude-sonnet-4-6",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "url",
                        "url": image_url
                    }
                },
                {
                    "type": "text",
                    "text": "这张图片里有什么?"
                }
            ]
        }
    ]
}

response = requests.post(
    f"{BASE_URL}/v1/messages",
    headers=headers,
    json=payload
)

if response.status_code == 200:
    result = response.json()
    print(json.dumps(result, indent=2, ensure_ascii=False))
else:
    print(f"请求失败,状态码: {response.status_code}")
    print(response.text)

URL 图片返回示例

{
  "id": "msg_example",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "text",
      "text": "这张图片展示了一台 Canon 计算器。画面中可以看到液晶显示屏、数字键、运算键、红色清除键,以及放置计算器的桌面背景。"
    }
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 1584,
    "output_tokens": 317
  }
}

支持格式

格式MIME 类型
JPEG / JPGimage/jpeg
PNGimage/png
GIFimage/gif
WebPimage/webp

注意事项

  • 请将示例中的 API Key 替换为你的真实 MaomaoToken API Key。
  • 本地图片方式需要传入纯 Base64 数据,不要包含 data:image/...;base64, 前缀。
  • URL 图片需要能被 MaomaoToken 服务端正常访问。
  • 图片越大,输入 Token 消耗越高,响应时间也可能更长。
  • 模型分析结果仅供参考,涉及合同、票据、医学图像等重要内容时建议人工复核。

On this page