H3 Nexus 视频算力网络
文档导航接口一览
本页目录
API 参考

接口一览

全部对外端点。Stage 与节点信息属于内部实现,对外 API 永不暴露。

01鉴权与约定

Base URL: https://api.456.com.cn
Authorization: Bearer <API_KEY>
Content-Type: application/json
  • 金额一律以微元(1 元 = 1e6)给整数,另给展示串;展示串不要参与运算
  • 时间为 ISO 8601 UTC。
  • 写操作支持 Idempotency-Key 头,同键返回同一任务、不重复计费。
  • 速率限制超出时返回 429 并带 Retry-After

02端点

方法路径说明备注
POST/v1/videos创建视频任务返回 202,绝不等生成
GET/v1/videos列出任务(游标分页)
GET/v1/videos/{id}查询任务
GET/v1/videos/{id}/content下载成片succeeded 后可用
POST/v1/videos/{id}/cancel取消任务仅结算已完成部分
GET/v1/videos/{id}/upscale查询作品 2K 超分报价
POST/v1/videos/{id}/upscale创建作品 2K 超分任务提交当前报价 amount_micro
GET/v1/pricing获取当前价格配置需 Bearer 鉴权;金额单位为微元
DELETE/v1/videos/{id}删除任务记录
POST/v1/files上传素材类型白名单 + 大小上限,24 小时后删除
POST/v1/prompt/optimize旧版提示词优化接口控制台入口已移除;当前任务使用可选的官方 Context IR
GET/v1/credits余额与近期流水
GET/v1/api-keys列出 API Key只返回掩码
POST/v1/api-keys创建 API Key明文只在此返回一次
DELETE/v1/api-keys/{id}吊销 API Key

创建任务的请求体

字段类型默认说明
promptstring 1–7000必填提示词。reference_to_video 里可以用 @图片1 / @视频1 / @音频1 指名某一句针对哪件素材,平台会把它翻成模型认的 <Picture 1> / <Video 1> / <Audio j>引用了没传的素材会被 400 拒(不静默忽略)
modetext_to_video · image_to_video · reference_to_videotext_to_video后两者需先传素材
input_imagefile_ id起始帧。image_to_video 时与 end_image 至少给一个。会被拉伸到画幅(不保比例)
end_imagefile_ id结束帧,成片收敛到这一帧。按比例居中裁切。只对 image_to_video 有效
referencesfile_ id[]reference_to_video 时必填。顺序有意义:提示词里的 @图片1 就是按同类素材在这个数组里的先后编号的。每类上限来自模型:9 张图 / 3 段视频 / 3 段音频,视频与音频各自累计 ≤15 秒。是图是视频是音频由平台按 content_type 判,请求里不用声明
referencefile_ id已废弃,等价于 references: [它]。与 references 同时给会被拒
durationnumber 5–155成片秒数,计费依据。帧数落在模型的 17k+5 栅格上(24fps),实际成片会略长于请求值(6s → 158 帧 ≈ 6.58s),多出的部分不计费。两端贴着模型训练区间:5s = 124 帧、15s = 362 帧
resolution768p · 2k · 4k768p2K、4K 通过超分输出
aspect_ratioauto · 16:9 · 9:16 · 1:1 · 4:3 · 3:4 · 21:916:9画布依次为 1344×768 · 768×1344 · 768×768 · 1024×768 · 768×1024 · 1536×672。auto = 按第一件素材的比例挑最接近的一个(建任务时就解析成具体值,任务记录里存的是解析后的结果)
accelerationauto · offauto已由 service_tier 接管,只在 draft 档有意义
service_tierdraft · standard · pro · dedicatedstandarddraft 加速档,与标准档同价(画质有折损);pro/dedicated 开对冲
use_context_irbooleanfalse是否启用官方 Context IR,实际应用成功才收费;与必需的 H3 编码器不同
audiobooleantrue
seedinteger固定随机种子;结果也受模型与运行参数影响。n>1 时第 i 条自动用 seed + i(否则几条片子一模一样),实际用的种子在任务返回的 seed
n1 · 2 · 41这一次出几条片。语义是「建 N 个独立任务」:各自排队、各自计费、各自可取消。n=1 返回单个任务对象(契约不变);n>1 返回一个 object: "list" 的信封,且可能比请求的少(撞上并发上限时只返回真正建成的那几条)
webhook_urluri终态回调,见 Webhook
metadataobject原样回显

H3 不支持反向提示词,请勿依赖旧字段 negative_prompt。控制台高级参数的可见性和默认值由管理后台配置;Context IR 在提示词下方单独选择,账户可保存其默认状态。

任务返回

下例为 5 秒 768P 标准档、未开启 Context IR 的成功任务,按当前价格合计 ¥0.45;完整价目可通过 GET /v1/pricing 查询。

