Skip to content

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_idstring是草稿 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。

个人自建服务