跳转到主要内容

功能简介

老张API 提供强大的图像和视频理解能力,支持使用多种先进的 AI 模型对图像和视频进行深度分析和理解。通过统一的 OpenAI API 格式,您可以轻松实现图像识别、场景描述、OCR 文字识别、视频内容分析等功能。
🔍 智能视觉分析
支持对象识别、场景理解、文字提取、情感分析、视频内容理解等多种视觉任务,让 AI 真正”看懂”图片和视频。

🌟 核心特性

  • 🎯 多模型支持:GPT-5、Gemini 2.5 Pro/Flash 等顶级视觉模型
  • 📸 灵活输入:支持 URL 链接和 Base64 编码(图片、视频)
  • 🎬 视频理解:Gemini 系列支持视频内容分析(最长可达数分钟)
  • 🌏 中文优化:完美支持中文场景理解和文字识别
  • ⚡ 快速响应:高性能推理,秒级返回结果
  • 💰 成本可控:多种模型选择,满足不同预算需求

📋 支持的视觉模型

模型名称模型 ID图片支持视频支持特点
GPT-5gpt-5最新模型,图片识别非常详细准确
Gemini 2.5 Progemini-2.5-pro超长上下文,支持视频分析
Gemini 2.5 Flashgemini-2.5-flash速度极快,性价比最高,支持视频
GPT-4.1 Minigpt-4.1-mini轻量快速,成本低
Claude 3.5 Sonnetclaude-3-5-sonnet理解深入,描述准确
💡 视频分析提示:目前仅 Gemini 系列模型支持视频内容理解。GPT-5 和 Claude 仅支持图片分析。

🚀 快速开始

1. 基础示例 - 图片 URL

import requests

url = "https://api.laozhang.ai/v1/chat/completions"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}

payload = {
    "model": "gpt-4o",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "请详细描述这张图片的内容"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://example.com/image.jpg"
                    }
                }
            ]
        }
    ]
}

response = requests.post(url, headers=headers, json=payload)
result = response.json()
print(result['choices'][0]['message']['content'])

2. 本地图片示例 - Base64 编码

import base64
import requests

def image_to_base64(image_path):
    """将本地图片转换为 base64 编码"""
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

# 读取本地图片
base64_image = image_to_base64("path/to/your/image.jpg")

url = "https://api.laozhang.ai/v1/chat/completions"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}

payload = {
    "model": "gemini-2.5-pro",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "分析这张图片中的所有文字内容"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": f"data:image/jpeg;base64,{base64_image}"
                    }
                }
            ]
        }
    ]
}

response = requests.post(url, headers=headers, json=payload)
print(response.json()['choices'][0]['message']['content'])

3. 高级示例 - 多图对比分析

import requests

url = "https://api.laozhang.ai/v1/chat/completions"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}

payload = {
    "model": "gpt-4o",
    "messages": [
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "请对比这两张图片的差异:"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/image1.jpg"}
                },
                {
                    "type": "image_url", 
                    "image_url": {"url": "https://example.com/image2.jpg"}
                }
            ]
        }
    ],
    "max_tokens": 1000
}

response = requests.post(url, headers=headers, json=payload)
print(response.json()['choices'][0]['message']['content'])

🎬 视频内容分析

支持的视频模型

目前仅 Gemini 系列模型支持视频分析:
  • gemini-2.5-pro - 详细准确,推荐用于复杂视频分析
  • gemini-2.5-flash - 速度快,性价比高,适合批量处理

1. 基础视频分析 - URL 方式

import requests

url = "https://api.laozhang.ai/v1/chat/completions"
headers = {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
}

payload = {
    "model": "gemini-2.5-pro",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "请详细描述这个视频的内容"
                },
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://example.com/video.mp4"
                    }
                }
            ]
        }
    ],
    "max_tokens": 1000
}

response = requests.post(url, headers=headers, json=payload)
print(response.json()['choices'][0]['message']['content'])

2. 使用 OpenAI SDK

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.laozhang.ai/v1"
)

response = client.chat.completions.create(
    model="gemini-2.5-flash",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "请分析这个视频的内容,包括场景、人物和动作"},
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://example.com/video.mp4"
                    }
                }
            ]
        }
    ],
    max_tokens=1000
)

