讲师中心 微信公众号
AI工具推荐 视频效率加速

智绘文字识别

Polar Sponsor
爱发电 赞助
.NET 9.0

智能 OCR 文字识别助手,从图片中提取印刷体、手写体、表格、票据、名片等文字内容,支持 URL 与 Base64 图片;当用户要求「OCR」「识别图片文字」「提取文字」「扫图识字」「图片转文字」「读图」「票据识别」「表格识别」时使用。

iii. iii. iii. iii. iii. iii. iii. i. i. i. i. i. i. i. i. i. i. i. i. i. i. i.

功能概述

iii. iii. iii. iii. iii. iii. iii. i. i. i. i. i. i. i. i. i. i. i. i. i. i. i. 是一项面向实际任务的技能。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

核心要点

  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
  • 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
  • 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

使用与执行

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;

结果检查与注意事项

涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

智绘文字识别

元数据

字段 值
skill_id ixhlink-skills-ocr-recog
skill_version 1.0.0
product_id ixhlink-skills-ocr-recog
model_key ixhlink-skills-ocr-recog
capability ocr

服务地址

Base URL:https://iskills.ixhlink.com

下文接口均写路径(如 /api/v1/llm/invoke),完整地址 = Base URL + 路径。

统一响应格式:

{"success": true, "code": 0, "message": "ok", "data": {}}

调用流程

ocr 为慢任务,默认异步。典型流程:

  1. (可选)GET /api/v1/llm/models 确认模型已启用
  2. POST /api/v1/llm/invoke 提交 OCR 识别请求
  3. 若返回 402:调起微信支付,成功后用相同 JSON body 重试,Header 附带 WeixinPay-Required 与 X-Payment-Id
  4. 从响应取 data.task.id,轮询 GET /api/v1/llm/tasks/{task_id} 直至 status = succeeded
  5. 从 data.result.choices[0].message.content 读取识别出的文字

也可直接用 POST /api/v1/llm/tasks 创建异步任务(请求体相同,强制异步)。

1. 查询模型(可选)

GET /api/v1/llm/models
Accept: application/json

确认返回的 items 中包含:

{"model": "ixhlink-skills-ocr-recog", "capability": "ocr"}

2. 提交 OCR 识别

POST /api/v1/llm/invoke
Content-Type: application/json

请求体(URL 图片,推荐格式):

Prompt 须放在 system 消息,且以 n 开头;user 消息仅传图片。

图片传入方式(二选一,勿混用占位符):

方式 image_url.url 填什么 是否转 OSS
公网链接(推荐) 真实可访问的 https://… / http://… 否,原样转发上游
Base64 完整 data:image/png;base64,{真实Base64},或用 image_url.b64 传裸 Base64 是(须后台开启「本地/Base64 图片由后端转 OSS URL」且已配置 OSS)

严禁原样提交文档占位符(否则会报 image_url 须为 http/https 公网地址,或提供可解码的 b64/url):

  • ❌ https://example.com/document.jpg(示例域名)
  • ❌ data:image/png;base64,(尖括号是说明,须替换为真实编码)
  • ❌ (日志脱敏格式,不能当请求值)
  • ❌ 把图片 URL 写在 system 的 里( 只是 OCR 指令前缀,不是图片地址)

图片只能放在 user.content[] 的 type: image_url 中。

{
  "capability": "ocr",
  "model": "ixhlink-skills-ocr-recog",
  "payload": {
    "messages": [
      {
        "role": "system",
        "content": "n<|grounding|>Convert the document to markdown."
      },
      {
        "role": "user",
        "content": [
          {
            "type": "image_url",
            "image_url": {"url": "https://example.com/document.jpg"}
          }
        ]
      }
    ]
  }
}

请求体(Base64 图片,二选一):

方式 A — data: URL(url 中必须是完整 Base64,不能留 字样):

{
  "capability": "ocr",
  "model": "ixhlink-skills-ocr-recog",
  "payload": {
    "messages": [
      {
        "role": "system",
        "content": "n<|grounding|>Convert the document to markdown."
      },
      {
        "role": "user",
        "content": [
          {
            "type": "image_url",
            "image_url": {
              "url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUg..."
            }
          }
        ]
      }
    ]
  }
}

方式 B — 裸 Base64 字段(推荐 Agent 构造,避免 data: 前缀拼错):

⚠️ Base64 提交注意事项(重要):

当通过 curl 提交 Base64 图片时,严禁将 base64 字符串直接写在 -d '{"b64":"..."}' 命令行参数中 — shell 会截断超长字符串导致数据损坏。

正确做法:先写 JSON 文件,再用 curl -d @文件 提交:

# 1. 用 Python 构建 JSON 并写入文件(正确处理大段 base64)
python3 -c "
import json
b64 = open('图片路径').read().strip()  # 或 base64 变量
payload = { 'capability': 'ocr', 'model': 'ixhlink-skills-ocr-recog',
  'payload': { 'messages': [
    {'role':'system','content':'n<|grounding|>OCR this image.'},
    {'role':'user','content':[{'type':'image_url','image_url':{'b64':b64,'mime_type':'image/png'}}]}
  ]}}
with open('/tmp/ocr_payload.json','w') as f: json.dump(payload,f)
"
# 2. 用文件方式提交,避免 shell 截断
curl -s -X POST https://iskills.ixhlink.com/api/v1/llm/invoke 
  -H "Content-Type: application/json" 
  -d @/tmp/ocr_payload.json
{
  "type": "image_url",
  "image_url": {
    "b64": "iVBORw0KGgoAAAANSUhEUg...",
    "mime_type": "image/png"
  }
}

payload 字段:

字段 必填 说明
messages 是 OpenAI 兼容对话数组
messages[0].role 推荐 system,承载 OCR Prompt(须含 n 前缀)
messages[1].role 推荐 user,content 仅含 image_url
messages[].content[].image_url.url 与 b64 二选一 公网 https/http URL(推荐);或完整 data:image/...;base64,{编码}(勿用占位符)
messages[].content[].image_url.b64 与 url 二选一 裸 Base64 字符串(须模型已开启后端转图且后台已配置 OSS)
system / system_prompt 否 也可作为顶层字段,服务端会合并进 messages
max_tokens 否 最大输出 token 数
temperature 否 采样温度,OCR 建议偏低(如 0–0.3)

Prompt 模板(按场景选用,均须加 n 前缀):

场景 system content
文档转 Markdown n<|grounding|>Convert the document to markdown.
普通图片 OCR n<|grounding|>OCR this image.
无布局纯文字 nFree OCR.
文档图表 nParse the figure.
详细描述 nDescribe this image in detail.
定位识别 nLocate <|ref|>关键词<|/ref|> in the image.

识别结果在 choices[0].message.content 中,可能含布局标注,例如:

<|ref|>text<|/ref|><|det|>[[90, 22, 185, 35]]<|/det|>
18:51

可按需清洗 <|ref|>…<|/ref|><|det|>…<|/det|> 等标记后展示给用户。

简写(仅文字指令时): 若只传 prompt 且无图片,服务端会转为单轮 messages(OCR 须带图片,请使用上文 messages + image_url 格式):

{
  "capability": "ocr",
  "model": "ixhlink-skills-ocr-recog",
  "payload": {
    "prompt": "请识别图片文字"
  }
}

多图识别示例:

{
  "capability": "ocr",
  "model": "ixhlink-skills-ocr-recog",
  "payload": {
    "messages": [
      {
        "role": "system",
        "content": "n<|grounding|>OCR this image."
      },
      {
        "role": "user",
        "content": [
          {"type": "image_url", "image_url": {"url": "https://example.com/page1.jpg"}},
          {"type": "image_url", "image_url": {"url": "https://example.com/page2.jpg"}}
        ]
      }
    ]
  }
}

提交成功响应(异步):

{
  "success": true,
  "code": 0,
  "message": "任务已提交",
  "data": {
    "task": {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "status": "pending",
      "capability": "ocr",
      "model_key": "ixhlink-skills-ocr-recog"
    }
  }
}

3. 轮询任务结果

