# 创建或更新转码模板 (/zh-CN/api-reference/api-ref/cloud-transcoding/template-create)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

创建或更新指定 App ID 下的转码模板。

- OpenAPI: /openapi/cloud-transcoding/cloud-transcoding.zh-CN.yaml
- Operation ID: post-v1-projects-appId-rtls-abr-config-codecs-codecId
- Method: POST
- Path: /v1/projects/{appId}/rtls/abr/config/codecs/{codecId}
- Endpoint: https://api.sd-rtn.com/v1/projects/{appId}/rtls/abr/config/codecs/{codecId}

## Servers

- https://api.sd-rtn.com

创建或更新指定 App ID 下的转码模板。

- 发起请求创建转码模板时，Body 中所有字段都是必填。
- 创建后，如果你想更新转码模板，可以再次发起请求。更新视频属性时，你需要填写完整的 `video` object，不能只填写 `video` object 中的单个字段。


## Authorization

This endpoint requires authentication.

- `Basic Auth`
- `API Key`

## Parameters

- `Content-Type` (header, required, string) - `application/json`
- `codecId` (path, required, string) - 转码模板的 ID。字符串长度不超过 64 字节，支持的字符集范围（共 89 个字符）如下：

- 26 个小写英文字母 a~z
- 26 个大写英文字母 A~Z
- 10 个数字 0~9
- 空格
- `!`、`#`、`$`、`%`、`&`、`(`、`)`、`+`、`-`、`:`、`;`、`<`、`=`、`.`、`>`、`?`、`@`、`[`、`]`、`^`、`_`、`{`、`}`、`|`、`~`、`,`

**用法说明**：假设你在频道名为 `channel` 的频道中开启观众端多码率功能，并且创建转码模板，设置转码模板 ID 为 `codecId`。那么，观众端进入对应的 `channel_codecId` 频道即可订阅经过转码模板处理过的多码率主播流。
- `appId` (path, required, string) - 声网为每个开发者提供的 **App ID**。在声网控制台创建一个项目后即可得到一个 App ID。一个 App ID 是一个项目的唯一标识。

## Request body

- `enabled` (boolean, required) - 是否开启该转码模版：
- `true`：开启该模板。
- `false`：不开启该模板。
- `video` (object, required)
  - `video.width` (number, required) - 转码输出视频的宽度 (px)。
    - Range: `(0, 1920]`
  - `video.height` (number, required) - 转码输出视频的高度 (px)。
    - Range: `(0, 1920]`
  - `video.fps` (number, required) - 转码输出视频的帧率 (fps)。
    - Range: `(0, 60]`

## Responses

### 200

如果状态码为 200，则请求成功。

- `status` (string) - 本次请求的状态：
- `success`：请求成功。
- `error`：请求失败。

### 非 200

如果状态码不为 200，表示请求失败。请根据响应状态码和 `message` 字段进行排查。

- `status` (string) - 本次请求的状态：
- `success`：请求成功。
- `error`：请求失败。

- `message` (string) - 描述请求失败的原因。

## Response examples

### 200

```json
{
  "status": "本次请求的状态：\n- `success`：请求成功。\n- `error`：请求失败。\n"
}
```
### 非 200

```json
{
  "status": "本次请求的状态：\n- `success`：请求成功。\n- `error`：请求失败。\n",
  "message": "描述请求失败的原因。"
}
```
