AI 视频 API 参考
约 561 字大约 2 分钟
2026-10-04
IAIAPIClient视频接口,由AIBotAPI基于 LiteLLM 实现。
video_generation()
async def video_generation(
prompt: str,
*,
model: str | None = None,
seconds: str | None = None,
size: str | None = None,
input_reference: Any = None,
**kwargs: Any,
) -> Any # litellm.types.videos.main.VideoObject| 参数 | 说明 |
|---|---|
prompt | 必填,视频描述文本 |
model | 覆盖配置中的 video_model;未指定时用默认模型 |
seconds | 时长字符串,如 "8";省略时由提供商决定 |
size | 尺寸,如 "1280x720";支持范围由提供商决定 |
input_reference | 可选参考图像文件对象、字节或 LiteLLM 支持的文件参数 |
**kwargs | 透传给 litellm.avideo_generation(),如 user、extra_body |
返回原始 LiteLLM VideoObject,包含 id、status、progress、error 等字段。 请求只提交任务,返回时视频可能仍在排队或生成中。
没有模型时抛出 ValueError;调用时指定的模型不存在时回退到 video_model 一次。 认证、网络等其他错误原样传播。
video_status()
async def video_status(video_id: str, **kwargs: Any) -> Any # VideoObject透传给 litellm.avideo_status(),返回任务当前状态和进度。 常见状态为 queued、in_progress、completed、failed,具体取值由提供商决定。 失败任务的详细原因可通过 error 字段读取。
保留生成响应的完整 id,LiteLLM 可能在 ID 中编码提供商和模型路由信息。 查询不要求配置 video_model,不进行模型回退;不存在的任务等错误原样传播。
video_content()
async def video_content(video_id: str, **kwargs: Any) -> bytes透传给 litellm.avideo_content(),下载已完成任务的视频内容并返回 bytes,不写文件。 可用 variant= 请求提供商支持的内容类型,如 "video"。 不要求配置默认模型,不自动轮询或回退;应先查询任务是否已完成。
通用参数与调用入口
三个方法都会合并配置中的 api_key、base_url(转换为 api_base)、timeout, 调用时的 **kwargs 优先。参数的具体支持范围以 LiteLLM 和提供商为准。 如果生成时覆盖了认证或端点,查询和下载时也应传入相同的覆盖参数。
job = await api.ai.call("video_generation", {"prompt": "一只猫", "seconds": "8"})
status = await api.ai.call("video_status", {"video_id": job.id})
if status.status == "completed":
data = await api.ai.call("video_content", {"video_id": job.id})延伸阅读
版权所有
版权归属:Yuan