{
  "id": "vid_...",
  "object": "video.task",
  "status": "succeeded",
  "progress": 1,
  "mode": "text_to_video",
  "resolution": "768p",
  "duration": 5,
  "created_at": "...", "started_at": "...", "completed_at": "...",
  "accelerated": true,
  "output": {
    "video_uri": "...", "width": 1344, "height": 768,
    "duration": 5, "has_audio": true, "watermarked": true,
    "expires_at": "..."
  },
  "usage": { "billed_seconds": 5, "amount_micro": 450000, "amount": "0.45", "currency": "CNY" }
}
几个容易被忽略、但决定你怎么处理结果的字段
字段说明
accelerated这次实际有没有走加速通道。请求里的acceleration: auto 只是意愿,没有合格算力时会降级 —— 两者耗时与画面都不同,要看这个字段才知道拿到的是哪一种
output.watermarked这份成片实际带不带可见水印,不是恒为 true 的常量
output.expires_at下载地址的过期时间,每次查询现签,请勿缓存该 URL
fail_reason / fail_detail前者是可编程判断的分类,后者是给人看的具体说明
awaiting_capacity
任务等待资源时会带此对象,含 sincesecondsreasonreasoncapacity(算力)、lora(加速能力)或 encoder(编码器)。 它不是一个任务状态,需与 status 一起展示;终态失败原因见 fail_reasonfail_detail

已有作品超分到 2K

仅支持自己已完成且原视频仍可读取的 768P 作品。先调用 GET /v1/videos/{id}/upscale 获取报价;返回中的 amount_micro 必须原样提交。报价按原视频实际时长计算。

# 1) 获取报价,读取响应 amount_micro
curl $H3_BASE/v1/videos/vid_xxx/upscale -H "Authorization: Bearer $H3_API_KEY"

# 2) 将 AMOUNT_MICRO 替换为上一步返回的整数
curl -X POST $H3_BASE/v1/videos/vid_xxx/upscale \
  -H "Authorization: Bearer $H3_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount_micro": AMOUNT_MICRO}'

创建成功返回 202 和新任务。若返回 existing,表示已有进行中或完成的超分任务,直接使用该任务。价格变化会返回 409,需重新获取报价。

超分保留原作品,只收超分阶段费用,不重复收基础生成、编码器和素材费。2K、4K 作品不支持再次调用此入口。

03素材

POST /v1/files 以 multipart 上传,purposeinput_image(起始帧)、end_image(结束帧) 或 reference(参考素材)。返回含 expires_at过期后字节会被真正删除,此后再以该文件创建任务将被拒绝。

reference 收三类:(png/jpeg/webp)、视频(mp4/mov)、音频(mp3/wav/m4a/flac)。 上传时平台会从容器头里读出时长(视频、音频)与像素尺寸(图、视频)—— 前者是计费与 15 秒累计闸的依据, 后者给 aspect_ratio: "auto" 用。音频读不出时长会被 400 拒:15 秒时长限制以该元数据为唯一依据, 接受无法解析时长的文件将使该限制失效。

⚠️ 参考视频会被模型截断到成片帧数:出 5 秒片时, 一段 15 秒的参考视频只有前 5.17 秒进得去(帧数还要向下对齐到 17k+5 栅格)。 这不是平台的选择,是模型本身的行为(ComfyUI 节点里的硬截断,没有开关)。但计费按你上传的时长算 —— 字节我们全都收下、存下、要传给编码器, 成本在上传那一刻就发生了。想让整段素材都生效,把 duration调到不小于素材时长。

03b旧版提示词优化接口

任务页已移除此按钮。现在可通过 use_context_ir 选择官方 Context IR;下面保留旧接口的对接说明。

POST /v1/prompt/optimize,请求体 { "prompt": "…" }, 返回优化后的 prompt(可直接填进创建任务请求)。按次计费,单价见 GET /v1/pricing prompt_opt_micro,不要在客户端写死价格。

三条与钱有关的行为:余额不足返回 402 且不扣费; 优化服务出错返回 502 且不扣费只有成功返回时才扣一笔,在流水里记作 prompt_optimize。 这一笔不挂在任何任务上 —— 你可以优化完不发任务。

04余额

GET /v1/credits 返回余额与近期流水。权威余额是流水求和;返回中的余额快照仅供对账参考,并发写入下可能不是最新值。

05API Key

列表只返回掩码。创建时明文只出现一次,平台仅存哈希 —— 丢了只能吊销重建。

06任务状态机

状态含义计费
queued已受理,等待派发冻结额度
rendering扩散生成中冻结额度
encoding提示词与素材编码中冻结额度
upscaling视频超分中冻结额度
packaging转码与封装中冻结额度
succeeded完成,可下载计费,见 usage
failed失败不计费
cancelled已取消仅结算已完成部分
rejected已拒绝仅结算已完成部分

07错误结构

{
  "error": {
    "type": "invalid_request_error",
    "code": "task_not_cancellable",
    "message": "…",
    "param": "duration",
    "request_id": "req_..."
  }
}

反馈问题时请附上 request_id。各状态码的含义见错误码