GET /api/v1/llm/tasks/{task_id}
Accept: application/json

任务状态: pending → running → succeeded / failed

建议间隔 2–5 秒轮询,超时可根据业务设为 1–3 分钟。

成功响应示例:

{
  "success": true,
  "code": 0,
  "message": "ok",
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "succeeded",
    "result": {
      "id": "chatcmpl-xxx",
      "object": "chat.completion",
      "choices": [
        {
          "index": 0,
          "message": {
            "role": "assistant",
            "content": "识别出的文字内容……"
          },
          "finish_reason": "stop"
        }
      ],
      "usage": {
        "prompt_tokens": 800,
        "completion_tokens": 120,
        "total_tokens": 920
      },
      "_billing": {
        "call_log_id": "660e8400-e29b-41d4-a716-446655440001"
      }
    },
    "billing": {
      "call_log_id": "660e8400-e29b-41d4-a716-446655440001"
    }
  }
}

识别文字在 data.result.choices[0].message.content;排查日志可用 data.billing.call_log_id 或 data.result._billing.call_log_id。

付费前置检查

调用本 Skill 前,必须检查当前 Agent 是否已安装支付能力(weixinpay extension):

  • ✅ 已安装:可继续提供付费创作服务
  • ❌ 未安装:向用户提示「当前 Agent 暂不支持付费创作能力」,终止流程

服务与定价

产品ID 服务内容 单价
ixhlink-skills-ocr-recog 智绘文字识别 0.1 元/次

价格以 SkillHub 后台配置为准。命中创作意图后,向用户展示服务名称和价格,由用户确认后进入付费流程。

付费说明

当 amount_fen > 0 且未完成支付时,首次 POST /api/v1/llm/invoke 会返回 HTTP 402,响应中携带:

  • Header:WeixinPay-Required: 、X-Payment-Id:
  • Body:WeixinPay 对象(含 payment_id、prompt 等)

客户端流程(Agent / MCP / Web):

首次 invoke → 402 → weixinpay_pay(payment_code) → 支付成功后重试 invoke

「原样重试」的含义:

  • JSON body 不变:model、capability、payload 必须与首次请求完全一致
  • 订单参数单独带上:将 402 中的 payment_code、payment_id 通过 Header 传入(推荐),或写入 body 的 WeixinPay;勿改 payload 业务字段来传订单号

重试请求示例:

POST /api/v1/llm/invoke
Content-Type: application/json
WeixinPay-Required: 
X-Payment-Id: 

{"model":"ixhlink-skills-ocr-recog","capability":"ocr","payload":{...}}

amount_fen = 0 时可跳过支付,直接调用。每笔订单按次消费,使用后不可复用。

错误处理

HTTP / 任务错误 常见原因
400 缺少 model、payload 非法、messages 为空或未包含图片
image_url 须为 http/https 公网地址,或提供可解码的 b64/url url 不是公网链接且 Base64 无法解码:提交了占位符、空 data:、相对路径,或图片未放在 user.content[].image_url
本地或 base64 图片需先在后台配置 OSS… 传了 Base64 但后台未开 OSS,或未勾选模型的「本地/Base64 转 OSS」
402 需付费或 X402 预下单失败
404 模型未启用或 capability 不匹配
503 OCR 服务未启用或暂不可用

任务失败时 status = failed;客户端可见 data.error_message(已脱敏)。管理后台「调用日志」可查看完整 error_message 排查。

快速自检:

  1. 有公网图?→ 直接用 https://真实域名/路径.jpg,无需 Base64、无需 OSS。
  2. 只有本地/Base64?→ 确认模型已开启转 OSS,且 url/b64 为真实编码,不是文档示例里的占位符。
  3. system 里 保留;真实图片 URL/Base64 只放 user 的 image_url。
目录

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

相关专题

更多
DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

0

2026.11.05

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

0

2026.11.04

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

0

2026.11.04

XORM框架零基础入门教程
XORM框架零基础入门教程

本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。

0

2026.11.04

Docker Desktop怎么设置端口映射
Docker Desktop怎么设置端口映射

本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。

0

2026.11.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn