以下各项API仅面向正式授权用户

使用方式

1、首先访问ocr_login(授权),获取access_token和refresh_token。

2、然后凭借尚未过期的access_token访问自动识别、自动标点、文白翻译等服务。

3、如果access_token过期,则凭借尚未过期的refresh_token访问ocr_refresh(刷新),获取新的access_token。

4、如果refresh_token过期,则根据方式1,获取新的refresh_token。

注意事项

1、access_token(或refresh_token)应该始终放在请求的HeadersAuthorization 字段。格式为"gjcool <token>"。其中,<token>代表access_token(或refresh_token),与"gjcool"之间用一个空格分开。

1. 认证类API

1.1 授权

URL:
https://gj.cool/ocr_login
Method:
POST
Headers:
无特殊设定
Body:
字段 是否必选 格式 说明
apiid form-data 使用授权服务的唯一用户标识。可从账户页面获取。
password form-data 密码
encrypt form-data

0:password字段使用明文格式;

1:password字段使用加密格式。

加密步骤:(1)密码明文用UTF-8编码;(2)利用公钥加密;(3)加密后的密文再用base64编码。

若不作特意设定,则取默认值0。使用密码加密功能,需申请公钥。

is_long form-data

是否生成长效access_token。

0:否。过期时间为24小时。

1:是。过期时间为90天。

若不作特意设定,则取默认值0。

正常返回:
application/json
字段 含义 格式
access_token 用于授权服务的鉴权。 JSON Web Token
refresh_token 用于刷新access token。过期时间为30天。 JSON Web Token
msg 错误类型

apiid或password校验错误,返回值为 "Bad request"

非正式授权用户或用户授权过期,返回值为 "User blocked"

encrypt设置错误,返回值为 "encrypt wrong"

密文解密失败,返回值为 "Decrypt failed"

其他密码相关错误,返回值为 "password wrong"

以上为常见错误类型,其他错误类型恕不赘述。

1.2 刷新access token

URL:
https://gj.cool/ocr_refresh
Method:
POST
Headers:
字段 内容 说明
Authorization gjcool <refresh_token> "gjcool"与refresh_token之间用一个空格连接
Body:
无特殊设定
正常返回:
application/json
字段 含义 格式
access_token 用于授权服务的鉴权。过期时间为24小时。 JSON Web Token
msg 错误类型

refresh_token过期,返回值为 "Token has expired"

以上为常见错误类型,其他错误类型恕不赘述。

2. 图像类API

2.1 自动识别

URL:
https://api.jzd.cool:<端口号>/ocr_pro
Method:
POST
Headers:
字段 内容 说明
Authorization gjcool <access_token> "gjcool"与access_token之间用一个空格连接
Body:
字段 是否必选 格式 说明
img form-data 图片。file。MIME: image/jpeg, image/png, image/tiff, image/webp, image/heic, image/heif, image/jp2, image/avif。体积不得超过70MB。
layout form-data

版式。整数。取值范围: 0, 1。

0: 竖版,文字方向从上至下,行排列方向从右至左,适用于绝大多数古籍图像;

1: 横版,文字方向从左至右,行排列方向从上至下,适用于现代出版物。

若不作特意设定,则取默认值0。

area form-data

区域。字符串,格式:"[[a1,b1,c1,d1],[a2,b2,c2,d2]]"。a1、b1、c1、d1分别代表单个区域的左边界、上边界、右边界、下边界的像素值,都是整数,用","间隔,外部用"[]"包围。各个区域用","间隔,最外层用"[]"包围。

若不作特意设定或者设置为"[]",则默认针对全图进行识别,适合于大多数简单版式的情况。

针对复杂版式,可以通过设置此字段,针对图片中的若干区域依次识别。

compact form-data

密集系数。整数。取值范围: 1, 2, 4, 6。

数值大于1时,可以改善密集文字的识别效果,但会消耗等值的使用次数。

若不作特意设定,则取默认值1。

