主题
export_draft
POST /export_draft
接口说明
导出草稿结构、占位符和素材 URL 清单,不下载视频、音频或图片。这个接口主要给本地下载器使用:下载器拿到清单后,再按用户明确选择的本地素材或 URL 素材模式落地到本机。
请求
bash
curl -X POST https://your-domain.example/api/export_draft \
-H "Content-Type: application/json" \
-H "X-API-Key: <你的 API Key>" \
-d '{
"draft_id": "dfd_cat_xxx"
}'参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
draft_id | string | 是 | 草稿 ID |
返回
json
{
"success": true,
"output": {
"draft_id": "dfd_cat_xxx",
"profile": "jianying_pro_10",
"files": [
{
"path": "draft_content.json",
"encoding": "utf-8",
"content": "..."
}
],
"assets": [
{
"index": 1,
"type": "image",
"url": "https://example.com/a.png",
"name": "image_xxx.png",
"placeholder": "__VECTCUT_ASSET_0001__"
}
]
},
"error": ""
}files 是剪映草稿结构文件,assets 才是需要本地处理的素材。素材路径在草稿文件中先写成 __VECTCUT_ASSET_xxxx__ 占位符,由本地下载器替换成真实路径。
本地素材占位 URL
服务端只接受 http/https URL,不能直接接收本地路径。使用本地素材时,skill 会生成类似下面的占位 URL:
text
https://example.com/__vectcut_local__/image/<hash>/<filename>同时把“占位 URL → 本地绝对路径”登记到本地素材清单:
text
~/.codex/vectcut-api/local_materials.json服务端只用这个占位 URL 生成草稿,不会下载素材。同步时:
--source local优先读取本地素材清单和--material-map,复制本地文件,并替换占位符。--source url只下载assets[].url,忽略本地素材清单和--material-map。
如果草稿是用普通 URL 创建的,而本地文件名不一致,用 --material-map 显式指定:
powershell
python scripts/sync_draft_materials.py `
--source local `
--draft-id "dfd_cat_xxx" `
--materials-dir "D:\素材" `
--material-map "1=D:\素材\封面.jpg"时长查询只支持 URL。需要服务端自动获取视频或音频时长时,改用 URL 调用 get_duration;本地视频或音频必须提供已知的 duration 或 end。