枚举清单

一次拉取同合云各接口入参枚举的全集:音色、字幕样式与颜色、语种码、工程文件格式、抠像模式、节奏预设等。

这份清单是机器可读的真相源。 各接口文档里写的枚举值都是它的快照——两边若出现出入,以本接口返回的为准

基本信息

项目
请求方法GET
请求路径/catalog
鉴权方式无需鉴权
缓存Cache-Control: public, max-age=60 + ETag

无请求参数。

为什么需要它

枚举值会随服务端更新而变化——新增一种字幕样式、上线一个新音色、临时下架一个任务类型。 在此之前,调用方只能把这些值抄进自己的代码,然后等某天服务端变了、抄的那份还是旧的:

  • 服务端新增的合法值,被调用方本地校验拒掉;
  • 服务端已下架的值,调用方还在往外发。

两种情况都不会报错,只是行为不对。拉这份清单就不必再抄。

两个版本字段,含义不同

字段变化时机你该怎么用
schema结构变化时(字段怎么排),人工递增;只新增分节或字段时不递增先看它。它变了说明解析代码可能要改
catalog_version内容变化时(枚举值本身),由内容自动派生与本地快照比对,不同就更新快照

HTTP 的 ETagcatalog_version 同源同值。带 If-None-Match 请求,内容未变时返回 304 空体。

响应示例

{
  "code": 200,
  "msg": "success",
  "data": {
    "schema": 1,
    "catalog_version": "c9843194d63429ac31012be87ae0be3b",
    "sections": {
      "tts": {
        "voices": [
          { "id": "ali_longlaobo_v3", "internal_only": false, "maturity": "stable" }
        ],
        "output_formats": ["wav", "mp3"],
        "split_methods": ["cut0", "cut1", "cut2", "cut3", "cut4", "cut5"],
        "subtitle_formats": ["srt"]
      },
      "music_visualizer": {
        "templates": ["aurora", "bars", "lissajous", "nowplaying", "pulsar", "ridge", "ring", "shockwave", "vinyl"]
      },
      "subtitle": {
        "languages": { "中文": "zh-CN", "英文": "en-US", "日文": "ja-JP" },
        "source_languages": {
          "video_oral_cut": ["en-US", "fr-FR", "ja-JP", "ko-KR", "zh-CHS", "zh-CHT", "zh-CN"]
        },
        "styles": ["default", "outline", "cinema_yellow", "immersive_box", "wide_spacing", "deep_shadow", "boxed"],
        "colors": ["雅黑", "淡绿", "森林绿", "湖蓝", "道奇蓝", "钢蓝", "浅粉红", "深橙", "珊瑚橙", "橙红", "土豪金"]
      },
      "asr": { "languages": ["zh-CN", "en-US", "ja-JP"] },
      "task_availability": { "offline": [] },
      "matting": {
        "video": { "target_modes": ["auto", "mask"], "output_formats": ["webm"] },
        "image": { "output_formats": ["png", "webp"] }
      },
      "audio_separation": { "modes": ["fast", "turbo"] },
      "oral_cut": { "rhythm_presets": ["compact", "concise", "steady"] },
      "project_formats": {
        "public": ["xml", "fcpxml", "otio", "jianying", "capcut", "gtrk"],
        "aliases": ["xml", "fcpxml", "otio", "jianying_draft", "jianying_meta", "capcut_draft", "capcut_meta", "gtrk"]
      },
      "video_ai_segment": { "modes": ["narrative", "scene", "shot_type", "subject"] },
      "video_interpolate": { "multipliers": [2, 3, 4] }
    }
  }
}

示例中 voiceslanguagessource_languagesasr.languages 都只列了一部分,实际返回全量。

分节说明

分节用在哪
tts语音克隆的音色、输出格式、文本切分方式、字幕格式
music_visualizer音乐可视化模板
subtitle字幕语种:languages 是共同范围(翻译目标语按它取值),source_languages 按任务类型列出受理的识别源语种;以及样式、颜色
asr语音识别(/asr)受理的识别语种
task_availabilityoffline 列出临时下架的任务类型;空数组表示当前没有下架的
matting视频 / 图片抠像的模式与输出格式
audio_separation人声分离模式
oral_cut口播剪辑的节奏预设
project_formats工程文件格式。public 是对外枚举,aliases 是仍被接受的旧细粒度值
video_ai_segment智能分镜模式
video_interpolate插帧倍数

关于 task_availability

offline 里的任务类型仍在册(类型、计价都照常),只是暂时不接受创建,提交会返回错误码 6029。 恢复上架后它会从这个数组里消失。

这里不下发在册类型全集——那份清单在控制台,由运营维护;本接口只回答「哪些暂时不能用」。

关于 internal_only

标了 internal_only: true 的音色照常列出,但仅内部账号可用。展示不等于可用

建议的用法

  1. 首次调用时把整份 data 落成本地快照,记下 catalog_version
  2. 之后带 If-None-Match: <上次的 ETag> 请求;收到 304 就继续用本地快照。
  3. 拉不到时用最后一次成功的快照,不要因此中断你的流程。
  4. 完全没有快照时,跳过本地校验、直接提交——服务端白名单永远是最终判据。

错误码

本接口只读、无参数,正常情况下只返回 200304