Skip to content

修复 API 平台调用视频接口的兼容路由问题 - #66

Open
FUtejia8 wants to merge 1 commit into
hero8152:mainfrom
FUtejia8:api-video-route-compat-v2
Open

修复 API 平台调用视频接口的兼容路由问题#66
FUtejia8 wants to merge 1 commit into
hero8152:mainfrom
FUtejia8:api-video-route-compat-v2

Conversation

@FUtejia8

@FUtejia8 FUtejia8 commented Jun 3, 2026

Copy link
Copy Markdown

问题原因

不同 API 平台对视频生成接口的兼容路径不完全一致。

有的平台使用复数形式的视频创建地址:

  • /v1/videos/generations

有的平台使用单数形式的视频创建地址:

  • /v1/video/generations

当前代码会先尝试复数形式地址。如果该地址不可用,理论上应该继续尝试后续兼容地址。

但部分平台在地址不可用时,不一定返回 HTTP 404,而是可能返回 HTTP 400 或 HTTP 200,并在响应内容里包含 Invalid URL 这类地址无效信息。

由于原逻辑只在 HTTP 404 时才认为地址不可用,遇到这种响应时会误判为当前地址有效,停止尝试后续候选地址,导致没有继续请求实际可用的单数形式地址。

另外,视频生成通常是异步任务。创建请求成功后,还需要继续查询任务结果。不同平台的视频任务查询地址也可能存在差异,如果只使用单一查询地址,可能出现创建成功但无法拿到最终视频结果的问题。

修复方式

本次修改调整视频接口兼容逻辑:

  • 创建视频时保留复数形式地址,并补充单数形式兼容地址
  • 判断地址是否不可用时,优先检测响应内容中的 invalid url
  • 无论状态码是 404、400 还是 200,只要明确识别为地址无效,就继续尝试下一个候选地址
  • 保留原有 404 判断逻辑,继续识别地址不存在或返回网页内容的情况
  • 任务轮询阶段根据创建请求成功使用的地址,补充对应的视频任务查询地址
  • 避免创建成功后因为查询地址不兼容,导致异步任务无法返回最终视频

对于额度不足、参数错误、上游服务异常等非地址兼容问题,不会继续重复提交,避免产生额外请求。

原有流程保持不变:任务返回视频地址后,仍会先下载到本地,再把本地视频地址返回给画布使用。

修改范围

仅修改 main.py

@FUtejia8

FUtejia8 commented Jun 4, 2026

Copy link
Copy Markdown
Author

@hero8152 这个兼容问题佬你看下可以更新代码 解决下吗

目前迭代版本都没有注意到这个接口问题。 我看有许多人也都有遇到

提交的pr有修复的代码你可以看下是真实存在的这个问题 希望你可以解决下问题.不然每次更新了使用存在同一个问题使用不便

目前遇到的平台有t8平台的视频接口 还有new平台这类的接口都是复数

但是这个修复是2号的 3号我看又增加了平台视频接口 目前分支或许存在冲突了 问题是存在的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant