主题切换
创建文本富文本样式接口文档
接口概述
为文本创建富文本样式,支持关键词高亮、颜色设置、字体大小调整等功能。该接口可以将普通文本转换为包含样式信息的富文本格式,实现关键词突出显示、多样化的文本展示效果。
更多文档
📖 更多详细文档和教程请访问:https://docs.jcaigc.cn
接口信息
- 请求方式: POST
- 接口路径:
/openapi/capcut-mate/v1/add_text_style - Content-Type:
application/json
请求参数
请求体 (Body)
| 参数名 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| text | string | 是 | - | 要处理的文本内容 |
| keyword | string | 是 | - | 关键词,多个用 | 分隔 |
| font_size | integer | 否 | 12 | 普通文本的字体大小 |
| keyword_color | string | 否 | "#ff7100" | 关键词文本颜色(十六进制) |
| keyword_font_size | integer | 否 | 15 | 关键词字体大小 |
参数详细说明
text (必填)
- 类型: string
- 描述: 需要进行样式处理的原始文本内容
- 示例: "五个快乐到死的顶级思维"
keyword (必填)
- 类型: string
- 描述: 需要高亮显示的关键词,支持多个关键词用竖线(|)分隔
- 示例: "快乐|顶级思维"
- 注意: 系统会按关键词长度优先匹配,避免短关键词覆盖长关键词
font_size (可选)
- 类型: integer
- 默认值: 12
- 描述: 普通文本(非关键词)的字体大小
- 范围: 建议 8-72
keyword_color (可选)
- 类型: string
- 默认值: "#ff7100" (橙色)
- 描述: 关键词的文本颜色,使用十六进制格式
- 格式: #RRGGBB
- 示例: "#ff0000" (红色), "#00ff00" (绿色), "#0000ff" (蓝色)
keyword_font_size (可选)
- 类型: integer
- 默认值: 15
- 描述: 关键词的字体大小
- 范围: 建议 8-72
请求示例
bash
curl -X POST "https://capcut-mate.jcaigc.cn/openapi/capcut-mate/v1/add_text_style" \
-H "Content-Type: application/json" \
-d '{
"text": "五个快乐到死的顶级思维",
"keyword": "快乐|顶级思维",
"font_size": 12,
"keyword_color": "#ff7100",
"keyword_font_size": 15
}'
响应格式
成功响应
json
{
"code": 0,
"message": "Success",
"data": {
"text_style": "{\"styles\":[{\"fill\":{\"content\":{\"solid\":{\"color\":[1,1,1]}}},\"range\":[0,2],\"size\":12,\"font\":{\"id\":\"\",\"path\":\"\"}},{\"fill\":{\"content\":{\"solid\":{\"color\":[1,0.44313725490196076,0]}}},\"range\":[2,4],\"size\":15,\"font\":{\"id\":\"\",\"path\":\"\"},\"useLetterColor\":true},{\"fill\":{\"content\":{\"solid\":{\"color\":[1,1,1]}}},\"range\":[4,7],\"size\":12,\"font\":{\"id\":\"\",\"path\":\"\"}},{\"fill\":{\"content\":{\"solid\":{\"color\":[1,0.44313725490196076,0]}}},\"range\":[7,11],\"size\":15,\"font\":{\"id\":\"\",\"path\":\"\"},\"useLetterColor\":true}],\"text\":\"五个快乐到死的顶级思维\"}"
}
}
text_style 字段解析
text_style 字段是一个JSON字符串,解析后的结构如下:
json
{
"text": "五个快乐到死的顶级思维",
"styles": [
{
"fill": {
"content": {
"solid": {
"color": [1, 1, 1]
}
}
},
"range": [0, 2],
"size": 12,
"font": {
"id": "",
"path": ""
}
},
{
"fill": {
"content": {
"solid": {
"color": [1, 0.44313725490196076, 0]
}
}
},
"range": [2, 4],
"size": 15,
"font": {
"id": "",
"path": ""
},
"useLetterColor": true
}
]
}
样式对象字段说明
| 字段名 | 类型 | 描述 |
|---|---|---|
| text | string | 原始文本内容 |
| styles | array | 样式片段数组 |
样式片段字段说明
| 字段名 | 类型 | 描述 |
|---|---|---|
| fill.content.solid.color | array | RGB颜色值数组,值范围0-1 |
| range | array | 文本范围 [起始位置, 结束位置] |
| size | integer | 字体大小 |
| font.id | string | 字体ID(当前为空) |
| font.path | string | 字体路径(当前为空) |
| useLetterColor | boolean | 是否使用字母颜色(仅关键词包含) |
错误响应
json
{
"code": 2026,
"message": "无效的文本样式信息,请检查文本或关键词参数"
}
错误码说明
| 错误码 | 错误信息 | 描述 |
|---|---|---|
| 2026 | 无效的文本样式信息 | 文本或关键词参数格式错误或值无效 |
| 2027 | 文本样式创建失败 | 创建文本样式过程中发生错误 |
使用说明
关键词匹配规则
- 优先级匹配: 长关键词优先于短关键词,避免匹配冲突
- 完全匹配: 关键词必须完全匹配文本中的内容
- 无重叠: 已匹配的文本位置不会被其他关键词重复匹配
- 大小写敏感: 关键词匹配区分大小写
颜色格式
- 十六进制格式: #RRGGBB,如 #ff7100
- 自动转换: 系统会自动将十六进制颜色转换为0-1范围的RGB值
- 容错处理: 无效颜色会自动使用默认橙色 #ff7100
样式生成逻辑
- 文本分割: 根据关键词位置将文本分割为多个片段
- 样式应用: 为每个片段应用相应的样式(普通样式或关键词样式)
- 连续排列: 样式片段按文本顺序连续排列,确保完整覆盖
应用场景
内容创作
- 标题制作: 突出标题中的关键信息
- 字幕设计: 为视频字幕添加重点强调
- 广告文案: 突出产品特色和卖点
教育培训
- 重点标记: 标记学习材料中的重点概念
- 知识强化: 通过视觉差异加强记忆
- 层次展示: 区分不同重要级别的内容
营销推广
- 品牌突出: 强调品牌名称和标语
- 优惠信息: 突出价格、折扣等关键信息
- 行动召唤: 强调"立即购买"、"马上行动"等词语
技术实现细节
文本处理流程
- 关键词解析: 将关键词字符串按 | 分割并按长度排序
- 位置查找: 在原文本中查找所有关键词的位置
- 冲突处理: 处理关键词重叠问题,优先匹配长关键词
- 样式生成: 为每个文本片段生成对应的样式信息
颜色处理
- RGB转换: 十六进制颜色转换为浮点RGB值
- 范围标准化: 将0-255的整数值转换为0-1的浮点值
- 精度保持: 保持足够的小数精度确保颜色准确
性能优化
- 高效匹配: 使用正则表达式进行快速文本匹配
- 内存管理: 合理管理文本片段和样式对象的内存使用
- 错误恢复: 提供完善的错误处理和默认值机制
注意事项
- 关键词长度建议控制在合理范围内,过长的关键词可能影响匹配效果
- 颜色值建议使用标准的十六进制格式,确保颜色显示准确
- 字体大小建议在8-72范围内,过小或过大都可能影响显示效果
- 关键词数量建议适中,过多的关键词可能导致文本过于复杂
- 建议在前端预览样式效果,确保符合设计要求
简创AIGC官方文档