懂鸟动物识别 API

v2.0.0

懂鸟 API 是一个异步 API 集合,供用户调用提供识别结果以及动物百科文字资料的 API。API 系统中的动物特指以下类别,超出此范围目前不能支持。请注意当前版本号及类别支持的版本号。

Base URL
https://ai.open.hhodata.com/api/v2
Content-Type
multipart/form-data 或 application/x-www-form-urlencoded
Authentication
api_key
数据许可
CC BY 4.0

支持的动物类别

类别标识识别支持版本号识别支持类别数量百科支持版本号百科支持类别数量
B1.0111512.011271
M2.038202.16649
两栖A2.055892.28689
爬行R2.085922.212019
其他1F3.0敬请期待3.1敬请期待
其他2S3.1敬请期待3.2敬请期待
POST

上传图片

/dongniao

上传不超过 2MB、可被服务端图像解析器读取的图片。图片的每条边必须为 11~8192 像素(含);服务会自动进行主体检测。

Header Parameters
api_keystringrequired
调用的 api_key
Request Body Schema multipart/form-data 或 application/x-www-form-urlencoded
imagestring <binary>required
上传图片
uploadstringrequired
非空值,用于选择文件上传通道;建议固定填 1
classstringoptional
缺省为 'B'。仅可由 B/M/A/R/F 组合;如 'BM' 表示返回鸟类与兽类识别结果
areastring <binary>optional
见附录 1,使用国家、地区编码过滤识别结果。鸟类支持部分国家/地区的二级地区,其他只支持到国家/地区
didstringoptional
设备/客户端唯一 ID;提供时仅能为大小写字母或数字
Responses
200返回值含义描述
返回值含义描述
1000正常返回返回信息为识别 ID,请使用获取结果 API 获取相关 ID 的识别结果;
1001图片大小错误图片超过 2MB;
1002图片格式或尺寸错误图片无法解析,或任一边不在 11~8192 像素范围内;
1003设备 ID 错误did 已提供但包含非字母数字字符;
1004动物种类错误class 包含 B/M/A/R/F 以外的字符;
1005地区错误地区编码非法或不在支持范围内;
Response Schema application/json
[0]
integer
业务状态码,1000 表示任务已受理
[1]
string
识别 ID(resultid),用于轮询获取识别结果
400错误请求
Response Schema application/json
[0]
integer
业务状态码
[1]
string
错误说明
POST/dongniao
curl -X POST https://ai.open.hhodata.com/api/v2/dongniao \
  -H "api_key: YOUR_API_KEY" \
  -F "image=@bird.jpg" \
  -F "upload=1" \
  -F "class=BM" \
  -F "did=DEVICE_ID"
POST

URL 提交图片识别

/dongniao

通过图片 URL 提交识别任务,服务端异步下载图片后进行识别。与「上传图片」使用相同的结果查询通道,但传 url 而不是 image 文件,且无需传 upload 参数。

  • URL 需可被服务端访问;服务端最多跟随 2 次重定向,下载超时为 5 秒
  • 服务端下载失败或无法解析为图片时,不会在提交阶段报错;请轮询「获取识别结果」,失败时返回 1001(URL download failed)
  • 结果查询传同一 resultid;处理中同样返回 1001,建议间隔 1~3 秒轮询并限定重试次数
Header Parameters
api_keystringrequired
调用的 api_key
Request Body Schema multipart/form-data 或 application/x-www-form-urlencoded
urlstringrequired
图片 URL(服务端异步下载)
classstringoptional
缺省为 'B';仅可由 B/M/A/R/F 组合。非法值会回退为 'B'
areastringoptional
见附录 1,使用国家、地区编码过滤识别结果
didstringoptional
设备/客户端唯一 ID。1-32 位,只能大小写字母或数字
Responses
200返回值含义描述
返回值含义描述
1000正常返回返回识别 ID,请使用获取识别结果 API 轮询相关 ID;
1003设备 ID 错误设备 ID 为 1-32 位只能为大小写字母及数字;
1005地区错误地区编码无效或不在支持范围内;
异步下载失败:提交成功仅表示任务已受理。URL 下载失败或图片无法解析时,在轮询结果阶段返回 [1001, "URL download failed"]
400错误请求
POST/dongniao
curl -X POST https://ai.open.hhodata.com/api/v2/dongniao \
  -H "api_key: YOUR_API_KEY" \
  --data-urlencode "url=https://example.com/animal.jpg" \
  -d "class=ABMR"
POST

上传鸟鸣(语音识别)

/dongniao