正常返回:
application/json
字段 含义 格式
FileName 图片的文件名(不含扩展名) 字符串。
ContentType 图片的MIME 字符串。
CharNumber 总字数 整数。
LineNumber 总行数 整数。
Width 图片宽度的像素值 整数。
Height 图片高度的像素值 整数。
Size 图片的存储空,单位byte 整数。
Layout 识别版式 整数。
Area 识别区域 字符串。含义同
Compact 识别密集系数 整数。
chars 单字识别结果 列表。数据项为长度为1的字符串。数据项个数与总字数一致。
coors 单字坐标 列表。数据项为[x1,y1,x2,y2],分别代表字框的左边界、上边界、右边界、下边界的像素值,都是整数。数据项个数与总字数一致。
char_probs 单字识别结果的置信度 列表。数据项为四位小数。数据项个数与总字数一致。
coor_probs 单字坐标的置信度 列表。数据项为四位小数。数据项个数与总字数一致。
char_ids 单字的序号 列表。数据项为整数。数据项个数与总字数一致。
line_ids 单字所在行的序号 列表。数据项为整数。数据项个数与总字数一致。
layer 单字的版面层次。 列表。数据项为列表。数据项个数与总字数一致。数据项通常是包含1-3个整数的列表。第一个数字代表单字所在的文字列(由界栏分隔的列,可以包含若干夹注)的序号。第二个数字代表单字所在文字列子区域的序号。第三个数字通常代表单字所在夹注的左右位置,右侧为0,左侧为1。
option 单字的非top1候选项 列表。数据项为字典。数据项个数与总字数一致。数据项的键是候选项,值是置信度。
text 所有单字的文字列形式 字符串。文字列之间用\n分隔。夹注部分用【】包围起来。
异常返回:
application/json
字段 含义 格式
msg 错误类型

1. 设置错误

"image size too large": img体积超过限定值。

"image format wrong": img格式不支持。

"img wrong": img错误。

"img read failed": img读取错误。

"heic/heif/avif failed": img heic/heif/avif读取错误。

"layout wrong": layout错误。

"area wrong": area错误。

"image height or width wrong": img的高度或宽度错误。

"compact wrong": compact错误。

2. 执行错误

"OCR failed": OCR失败。

3. 认证错误

"user blocked": 未获得正式授权。

"token wrong": access_token错误。

"reach usage limit": 使用量达到上限或者授权过期。

"request too frequent": 请求过于频繁。

"reach traffic limit. wait *** hours": 达到流量上限,等待***小时后重试。

以上为常见错误类型,其他错误类型恕不赘述。

2.2 超分辨率

URL:
https://api.jzd.cool:<端口号>/sr
Method:
POST
Headers:
字段 内容 说明
Authorization gjcool <access_token> "gjcool"与access_token之间用一个空格连接
Body:
字段 是否必选 格式 说明
img form-data 图片。file。MIME: image/jpeg, image/png, image/tiff, image/webp, image/heic, image/heif, image/jp2。体积不得超过70MB。
scale form-data

放大倍数。整数。取值范围: 1, 2, 4。

若不作特意设定,则取默认值2。

style form-data

风格。整数。取值范围: 0, 1, 2, 3, 4。

若不作特意设定,则取默认值0。

ext form-data

返回图片格式。字符串。取值范围:"jpeg", "png", "tiff", "webp"。

若不作特意设定,则取默认值"jpeg"。

output form-data

数据格式。字符串。取值范围:"file", "base64"。

"file": 返回数据格式为image/jpeg, image/png, image/tiff, image/webp。

"base64": 返回数据格式为application/json。字段"base64"为图片的base64编码字符串。

若不作特意设定,则取默认值"file"。

正常返回:
image/jpeg, image/png, image/tiff, image/webp 或 application/json
异常返回:
application/json
字段 含义 格式
msg 错误类型

1. 设置错误

"image size too large": img体积超过限定值。

"image format wrong": img格式不支持。

"img wrong": img错误。

"img read failed": img读取错误。

"heic/heif failed": img heic/heif读取错误。

"style wrong": style错误。

"scale wrong": scale错误。

"ext wrong": ext错误。

"output wrong": output错误。

2. 执行错误

"sr failed": 超分辨率失败。

3. 认证错误

"user blocked": 未获得正式授权。

