api.uiobot.com

宇流公共接口网关 · 声明式路径路由 · 未注册路径返回 JSON 404
目录 网关 鉴权 头像 内容 文案 二维码 语音识别 图片识别 AI 中转 临时令牌 规划中

接口目录

`api.uiobot.com` 现在按模块组织。新增接口时优先进入对应模块,而不是继续堆在单独页面里。

GET/avatar/api/catalog
返回当前 API 模块目录,适合控制台、文档页和其他前端直接渲染导航。

网关自身

GET/healthz
网关健康检查,返回 {"ok":true,"gateway":"api.uiobot.com","node":"racknerd"}

统一 API 密钥

ASR 与 OCR 共用宇流 API Key,管理入口为console.uiobot.com/api-keys。创建时可单独授予 asr:useocr:use,并设置月度额度与有效期。

HEADERX-API-Key: uio_live_...
也可使用 Authorization: Bearer uio_live_...。完整密钥仅在创建或轮换时显示一次;服务端只保存摘要。健康检查和国内签名上传地址不使用长期密钥。
export UIO_API_KEY="uio_live_..."
curl "https://api.uiobot.com/asr/v1/models" \
  -H "X-API-Key: $UIO_API_KEY"

头像服务确定性 SVG 头像 · 相同 seed 永远得到相同头像

给用户稳定唯一 ID 作 seed(用户 ID、邮箱哈希等),即可获得稳定不变的头像。无需存储图片。推荐 kimi 风格。

GET/avatar/api/kimi?seed={id}
推荐入口。返回 image/svg+xml,可直接用于 <img src>。带 ETag 与缓存头。
alice bob carol dave ← 实时生成:seed 分别为 alice / bob / carol / dave
GET/avatar/api/avatar?generator={g}&seed={id}&format={svg|json}
通用入口。generator 可选:kimi kimiRandom pixel mono hand geo initial
POST/avatar/api/batch
批量生成。请求体 {"generator":"kimi","seeds":["u1","u2"]},返回各 seed 对应 SVG。
GET/avatar/api/official?seed={id}
按 seed 确定性映射到 101 款官方原版 PNG 之一,返回编号与引用地址。
GET/avatar/api/health
头像服务健康检查(版本、生成器列表、资源数量)。
# 网页中直接使用
<img src="https://api.uiobot.com/avatar/api/kimi?seed=用户ID" width="64">

# curl
curl "https://api.uiobot.com/avatar/api/kimi?seed=u12345" -o avatar.svg

内容服务古诗词 · 鼓励语 · 每日一句

内容模块独立于头像模块,适合首页卡片、空状态文案、每日一句和随机激励文案。支持 `kind` 与 `style` 双维度选择。

GET/avatar/api/content/styles
返回内容风格与支持的内容类型,前端可直接做下拉框。
GET/avatar/api/content/random?kind=all|poem|encourage|sentence&style=classic|warm|clean|zen|bookish
通用随机内容接口。`seed` 可让结果稳定复现,`format=text` 只返回正文。
GET/avatar/api/content/daily
默认返回每日一句。
GET/avatar/api/content/poem/random
随机古诗词。
GET/avatar/api/content/encourage/random
随机鼓励语。

随机文案首页卡片 · 空状态 · Toast · 按钮旁白

随机文案当前直接复用内容模块里的 sentence 池,最适合做首页提示、空状态、Toast、按钮旁白和轻提示卡片。后续如果想细分场景,可以自然扩成 copy / banner / empty / toast

场景推荐接口风格建议
每日一句/avatar/api/content/dailywarm / bookish
随机文案/avatar/api/content/random?kind=sentenceclean / warm
空状态文案/avatar/api/content/random?kind=sentence&style=zenzen / bookish
鼓励提示/avatar/api/content/random?kind=encouragewarm / classic
古诗词卡片/avatar/api/content/random?kind=poemclassic / bookish

二维码服务静态生成 + 活码

静态码即取即用;活码内容可在管理后台随时改址。生成接口限流:每 IP 每分钟 30 次。

GET/qr?data={text}
静态二维码。参数:fmt=png|svg(默认 png)、size(默认 8)、ecc=l|m|q|h(默认 h)、dark/light 颜色、logo=1 叠加 logo。
POST/qr/live
创建活码(需鉴权,详见管理后台)。GET /qr/live/{lid} 查询,GET /qr/live/{lid}/qr 取码图,扫码入口为 /q/{lid}
GET/qr/healthz
二维码服务健康检查。
curl "https://api.uiobot.com/qr?data=https://uiobot.com&fmt=svg" -o qr.svg

离线语音识别FunASR SenseVoice · 国内签名直传

控制接口统一使用宇流 API Key。推荐先创建异步任务,再将音频直接上传到国内入口;RackNerd 只处理鉴权与任务元数据,音频由 ncyz 本地模型识别。

队列、最近任务和真实音频测试可在语音识别管理页查看,复用 UIO Console 管理密钥。

GET/asr/healthz
无需鉴权的健康检查。
GET/asr/v1/models
返回当前离线模型及支持语言,需要 API Key。
POST/asr/v1/audio/upload-tickets
创建异步任务。请求体包含 filenamesizecontent_typelanguageresponse_format,返回十分钟有效的一次性上传地址与票据。
POSThttps://asr.studydo.cn/v1/jobs/{id}/audio
将音频以 multipart/form-datafile 字段直传国内入口,并在 X-Upload-Token 中携带创建任务时返回的短期票据。
GET/asr/v1/jobs/{id}
查询 waiting_uploadqueuedrunningsucceededfailed 状态,需要 API Key。
POST/asr/v1/audio/transcriptions
兼容同步转写入口,适合小文件;支持中文、英语、粤语、日语和韩语,单文件不超过 25 MB。
# 1. 创建任务
curl "https://api.uiobot.com/asr/v1/audio/upload-tickets" \
  -H "X-API-Key: $UIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename":"sample.wav","size":123456,"content_type":"audio/wav","language":"auto","response_format":"verbose_json"}'