上传一段鸟鸣音频识别鸟种。与图片识别共用 upload / resultid 通道及同一套 api_key、配额与限流,仅上传时传 sound 文件(而非 image)。上传成功后返回任务 ID,再用「获取识别结果」接口轮询;服务端按任务 ID 自动区分图像与语音,语音结果结构见下。

  • 音频支持 mp3 / wav / m4a / flac / ogg,最大 5MB
  • 语音按上传音频时长累加秒数计费(向上取整、识别成功才计),与图像配额相互独立
  • 结果查询复用「获取识别结果」接口,传同一 resultid 即可;处理中同样返回 1001,间隔 1~3 秒轮询重试
Header Parameters
api_keystringrequired
调用的 api_key
Request Body Schema multipart/form-data 或 application/x-www-form-urlencoded
soundstring <binary>required
音频文件(mp3 / wav / m4a / flac / ogg,最大 5MB)
uploadstringrequired
上传数量,固定填 1
areastringoptional
见附录 1,使用国家、地区编码进行地理分布过滤;缺省按 WORLD 不过滤
didstringoptional
设备/客户端唯一 ID。1-32 位,只能大小写字母或数字
Responses
200返回值含义描述
返回值含义描述
1000正常返回返回任务 ID(格式与图片识别一致),请使用「获取识别结果」接口轮询查询语音识别结果;
1001音频大小错误音频文件超过 5MB;
1002音频文件缺失缺少 sound 文件;音频解码失败会在轮询结果阶段返回;
1003设备 ID 错误设备 ID 为 1-32 位只能为大小写字母及数字;
1005地区错误地区编码无效或不在支持范围内;
语音识别结果结构:用「获取识别结果」接口轮询语音任务时,返回为一个字典:duration 为音频时长(秒);summary 为全局物种汇总,按置信度降序,每项为 [物种ID, 置信度(0~1), 学名, 中文名]splits 为分时间段结果,每项为 [起始秒, 结束秒, [该段物种列表]],段内物种项结构同 summary。物种 ID 可继续用「获取百科资料」接口取详情。
400错误请求
POST/dongniao
curl -X POST https://ai.open.hhodata.com/api/v2/dongniao \
  -H "api_key: YOUR_API_KEY" \
  -F "sound=@bird.mp3" \
  -F "upload=1"
POST

URL 提交鸟鸣(语音识别)

/dongniao

通过音频 URL 提交鸟鸣识别,服务端下载音频后识别。与「上传鸟鸣」等价,只是用 sound_url 传 URL 而非上传 sound 文件(单独提交时无需 upload 参数)。返回任务 ID,再用「获取识别结果」接口轮询,结果结构与语音上传一致。

  • 音频下载上限 5MB,支持 mp3 / wav / m4a / flac / ogg,URL 无扩展名时按 mp3 解码
  • 按语音时长累加秒数计费(向上取整、识别成功才计),与图像配额相互独立
  • 结果查询复用「获取识别结果」接口,传同一 resultid 即可;处理中同样返回 1001,间隔 1~3 秒轮询重试
Header Parameters
api_keystringrequired
调用的 api_key
Request Body Schema multipart/form-data 或 application/x-www-form-urlencoded
sound_urlstringrequired
音频文件 URL(服务端下载,上限 5MB,支持 mp3 / wav / m4a / flac / ogg)
areastringoptional
见附录 1,使用国家、地区编码进行地理分布过滤;缺省按 WORLD 不过滤
didstringoptional
设备/客户端唯一 ID。1-32 位,只能大小写字母或数字
Responses
200返回值含义描述
返回值含义描述
1000正常返回返回任务 ID(格式与图片识别一致),请使用「获取识别结果」接口轮询查询语音识别结果;
1002音频 URL 错误缺少 sound_url;或服务端下载失败 / 非音频(下载与解码在轮询结果阶段执行,失败时轮询返回 1002);
1003设备 ID 错误设备 ID 为 1-32 位只能为大小写字母及数字;
1005地区错误地区编码无效或不在支持范围内;
语音识别结果结构:与「上传鸟鸣」完全一致 —— duration 时长(秒)、summary 全局物种汇总、splits 分段结果,详见上一节。若 URL 下载失败或非音频,轮询结果返回 [1002, "Sound url error"]
400错误请求
POST/dongniao
curl -X POST https://ai.open.hhodata.com/api/v2/dongniao \
  -H "api_key: YOUR_API_KEY" \
  --data-urlencode "sound_url=https://example.com/bird.mp3"
POST

获取识别结果

/dongniao

