# Cloud Phone ライブ配信

オープン API またはローカル API を使用して MP4 ファイルをアップロードし、配信の開始、状態確認、終了を行います。

## 前提条件

- WUIN または Xiaosuan モデルを使用してください。その他のプロバイダーは現在 `33401` を返します。Cloud Phone を起動し、操作権限を持つ OAuth2 トークンを取得します。
- ファイルは MP4 形式で、`uploadType=2` を指定してアップロードします。


## オープン API の手順

1. `POST /cloudphone/uploadUrl` を呼び出し、HTTP `PUT` で MP4 を `presignedUrl` にアップロードします。
2. `uploadType: 2` を指定して `POST /cloudphone/uploadFile` を呼び出します。
3. `POST /cloudphone/uploadFileResult` を確認します。`data` が `null` の場合は続けてポーリングし、`data.status` が `1`（成功）または `2`（失敗）になったら停止します。
4. 文字列 `data.fileId` の正確な値を `int64` として `POST /cloudphone/live/start` に送信します。JavaScript では `Number` に変換せず、任意精度のシリアライザーを使用してください。
5. `/cloudphone/live/status` で状態を確認し、`/cloudphone/live/end` で終了します。


ローカル API では `/api/cloudphone/upload/file/signedUrl`、`uploadType: 2` を指定した `/api/cloudphone/upload/file`、`/api/cloudphone/upload/file/result` を使用し、その後 `/api/cloudphone/live/start`、`/status`、`/end` を呼び出します。残高と割り当ては `GET /api/balance` で取得できます。

完全なスキーマは [Cloud Phone オープン API](/ja/api-reference/cloud-phone/open-api) と [Cloud Phone ローカル API](/ja/api-reference/cloud-phone/local-api) を参照してください。開始がタイムアウトした場合は、再試行前に状態を確認します。配信エラーは `33300`、`33301`、`33401`、`33418`、`99002` です。MP4 以外の場合、アップロード API が `33419` を返します。