# 常见问题

> 视频处理接口的常见问题：接入与迁移、视频来源、成片有效期、计费、参数排错。

## 接入与迁移

<AccordionGroup>
  <Accordion title="我已经在用火山云官方 API，迁移过来要改什么？">
    只需要改**两样**：

    - **域名**：AI MediaKit 系列把 Base URL 换成 `https://api.looprouter.com/api/aimediakit`；VOD 系列换成 `https://api.looprouter.com/api/vod`。
    - **密钥**：AI MediaKit 用控制台创建的 `sk-` API Key；VOD 用控制台获取的 AK/SK。

    请求路径、参数、响应结构与官方一致，已有代码与官方 SDK 无需改动签名 / 解析逻辑。
  </Accordion>
  <Accordion title="AI MediaKit 和 VOD 两个系列的鉴权有什么区别？">
    - **AI MediaKit**（插帧 / 字幕擦除 / 画质增强）：请求头携带 `Authorization: Bearer sk-你的APIKey`，在 [控制台 → 令牌](https://console.looprouter.com/keys) 创建。
    - **VOD**（漫剧转绘）：使用 AK/SK 签名（与火山官方签名方式一致），AK/SK 在控制台获取，直接填入官方 SDK 即可。
  </Accordion>
  <Accordion title="VOD 请求返回 401 InvalidCredential，怎么排查？">
    依次检查：

    1. 接入域名是否为 `api.looprouter.com`（不是 `looprouter.com` 主站域名）；
    2. AK/SK 是否为控制台获取的当前有效凭据，有没有多余空格；
    3. SDK 的 `region` 是否保持官方默认 `cn-north-1`。
  </Accordion>
</AccordionGroup>

## 视频来源与成片

<AccordionGroup>
  <Accordion title="视频来源有什么要求？">
    提供一个**公网可直接访问**的 `http(s)` 视频链接（最长 1024 字符），不支持 base64 内联数据。带鉴权、防盗链或仅内网可访问的链接会导致任务失败。
  </Accordion>
  <Accordion title="成片链接能用多久？">
    约 **2 小时**。所有能力返回的成片链接（MediaKit 的 `result.video_url`、VOD `GetPlayInfo` 的 `MainPlayUrl`）均为临时链接，请在任务成功后尽快下载并转存到你自己的存储。下载时无需携带鉴权信息。
  </Accordion>
  <Accordion title="成片链接过期了还能重新获取吗？">
    链接失效前可重新调用查询接口获取；但成片文件本身也会在生成约 2 小时后清理，届时即使拿到链接也无法下载。请务必在任务成功后**尽快下载**。
  </Accordion>
</AccordionGroup>

## 计费

<AccordionGroup>
  <Accordion title="费用什么时候扣？">
    按**实际用量后付费**（与火山官方一致）：提交任务时不预扣、不冻结额度；任务**成功后**按**实际输出时长 × 输出分辨率档位**计费，从账户余额中扣除。
  </Accordion>
  <Accordion title="任务失败会扣费吗？">
    不会。任务失败时（包括源视频下载失败、参数在处理阶段校验不通过等）**不产生任何费用**。
  </Accordion>
  <Accordion title="提交时报 403 QuotaExceeded？">
    账户余额不足或超出可用额度。请在 [控制台](https://console.looprouter.com) 充值后重试。
  </Accordion>
</AccordionGroup>

## 任务与轮询

<AccordionGroup>
  <Accordion title="要多久才能拿到结果？">
    处理为异步任务，耗时随视频时长、分辨率与所选能力变化，通常为分钟级。建议 MediaKit 任务每 5–15 秒轮询一次，漫剧转绘每 10–30 秒轮询一次。
  </Accordion>
  <Accordion title="可以同时提交很多任务吗？">
    单个账户的**未完成任务数**有上限，超过会返回 429。请等待已有任务完成后再提交新任务。
  </Accordion>
  <Accordion title="GetPlayInfo 返回 404 ResourceNotFound？">
    成片尚未就绪。请先确认 `GetVCreativeTaskResult` 的 `Status` 已是 `success`，再用 `OutputJson` 中的成片 `Vid` 调用 `GetPlayInfo`；若刚成功，稍等片刻重试即可。
  </Accordion>
</AccordionGroup>

## 参数排错

<AccordionGroup>
  <Accordion title="智能插帧提示 fps 非法？">
    `fps` 需满足三个条件：取值在 `[15, 120]` 区间；**大于源视频帧率**；**不超过源帧率的 4 倍**。例如源视频 24 fps，合法目标为 24–96 fps。前一条在提交时校验，后两条在处理阶段校验（不满足时任务失败并全额退款）。
  </Accordion>
  <Accordion title="画质增强提示 scene / bit_depth 不支持？">
    这两个参数有版本限制：`scene` 仅**标准版**（`tool_version=standard`）接受；`bit_depth` 仅**专业版**（`tool_version=professional`）接受。大模型版两者都不支持。
  </Accordion>
  <Accordion title="同时传了 bitrate 和 bitrate_level 报错？">
    两者**至多提供其一**：`bitrate` 指定具体码率（kbps），`bitrate_level` 指定档位（`low`/`medium`/`high`）。同时提供会返回参数错误。
  </Accordion>
  <Accordion title="传了 resolution_limit 报错？">
    当前请改用 `resolution` 指定输出分辨率档位（如 `720p` / `1080p` / `2k`）。
  </Accordion>
  <Accordion title="漫剧转绘提示 ParamObj.input 非法？">
    `ParamObj.input` 必须形如 `vid://<Vid>`，其中 `Vid` 是**步骤 2 `QueryUploadTaskInfo` 返回的媒资 Vid**（不要漏掉 `vid://` 前缀，也不要填 JobId 或任务 ID）。
  </Accordion>
  <Accordion title="漫剧转绘 resolution 支持哪些取值？">
    `480p` / `720p` / `1080p` 三档。`style` 为可选的风格描述（最长 100 字符），留空使用默认风格。
  </Accordion>
</AccordionGroup>

还有其他问题？联系商务或在 [控制台](https://console.looprouter.com) 提交工单。