提交图片、图片 URL、鸟鸣文件或鸟鸣 URL 后,使用同一 resultid 轮询本接口。处理中返回 [1001, resultid];成功或终态失败均以 [code, payload] 返回。

Header Parameters
api_keystringrequired
调用的 api_key
Request Body Schema multipart/form-data 或 application/x-www-form-urlencoded
resultidstring <binary>required
识别ID
Responses
200返回值含义描述
返回值含义描述
1000识别结果识别结果在返回信息中,此时返回信息为一个数组,具体描述见后;
1001结果未生成结果未生成,必要情况下 1 秒后重试。请限定重试次数,如超过 5 次仍未得到识别结果,可认为识别已超时。
1008未检测到目标框图片中未检测到目标框(No boxes);
1009地区编码错误结果处理时检测到无效地区编码;
1010未识别到动物图片中未识别出动物(No animals);
1011物种不在地区范围内识别到物种,但不在所传地区的分布范围内;
识别结果说述:识别结果为一组数组,表明该图片可识别出多少个单独的动物目标及其类别。每一个数据组为一个包括“box”及“list”元素的字典。“box”为 4 个元素的数组,分别表示长方形左上角与右下角两点之座标。“list” 为不超过 10 条按照识别准确率倒序之数组,每一个数组元素包含另一四个元素之数组,分别为“置信度”、“中文名|英文名|拉丁名”、“ID”、“动物类别”。注意本列表可能为空,表明不能识别出相关动物。
Response Schema application/json
[0]
integer
业务状态码
[1]
array | string | object
成功时为图像检测数组或语音结果对象;处理中/失败时为说明字符串
400系统异常
POST/dongniao
curl -X POST https://ai.open.hhodata.com/api/v2/dongniao \
  -H "api_key: YOUR_API_KEY" \
  -F "resultid=HH-BM_20240713_05483816735_1-ABCDEFG"
POST

获取百科资料

/dongniao

根据获取结果中的 ID 与动物类别,可以获取该动物的百科资料。注意:百科资料描述由 AI 整理,请自行判断其准确性与适用场景。

Header Parameters
api_keystringrequired
调用的 api_key
Request Body Schema multipart/form-data 或 application/x-www-form-urlencoded
animalidinteger <binary>required
动物 ID
classstring <binary>optional
动物类别;缺省为 B,可传 B/M/A/R/F
Responses
200返回值含义描述
返回值含义描述
1000百科内容识别结果在返回信息中,此时返回信息为一个百科信息字典,具体内容参考附例。
1004动物类别错误多字符 class 包含 B/M/A/R/F 以外的字符;
1010动物 ID 错误不存在的动物 ID 或当前未支持该动物类别百科查询。
Response Schema application/json
[0]
integer
业务状态码
[1]
object | string
成功时为百科资料对象;失败时为说明字符串
400系统异常
POST/dongniao
curl -X POST https://ai.open.hhodata.com/api/v2/dongniao \
  -H "api_key: YOUR_API_KEY" \
  -F "animalid=2245" \
  -F "class=B"
POST

查询配额剩余次数

/dongniao

查询当前 api_key 的图像次数与鸟鸣时长配额。

  • 本接口不消耗配额,可放心调用
  • 配额耗尽(used >= total)时仍能返回,便于客户端确认“已用完”
  • 限流 60 次/分钟(按 api_key + IP 维度)
  • 仅支持 api_key 鉴权(web_token 不支持)
Header Parameters
api_keystringrequired
调用的 api_key
Request Body Schema multipart/form-data 或 application/x-www-form-urlencoded
quotastring <binary>required
固定填 1
Responses
200返回值含义描述
返回值含义描述
1000查询成功返回 image 与 song 两个配额对象,并保留顶层 used / total / remaining 作为图像配额兼容字段。total=-1 表示无限额度。
1005Key 不匹配api_key 不存在、已禁用或调用方使用了 web_token(不支持)。
1006IP 不在白名单Key 绑定了 IP 白名单而调用方 IP 不匹配。
1007触发限流每 api_key + IP 每分钟限 60 次。HTTP 503。
400系统异常
POST/dongniao
curl -X POST https://ai.open.hhodata.com/api/v2/dongniao \
  -H "api_key: YOUR_API_KEY" \
  -F "quota=1"
限时福利
联系客服,领取免费测试额度
商务合作 / 技术咨询 / 问题反馈 service@hholove.com
回复最快
企业微信官方账号
免费测试 · 接入指导 · 技术支持
企业微信二维码
钉钉企业可用
企业级方案、私有部署咨询
钉钉二维码
个人微信备用
企业微信无法使用时请使用此方式
个人微信二维码