Skip to content
当前页导航

创建文本富文本样式接口文档

接口概述

为文本创建富文本样式,支持关键词高亮、颜色设置、字体大小调整等功能。该接口可以将普通文本转换为包含样式信息的富文本格式,实现关键词突出显示、多样化的文本展示效果。

更多文档

📖 更多详细文档和教程请访问:https://docs.jcaigc.cn

接口信息

  • 请求方式: POST
  • 接口路径: /openapi/capcut-mate/v1/add_text_style
  • Content-Type: application/json

请求参数

请求体 (Body)

参数名类型必填默认值描述
textstring-要处理的文本内容
keywordstring-关键词,多个用 | 分隔
font_sizeinteger12普通文本的字体大小
keyword_colorstring"#ff7100"关键词文本颜色(十六进制)
keyword_font_sizeinteger15关键词字体大小

参数详细说明

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
    }
  ]
}

样式对象字段说明

字段名类型描述
textstring原始文本内容
stylesarray样式片段数组

样式片段字段说明

字段名类型描述
fill.content.solid.colorarrayRGB颜色值数组,值范围0-1
rangearray文本范围 [起始位置, 结束位置]
sizeinteger字体大小
font.idstring字体ID(当前为空)
font.pathstring字体路径(当前为空)
useLetterColorboolean是否使用字母颜色(仅关键词包含)

错误响应

json
{
  "code": 2026,
  "message": "无效的文本样式信息,请检查文本或关键词参数"
}

错误码说明

错误码错误信息描述
2026无效的文本样式信息文本或关键词参数格式错误或值无效
2027文本样式创建失败创建文本样式过程中发生错误

使用说明

关键词匹配规则

  1. 优先级匹配: 长关键词优先于短关键词,避免匹配冲突
  2. 完全匹配: 关键词必须完全匹配文本中的内容
  3. 无重叠: 已匹配的文本位置不会被其他关键词重复匹配
  4. 大小写敏感: 关键词匹配区分大小写

颜色格式

  • 十六进制格式: #RRGGBB,如 #ff7100
  • 自动转换: 系统会自动将十六进制颜色转换为0-1范围的RGB值
  • 容错处理: 无效颜色会自动使用默认橙色 #ff7100

样式生成逻辑

  1. 文本分割: 根据关键词位置将文本分割为多个片段
  2. 样式应用: 为每个片段应用相应的样式(普通样式或关键词样式)
  3. 连续排列: 样式片段按文本顺序连续排列,确保完整覆盖

应用场景

内容创作

  • 标题制作: 突出标题中的关键信息
  • 字幕设计: 为视频字幕添加重点强调
  • 广告文案: 突出产品特色和卖点

教育培训

  • 重点标记: 标记学习材料中的重点概念
  • 知识强化: 通过视觉差异加强记忆
  • 层次展示: 区分不同重要级别的内容

营销推广

  • 品牌突出: 强调品牌名称和标语
  • 优惠信息: 突出价格、折扣等关键信息
  • 行动召唤: 强调"立即购买"、"马上行动"等词语

技术实现细节

文本处理流程

  1. 关键词解析: 将关键词字符串按 | 分割并按长度排序
  2. 位置查找: 在原文本中查找所有关键词的位置
  3. 冲突处理: 处理关键词重叠问题,优先匹配长关键词
  4. 样式生成: 为每个文本片段生成对应的样式信息

颜色处理

  • RGB转换: 十六进制颜色转换为浮点RGB值
  • 范围标准化: 将0-255的整数值转换为0-1的浮点值
  • 精度保持: 保持足够的小数精度确保颜色准确

性能优化

  • 高效匹配: 使用正则表达式进行快速文本匹配
  • 内存管理: 合理管理文本片段和样式对象的内存使用
  • 错误恢复: 提供完善的错误处理和默认值机制

注意事项

  • 关键词长度建议控制在合理范围内,过长的关键词可能影响匹配效果
  • 颜色值建议使用标准的十六进制格式,确保颜色显示准确
  • 字体大小建议在8-72范围内,过小或过大都可能影响显示效果
  • 关键词数量建议适中,过多的关键词可能导致文本过于复杂
  • 建议在前端预览样式效果,确保符合设计要求

相关接口