Skip to content

ADD_BEAUTY API 接口文档 ​

🌐 语言切换 ​

中文版 | English

接口信息 ​

POST /openapi/capcut-mate/v1/add_beauty

功能描述 ​

给已有草稿中的视频片段添加人像美化,覆盖剪映「美颜 / 美型 / 美妆 / 美体」四个面板, 对应请求体中的 skin / shape / makeup / body 四个分组。 美化素材挂在视频片段上,写入 materials.effects(type=figure),不是独立特效轨道。

字段名全部为英文;预设的取值沿用剪映预设名,仍为中文(如 skin_tone: "冷白"、look: "淡人妆")。 每个分组都可选,滑杆为 0 或预设为空时不写入(与剪映「关闭」= 素材缺失一致); 任一滑杆生效时会自动为该片段补一条 makeup-root。 同一片段再次设置同一滑杆时只原地更新强度(保留素材 id),不会重复追加素材。

请求参数 ​

json
{
  "draft_url": "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/get_draft?draft_id=2025092811473036584258",
  "segment_ids": ["d62994b4-25fe-422a-a123-87ef05038558"],
  "skin": { "smooth": 52, "whitening": 67, "skin_tone": "冷白", "temperature": 11, "intensity": 60 },
  "shape": { "small_face": 19, "slim": 33 },
  "makeup": { "look": "淡人妆", "intensity": 80 },
  "body": { "small_head": 33, "slim_waist": 60, "smooth": 19, "whitening": 26 }
}

公共参数 ​

参数名类型必填默认值说明
draft_urlstring✅-草稿 URL
segment_idsarray✅-要应用美化的视频片段 ID 数组
skinobject❌-美颜参数组(剪映「美颜」面板),见下表
shapeobject❌-美型参数组(剪映「美型 - 面部」),见下表
makeupobject❌-美妆参数组(剪映「美妆」),见下表
bodyobject❌-美体参数组(剪映「美体」),见下表

skin(美颜) ​

字段剪映面板名类型默认说明
even匀肤number0强度 0-100
plump丰盈number0强度 0-100
smooth磨皮number0强度 0-100(与 body.smooth 是两个素材)
dewrinkle祛法令纹number0强度 0-100
bright_eye亮眼number0强度 0-100
dark_circle祛黑眼圈number0强度 0-100
whitening美白number0强度 0-100(与 body.whitening 是两个素材)
white_teeth白牙number0强度 0-100
skin_tone肤色string""肤色预设:冷白 / 暖白,空字符串表示不应用
temperature冷暖number0肤色冷暖 0-99,仅设置 skin_tone 时生效
intensity程度number60肤色程度 0-100,仅设置 skin_tone 时生效

shape(美型)—— 剪映「美型 - 面部」 ​

字段剪映面板名类型默认说明
small_face小脸number0强度 0-100
slim瘦脸number0强度 0-100
v_shapeV脸number0强度 0-100
jaw下颌骨number0强度 0-100
cheekbone颧骨number0强度 0-100
shorten短脸number0强度 0-100
contour_smooth流畅脸number0强度 0-100
lower下庭number0强度 0-100
middle中庭number0强度 0-100
upper上庭number0强度 0-100
hairline发际线number0强度 0-100
width窄脸number0预留字段,暂不支持,仅允许 0
chin_length下巴长短number0预留字段,暂不支持,仅允许 0

makeup(美妆) ​

字段剪映面板名类型默认说明
look套装string""美妆套装预设,取剪映「美妆 - 套装」的中文名(共 54 个,见下表),空字符串表示不应用
intensity程度number80套装程度 0-100,仅设置 look 时生效
face_id人脸string"-1"妆容作用的人脸:-1 表示全部人脸(等价剪映「全局应用」);也可指定检出的人脸序号 0 / 1 / 2…

body(美体) ​

字段剪映面板名类型默认说明
small_head小头number0强度 0-100
swan_neck天鹅颈number0强度 0-100
slim_arm瘦手臂number0强度 0-100
straight_shoulder直角肩number0强度 0-100
slim_body瘦身number0强度 0-100
slim_waist瘦腰number0强度 0-100
long_leg长腿number0强度 0-100
plump_breast丰胸number0强度 0-100
slim_hip美胯number0强度 0-100
smooth磨皮number0美体磨皮 0-100(与 skin.smooth 是两个素材)
whitening美白number0美体美白 0-100(与 skin.whitening 是两个素材)
wide_shoulder宽肩number0预留字段,暂不支持,仅允许 0

写入草稿的映射 ​

分组category_id强度落点归一
skin 滑杆auto-beauty2smooth/whitening 写顶层 value,其余写 adjust_params÷100
skin 肤色auto-beauty2face_adjust_params(ColdWarm + Intensity)冷暖 ÷99,程度 ÷100
shapeauto-beautyadjust_params(name 恒为 "0")÷100
makeupmakeupface_adjust_params(face_adjust_whole)÷100
bodyauto-beauty3顶层 value÷100
  • skin、shape、makeup 的滑杆需要算法路径 algorithm_artifact_path;whitening、全部 body 滑杆、肤色不需要。
  • makeup 会写入固定的 11 项 exclusion_group,避免与其它妆容部件叠加。
  • face_id 标的是人脸的序号(剪映按视频检出的先后顺序编号,0 起),不是妆容自身的槽位;默认 -1 表示全部人脸。写死成某一序号时,换一段人脸更少或顺序不同的素材,妆容会落到不存在的人脸上而完全不渲染。
  • 所有素材按 resource_id 写入,不写本机特效缓存路径;剪映打开草稿时自行下载资源。
  • 草稿里效果条的 name 字段仍写剪映面板的中文名(如 "name": "磨皮"),与接口字段名无关。