print(response.choices[0].message.content)

3. cURL 命令示例

curl -X POST "https://api.laozhang.ai/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-2.5-pro",
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "text",
            "text": "请描述这个视频的内容"
          },
          {
            "type": "image_url",
            "image_url": {
              "url": "https://example.com/video.mp4"
            }
          }
        ]
      }
    ],
    "max_tokens": 1000
  }'

4. 视频 + 图片混合分析

Gemini 支持在同一个请求中分析视频和图片:
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.laozhang.ai/v1"
)

response = client.chat.completions.create(
    model="gemini-2.5-pro",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "对比这个视频和这张图片的内容有什么不同"},
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/video.mp4"}
                },
                {
                    "type": "image_url",
                    "image_url": {"url": "https://example.com/image.jpg"}
                }
            ]
        }
    ],
    max_tokens": 1500
)

print(response.choices[0].message.content)

5. 本地视频分析 - Base64 编码

对于本地视频文件,可以使用 Base64 编码上传:
import base64
from openai import OpenAI

def video_to_base64(video_path):
    """将本地视频转换为 base64 编码"""
    with open(video_path, "rb") as video_file:
        return base64.b64encode(video_file.read()).decode('utf-8')

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.laozhang.ai/v1"
)

# 编码本地视频
base64_video = video_to_base64("path/to/your/video.mp4")

response = client.chat.completions.create(
    model="gemini-2.5-flash",
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "请详细描述这个视频的内容"},
                {
                    "type": "image_url",
                    "image_url": {
                        "url": f"data:video/mp4;base64,{base64_video}"
                    }
                }
            ]
        }
    ],
    max_tokens=1000
)

print(response.choices[0].message.content)
MIME 类型说明 不同视频格式需要使用对应的 MIME 类型:
  • MP4: data:video/mp4;base64,...
  • WebM: data:video/webm;base64,...
  • MOV: data:video/quicktime;base64,...
  • AVI: data:video/x-msvideo;base64,...
💡 最佳实践:Base64 编码会增加约 33% 的数据量。对于大视频文件(>10MB),建议优先使用 URL 方式。小视频文件(<5MB)使用 Base64 更方便。

视频分析最佳实践

  1. 文件大小:建议单个视频 ≤20 MB,超大视频可能导致处理时间过长
  2. 视频格式:支持 MP4、WebM、MOV、AVI 等主流格式
  3. 视频时长:短视频(< 5 分钟)效果最佳,超长视频建议分段处理
  4. 分辨率:高分辨率视频识别效果更好,但会增加处理时间
  5. 提示词优化:明确指出需要分析的内容(如”分析人物动作”、“提取对话内容”等)

视频分析应用场景

  • 📹 内容审核:自动识别视频中的不当内容
  • 🎓 教学视频分析:提取关键知识点和字幕
  • 🛡️ 监控视频理解:异常行为检测和事件识别
  • 🎬 广告素材分析:评估创意元素和情感传递效果
  • 📊 体育赛事分析:识别运动员动作和比赛关键时刻
⚠️ 注意事项
  • 视频处理时间通常比图片长(取决于视频长度和复杂度)
  • 建议使用 max_tokens 参数限制输出长度,避免超额消费
  • 对于隐私敏感的视频内容,请注意数据安全

🎯 常见应用场景

1. 商品识别与分析

prompt = """
请分析这张商品图片,包括:
1. 商品类型和品牌
2. 主要特征和卖点
3. 适合的目标用户
4. 建议的营销文案
"""

2. 文档 OCR 识别

prompt = """
请提取图片中的所有文字内容,并按照原始格式整理输出。
如果有表格,请用 Markdown 表格格式呈现。
"""

3. 医学影像辅助分析

prompt = """
这是一张医学影像图片,请:
1. 描述图像的基本信息(如成像类型、部位等)
2. 标注可见的解剖结构
3. 注意:仅供参考,不作为诊断依据
"""

4. 安全监控场景分析

prompt = """
分析监控画面,识别:
1. 场景中的人数和位置
2. 是否有异常行为
3. 环境安全隐患
4. 时间戳信息(如果可见)
"""

💡 最佳实践

