展开本页目录
开始前准备什么
- 可运行的 n8n,先完成自己的 Header Auth 凭据与单条视频创建验证。
- 一个真实已有 task_id;默认占位符会在请求前停止。
- 自己的任务存储,能够持久化 input_id、task_id、deadline、poll_count 和查询状态。
- 创建一次
- 保存 ID
- 查询原任务
- 设置等待出口
- 下载与人工验收
无 Key/凭据 ID,不创建任务、不循环;导入后填已有 ID 并核对选项,尚未在线 n8n 实测。
模板边界、状态记录与扩展循环的要求。
两条未提交的虚构任务,可导入本地记录工具;费用未知,不含 Key 或实际任务 ID。
创建和查询是两个不同入口
创建请求可能计费,Retry On Fail 关闭。先记录提交意图,返回 ID 后立即持久化;POST 断连或超时而没有 ID 时,把该输入标记 unknown,人工核对历史。不能用整个创建节点的重试代替恢复查询。
查询流程接收一个已有 task_id;下载的工作流以 Manual Trigger 开始,只 GET 一次后输出脱敏状态。导入不会自动启用,没有 Key 或凭据 ID,也没有在线调用成功的承诺。
| 节点 | 职责 | 运行前检查 |
|---|---|---|
| 创建 HTTP Request | POST 一次,返回 task_id | 准确型号、参数、自己的凭据、关闭创建重试 |
| 持久化节点 | 写 input_id 与 task_id | 写入确认后才进入查询 |
| 查询 HTTP Request | GET 原 task_id | JSON 完整响应,保留 HTTP status |
| 状态判断 | 明确终态或 unknown | 未知状态不进入成功分支 |
- 节点
- 创建 HTTP Request
- 职责
- POST 一次,返回 task_id
- 运行前检查
- 准确型号、参数、自己的凭据、关闭创建重试
- 节点
- 持久化节点
- 职责
- 写 input_id 与 task_id
- 运行前检查
- 写入确认后才进入查询
- 节点
- 查询 HTTP Request
- 职责
- GET 原 task_id
- 运行前检查
- JSON 完整响应,保留 HTTP status
- 节点
- 状态判断
- 职责
- 明确终态或 unknown
- 运行前检查
- 未知状态不进入成功分支
先导入只查询一次的模板
Task context 填自己的 input_id、已有 task_id 和型号。HTTP Request 选 Generic Credential Type → Header Auth,在自己的实例选择 Authorization 凭据,值为 Bearer 加自己的 Key;不要把 Key 写进 JSON、节点名称或任务表。
在当前 n8n 核对 GET、完整响应、JSON 格式、30 秒超时和不跟随重定向。模板关闭 Retry On Fail,并保留非 2xx 的 HTTP 状态供判断;Never Error 只是让节点继续输出,不能证明远端任务成功。
text
GET https://api.apizt.com/api/v3/contents/generations/tasks/{task_id}
Authentication: Generic Credential Type → Header Auth
Response: JSON + Include Response Headers and Status
Never Error: on(保留 HTTP code 后自行判断)
Timeout: 30000 ms
Follow Redirects: off
Retry On Fail: off
此下载模板:单条已有 ID → 单次 GET → 状态记录 → 停止加 Wait 循环时,先设计到期出口
扩展自动查询时,从持久化记录读取 task_id、deadline 和 poll_count。queued 或 running 先检查是否到期,再 Wait 一段时间后 GET;每轮更新次数与时间。终态、未知状态、权限错误和截止时间分别有出口。
总时限使用自己的任务截止字段,不能只靠单个 HTTP 超时。到期表示查询停止,远端任务是否继续需要另查;状态保留 unknown 或 processing 与原 ID。任何查询回路都不接回 POST 创建节点。
text
读取已有任务 → GET → 状态判断
queued/running + 未到 deadline → 保存 poll_count → Wait → GET
succeeded → 保存结果 → 下载 → 验收
failed/expired/cancelled → 保存错误与费用 → 停止
到期/未知响应/鉴权拒绝 → 保存原 ID → 停止并复核
创建节点位于这个循环之外;没有 ID 不进入查询循环。每个结果都要回到同一条输入
当前模板只处理一个 task_id,用固定 context 保留 input_id,并核对响应 ID 是否一致。扩展多任务时,每项保留自己上下文与 item 关联,不能将第一条输入或同一个 task_id 套给整个批次。
将生成终态、下载状态和验收状态分开保存。succeeded 后没有有效 HTTPS 地址就复核响应;下载到文件后另做技术和人工检查,最后写实际费用。模板本身没有数据库或发布节点。
模板检查和在线执行分别确认
此下载已做 JSON、节点连接和固定响应路由的离线检查;尚未在你的在线 n8n 实例导入、查询或持久化验证。先替换一条已有 ID,核对实际响应字段后再扩展循环。
验收至少包括 queued/running、succeeded、failed、HTTP 错误和未知响应。每个出口都能保存 input_id 和原 task_id,恢复动作只查原任务;正式扩大前核对账单和限流。
怎样确认已经完成
- 查询模板只 GET 一个已有 ID,默认占位符在请求前停止。
- 当前 n8n 的凭据、响应与跳转设置已人工核对。
- 扩展循环有 deadline、持久化和终态出口,未回接创建节点。
- 每条结果保留自己的 input_id/task_id,下载与验收分开记录。
常见问题
这个下载能自动从图片生成并发布视频吗?
不能。它只查询一个已有 task_id 一次;创建、持久化、等待循环、下载和发布按本文说明分别接入,并在自己的实例验证。
Retry On Fail 能用于创建视频任务吗?
不建议自动重试创建。超时可能已经创建成功,先核对历史;已有 ID 时只恢复查询,避免重复任务和费用。
Wait 节点等待结束就可以认为生成完成吗?
不可以。Wait 只控制下一次查询时间,生成结果由原任务状态决定;还需下载并验收实际视频。