"token wrong": access_token错误。

"reach usage limit": 使用量达到上限或者授权过期。

"request too frequent": 请求过于频繁。

"reach traffic limit. wait *** hours": 达到流量上限,等待***小时后重试。

以上为常见错误类型,其他错误类型恕不赘述。

2.3 双层PDF

URL:
https://api.jzd.cool:<端口号>/pdf
Method:
POST
Headers:
字段 内容 说明
Authorization gjcool <access_token> "gjcool"与access_token之间用一个空格连接
Body:
字段 是否必选 格式 说明
img form-data 图片。文件。MIME: image/jpeg, image/png, image/tiff, image/webp, image/heic, image/heif, image/jp2。体积不得超过70MB。
data form-data

文本。json文件。支持两种格式:(1)包含字段:'char_ids', 'line_ids', 'chars', 'coors',参见ocr_pro的返回格式;(2)包含字段:'line_chars', 'line_coors',参见gj.cool标注平台的导出格式。

compression form-data

压缩程度。整数。取值范围: 0-5。

0: 不压缩; 1-5: 压缩, 数值越大,图像压缩程度越大。

若不作特意设定,则取默认值0。

正常返回:
application/pdf
异常返回:
application/json
字段 含义 格式
msg 错误类型

1. 设置错误

"image size too large": img体积超过限定值。

"image format wrong": img格式不支持。

"img wrong": img错误。

"img read failed": img读取错误。

"heic/heif failed": img heic/heif读取错误。

"data wrong": data错误。

2. 执行错误

"pdf failed": pdf生成失败。

3. 认证错误

"user blocked": 未获得正式授权。

"token wrong": access_token错误。

"reach usage limit": 使用量达到上限或者授权过期。

"request too frequent": 请求过于频繁。

"reach traffic limit. wait *** hours": 达到流量上限,等待***小时后重试。

以上为常见错误类型,其他错误类型恕不赘述。

3. 文本类API

3.1 自动标点

URL:
https://api.jzd.cool:<端口号>/punct_pro
Method:
POST
Headers:
字段 内容 说明
Authorization gjcool <access_token> "gjcool"与access_token之间用一个空格连接
Body:
字段 是否必选 格式 说明
src form-data 字符串。总字数上限为20000字。多个段落之间用\n分开。
正常返回:
application/json
字段 含义 格式
text 标点结果 字符串列表。数据项个数与src字段的段落数一致。每个数据项表示对应段落的自动标点结果。
异常返回:
application/json
字段 含义 格式
msg 错误类型

1. 设置错误

"parameter is wrong": 参数错误。

"text void": 空文本。

2. 执行错误

"punct failed": 自动标点失败。

3. 认证错误

"unauthorized user": 未获得非正式授权。

"reach usage limit":使用量达到上限或授权过期。

以上为常见错误类型,其他错误类型恕不赘述。

3.2. 文白翻译

URL:
https://api.jzd.cool:<端口号>/wenbai
Method:
POST
Headers:
字段 内容 说明
Authorization gjcool <access_token> "gjcool"与access_token之间用一个空格连接
Body:
字段 是否必选 格式 说明
src form-data 字符串。总字数上限10000字。
pairs form-data

0:整段输出。返回结果为字符串。

1:句对输出。返回结果为字符串列表。

若不作特意设定,则取默认值0。

正常返回:
application/json
字段 含义 格式
text 翻译结果

pairs取0时,字符串。

pairs取1时,字符串列表。数据项为字典,orig字段代表原文,trans字段代表译文。

异常返回:
application/json
字段 含义 格式
msg 错误类型

1. 设置错误

"wenbai text too long": 文本字数过多。

"wenbai text wrong": 文本错误。

2. 执行错误

"wenbai failed": 文白翻译失败。

3. 认证错误

"user blocked": 未获得正式授权。

"token wrong": access_token错误。

"reach usage limit": 使用量达到上限或者授权过期。

"request too frequent": 请求过于频繁。

"reach traffic limit. wait *** hours": 达到流量上限,等待***小时后重试。

以上为常见错误类型,其他错误类型恕不赘述。