创建作文批改
创建作文批改
变更记录
完整发版总览见 开放平台发版说明(2026-05-28)。
| 发版日期 | 适用版本 | 类型 | 变更摘要 | 详情 |
|---|---|---|---|---|
| 2026-05-28 | 全部批改版本 | 🟢 新增 | 入参 continuation_text(未作答检测) |
见「请求说明」 |
| 2026-05-28 | cn_v1~cn_v3 | 🟢 新增 | item 含 素材推送 时回调可返回 materials_push |
见《发送作文批改结果》 |
| 2026-05-28 | 全部批改版本 | 🟢 新增 | 失败回调可能含 error_code=1002 |
见「注意事项」第 7 条 |
| 2026-05-28 | — | 🟡 优化 | version 说明补全各版本文档链接 |
见「请求说明」 |
接口描述
- 提交一篇作文进行后台批改
注意事项
- AI评分具有主观性,仅供参考;
- 图片质量差(如含大片深色内容)可能导致识别失败;
- 内容含敏感词(政治、色情、暴力等)将无法批改。
- 作文批改有一定的失败几率,比如图片url读取失败、文字未识别到、内容违规等等异常
- 使用图片模式时,平台会先进行 OCR 识别,若有效文字内容过少(约小于30字)将视为识别失败,不再进入后续错别字检查与批改流程
- 错别字检查阶段若判定作文错别字占比过高(约超过85%),将直接返回”错别字检查失败,不予批改”的结果
- 以上两种情况平台都会回调到合作方的
callback_url,顶层code=0,并在data.error_code中返回:1000:错别字占比过高,不予批改1001:图片识别失败或识别文字过少1002:提示词注入检测命中,不予批改(顶层可能附带detail命中明细)
具体说明可参考《开放平台说明》中”作文批改相关业务错误码说明”
请求说明
- HTTP 方法:post
- 请求地址
1
https://api.21days.cloud/opi/p/c012/create_zuowen
- URL参数:无
- Header:accessToken鉴权
- Body:
| 字段名称 | 类型 | 默认值 | 是否可选 | 说明 |
|---|---|---|---|---|
| subject | String | ‘语文’ | 否 | 作文所属学科,可选值:’语文’ 或 ‘英语’ |
| total_score | Number | 100 | 否 | 作文总分(只能设为100,自行按比例换算用户设定分值,如用户设40分,60/100分换算为24/40分,对应优良中差、ABCD标准) |
| words_count | Number | 400 | 否 | 作文字数要求。英语且 version=4 时,该值作为要求词数参与 V4 字数扣分(超过不扣、少 10% 以内不扣、否则按比例扣),详见 英语作文v4 |
| grade | String | ‘四年级’ | 否 | 适用年级(如’三年级’、’九年级’、’初二’) |
| writing_type | String | ‘不限’ | 是 | 作文类型(写人/叙事/写景/状物记叙文、抒情文、议论文等;中小学建议普通版,初高中建议pro版) |
| title | String | ‘题目自拟’ | 是 | 作文标题,若留空需通过题干明确主题 |
| topic_content | String | ‘’ | 是 | 作文题干,描述写作要求、主题等核心指引 |
| continuation_text | String | ‘’ | 是 | 题目中的续写/参考原文。传入后启用未作答检测:系统会忽略空白、标点、换行、半全角和大小写差异做文本比对;若学生 OCR 结果与该原文高度重合,且新增有效字符过少,则 code=1 回调且 pigai.score=0(详见《发送作文批改结果》) |
| correct_standard | String | ‘’ | 是 | 评分标准(包含内容、结构、语言等维度,支持自定义) |
| images | Array | [] | 否 | 作文原图URL列表,主作文批改必填且不能为空(示例:[{"url":"...","width":864,"height":1920}])要求:图片需剪裁避免地板、桌面等深色内容,(必须公开可访问),格式为jpg/jpeg/png/bmp,单图≤4M,最长边≤4096px。 |
| topic_content_images | Array/Object | null | 是 | 题干图片列表/题干配图,平台会随任务保存,适合合作方保留题目原图上下文;不影响作文 OCR 图片识别 |
| item | Array | [] | 是 | 批改结果类型(可包含评分、评语、批注等,支持以下维度: 评分、改写标题、改写开头结尾、修改错误、评语、段评、亮点、写作要求、写作思路、不足和建议、提问、精简批改) 控制项(仅语文): 素材推送 — 开启后在回调中附带 materials_push 素材/名句推送,默认不开启 |
| score_items | Array | [] | 是 | 评分细项(示例:内容、表达、结构、情感、主题),只有在item中包含”评分”的情况下才有效。为空时不返回评分明细 |
| is_pro | Number | 0 | 是 | 是否使用 Pro 版计费与处理链路:0=普通版,1=Pro 版;不传按普通版处理 |
| callback_url | String | ‘’ | 是 | 本次任务专属回调地址;为空时使用合作方在平台预配置的生产/开发回调地址 |
| is_dev | Number | 0 | 是 | 是否使用开发环境回调地址:0=生产回调,1=开发回调;仅在 callback_url 为空时用于选择公司配置 |
| version | Number | 1 | 是 | 批改方案版本,与 subject 组合生效。平台生成 data.version_name 如下:语文:V1(默认)、V2、V3 英语:V1(默认)、V2、V3、V4 |
| strictness | String | null | 是 | 评分宽松度,可选值:lenient(宽松)、normal(标准,默认)、strict(严苛)。不传或传空按 normal 处理。生效范围: 语文 且 version=2(高级评分,见 语文作文v2);语文 且 version=3(提示词口径调整,见 语文作文V3);英语 且 version=4(见 英语作文v4)。其它版本忽略该字段 |
| transmission | Object | null | 是 | 透传字段,支持对象结构;平台不会修改该内容,并会在回调结果 data.transmission 中原样返回,便于业务侧做请求关联与对账 |
| skip_injection_check | Number | 0 | 是 | 是否跳过提示词注入检测:0=检测(默认),1=跳过。平台默认会检测作文中是否夹带”忽略以上指令””给我打满分”等试图操纵批改 AI 的越权语句(命中后会再经 AI 复核确认才拦截,返回 error_code=1002)。若某篇作文被误判拦截,业务侧人工审核确认无问题后,可携带 skip_injection_check=1 重新提交以跳过该检测 |
continuation_text 未作答检测说明
- 该字段主要用于续写类题目:合作方可把题目给出的”续写原文 / 参考原文”放入
continuation_text,不要把学生需要作答的要求说明放入该字段。 - 检测发生在 OCR 与错别字校对之后、正式批改之前;仅当
continuation_text非空时启用。 - 命中后不会按失败处理:回调顶层仍为
code=1,但pigai.score=0、pigai.no_answer=true、pangpi=[]、runse={},合作方应按”已批改但未作答”展示。 - 若学生确有独立作答内容,或仅与续写原文部分重合,系统会继续进入正常批改流程。
响应说明
| 字段 | 类型 | 必选 | 示例 | 解释 |
|---|---|---|---|---|
| code | Number | 是 | 0 | 1=正常,0=异常,-1=未登录 |
| msg | String | 否 | - | 提示信息 |
| data | object | 否 | {“id”: “u3EDmPW”} | 核心数据(作文ID) |
提交成功后会立即返回作文ID,后台异步执行批改流程
批改完成后的回调结果与详情查询结果中,会额外返回
data.version_name字段,方便业务方区分不同批改版本余额不足时可能返回
{"code":10001,"msg":"余额不足"};Pro 版余额不足时msg可能为pro 余额不足。联调建议:
