爆款复刻

简介

能力标识:video.edit · API 地址:https://api.anycap.io

爆款复刻用你已有的源视频生成一条新视频:平台保留源视频中的动作、镜头、构图与时序,按你的编辑指令配合目标参考图、参考视频和参考音频,完成换人、换商品、换物体或背景、或统一风格。它是异步任务:提交一次,然后读取持久化任务状态直到完成。

统一接口(推荐)

新接入请用 POST /v1/generations + type=video_edit。下面的 /v1/videos/edits 接口继续支持,用于兼容旧调用。

BASH
curl -X POST https://api.anycap.io/v1/generations \  -H "Authorization: Bearer $ANYCAP_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "type": "video_edit",    "model": "<来自 GET /v1/generations/models?type=video_edit 的模型>",    "input": {      "video_file_id": "<自有源视频 id>",      "prompt": "把桌上的商品替换成目标商品,保留镜头运动"    },    "parameters": { "resolution": "480P", "ratio": "adaptive" }  }'
字段含义
input.video_file_id
自有源视频;先上传到 POST /v1/video-materials?kind=video。
input.prompt
编辑指令;参考素材按顺序写作 图1、参考视频1。
input.reference_*_file_ids
可选自有参考图(JPG/WebP/BMP)、视频或音频。
parameters
resolution、ratio、duration。
爆款复刻任务返回 202 + job;轮询 GET /v1/generations/{id}?result=true。DELETE 只能取消排队任务;LAS 算子本身没有取消接口。

1. 准备工作

  • 在控制台「Agent 接入」创建接入密钥,并授权其可用的编辑能力。
  • 把源视频、参考视频、参考音频和参考图上传到 POST /v1/video-materials?kind=video|audio|image(multipart 的 file 字段)。上传文件保留 72 小时。源视频必须是 Anycap 自有上传,且不超过 15 秒;源视频不接受公开 URL。返回的 id 用作 video_file_id 或参考素材 id。
  • 所有请求使用 Authorization: Bearer <ANYCAP_API_KEY> 与 Content-Type: application/json,不要发送 Cookie 或 Origin,也不要复用浏览器会话。
  • 只有一个发现接口:先查 GET /v1/videos/models?capability=video.edit,返回可选模型及其各自的价格和限制;创建任务时传其中一个 model。不要编造模型名或价格。
BASH
curl -X POST "https://api.anycap.io/v1/video-materials?kind=video" \  -H "Authorization: Bearer $ANYCAP_API_KEY" \  -F "[email protected]"

2. 接口

步骤方法路径成功
模型发现GET/v1/videos/models?capability=video.edit200
上传自有素材POST/v1/video-materials?kind=video|audio|image201
创建编辑任务POST/v1/videos/edits202
读取任务GET/v1/videos/edits/{id}200
读取任务并获取结果地址GET/v1/videos/edits/{id}?result=true200
取消尚未提交上游的任务DELETE/v1/videos/edits/{id}200

prompt 即编辑指令:直接描述要替换、改风格或保留的内容。

3. 创建任务

示例:

BASH
curl -X POST https://api.anycap.io/v1/videos/edits \  -H "Authorization: Bearer $ANYCAP_API_KEY" \  -H "Content-Type: application/json" \  -H "Idempotency-Key: remake-7f4c2b1a" \  -d '{    "model": "doubao-seedance-2-0-mini-260615",    "video_file_id": "<源视频文件 id>",    "prompt": "把桌上的商品替换成目标商品,保留镜头运动",    "resolution": "720P",    "ratio": "original",    "reference_image_urls": ["https://cdn.example.com/target-product.png"]  }'
字段必填含义
model是
含义来自模型发现的模型;不可用模型返回 400 field=model,平台不会静默替换。
video_file_id是
含义Anycap 自有源视频文件 id,来自 POST /v1/video-materials?kind=video;必须未过期且不超过 15 秒。
prompt是
含义编辑指令。实际上限由所选来源的 max_prompt_characters 决定;空提示词会被拒绝。
resolution否
含义480P、720P 或 1080P。4K 不开放,直接返回 400。
ratio否
含义必须是来源支持的比例。original 与 adaptive 都表示跟随源视频比例。
duration否
含义输出时长(整秒),不小于来源 min_duration(Seedance 2.x 为 4 秒)且不超过来源上限。省略则跟随源视频长度。
reference_image_urls否
含义公开 HTTPS 目标图(要替换成的人、商品或风格)。
reference_image_file_ids否
含义Anycap 自有参考图(JPG / WebP / BMP,不接受 PNG)。与 reference_image_urls 合计受来源 max_reference_images(1–30)限制。
reference_video_file_ids否
含义Anycap 自有参考视频(源视频之外)。数量受来源 max_reference_videos 限制,每段至少 2 秒,源视频与全部参考视频的时长合计不超过 max_total_video_seconds。
reference_audio_file_ids否
含义Anycap 自有参考音频。数量受来源 max_reference_audios 限制,每段时长在 audio_min_seconds 到 audio_max_seconds 之间,全部音频合计不超过 max_total_audio_seconds。
idempotency_key否
含义可选;Idempotency-Key 请求头优先。重复 key 返回已记录任务,不会重复提交。

每个模型都会公布 input_types,以及 max_reference_images、max_reference_videos、max_reference_audios、audio_min_seconds、audio_max_seconds、max_total_video_seconds 和 max_total_audio_seconds;超出所选模型限制的请求会在提交前返回 400。

  • 源视频是编辑输入,计入 max_total_video_seconds;额外参考视频另受 max_reference_videos 数量限制。
  • 每段参考视频至少 2 秒,会和源视频一起测量后再计价。
  • 每段参考音频的时长需在 audio_min_seconds 到 audio_max_seconds 之间;全部音频合计受 max_total_audio_seconds 限制。
  • 参考视频和参考音频必须是 Anycap 自有上传(POST /v1/video-materials?kind=video|audio)、未过期:只有测得的真实秒数可以计费。自有参考图必须是 JPG / WebP / BMP(不接受 PNG);也支持公网 HTTPS 图片链接。
省略 duration 表示输出跟随源视频长度:平台先测量上传视频,把输出冻结为向上取整到整秒、且不小于来源 min_duration(Seedance 2.x 为 4 秒)的值,并把这个时长下发给上游,保证成片与报价一致。测量输入 + 冻结输出必须不超过 30 秒,否则请求返回 400,且不会提交任何任务。

4. 任务状态与结果

  • 创建返回 202 和持久化任务(含 state、billing_status)。202 不代表上游成功或已结算。
  • 轮询 GET /v1/videos/edits/{id}。任务会经过 queued、submitting、submitted、processing、finalizing,最终进入 completed、failed 或 pending。
  • 只有需要结果地址时才加 ?result=true:它会重新查询上游,但不会重新计费或重新生成。结果地址是临时的、由上游托管;需要长期保存请自行下载转存。
  • DELETE 只能取消仍处于 queued、尚未发生任何计费上游调用的任务,并恰好释放一次预留。编辑算子不提供取消接口,已在执行中的任务返回 409,预留保留待对账。

5. 错误

状态码含义
400请求无效:缺少 video_file_id、prompt 为空、未知模型、4K,或参考素材的数量/时长/取值超出所选来源限制。不会提交或扣费。
401缺少或无效的接入密钥。
403密钥未被授权使用该来源或能力。
409幂等键或报价冲突,或任务已不可取消。
503没有匹配的已授权、已启用且已定价的编辑来源,或平台暂时不可用。
上一篇视频生成
下一篇获取主页