databurger 开放 API 提供训练数据链路的程序化访问:检索与采购标准数据集、发布视频评判任务、驱动标注作业、查询场景任务库、查看账本与发票。全部接口基于 HTTPS + JSON。
| 项目 | 取值 |
|---|---|
| Base URL | https://aidataburger.com/api/v1 |
| 兼容路径 | https://aidataburger.com/api 与 /api/v1 等价,保留旧调用方兼容 |
| 协议与编码 | HTTPS,请求与响应均为 UTF-8 JSON |
| 鉴权方式 | 会话令牌,请求头 Authorization: Bearer <token> |
| 完整接口清单 | 机器可读版本见 /openapi.json(OpenAPI 3) |
用手机号 + 密码调用 POST /login-password,返回 token。
调用 GET /me 确认令牌有效并拿到账号 ID、角色与余额。
只读的 GET /datasets、GET /scenario-tasks 可直接调用;发布任务 POST /tasks 会从钱包冻结任务款。
接单 → 提交 → 需求方验收,验收通过后才向产能方入账(见「任务状态机」)。
复制# 1) 登录取令牌 curl -X POST "https://aidataburger.com/api/v1/login-password" \ -H "Content-Type: application/json" \ -d '{"phone":"13800000000","password":"********","role":"buyer"}' # 返回 { "token": "3f9a1c..." , "user": { "id": 1, "phone": "13800000000", "role": "buyer", "balance": 4010.0 } } # 2) 验证令牌 curl "https://aidataburger.com/api/v1/me" -H "Authorization: Bearer $DB_TOKEN"
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
phone | string | 是 | 手机号 |
password | string | 是(密码登录) | 账号密码 |
code | string | 是(验证码登录) | 短信验证码 |
role | string | 否 | buyer(需求方)/ judge(产能方),默认 judge |
totp_code | string | 否 | 账号开启二次验证时必填(6 位动态码或备用恢复码) |
Authorization: Bearer <token>;令牌失效返回 401 {"detail":"未登录或登录过期"},重新登录即可。429。buyer;接单、提交作业限 judge;越权返回 403。| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
domain | query | 否 | 数据域过滤:embodied / compliance / ecommerce / auto / finance / medical |
rating | body | 否 | 评价接口,1–5 的整数 |
comment / note | body | 否 | 评价内容 / 追加授权说明 |
复制# 检索具身智能数据集 curl "https://aidataburger.com/api/v1/datasets?domain=medical" # 返回(节选) [ { "id": 6, "title": "医学影像分割标注集", "domain": "medical", "formats": ["json","coco"], "price": 5990.0, "samples": 1500, "status": "on" } ] # 拉取小样本确认字段 curl "https://aidataburger.com/api/v1/datasets/6/sample"
视频评判任务的完整生命周期:open(待接单)→ assigned(进行中)→ submitted(待验收)→ done(已验收·已结算)。资金只在最后一步入账。
| 状态 | 含义 | 资金状态 |
|---|---|---|
open | 已发布,等待产能方接单 | 发布时即从需求方钱包冻结任务款 |
assigned | 已接单;若被驳回则退回此状态并带 reject_reason | 持续冻结,不退回、不入账 |
submitted | 产能方已提交,等待需求方验收 | 仍未入账 |
done | 需求方验收通过 | 此刻才结算入账给产能方 |
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
title | string | 是 | 任务标题 |
video_url | string | 是 | 待评判视频地址 |
desc | string | 否 | 任务说明 |
criteria | string[] | 否 | 评分维度,缺省为平台五维:内容合规 / 画面质量 / 音频质量 / 语义连贯 / 信息价值 |
task_id | int | 否 | /tasks/evaluate 的 body 字段;走 /tasks/{tid}/evaluate 时可省略 |
scores | object | 是 | 各维度评分 |
notes / flags | string / array | 否 | 备注与标记 |
reason | string | 否 | 驳回原因,写入 reject_reason 供产能方查看 |
GET /config):任务款 = 8 + 2 × (维度数 − 1),产能方分成 = 任务款 × (1 − 0.25)。五维任务即任务款 ¥16、分成 ¥12、平台服务费 ¥4。余额不足时发布接口返回 400。复制# 需求方发布任务 curl -X POST "https://aidataburger.com/api/v1/tasks" \ -H "Authorization: Bearer $DB_TOKEN" -H "Content-Type: application/json" \ -d '{"title":"直播切片合规评判","video_url":"https://.../a.mp4","desc":"...","criteria":["内容合规","画面质量","音频质量","语义连贯","信息价值"]}' # 返回 { "ok": true, "task_id": 12, "price_total": 16.0, "judge_payout": 12.0, "platform_margin": 4.0 } # 产能方提交评分 —— 返回中 settled 恒为 false,此时不入账 curl -X POST "https://aidataburger.com/api/v1/tasks/evaluate" \ -H "Authorization: Bearer $JUDGE_TOKEN" -H "Content-Type: application/json" \ -d '{"task_id":12,"scores":{"内容合规":5,"画面质量":4,"音频质量":4,"语义连贯":5,"信息价值":4},"notes":"..."}' # 返回(节选) { "ok": true, "status": "submitted", "status_label": "待验收", "settled": false, "note": "已提交,等待需求方验收;验收通过后才会结算入账" } # 需求方验收通过 —— 此时才结算 curl -X POST "https://aidataburger.com/api/v1/tasks/12/accept" -H "Authorization: Bearer $DB_TOKEN" # 返回:{"ok":true,"status":"done","status_label":"已验收·已结算","settled":true,"payout":12.0}
status 过滤title、type、payload、assignee_idcontent、scoresdecision(approve / reject)、notetype 取值:video_judge(视频评判)、trajectory(轨迹标注)、pcd_6dof(点云 6DoF 标注)。
实体操作 SOP 场景库,公开可读,用于按需选题与定制采集。
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
l1 / l2 | string | 空 | 一级 / 二级类目 |
q | string | 空 | 关键词,匹配标题与 SOP 正文 |
limit | int | 50 | 单页条数,超出 1–200 时自动回退为 50 |
offset | int | 0 | 偏移量 |
复制curl "https://aidataburger.com/api/v1/scenario-tasks?l1=%E4%B8%AA%E4%BA%BA%E6%8A%A4%E7%90%86%E4%B8%8E%E5%81%A5%E5%BA%B7&limit=2" # 返回 { "total": 6300, "limit": 2, "offset": 0, "items": [ { "id": 1, "l1": "个人护理与健康", "l2": "健身器械维保", "title": "张紧跑步机传动皮带", "sop": "先断开跑步机电源开关...", "status": "open" } ] }
amount 须大于 0real_name、id_card官网首页「实时平台数据」即调用该接口,无需鉴权,可直接接入你的看板。
复制curl "https://aidataburger.com/api/v1/metrics/public" # 返回 { "online": 101, "today": 0, "review": 18.5, "pass": 92.0, "cities": 12, "batches": 4, "updated_at": "2026-10-02T14:41:16.343607" }
受理号由服务端生成并落库后才返回,前端不得自行构造。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
kind / target | string | 否 | 举报类型与被举报对象 |
detail | string | 是 | 具体说明,10–5000 字 |
evidence | string | 否 | 证据链接 |
contact_name / contact | string | 否 | 联系人与联系方式 |
agreed | bool | 是 | 须为 true,表示已阅读并同意举报须知 |
对应《隐私政策》第六章的法定权利渠道,无需登录即可提交。受理号由服务端生成并落库后返回。
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
kind | string | 是 | 取值之一:查询 更正 删除 注销 撤回同意 转移 投诉 |
identity | string | 是 | 注册手机号或邮箱,用于核验身份 |
detail | string | 是 | 请求内容说明,5–2000 字 |
contact | string | 是 | 回执联系方式 |
agreed | bool | 是 | 须为 true,表示同意按隐私政策处理 |
复制curl -X POST "https://aidataburger.com/api/v1/privacy-requests" \ -H "Content-Type: application/json" \ -d '{"kind":"删除","identity":"13800000000","detail":"申请删除我的账号及个人信息","contact":"13800000000","agreed":true}' # 返回 { "ok": true, "ticket": "PR20261002-B4X9", "request_id": 1 }
| HTTP | 触发场景 | 响应示例 | 处理建议 |
|---|---|---|---|
| 400 | 业务校验不通过 | {"detail":"钱包余额不足(需 ¥16,当前 ¥0)"} | 按 detail 修正参数或先充值 |
| 401 | 未携带令牌或令牌已失效 | {"detail":"未登录或登录过期"} | 重新调用登录接口 |
| 403 | 角色越权 | {"detail":"仅标注员可接单"} | 核对账号角色 |
| 404 | 资源不存在 | {"detail":"数据集不存在"} | 重新检索确认 ID |
| 422 | 参数类型不合法 | {"detail":[{"loc":["body","scores"],...}]} | 检查字段类型与必填项 |
| 429 | 登录失败过多被临时锁定 | {"detail":"登录失败次数过多,请 873 秒后再试"} | 等待锁定解除后重试 |
| 5xx | 服务端异常 | {"detail":"Internal Server Error"} | 指数退避重试并联系支持 |
{"detail":"..."},参数校验类为 {"detail":[{"loc":[...],"msg":"..."}]}。/ledger 确认是否已发生。GET /tasks/mine 查任务状态、GET /notifications 查站内通知、GET /projects 查项目阶段。事件推送能力在后续版本中提供,届时会以新增版本号的方式发布,不影响 v1 调用方。databurger / @databurger/sdk 安装包。以下为可直接运行的原生示例,复制即可用。复制import json, urllib.request BASE = "https://aidataburger.com/api/v1" def call(method, path, token=None, body=None): data = json.dumps(body).encode() if body else None req = urllib.request.Request(BASE + path, data=data, method=method) req.add_header("Content-Type", "application/json") if token: req.add_header("Authorization", "Bearer " + token) with urllib.request.urlopen(req, timeout=30) as r: return json.loads(r.read().decode()) # 登录 resp = call("POST", "/login-password", body={ "phone": "13800000000", "password": "********", "role": "buyer"}) token = resp["token"] # 检索数据集 for ds in call("GET", "/datasets?domain=medical"): print(ds["id"], ds["title"], ds["samples"], ds["price"]) # 发布任务并查看状态 t = call("POST", "/tasks", token, { "title": "直播切片合规评判", "video_url": "https://.../a.mp4"}) print(t["task_id"], t["price_total"], t["judge_payout"])
复制const BASE = "https://aidataburger.com/api/v1"; async function call(path, { method = "GET", token, body } = {}) { const r = await fetch(BASE + path, { method, headers: { "Content-Type": "application/json", ...(token ? { Authorization: `Bearer ${token}` } : {}), }, body: body ? JSON.stringify(body) : undefined, }); if (!r.ok) throw new Error(`${r.status} ` + await r.text()); return r.json(); } // 公开接口无需鉴权 const metrics = await call("/metrics/public"); console.log(metrics.online, metrics.pass_rate ?? metrics.pass); const { token } = await call("/login-password", { method: "POST", body: { phone: "13800000000", password: "********", role: "buyer" }, }); const me = await call("/me", { token });
GET /datasets?domain=... 检索候选数据集,按 samples / price 初筛GET /datasets/{did}/sample 拉取小样本,跑一次基线训练确认字段可用GET /datasets/{did}/report 查看质检报告摘要POST /datasets/{did}/buy 下单,随后用 GET /datasets/mine 查看已购POST /recharge 保证钱包余额,再 POST /tasks 批量发布GET /tasks/open → POST /tasks/{tid}/claim → POST /tasks/evaluateGET /tasks/mine 查看 submitted 任务;不满意走 POST /tasks/{tid}/reject 带原因返工POST /tasks/{tid}/accept,此时才结算;用 GET /ledger 核对收支流水GET /metrics/public 无需鉴权,按日轮询写入数仓GET /ledger 与 GET /projects(需令牌)新增 POST /privacy-requests(无需登录),为《隐私政策》的查询 / 更正 / 删除 / 注销 / 撤回同意 / 转移 / 投诉提供真实落库受理渠道并回执受理号。/datasets/{did}/report 不再返回预置的固定质检数值:改为按已归档质检提交实时统计,样本量低于 20 条时返回 qc_available:false 与空指标。
确立 https://aidataburger.com/api/v1 为对外基址(/api 等价兼容)。补齐任务验收链路:/tasks/{tid}/reject、/tasks/{tid}/accept、/tasks/{tid}/claim,并明确「提交不结算、验收才结算」。修正 /datasets/mine 被 /datasets/{did} 抢先匹配导致 422 的路由顺序问题。API 的 404 不再被品牌错误页拦截,统一返回 JSON 错误体。
开放 /scenario-tasks 类目检索;新增 POST /reports,受理号由服务端生成。
开放数据集检索、小样本、质检报告与购买;标注作业创建、认领、提交与质检裁定。