视频类
画布内部 Proxy API 的视频换脸、视频脱衣、视频换人和视频姿势说明
文档更新时间:2026年09月08日 12时53分18秒(UTC+8)
视频类工具箱
最后更新:2026-09-07
本页描述画布和视频工作台使用的 Proxy API。Base URL 为 https://ic.xshow.live/api/proxy/v1,依赖登录 Cookie 和 X-IC-Operation-ID。
XCamShow/B 端请使用独立的 Partner 视频 API。它的 Base URL 为 https://ic.xshow.live/api/partner/v1,使用 Bearer Key 和 Idempotency-Key,不使用浏览器 Cookie。
下列四项全部是 组合 API。一次提交只返回一个任务 ID,Scheduler 在服务端执行图片预编辑与视频生成阶段。任一阶段失败,整个任务失败并返回当前阶段原因。
任务成功时除最终视频外还返回首帧预编辑的中间图片。轮询响应以 intermediate_image_available: true 标记该结果,登录用户可从 GET /api/proxy/v1/videos/{id}/intermediate 读取;视频创作台会将它持久化并在最终视频下方标注为“中间结果”。
单阶段清理接口
去水印与去字幕 通过 Proxy 的 /video-clean 提交,支持查询与流式下载;不走 Partner API,保留管理员权限。接口开发与上线状态见该页。
能力矩阵
| 功能 | model | 必需输入 | 固定流程 |
|---|---|---|---|
| 视频换脸 | video-face-swap | 1 视频 + 1 人脸图 | 源视频首帧 → krea2_bfs_v1 基线参数换头并保持竖版尺寸 → 暴露同一张 BFS 中间图 → Wan2.1 SCAIL2 |
| 视频脱衣 | video-undress | 1 视频 | 源视频首帧 → Krea2 图片脱衣 → 新首帧 → Wan2.1 SCAIL2 |
| 视频脱衣 v2 | video-undress + shot_policy=per_shot | 1 视频 | 转场切镜头 → 镜头内选身份帧 → Krea2 图片段 → 身份闸门 A → SCAIL2 视频段 → 身份闸门 B → 合片 |
| 视频换人 | video-person-swap | 1 视频 + 1–2 人物图 | 首帧 → BFS 换头 → BodySwap 换身体 → 新首帧 → Wan2.1 SCAIL2 |
| 视频姿势 | video-pose | 1 人物图 + 姿势 LoRA | Krea2 姿势关键帧 → MiniMax H3 DaSiWa I2VA,默认 720p/9:16 |
上面四项是组合 API。清理类是另一条链路:它不经过通用计费代理,而是提交到 Scheduler 的 video-clean-v2 清理任务,按 stage 选择处理器,并发处理时按实例显存选卡。
| 清理功能 | stage | 处理器 | 说明 |
|---|---|---|---|
| 去水印 | watermark_remove | VSR 数据平面 | 检测 logo/水印并修复 |
| 去字幕 | subtitle_remove | VSR 数据平面 | 检测字幕并修复 |
| 去马赛克 | mosaic_remove | Lada 去马赛克服务 | 检测马赛克区域并重建,输出 video-clean-v2 清单 |
- 画布与视频工作台入口:视频清理
- XCamShow/B 端 Partner 入口:Partner 去马赛克
标准请求
curl -X POST "$BASE_URL/api/proxy/v1/videos" \
-H "Cookie: ic_session=$IC_SESSION" \
-H "X-IC-Operation-ID: $(uuidgen)" \
-F "model=video-face-swap" \
-F "prompt=Replace only the person in the source video with the person from the reference image. Preserve the reference person's facial identity, hairstyle, body shape, proportions, and clothing. Preserve the source video's original motion, pose sequence, facial motion, background, environment, objects, lighting, camera movement, framing, composition, timing, and duration. Do not modify or regenerate the scene. Keep the replacement person's identity, body shape, and clothing consistent across all frames." \
-F "seed=12345" \
-F "input_reference[]=@face.png" \
-F "input_reference[]=@source.mp4"- 源视频仅支持 MP4/MOV,最大 500MB,part MIME 必须为
video/mp4或video/quicktime,且须包含可解码音轨;无声素材应先封装静音 AAC 音轨。 - 人物参考图支持 JPG/PNG/BMP/WEBP,单张最大 30MB,part MIME 必须为真实
image/*;不要使用application/octet-stream。 prompt可选;video-face-swap和video-person-swap空值使用“只替换人物并保持源视频动作、背景、物体、光线、运镜、构图、节奏和时长”的专用提示词;video-undress空值仍使用原始 SCAIL2 默认值the woman is dancing。seed可选;相同输入与 seed 用于可重复生成,不等同于 operation ID 幂等键。
轮询与结果
curl -X POST -H "Cookie: ic_session=$IC_SESSION" "$BASE_URL/api/proxy/v1/videos/$TASK_ID"
curl -L -H "Cookie: ic_session=$IC_SESSION" "$BASE_URL/api/proxy/v1/videos/$TASK_ID/content" -o result.mp4任务可能长时间处于排队或生成状态,调用方应持续轮询,不要用短超时把仍在 GPU 队列中的任务判为失败。intermediate_image_available: true 可以早于最终完成出现,此时即可读取中间图;返回完成后,content 仍会校验视频容器签名和可播放性。视频换脸当前生产单次闭环约 5 分钟,中间图约 18 秒出现;这是单样本观测,不作为稳定 SLA。