标准 Qwen Prompt
普通 Qwen 图片结构化抽取链路使用。
左侧上传单张作业图并选择年级、科目、城市后开始批改,右侧显示豆包 API 返回的结构化批改结果。
服务端会轮询任务状态,完成后展示汇总、逐题反馈和原始返回数据。
{}
{}
POST https://pigai.cpolar.cn/api/v1/homework/correct
请求头:
Content-Type: multipart/form-dataAuthorization: Bearer <token>(当服务端配置了 OPENAPI_AUTH_TOKEN 时必填)表单参数:
image:选填,作业图片文件,支持 jpg/png/jpeg/webpimage_url:选填,网络图片地址,支持 http/https;未传 image 时可直接使用callback_url:必填,批改完成后的回调地址grade_level:选填,默认 primary_4subject:选填,默认 math,可选 math/chinese/englishcity:选填,例如 上海 / 江苏ocr_mode:选填,默认 api,可选 api/localassignment_id:选填,业务作业单号curl -X POST "https://pigai.cpolar.cn/api/v1/homework/correct" \
-H "Authorization: Bearer YOUR_TOKEN" \
-F "image=@/path/to/homework.jpg" \
-F "callback_url=https://your-domain.com/api/homework/callback" \
-F "grade_level=primary_5" \
-F "subject=math" \
-F "city=上海" \
-F "ocr_mode=api" \
-F "assignment_id=homework_20260327_001"
curl -X POST "https://pigai.cpolar.cn/api/v1/homework/correct" \
-H "Authorization: Bearer YOUR_TOKEN" \
-F "image_url=https://your-domain.com/homework.jpg" \
-F "callback_url=https://your-domain.com/api/homework/callback" \
-F "grade_level=primary_5" \
-F "subject=math" \
-F "city=上海" \
-F "ocr_mode=api"
{
"code": 200,
"msg": "任务提交成功",
"data": {
"task_id": "8f3e2d1c-7b6a-4e5f-9d8c-76543210abcd",
"ocr_mode": "api"
}
}
GET https://pigai.cpolar.cn/api/v1/homework/tasks/:taskId
{
"code": 200,
"msg": "查询成功",
"data": {
"task_id": "8f3e2d1c-7b6a-4e5f-9d8c-76543210abcd",
"task_status": "finished",
"result_status": 1,
"ocr_mode": "api",
"ocr_mode_actual": "api",
"callback_status": "success",
"callback_attempts": 1,
"callback_last_error": "",
"received_at": "2026-03-27T10:00:00.000Z",
"started_at": "2026-03-27T10:00:02.000Z",
"completed_at": "2026-03-27T10:01:30.000Z",
"result": {
"score": 95,
"correct_detail": "共20题,正确18题,错误2题,需复核0题",
"result_image_url": "https://pigai.cpolar.cn/results/8f3e2d1c-7b6a-4e5f-9d8c-76543210abcd.png",
"wrong_questions": [
{
"question_id": "3.1",
"question_image_url": "https://pigai.cpolar.cn/results/8f3e2d1c-7b6a-4e5f-9d8c-76543210abcd-wrong-1.png"
}
]
}
}
}
批改完成后,服务端会向 callback_url 发起 POST。
Content-Type: multipart/form-dataX-OpenClaw-Timestamp 和 X-OpenClaw-Signature表单字段如下:
task_id=8f3e2d1c-7b6a-4e5f-9d8c-76543210abcd
status=1
result={"score":95,"correct_detail":"共20题,正确18题,错误2题,需复核0题","correct_time":"2026-03-27 18:01:30","result_image_url":"https://pigai.cpolar.cn/results/8f3e2d1c-7b6a-4e5f-9d8c-76543210abcd.png","wrong_questions":[{"question_id":"3.1","question_image_url":"https://pigai.cpolar.cn/results/8f3e2d1c-7b6a-4e5f-9d8c-76543210abcd-wrong-1.png"}]}
Content-Type: multipart/form-data; boundary=----OpenClawBoundary
X-OpenClaw-Timestamp: 1743056400000
X-OpenClaw-Signature: <sha256-signature>
说明:传统服务端渲染链路会通过 result_image_url 返回整张批改结果图;Qwen+豆包链路使用 result_image_render_mode=frontend_overlay,由前端根据 m 打标点渲染勾叉。
接收方应返回:
{
"code": 200,
"msg": "回调接收成功",
"data": null
}
X-OpenClaw-Timestamp:毫秒时间戳X-OpenClaw-Signature:HMAC-SHA256 签名hex(hmac_sha256(secret, timestamp + "." + body))body 指服务端用于构造回调内容的标准 JSON 字符串3 次(含首次请求)callback_attempts 查看当前已尝试次数当前服务带本机队列控制,默认最大并发为 2,超出后自动排队。
还没有可展示的实际请求 Prompt。先跑一张卷子,再回到这里查看。
还没有日报记录。
记录每次批改的时间、Agent、模型、耗时和 token 消耗。