# 发起 PPT 转码 (/zh-CN/api-reference/api-ref/ppt-conversion-service/start-conversion)

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

发起一个 PPT 转码任务。

- OpenAPI: /openapi/ppt-conversion-service/rest-api.zh-CN.yaml
- Operation ID: post-v5-projector-tasks
- Method: POST
- Path: /v5/projector/tasks
- Endpoint: https://api.netless.link/v5/projector/tasks

## Servers

- https://api.netless.link

## Parameters

- `region` (header, required, string) - 指定处理该请求的数据中心，取值如下：

- `cn-hz`：中国杭州，服务区覆盖中国大陆地区及其他数据中心未覆盖的区域。
- `us-sv`：美国硅谷，服务区覆盖北美洲、南美洲。
- `sg`：新加坡，服务区覆盖新加坡、东亚、东南亚。
- `in-mum`：印度孟买，服务区覆盖印度。
- `eu`：欧洲（法兰克福），服务区覆盖欧洲。
  - Allowed: `cn-hz` | `us-sv` | `sg` | `in-mum` | `eu`
- `token` (header, required, string) - SDK Token，可以通过以下方式获取：

- 在声网控制台生成用于测试的 SDK Token，详见[获取安全密钥](/zh-CN/realtime-media/ppt-transcoding/build/setup-and-access/enable-service#2-获取安全密钥)。
- 调用服务端 RESTful API， 详见[生成 SDK Token](generate-sdk-token)。
- 在 app 服务端用代码生成，详见[在 app 服务端生成 Token](/zh-CN/realtime-media/whiteboard/fastboard-sdk/build/setup-and-access/generate-token#在-app-服务端生成-token)。

## Request body

- `resource` (string, required) - 待转换的源文件 URL。
- `type` (string) - 转换任务类型，取值如下：

- `dynamic`：动态文档转换，即文档转网页。
- `static`：静态文档转换，即文档转图片。
  - Default: `dynamic`
- `preview` (boolean) - 是否需要生成预览图：

- `true`：是。
- `false`：否。
该参数仅在 `type` 设为 `dynamic` 时生效。
- `scale` (number) - 图片缩放比例。数值越大，图片越清晰。该参数仅在 `type` 设为 `static` 时生效。
  - Default: `1.2`
  - Range: `[0.1, 3]`
- `outputFormat` (string) - 输出图片格式，取值如下：

- `png`：PNG 格式。
- `jpg`：JPG 格式。
- `jpeg`：JPEG 格式。
- `qpdf`：QPDF 格式。仅 PDF 文件支持转换为 QPDF 格式。你可以使用 [`@netless-app-pdfjs`](https://github.com/netless-io/netless-app-pdfjs) 插件展示到基于 Fastboard SDK 的互动白板 App 中。
该参数仅在 `type` 设为 `static` 时生效。
  - Default: `png`
- `webhookEndpoint` (string) - Webhook 回调地址，一般为 app 服务端地址，用于接收服务端发送的转换任务进度等信息。传入该参数即可激活 Webhook 回调，接收来自服务端的文档转换进度和运行状态信息。
> [!CAUTION]
> Webhook 回调有一定概率重复回调，为保证 app 服务端在接到相同响应时的处理方式保持一致，需要做好幂等处理。
- `webhookRetry` (number) - Webhook 回调失败时的重试次数。
  - Default: `3`
  - Maximum: `10`
- `imageCompressionLevel` (number) - 动态转换输出图片的压缩等级，仅能传入以下值：

- `0`：（默认）输出原图。
- `1`：输出图片使用的最大颜色数量限制为 256。
- `2`：输出图片使用的最大颜色数量限制为 192。
- `3`：输出图片使用的最大颜色数量限制为 128。
- `4`：输出图片使用的最大颜色数量限制为 64。
该参数仅在 `type` 设为 `dynamic` 时生效。
> [!NOTE]
> 通常，在保证画质不受明显影响的前提下，输出图片的体积最高可以压缩至原图的 10%。压缩图片体积可在弱网环境下改善转换后 PPT 的首次加载时间。
  - Default: `0`

### Request body example

```json
{
  "resource": "https://docs-test-xx.oss-cn-hangzhou.aliyuncs.com/xxx",
  "type": "dynamic",
  "preview": true,
  "webhookEndpoint": "https://example.com/agoracallback",
  "webhookRetry": 3,
  "imageCompressionLevel": 0
}
```

## Responses

### 201

若返回的状态码为 `201` 则表示请求成功。响应包体中包含本次请求的结果。

若返回的状态码不为 `201` 则表示请求失败。你可以参考[响应状态码](/zh-CN/realtime-media/ppt-transcoding/reference/response-code)了解可能的原因。

- `uuid` (string) - 转换任务的 UUID，即转换任务的唯一标识符。
- `type` (string) - 转换任务类型，取值如下：

- `dynamic`：动态文档转换，即文档转网页。
- `static`：静态文档转换，即文档转图片。
- `status` (string) - 转换任务的状态：

- `Waiting`：等待转换。
- `Converting`：转换中。
- `Finished`：已完成。
- `Fail`：失败。

## Response examples

### 201

```json
{
  "uuid": "2fd2dxxxxx367e",
  "status": "Waiting"
}
```