图片预处理建议

  1. 格式支持:JPEG、PNG、GIF、WebP 等主流格式
  2. 大小限制:建议单张图片不超过 20MB
  3. 分辨率:高分辨率图片会获得更好的识别效果
  4. 压缩优化:适度压缩以提高传输速度

提示词优化

# ❌ 不推荐:模糊的提示
prompt = "看看这是什么"

# ✅ 推荐:具体明确的提示
prompt = """
请从以下几个方面分析这张图片:
1. 主要对象:识别图片中的主要物体或人物
2. 场景环境:描述拍摄地点和环境特征
3. 色彩构图:分析配色方案和构图特点
4. 情感氛围:图片传达的情绪或氛围
5. 可能用途:这张图片适合用于什么场景
"""

错误处理

import requests
from requests.exceptions import RequestException

def analyze_image_with_retry(image_url, prompt, max_retries=3):
    """带重试机制的图像分析函数"""
    for attempt in range(max_retries):
        try:
            response = requests.post(
                "https://api.laozhang.ai/v1/chat/completions",
                headers={
                    "Authorization": f"Bearer {API_KEY}",
                    "Content-Type": "application/json"
                },
                json={
                    "model": "gpt-4o",
                    "messages": [{
                        "role": "user",
                        "content": [
                            {"type": "text", "text": prompt},
                            {"type": "image_url", "image_url": {"url": image_url}}
                        ]
                    }]
                },
                timeout=30
            )
            
            if response.status_code == 200:
                return response.json()
            elif response.status_code == 429:
                print(f"速率限制,等待后重试... (尝试 {attempt + 1}/{max_retries})")
                time.sleep(2 ** attempt)  # 指数退避
            else:
                print(f"错误: {response.status_code} - {response.text}")
                
        except RequestException as e:
            print(f"请求异常: {e}")
            
    return None

🔧 高级功能

1. 流式输出

对于长篇分析,可以使用流式输出获得更好的用户体验:
payload = {
    "model": "gpt-4o",
    "messages": [...],
    "stream": True
}

response = requests.post(url, headers=headers, json=payload, stream=True)
for line in response.iter_lines():
    if line:
        print(line.decode('utf-8'))

2. 多轮对话

保持上下文进行深入分析:
messages = [
    {
        "role": "user",
        "content": [
            {"type": "text", "text": "这是什么动物?"},
            {"type": "image_url", "image_url": {"url": "animal.jpg"}}
        ]
    },
    {
        "role": "assistant",
        "content": "这是一只金毛寻回犬。"
    },
    {
        "role": "user",
        "content": [{"type": "text", "text": "它看起来多大了?健康状况如何?"}]
    }
]

3. 结合函数调用

tools = [
    {
        "type": "function",
        "function": {
            "name": "save_image_analysis",
            "description": "保存图像分析结果到数据库",
            "parameters": {
                "type": "object",
                "properties": {
                    "objects": {"type": "array", "items": {"type": "string"}},
                    "scene": {"type": "string"},
                    "text_content": {"type": "string"}
                }
            }
        }
    }
]

payload = {
    "model": "gpt-4o",
    "messages": messages,
    "tools": tools,
    "tool_choice": "auto"
}

📊 性能对比

模型图片支持视频支持响应速度识别准确度价格
GPT-5⭐⭐⭐⭐⭐⭐⭐⭐⭐$$$
Gemini 2.5 Pro⭐⭐⭐⭐⭐⭐⭐⭐⭐$$
Gemini 2.5 Flash⭐⭐⭐⭐⭐⭐⭐⭐⭐$
GPT-4.1 Mini⭐⭐⭐⭐⭐⭐⭐⭐$

🚨 注意事项

  1. 隐私保护:不要上传包含敏感信息的图片和视频
  2. 合规使用:遵守相关法律法规,不用于非法用途
  3. 结果验证:AI 分析结果仅供参考,重要决策需人工复核
  4. 成本控制:合理选择模型,避免不必要的开销
  5. 视频限制:视频分析仅支持 Gemini 系列,其他模型暂不支持

🔗 相关资源

💡 小贴士:建议先使用 Gemini 2.5 Flash 或 GPT-4.1 Mini 进行测试,确认效果后再使用高级模型进行生产部署。
I