# 2. 按返回的 upload_url 与 upload_token 上传
curl "$UPLOAD_URL" -H "X-Upload-Token: $UPLOAD_TOKEN" -F "[email protected];type=audio/wav"

# 3. 通过返回的 status_url 查询结果
curl "$STATUS_URL" -H "X-API-Key: $UIO_API_KEY"

图片文字识别PP-OCRv6 small · 国内签名直传

控制接口使用带 ocr:use 权限的宇流 API Key。推荐先创建异步任务,再让浏览器把图片直接上传到腾讯云国内入口;图片最终由 ncyz 上的离线 ONNX 模型识别。

队列、最近任务和真实图片测试可在图片识别管理页查看,复用 UIO Console 管理密钥。

GET/ocr/healthz
无需鉴权的健康检查。
GET/ocr/v1/models
返回 PP-OCRv6 small 模型、运行时和支持能力,需要 API Key。
POST/ocr/v1/images/upload-tickets
创建异步任务。请求体包含 filenamesizecontent_typelanguageresponse_format,返回十分钟有效的一次性上传地址与票据。
POSThttps://ocr.studydo.cn/v1/jobs/{id}/image
图片通过 multipart/form-datafile 字段直传国内入口,并在 X-Upload-Token 中携带短期票据。
GET/ocr/v1/jobs/{id}
查询任务状态与识别结果。成功结果包含全文、逐行置信度和四点坐标。
POST/ocr/v1/images/ocr
同步识别入口,适合小图片。支持 PNG、JPEG、WebP、BMP、TIFF;单文件不超过 10 MB,图像不超过 1600 万像素。
# 同步识别
curl "https://api.uiobot.com/ocr/v1/images/ocr" \
  -H "X-API-Key: $UIO_API_KEY" \
  -F "[email protected];type=image/png" \
  -F "response_format=verbose_json"

# 创建异步任务
curl "https://api.uiobot.com/ocr/v1/images/upload-tickets" \
  -H "X-API-Key: $UIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"filename":"sample.png","size":123456,"content_type":"image/png","language":"auto","response_format":"verbose_json"}'

AI API 中转透传调用方自己的凭证 · 网关不存任何密钥

将官方 API 域名替换为本网关路径即可,Authorization / x-api-key 原样透传,无凭证请求直接 401。

GETPOST/anthropic/* → api.anthropic.com
GETPOST/openai/* → api.openai.com
curl https://api.uiobot.com/anthropic/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-sonnet-5","max_tokens":64,"messages":[{"role":"user","content":"hi"}]}'

临时令牌 2FATOTP · RFC 6238 · 独立子域 2fa.uiobot.com

Web 版两步验证令牌:管理台集中保管 TOTP 密钥并实时显示 6 位验证码;API 供脚本/服务取码。除 healthz 外全部接口需 X-Admin-Key 头。

GEThttps://2fa.uiobot.com/api/code/{name}
取指定账户当前验证码,返回 {"name","code","expiresIn"}
GETPOSThttps://2fa.uiobot.com/api/accounts
GET 列出全部账户(含当前码);POST 添加 {"name","secret"},secret 支持 Base32 或 otpauth:// 链接。DELETE /api/accounts/{name} 删除。
curl "https://2fa.uiobot.com/api/code/GitHub-主账号" -H "X-Admin-Key: $KEY"

能力矩阵独立接口 × SDK 双轨 · 2026-07 规划

重能力(有状态/有密钥/需审计)做独立接口;轻能力(纯计算)进 @uio/kit SDK 本地生成;部分能力双轨提供 —— 前端项目用 SDK 本地生成,低代码平台与邮件模板走 API 取地址。

独立接口状态落位
统一登录✅ 已上线auth.uiobot.com(自建 OAuth 2.1 / OIDC)
OAuth / OIDC✅ 已上线auth.uiobot.com/.well-known/openid-configuration
微信身份绑定🔶 配置中自建认证中心 Provider(待接微信开放平台)
临时令牌✅ 已上线2fa.uiobot.com
动态二维码(活码)✅ 已上线/qr/live + /q/{lid}
邮件发送🔶 存量改造mail.uiobot.com 中枢 → 暴露 /mail/send
邮箱验证码⏳ 待建依赖邮件发送,规划 /mail/otp
服务令牌⏳ 待建规划 /token/(服务间签发/校验)
短链接🔶 存量收编CF KV「short」→ 规划 /s/{id}
文件上传签名⏳ 待建规划 /upload/sign(对接对象存储)
Webhook🔶 存量收编webhooknexus Worker → 统一入口
审计日志⏳ 待建网关统一日志 → 查询 API
SDK 能力(@uio/kit,零依赖)状态
随机头像(确定性 SVG,双轨:SDK 本地 + /avatar/ API)✅ 0.1.0
UUID(v4 / v7 / 短 ID)· 数据校验 · 文本处理 · 日期处理 · 图片占位符✅ 0.1.0
静态二维码(双轨:当前走 /qr API,本地编码器 0.2 计划)🔶 API 可用
前端组件⏳ 框架选型后