Python调用万能识别接口,英文数字、点选和问答

举报
yd_248964254 发表于 2026/10/04 10:55:07 2026/10/04
【摘要】 同一套接口就能做万能识别,不用换地址。英文和数字用 question「识别图中文本」,返回的 msg 是图里的字母或数字。问答用「回答图中问题」,msg 是答案。点选用「框出正确位置」,msg 是坐标。本地图片先转成 base64,不要带 data:image 前缀,再 POST JSON。keyCode 从控制台复制。免费模型用来先测通,正式调用换成普通模型。import base64im...

同一套接口就能做万能识别,不用换地址。

英文和数字用 question「识别图中文本」,返回的 msg 是图里的字母或数字。问答用「回答图中问题」,msg 是答案。点选用「框出正确位置」,msg 是坐标。本地图片先转成 base64,不要带 data:image 前缀,再 POST JSON。keyCode 从控制台复制。免费模型用来先测通,正式调用换成普通模型。

import base64
import requests

API = "http://ai.xinyuocr.xyz/api/qrcode/predict"
# question:
# 识别图中文本  英文和数字
# 回答图中问题  问答
# 框出正确位置  点选,坐标在 msg
# modelName: 免费模型先测,普通模型正式用
# base64 不要带 data:image/...;base64, 前缀
# 控制台:ai.xinyuocr.xyz 登录后复制 keyCode

def predict(image_path, key_code, question="识别图中文本", model_name="普通模型"):
    with open(image_path, "rb") as f:
        image_b64 = base64.b64encode(f.read()).decode()
    payload = {
        "base64Image": image_b64,
        "modelName": model_name,
        "keyCode": key_code,
        "question": question,
    }
    data = requests.post(API, json=payload, timeout=60).json()
    if data.get("errCode") != 0:
        return data.get("err")
    return data.get("msg")

if __name__ == "__main__":
    print(predict("demo.png", "YOUR_KEYCODE"))

errCode 为 0 才算成功,文本或坐标都在 msg,失败原因在 err。返回 2003 时先等一会再请求,不要立刻重试。查余额走同一主机的 /api/qrcode/balance?keyCode=YOUR_KEYCODE,用 success 判断,付费余额看 money,积分看 freeMoney。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。