预设对照 ​

预设resource_id备注
skin_tone: 冷白7148720872105185800冷暖 ÷99、程度 ÷100
skin_tone: 暖白7148720647714116132冷暖默认 0
look: <套装名>见下表默认全部人脸(face_id "-1")

look 支持的 54 个套装(取值即名称本身,与剪映面板一致):

90年代、doll感、上镜韩妹、中国妆、人形电脑、元气、兔兔妆、冬日白开水、冷感、减龄妆、初恋、原生、古早韩妆、夏日桃桃、夏日清透感、夏日白开水、奶杏、学姐妆、小烟熏、小魔女、微醺、心动、拜年妆、新年开运妆、无花果、春日樱花妆、柿柿如意、橘子汽水、氧气感、派对微醺、淡人妆、淡妆公式、淡盐系、清透感、热红酒、猫系女友、甜心芭比、甜系白开水、男友、男生、白开水、白鹿好运妆、盐系、纯欲蝴蝶兰、腮红大法、芋泥啵啵、芭蕾少女、英气、落日、裸妆、郁金香、雀斑自由、韩国学妹、韩系蜜桃

名称与 resource_id 的对应表由 tools/extract_makeup_looks.py 从剪映面板缓存导出,落在 src/pyJianYingDraft/metadata/makeup_looks_generated.py;剪映上新套装后重跑该脚本即可刷新。

响应格式 ​

成功响应 (200) ​

json
{
  "code": 0,
  "message": "success",
  "draft_url": "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/get_draft?draft_id=2025092811473036584258",
  "affected_segments": ["d62994b4-25fe-422a-a123-87ef05038558"],
  "figure_ids": ["figure-id-1", "makeup-root-id"]
}
字段类型说明
draft_urlstring草稿 URL
affected_segmentsarray成功应用美化的片段 ID
figure_idsarray人像美化素材 ID,包含自动补上的 makeup-root

使用示例 ​

bash
curl -X POST https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/add_beauty \
  -H "Content-Type: application/json" \
  -d '{
    "draft_url": "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/get_draft?draft_id=2025092811473036584258",
    "segment_ids": ["d62994b4-25fe-422a-a123-87ef05038558"],
    "skin": { "smooth": 52, "whitening": 67, "skin_tone": "冷白", "temperature": 11, "intensity": 60 },
    "shape": { "small_face": 19, "slim": 33 },
    "makeup": { "look": "淡人妆", "intensity": 80 },
    "body": { "small_head": 33, "slim_waist": 60, "smooth": 19, "whitening": 26 }
  }'

错误码说明 ​

错误码错误信息说明解决方案
1001参数校验失败滑杆越界(0-100,冷暖 0-99)、组内出现未知字段检查请求参数
2043无效的美颜信息未提供任何有效参数,或参数类型非法至少提供一个非 0 滑杆或有效预设
2044美颜类型未找到预留字段传了非 0 值、肤色/美妆预设不支持、直接调用时出现未知字段按错误详情改用受支持的名称,或把预留字段传 0
2045美颜添加失败写入草稿过程出错重试或检查草稿状态
2001无效的草稿URLdraft_url 无效或草稿不在缓存先创建或下载草稿
2015片段未找到segment_id 不存在检查片段 ID
2016无效的片段类型目标片段不是视频/图片片段只对视频轨道片段应用
2042草稿锁获取超时同一草稿并发操作稍后重试

注意事项 ​

  1. 只支持视频轨道上的片段(视频或图片),字幕、音频等片段会失败。
  2. 0 表示不写入:与剪映「关闭」= 素材缺失一致;已写入的滑杆只能改值,暂不支持删除/关闭。
  3. 预留字段:width(窄脸)、chin_length(下巴长短)、wide_shoulder(宽肩)在剪映草稿中没有对应素材资源,传非 0 会返回 2044,请传 0。
  4. skin 与 body 重名:smooth、whitening 在两个分组下是不同的素材(resource_id 不同),需按分组设置。
  5. 重复调用:同一片段同一滑杆只更新强度,素材 id 不变。
  6. 资源下载:草稿只写 resource_id,不写本机缓存路径;首次用剪映打开时需联网下载素材。
  7. 手绘小脸(manual_deformations)不在本接口范围内。

工作流程 ​

  1. 按分组收集并校验全部滑杆(0 跳过、预留字段拦截、预设查表)
  2. 校验草稿与片段
  3. 逐片段写入 materials.effects 并挂到 extra_material_refs
  4. 为每个片段补一条 makeup-root
  5. 保存草稿并返回素材 ID 列表

相关接口 ​