@xmaxai/web-sdk 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +181 -12
- package/dist/{chunk-FEL5MJMJ.cjs → chunk-JN6HURTT.cjs} +1770 -376
- package/dist/chunk-JN6HURTT.cjs.map +1 -0
- package/dist/{chunk-FMAQXPTE.js → chunk-VMJXIVUF.js} +1578 -184
- package/dist/chunk-VMJXIVUF.js.map +1 -0
- package/dist/index.cjs +14 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +350 -92
- package/dist/index.d.ts +350 -92
- package/dist/index.js +15 -3
- package/dist/react/index.cjs +3 -3
- package/dist/react/index.cjs.map +1 -1
- package/dist/react/index.js +1 -1
- package/package.json +9 -7
- package/dist/chunk-FEL5MJMJ.cjs.map +0 -1
- package/dist/chunk-FMAQXPTE.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,36 +2,59 @@ import { R as RealtimeVideoFormat, a as RealtimeVideoTrack, C as CameraPosition,
|
|
|
2
2
|
export { b as RealtimeVideoEncoderPreference, c as RealtimeVideoFormatInit } from './VideoContentMode-BM97_H8V.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* 实时媒体使用的 RTC 提供方;一个 Manager 生命周期内保持不变。
|
|
6
6
|
*/
|
|
7
|
-
declare enum
|
|
7
|
+
declare enum RtcProvider {
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* 腾讯实时音视频。
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
trtc = "trtc",
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* 声网实时音视频。
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
agora = "agora",
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* 火山引擎实时音视频。
|
|
18
18
|
*/
|
|
19
|
+
vertc = "vertc"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* SDK 当前支持的实时生成模型。
|
|
24
|
+
*/
|
|
25
|
+
declare enum RealtimeModel {
|
|
26
|
+
x2_0 = "x2.0",
|
|
27
|
+
x2_0_trtc = "x2.0-trtc",
|
|
19
28
|
x2_0_agora = "x2.0-agora",
|
|
20
|
-
/** X2.1 预览模型;媒体规格与 x2.0-trtc 相同。 */
|
|
21
29
|
x2_1_preview = "x2.1-preview"
|
|
22
30
|
}
|
|
31
|
+
/** 内置模型或服务端新增的模型标识;自定义名称原样传给服务端。 */
|
|
32
|
+
type RealtimeModelName = RealtimeModel | (string & {});
|
|
33
|
+
/**
|
|
34
|
+
* 模型输入画面的像素尺寸。
|
|
35
|
+
*/
|
|
23
36
|
interface ModelSize {
|
|
24
37
|
width: number;
|
|
25
38
|
height: number;
|
|
26
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* 获取模型的显示名称。
|
|
42
|
+
*/
|
|
43
|
+
declare function modelDisplayName(model: RealtimeModelName): string;
|
|
27
44
|
/**
|
|
28
45
|
* 未指定视频规格时,各媒体来源使用的默认帧率。
|
|
29
46
|
*/
|
|
30
|
-
declare function defaultFrameRate(_model:
|
|
47
|
+
declare function defaultFrameRate(_model: RealtimeModelName): number;
|
|
31
48
|
/**
|
|
32
49
|
* 摄像头采集使用的默认视频规格。
|
|
33
50
|
*/
|
|
34
|
-
declare function defaultCameraVideoFormat(model:
|
|
51
|
+
declare function defaultCameraVideoFormat(model: RealtimeModelName): RealtimeVideoFormat;
|
|
52
|
+
/**
|
|
53
|
+
* 查询 SDK 允许配置的 RTC 提供方,第一项为默认值。
|
|
54
|
+
* 未知模型默认沿用 x2.1-preview 的 VeRTC,也允许显式选择其他已接入的 RTC;
|
|
55
|
+
* 是否被该模型的服务端支持,由服务端决定。
|
|
56
|
+
*/
|
|
57
|
+
declare function supportedRtcProviders(model: RealtimeModelName): readonly RtcProvider[];
|
|
35
58
|
|
|
36
59
|
/**
|
|
37
60
|
* 定义媒体输入规则与平台媒体能力查询能力。
|
|
@@ -90,11 +113,11 @@ declare class StoredFile {
|
|
|
90
113
|
}
|
|
91
114
|
|
|
92
115
|
/**
|
|
93
|
-
*
|
|
116
|
+
* 上传图片或视频的参数。
|
|
94
117
|
*/
|
|
95
118
|
interface StorageUploadOptions {
|
|
96
119
|
/**
|
|
97
|
-
*
|
|
120
|
+
* 文件数据;File 作为 Blob 的子类可直接传入。
|
|
98
121
|
*/
|
|
99
122
|
data: Blob | ArrayBuffer | Uint8Array;
|
|
100
123
|
/**
|
|
@@ -102,7 +125,7 @@ interface StorageUploadOptions {
|
|
|
102
125
|
*/
|
|
103
126
|
fileName: string;
|
|
104
127
|
/**
|
|
105
|
-
*
|
|
128
|
+
* 文件 MIME 类型;缺省按文件名后缀推断。
|
|
106
129
|
*/
|
|
107
130
|
contentType?: string;
|
|
108
131
|
/**
|
|
@@ -111,104 +134,72 @@ interface StorageUploadOptions {
|
|
|
111
134
|
onProgress?: (transferred: number, total: number) => void;
|
|
112
135
|
}
|
|
113
136
|
/**
|
|
114
|
-
*
|
|
137
|
+
* 定义图片、视频上传和视频下载能力。
|
|
115
138
|
*/
|
|
116
139
|
interface StorageServicing {
|
|
117
140
|
/**
|
|
118
141
|
* 上传图片。
|
|
119
142
|
*
|
|
120
|
-
* 从 Xmax
|
|
121
|
-
* 实时生成的参考图路径。
|
|
143
|
+
* 从 Xmax 服务获取临时凭证后直传对象存储。
|
|
122
144
|
*
|
|
123
145
|
* @returns 已存储文件信息。
|
|
124
146
|
* @throws 参数无效、凭证获取失败或上传失败时抛出错误。
|
|
125
147
|
*/
|
|
126
148
|
uploadImage(options: StorageUploadOptions): Promise<StoredFile>;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/**
|
|
130
|
-
* 实时媒体使用的 RTC 提供方;一个 Manager 生命周期内保持不变。
|
|
131
|
-
*/
|
|
132
|
-
declare enum RtcProvider {
|
|
133
149
|
/**
|
|
134
|
-
*
|
|
150
|
+
* 上传视频。
|
|
151
|
+
*
|
|
152
|
+
* 从 Xmax 服务获取临时凭证后,通过 COS putObject 普通上传原始文件。
|
|
153
|
+
* 不进行转码、压缩或分片上传;单个文件受 COS 普通上传的 5GB 上限约束。
|
|
154
|
+
*
|
|
155
|
+
* @returns 已存储文件信息。
|
|
156
|
+
* @throws 参数无效、凭证获取失败或上传失败时抛出错误。
|
|
135
157
|
*/
|
|
136
|
-
|
|
158
|
+
uploadVideo(options: StorageUploadOptions): Promise<StoredFile>;
|
|
137
159
|
/**
|
|
138
|
-
*
|
|
160
|
+
* 下载完整视频文件并触发浏览器保存;跨域地址需要允许 CORS。
|
|
161
|
+
*
|
|
162
|
+
* @param options.url 可直接访问的 HTTP(S) 视频地址。
|
|
163
|
+
* @param options.fileName 保存时建议使用的文件名。
|
|
164
|
+
* @param options.signal 用于取消网络下载的信号。
|
|
165
|
+
* @returns 文件读取完成并已触发浏览器保存,不代表文件已写入磁盘。
|
|
166
|
+
* @throws 参数无效、非浏览器环境、下载失败或主动取消时抛出错误。
|
|
139
167
|
*/
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
168
|
+
downloadVideo(options: {
|
|
169
|
+
url: string;
|
|
170
|
+
fileName: string;
|
|
171
|
+
signal?: AbortSignal;
|
|
172
|
+
}): Promise<void>;
|
|
143
173
|
}
|
|
144
174
|
|
|
145
|
-
/**
|
|
146
|
-
* 远端视频插帧的开关与显示帧率配置。
|
|
147
|
-
*/
|
|
148
|
-
interface FrameInterpolationConfiguration {
|
|
149
|
-
/**
|
|
150
|
-
* 是否请求开启远端插帧,默认 false。不支持时自动播放原视频。
|
|
151
|
-
*/
|
|
152
|
-
enabled?: boolean;
|
|
153
|
-
/**
|
|
154
|
-
* 显示帧率上限,默认 60;每对源帧最多插入一帧。取值 1–60。
|
|
155
|
-
*/
|
|
156
|
-
targetFrameRate?: number;
|
|
157
|
-
}
|
|
158
|
-
interface RealtimeConfigurationInit {
|
|
159
|
-
/**
|
|
160
|
-
* RTC 提供方,默认 TRTC;不根据模型名称自动推断。
|
|
161
|
-
*/
|
|
162
|
-
provider?: RtcProvider;
|
|
163
|
-
/**
|
|
164
|
-
* 实时生成业务使用的模型。
|
|
165
|
-
*/
|
|
166
|
-
model: RealtimeModel;
|
|
167
|
-
/**
|
|
168
|
-
* 是否默认开启远端生成画面的插帧,默认 false。
|
|
169
|
-
* frameInterpolation.enabled 显式设置时优先。
|
|
170
|
-
*/
|
|
171
|
-
isFrameInterpolationEnabled?: boolean;
|
|
172
|
-
/**
|
|
173
|
-
* 插帧详细配置;enabled 显式设置时优先于简化开关。
|
|
174
|
-
*/
|
|
175
|
-
frameInterpolation?: FrameInterpolationConfiguration;
|
|
176
|
-
}
|
|
177
175
|
/**
|
|
178
176
|
* 创建实时 Manager 所需的业务配置。
|
|
179
177
|
*/
|
|
180
178
|
declare class RealtimeConfiguration {
|
|
181
|
-
/**
|
|
182
|
-
* RTC 配置
|
|
183
|
-
*/
|
|
184
|
-
readonly provider: RtcProvider;
|
|
185
|
-
/**
|
|
186
|
-
* 模型配置
|
|
187
|
-
*/
|
|
188
179
|
/**
|
|
189
180
|
* 实时生成业务使用的模型。
|
|
190
181
|
*/
|
|
191
|
-
readonly model:
|
|
182
|
+
readonly model: RealtimeModelName;
|
|
192
183
|
/**
|
|
193
|
-
*
|
|
184
|
+
* 实时连接使用的 RTC 提供方。
|
|
194
185
|
*/
|
|
186
|
+
readonly provider: RtcProvider;
|
|
195
187
|
/**
|
|
196
188
|
* 是否默认请求开启远端生成画面的插帧。
|
|
197
189
|
*/
|
|
198
190
|
readonly isFrameInterpolationEnabled: boolean;
|
|
199
|
-
/**
|
|
200
|
-
* 已补全默认值的只读插帧配置。
|
|
201
|
-
*/
|
|
202
|
-
readonly frameInterpolation: Readonly<Required<FrameInterpolationConfiguration>>;
|
|
203
191
|
/**
|
|
204
192
|
* 创建实时业务配置。
|
|
205
193
|
*
|
|
206
|
-
* @param init.model
|
|
207
|
-
* @param init.provider RTC
|
|
208
|
-
* @param init.isFrameInterpolationEnabled
|
|
209
|
-
* @param init.frameInterpolation 插帧开关和显示帧率上限的详细配置。
|
|
194
|
+
* @param init.model 实时生成业务使用的模型;未知名称原样透传,默认配置同 x2.1-preview。
|
|
195
|
+
* @param init.provider RTC 提供方,默认按模型定义选择;必须受模型支持,创建后不可切换。
|
|
196
|
+
* @param init.isFrameInterpolationEnabled 是否默认开启远端生成画面的插帧,默认 false。
|
|
210
197
|
*/
|
|
211
|
-
constructor(init:
|
|
198
|
+
constructor(init: {
|
|
199
|
+
model: RealtimeModelName;
|
|
200
|
+
provider?: RtcProvider;
|
|
201
|
+
isFrameInterpolationEnabled?: boolean;
|
|
202
|
+
});
|
|
212
203
|
}
|
|
213
204
|
|
|
214
205
|
/**
|
|
@@ -238,7 +229,32 @@ interface NetworkStatistics {
|
|
|
238
229
|
*/
|
|
239
230
|
type NetworkStatisticsListener = (statistics: NetworkStatistics | undefined) => void;
|
|
240
231
|
|
|
232
|
+
/**
|
|
233
|
+
* 服务端读取网络视频时使用的采样方式。
|
|
234
|
+
*/
|
|
235
|
+
declare enum RealtimeVideoSampleMethod {
|
|
236
|
+
time = "time",
|
|
237
|
+
fps = "fps"
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* 服务端可直接访问的网络视频及采样配置。
|
|
241
|
+
*/
|
|
242
|
+
interface RealtimeReferenceVideo {
|
|
243
|
+
/**
|
|
244
|
+
* HTTP 或 HTTPS 视频地址。
|
|
245
|
+
*/
|
|
246
|
+
readonly path: string;
|
|
247
|
+
/**
|
|
248
|
+
* 服务端采样方式。
|
|
249
|
+
*/
|
|
250
|
+
readonly sampleMethod: RealtimeVideoSampleMethod;
|
|
251
|
+
}
|
|
252
|
+
|
|
241
253
|
interface RealtimeContextInit {
|
|
254
|
+
/**
|
|
255
|
+
* 服务端直接读取的网络视频。
|
|
256
|
+
*/
|
|
257
|
+
referenceVideo?: RealtimeReferenceVideo;
|
|
242
258
|
/**
|
|
243
259
|
* 实时生成使用的文本条件。
|
|
244
260
|
*/
|
|
@@ -252,6 +268,10 @@ interface RealtimeContextInit {
|
|
|
252
268
|
* 单次实时生成任务的文本和参考资源上下文。
|
|
253
269
|
*/
|
|
254
270
|
declare class RealtimeContext {
|
|
271
|
+
/**
|
|
272
|
+
* 服务端直接读取的网络视频。
|
|
273
|
+
*/
|
|
274
|
+
readonly referenceVideo?: RealtimeReferenceVideo;
|
|
255
275
|
/**
|
|
256
276
|
* 生成条件
|
|
257
277
|
*/
|
|
@@ -697,6 +717,36 @@ interface XmaxRealtimeManaging {
|
|
|
697
717
|
*/
|
|
698
718
|
enableFrameValidation?: boolean;
|
|
699
719
|
}): Promise<RealtimeMediaStream>;
|
|
720
|
+
/**
|
|
721
|
+
* 创建服务端直接读取的 HTTP/HTTPS 网络视频源,不采集或发布本地音视频。
|
|
722
|
+
* 本地预览静音播放一次,独立于服务端进度;创建源不会开始生成。
|
|
723
|
+
* 地址必须可由服务端直接访问,不转发浏览器 Cookie 或自定义鉴权头。
|
|
724
|
+
* @param options.videoFormat 模型输入及生成画面规格,不是上行编码参数。
|
|
725
|
+
* @param options.sampleMethod 服务端采样方式,默认 time。
|
|
726
|
+
* @param options.onFinish 当前任务收到服务端完成消息且生成就绪后调用一次,不代表尾帧已播放完。
|
|
727
|
+
* @throws 地址、格式无效或已有活动媒体源时抛错;close 释放源,disconnect 保留预览。
|
|
728
|
+
*/
|
|
729
|
+
createNetworkVideoStream(options: {
|
|
730
|
+
url: string;
|
|
731
|
+
videoFormat: RealtimeVideoFormat;
|
|
732
|
+
sampleMethod?: RealtimeVideoSampleMethod;
|
|
733
|
+
onFinish?: () => void;
|
|
734
|
+
}): Promise<RealtimeMediaStream>;
|
|
735
|
+
/**
|
|
736
|
+
* 从本地 File/Blob 创建文件视频源,支持 TRTC、Agora 和 VeRTC,不访问摄像头或麦克风。
|
|
737
|
+
* 通过 Canvas 等比缩放补黑边,文件音频独立上行,本地预览始终静音。
|
|
738
|
+
* 应从用户点击事件直接调用以解锁播放;创建后停在首帧,startGeneration 时开始播放。
|
|
739
|
+
* @param options.videoFormat 期望的视频规格;尺寸自动匹配最接近宽高比的模型档位,等距时优先横屏。
|
|
740
|
+
* @param options.loop 是否循环播放文件音视频,默认 true。
|
|
741
|
+
* @param options.includeAudio 是否发送文件音频,默认 true;无音轨文件输出静音,false 不创建音频轨。
|
|
742
|
+
* @throws 提供方不支持、文件/格式无效、浏览器无法解码或播放受限时抛错。
|
|
743
|
+
*/
|
|
744
|
+
createLocalVideoStream(options: {
|
|
745
|
+
file: Blob;
|
|
746
|
+
videoFormat: RealtimeVideoFormat;
|
|
747
|
+
loop?: boolean;
|
|
748
|
+
includeAudio?: boolean;
|
|
749
|
+
}): Promise<RealtimeMediaStream>;
|
|
700
750
|
/**
|
|
701
751
|
* 更新当前本地流的上行视频格式,立即应用于 RTC 编码器,不重连或重启生成。
|
|
702
752
|
* 传入完整格式;未指定的码率和编码偏好按 RealtimeVideoFormat 默认规则解析。
|
|
@@ -705,7 +755,7 @@ interface XmaxRealtimeManaging {
|
|
|
705
755
|
* 实际发送规格受设备、浏览器和网络影响,应通过统计回调确认。
|
|
706
756
|
*
|
|
707
757
|
* @param videoFormat 本次完整的上行尺寸、帧率和编码配置。
|
|
708
|
-
* @throws
|
|
758
|
+
* @throws 无本地相机或文件视频流、其他操作进行中、参数无效或 RTC 更新失败时抛错。
|
|
709
759
|
*/
|
|
710
760
|
updateVideoFormat(videoFormat: RealtimeVideoFormat): Promise<void>;
|
|
711
761
|
/**
|
|
@@ -724,11 +774,11 @@ interface XmaxRealtimeManaging {
|
|
|
724
774
|
/**
|
|
725
775
|
* 使用当前 Manager 创建的本地流建立实时连接。
|
|
726
776
|
*
|
|
727
|
-
* 创建实时会话、加入 RTC
|
|
777
|
+
* 创建实时会话、加入 RTC 房间并启动会话心跳;摄像头源发布本地流,网络视频源仅接收。
|
|
728
778
|
* 启用帧检测时,发布前并行等待相机预热(固定 200ms),避免把黑帧推给 RTC。
|
|
729
779
|
* 返回的远端媒体流在生成开始后承载远端生成画面。
|
|
730
780
|
*
|
|
731
|
-
* @param localStream
|
|
781
|
+
* @param localStream 由当前 Manager 创建的摄像头、本地文件或网络视频源。
|
|
732
782
|
* @returns 远端生成结果占位的媒体流。
|
|
733
783
|
* @throws 本地流不属于当前 Manager、已有活动连接、会话创建或进房
|
|
734
784
|
* 发布失败时抛出错误;失败时自动释放连接资源并恢复本地预览。
|
|
@@ -749,7 +799,7 @@ interface XmaxRealtimeManaging {
|
|
|
749
799
|
* 尚未连接时先建立实时连接;已在生成时仅更新生成条件,不重启生成。
|
|
750
800
|
* 首次生成必须提供条件上下文,之后缺省时复用最近一次缓存的上下文。
|
|
751
801
|
*
|
|
752
|
-
* @param options.localStream
|
|
802
|
+
* @param options.localStream 由当前 Manager 创建的摄像头、本地文件或网络视频源。
|
|
753
803
|
* @param options.context 本次生成使用的条件上下文;缺省时复用缓存。
|
|
754
804
|
* @returns 承载远端生成画面的媒体流。
|
|
755
805
|
* @throws 本地流不属于当前 Manager、缺少可用的条件上下文、信令发送
|
|
@@ -913,7 +963,174 @@ declare class XmaxConfiguration {
|
|
|
913
963
|
}
|
|
914
964
|
|
|
915
965
|
/**
|
|
916
|
-
*
|
|
966
|
+
* 非实时视频的输出质量。
|
|
967
|
+
*/
|
|
968
|
+
declare enum NonRealtimeQuality {
|
|
969
|
+
sd = "sd",
|
|
970
|
+
hd = "hd"
|
|
971
|
+
}
|
|
972
|
+
/**
|
|
973
|
+
* 服务端任务状态;上传进度不属于任务状态。
|
|
974
|
+
*/
|
|
975
|
+
declare enum NonRealtimeTaskStatus {
|
|
976
|
+
submitted = "submitted",
|
|
977
|
+
processing = "processing",
|
|
978
|
+
completed = "completed",
|
|
979
|
+
error = "error"
|
|
980
|
+
}
|
|
981
|
+
/**
|
|
982
|
+
* 提交非实时任务的参数;资源必须来自 Xmax 上传流程,不能使用 blob URL 或本地路径。
|
|
983
|
+
*/
|
|
984
|
+
interface NonRealtimeTaskOptions {
|
|
985
|
+
/**
|
|
986
|
+
* 模型标识。
|
|
987
|
+
*/
|
|
988
|
+
model: string;
|
|
989
|
+
/**
|
|
990
|
+
* 已上传源视频的 URL。
|
|
991
|
+
*/
|
|
992
|
+
videoPath: string;
|
|
993
|
+
/**
|
|
994
|
+
* 生成指令;去除首尾空白后为 1–1024 个字符。
|
|
995
|
+
*/
|
|
996
|
+
prompt: string;
|
|
997
|
+
/**
|
|
998
|
+
* 已上传参考图片的 URL;省略表示不使用参考图。
|
|
999
|
+
*/
|
|
1000
|
+
referencePath?: string;
|
|
1001
|
+
/**
|
|
1002
|
+
* 输出质量。
|
|
1003
|
+
*/
|
|
1004
|
+
quality: NonRealtimeQuality;
|
|
1005
|
+
/**
|
|
1006
|
+
* 可选的处理帧率;仅接受协议支持的整数,省略时沿用源视频帧率(含小数)。
|
|
1007
|
+
*/
|
|
1008
|
+
fps?: number;
|
|
1009
|
+
}
|
|
1010
|
+
/**
|
|
1011
|
+
* 非实时生成结果;缺失或 null 的服务端字段规范化为 undefined。
|
|
1012
|
+
*/
|
|
1013
|
+
interface NonRealtimeResult {
|
|
1014
|
+
readonly url?: string;
|
|
1015
|
+
readonly uploadError?: string;
|
|
1016
|
+
readonly uploadStatus?: string;
|
|
1017
|
+
readonly finalizeDurationMs?: number;
|
|
1018
|
+
readonly compressionLevel?: string;
|
|
1019
|
+
readonly frameCount?: number;
|
|
1020
|
+
readonly fps?: number;
|
|
1021
|
+
readonly durationMs?: number;
|
|
1022
|
+
readonly fileSizeBytes?: number;
|
|
1023
|
+
readonly droppedFrameCount?: number;
|
|
1024
|
+
readonly originalFileSizeBytes?: number;
|
|
1025
|
+
}
|
|
1026
|
+
/**
|
|
1027
|
+
* 非实时任务快照;uid 和 status 为 SDK 查询、恢复及轮询所需字段。
|
|
1028
|
+
* 时间戳保持服务端原始字符串,不推断时区。
|
|
1029
|
+
*/
|
|
1030
|
+
interface NonRealtimeTask {
|
|
1031
|
+
readonly uid: string;
|
|
1032
|
+
readonly status: NonRealtimeTaskStatus;
|
|
1033
|
+
readonly userUid?: string;
|
|
1034
|
+
readonly prompt?: string;
|
|
1035
|
+
readonly videoPath?: string;
|
|
1036
|
+
readonly referencePath?: string;
|
|
1037
|
+
readonly processorId?: string;
|
|
1038
|
+
readonly quality?: NonRealtimeQuality;
|
|
1039
|
+
readonly requestedFps?: number;
|
|
1040
|
+
readonly resolvedFps?: number;
|
|
1041
|
+
readonly retryCount?: number;
|
|
1042
|
+
readonly videoDurationSeconds?: number;
|
|
1043
|
+
readonly billableDurationSeconds?: number;
|
|
1044
|
+
readonly chargePoints?: number;
|
|
1045
|
+
readonly result?: NonRealtimeResult;
|
|
1046
|
+
readonly processStartTime?: string;
|
|
1047
|
+
readonly createTimestamp?: string;
|
|
1048
|
+
readonly updateTimestamp?: string;
|
|
1049
|
+
}
|
|
1050
|
+
/**
|
|
1051
|
+
* 分页查询选项。
|
|
1052
|
+
*/
|
|
1053
|
+
interface NonRealtimeTaskListOptions {
|
|
1054
|
+
/**
|
|
1055
|
+
* 从 1 开始的页码,默认 1。
|
|
1056
|
+
*/
|
|
1057
|
+
pageNumber?: number;
|
|
1058
|
+
/**
|
|
1059
|
+
* 每页数量,1–100,默认 10。
|
|
1060
|
+
*/
|
|
1061
|
+
pageSize?: number;
|
|
1062
|
+
/**
|
|
1063
|
+
* 可选的任务状态筛选。
|
|
1064
|
+
*/
|
|
1065
|
+
status?: NonRealtimeTaskStatus;
|
|
1066
|
+
}
|
|
1067
|
+
/**
|
|
1068
|
+
* 按创建时间从新到旧排列的任务页。
|
|
1069
|
+
*/
|
|
1070
|
+
interface NonRealtimeTaskPage {
|
|
1071
|
+
readonly pageNumber: number;
|
|
1072
|
+
readonly pageSize: number;
|
|
1073
|
+
readonly total: number;
|
|
1074
|
+
readonly list: readonly NonRealtimeTask[];
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
/**
|
|
1078
|
+
* 本地任务等待选项;所有时间单位均为毫秒。
|
|
1079
|
+
*/
|
|
1080
|
+
interface NonRealtimeWaitOptions {
|
|
1081
|
+
/**
|
|
1082
|
+
* 成功查询后等待多久再查询,默认 2000;必须为正数。
|
|
1083
|
+
*/
|
|
1084
|
+
intervalMs?: number;
|
|
1085
|
+
/**
|
|
1086
|
+
* 总等待时限,必须为正数;省略时持续等待直至终态或取消。
|
|
1087
|
+
*/
|
|
1088
|
+
timeoutMs?: number;
|
|
1089
|
+
/**
|
|
1090
|
+
* 连续瞬时查询错误允许重试的次数,默认 3;成功查询后重置,0 表示不重试。
|
|
1091
|
+
*/
|
|
1092
|
+
maxConsecutiveRetries?: number;
|
|
1093
|
+
/**
|
|
1094
|
+
* 停止轮询及正在进行的查询,不取消服务端任务或退款。
|
|
1095
|
+
*/
|
|
1096
|
+
signal?: AbortSignal;
|
|
1097
|
+
/**
|
|
1098
|
+
* 每次成功查询的任务快照(含终态),不是生成百分比;回调异常不影响轮询。
|
|
1099
|
+
*/
|
|
1100
|
+
onTaskUpdated?: (task: NonRealtimeTask) => void;
|
|
1101
|
+
}
|
|
1102
|
+
/**
|
|
1103
|
+
* 非实时视频任务能力;各任务和等待操作相互独立,不维护唯一的当前任务。
|
|
1104
|
+
*/
|
|
1105
|
+
interface XmaxNonRealtimeManaging {
|
|
1106
|
+
/**
|
|
1107
|
+
* 提交并立即返回任务;不等待生成,不自动上传资源,也不自动重试提交请求。
|
|
1108
|
+
* 超时或响应解析失败不能证明服务端未创建任务,重复提交可能再次扣费。
|
|
1109
|
+
*/
|
|
1110
|
+
submitTask(options: NonRealtimeTaskOptions): Promise<NonRealtimeTask>;
|
|
1111
|
+
/**
|
|
1112
|
+
* 查询单个任务;服务端 error 状态原样返回,不作为 HTTP 查询失败抛出。
|
|
1113
|
+
*/
|
|
1114
|
+
getTask(taskUid: string, options?: {
|
|
1115
|
+
signal?: AbortSignal;
|
|
1116
|
+
}): Promise<NonRealtimeTask>;
|
|
1117
|
+
/**
|
|
1118
|
+
* 批量查询最多 100 个 ID,去重后按请求顺序返回;任一任务无权限或不存在则整体失败。
|
|
1119
|
+
*/
|
|
1120
|
+
getTasks(taskUids: readonly string[]): Promise<readonly NonRealtimeTask[]>;
|
|
1121
|
+
/**
|
|
1122
|
+
* 查询任务列表;默认第一页、每页 10 条,最多 100 条。
|
|
1123
|
+
*/
|
|
1124
|
+
listTasks(options?: NonRealtimeTaskListOptions): Promise<NonRealtimeTaskPage>;
|
|
1125
|
+
/**
|
|
1126
|
+
* 串行轮询直到 completed 且结果 URL 可用;任务 error 时抛出 NonRealtimeTaskError。
|
|
1127
|
+
* 超时、取消只停止本地等待,之后可使用同一任务 ID 继续查询或等待。
|
|
1128
|
+
*/
|
|
1129
|
+
waitForCompletion(taskUid: string, options?: NonRealtimeWaitOptions): Promise<NonRealtimeTask>;
|
|
1130
|
+
}
|
|
1131
|
+
|
|
1132
|
+
/**
|
|
1133
|
+
* SDK 的统一入口,负责创建实时、非实时和媒体服务组件。
|
|
917
1134
|
*/
|
|
918
1135
|
declare class XmaxClient {
|
|
919
1136
|
/**
|
|
@@ -942,20 +1159,39 @@ declare class XmaxClient {
|
|
|
942
1159
|
* @returns 可用于本地相机预览、实时连接与生成的实时 Manager。
|
|
943
1160
|
*/
|
|
944
1161
|
createRealtimeManager(options: RealtimeConfiguration): XmaxRealtimeManaging;
|
|
1162
|
+
/**
|
|
1163
|
+
* 创建非实时视频任务 Manager,使用全局 API Key 和当前环境的非实时任务服务地址。
|
|
1164
|
+
* 本方法不发起网络请求或加载 RTC,任务由服务端持久化,可按 ID 恢复查询。
|
|
1165
|
+
*/
|
|
1166
|
+
createNonRealtimeManager(): XmaxNonRealtimeManaging;
|
|
945
1167
|
/**
|
|
946
1168
|
* 创建媒体处理与能力查询 Service。
|
|
947
1169
|
*
|
|
948
1170
|
* @param model 媒体输入规则使用的模型,默认为 `x2.0-trtc`。
|
|
949
1171
|
*/
|
|
950
|
-
createMediaService(model?:
|
|
1172
|
+
createMediaService(model?: RealtimeModelName): MediaServicing;
|
|
951
1173
|
/**
|
|
952
1174
|
* 创建文件存储 Service。
|
|
953
1175
|
*
|
|
954
|
-
* @returns
|
|
1176
|
+
* @returns 可上传图片和视频到对象存储的存储 Service。
|
|
955
1177
|
*/
|
|
956
1178
|
createStorageService(): StorageServicing;
|
|
957
1179
|
}
|
|
958
1180
|
|
|
1181
|
+
/**
|
|
1182
|
+
* 服务端任务失败或终态结果不可用;保留最后的任务快照供接入方展示及恢复查询。
|
|
1183
|
+
*/
|
|
1184
|
+
declare class NonRealtimeTaskError extends XmaxError {
|
|
1185
|
+
/**
|
|
1186
|
+
* 失败上下文
|
|
1187
|
+
*/
|
|
1188
|
+
readonly task: NonRealtimeTask;
|
|
1189
|
+
/**
|
|
1190
|
+
* 使用 API 错误分类,不虚构服务端未返回的业务错误码。
|
|
1191
|
+
*/
|
|
1192
|
+
constructor(task: NonRealtimeTask, message: string);
|
|
1193
|
+
}
|
|
1194
|
+
|
|
959
1195
|
/**
|
|
960
1196
|
* 提供模型输入尺寸和平台媒体能力相关的业务规则。
|
|
961
1197
|
* 模型输入尺寸与远端插帧能力。
|
|
@@ -964,13 +1200,13 @@ declare class MediaService implements MediaServicing {
|
|
|
964
1200
|
/**
|
|
965
1201
|
* 模型约束
|
|
966
1202
|
*/
|
|
967
|
-
readonly model:
|
|
1203
|
+
readonly model: RealtimeModelName;
|
|
968
1204
|
/**
|
|
969
1205
|
* 创建媒体服务。
|
|
970
1206
|
*
|
|
971
1207
|
* @param model 媒体输入规则使用的模型,默认为 `x2.0-trtc`。
|
|
972
1208
|
*/
|
|
973
|
-
constructor(model?:
|
|
1209
|
+
constructor(model?: RealtimeModelName);
|
|
974
1210
|
/**
|
|
975
1211
|
* Web 插帧保留原始尺寸;/16 对齐由 GPU 内部补边处理,不缩小回传视频。
|
|
976
1212
|
*/
|
|
@@ -1002,6 +1238,13 @@ declare enum ApiMethod {
|
|
|
1002
1238
|
put = "PUT",
|
|
1003
1239
|
delete = "DELETE"
|
|
1004
1240
|
}
|
|
1241
|
+
/**
|
|
1242
|
+
* 请求控制选项;signal 仅取消本地 HTTP 请求,不撤销服务端已执行的操作。
|
|
1243
|
+
*/
|
|
1244
|
+
interface ApiRequestOptions {
|
|
1245
|
+
signal?: AbortSignal;
|
|
1246
|
+
keepalive?: boolean;
|
|
1247
|
+
}
|
|
1005
1248
|
/**
|
|
1006
1249
|
* 定义 Xmax API 的基础请求能力。
|
|
1007
1250
|
*
|
|
@@ -1018,11 +1261,11 @@ interface ApiServicing {
|
|
|
1018
1261
|
* @returns 统一响应中的 `data` 字段。
|
|
1019
1262
|
* @throws 配置无效、网络失败、业务失败或响应无法解析时抛出错误。
|
|
1020
1263
|
*/
|
|
1021
|
-
request<T>(method: ApiMethod, path: string, body?: unknown): Promise<T>;
|
|
1264
|
+
request<T>(method: ApiMethod, path: string, body?: unknown, options?: ApiRequestOptions): Promise<T>;
|
|
1022
1265
|
/**
|
|
1023
1266
|
* 发送 GET 请求。
|
|
1024
1267
|
*/
|
|
1025
|
-
get<T>(path: string): Promise<T>;
|
|
1268
|
+
get<T>(path: string, options?: ApiRequestOptions): Promise<T>;
|
|
1026
1269
|
/**
|
|
1027
1270
|
* 发送 POST 请求。
|
|
1028
1271
|
*/
|
|
@@ -1103,7 +1346,7 @@ interface StorageServiceOptions {
|
|
|
1103
1346
|
identifierGenerator?: () => string;
|
|
1104
1347
|
}
|
|
1105
1348
|
/**
|
|
1106
|
-
*
|
|
1349
|
+
* 管理文件上传和视频下载。
|
|
1107
1350
|
*
|
|
1108
1351
|
* 上传直传不经过 Xmax 服务中转:先通过 `GET /cos/sts` 获取临时凭证,
|
|
1109
1352
|
* 再用临时凭证创建 COS 客户端直传;访问地址按 `Location`、自定义
|
|
@@ -1136,6 +1379,18 @@ declare class StorageService implements StorageServicing {
|
|
|
1136
1379
|
* 上传图片并返回访问地址。
|
|
1137
1380
|
*/
|
|
1138
1381
|
uploadImage(options: StorageUploadOptions): Promise<StoredFile>;
|
|
1382
|
+
/**
|
|
1383
|
+
* 普通上传原始视频并返回访问地址,不进行转码、压缩或分片。
|
|
1384
|
+
*/
|
|
1385
|
+
uploadVideo(options: StorageUploadOptions): Promise<StoredFile>;
|
|
1386
|
+
/**
|
|
1387
|
+
* 下载原始视频文件并交给浏览器保存,支持取消网络下载。
|
|
1388
|
+
*/
|
|
1389
|
+
downloadVideo(options: Parameters<StorageServicing["downloadVideo"]>[0]): Promise<void>;
|
|
1390
|
+
/**
|
|
1391
|
+
* 获取临时凭证并通过 COS putObject 上传文件,统一处理进度、结果和错误。
|
|
1392
|
+
*/
|
|
1393
|
+
private upload;
|
|
1139
1394
|
/**
|
|
1140
1395
|
* 获取临时存储配置;字段不完整时抛出 API 错误。
|
|
1141
1396
|
*/
|
|
@@ -1181,7 +1436,6 @@ declare class StorageService implements StorageServicing {
|
|
|
1181
1436
|
|
|
1182
1437
|
interface RemoteFrameInterpolationOptions {
|
|
1183
1438
|
size: ModelSize;
|
|
1184
|
-
targetFrameRate: number;
|
|
1185
1439
|
onActiveChange?: (active: boolean) => void;
|
|
1186
1440
|
onFailure: (error: unknown) => void;
|
|
1187
1441
|
}
|
|
@@ -1274,6 +1528,10 @@ declare class XmaxVideoView {
|
|
|
1274
1528
|
* 从容器元素移除。
|
|
1275
1529
|
*/
|
|
1276
1530
|
detach(): void;
|
|
1531
|
+
/**
|
|
1532
|
+
* 设置网络视频预览;静音播放一次,不捕获或发布媒体轨道。 @internal
|
|
1533
|
+
*/
|
|
1534
|
+
setVideoURL(url: string | null): void;
|
|
1277
1535
|
/**
|
|
1278
1536
|
* 直接设置渲染用的媒体流(绑定管线和直接渲染共用)。 @internal
|
|
1279
1537
|
*/
|
|
@@ -1400,4 +1658,4 @@ declare class XmaxRealtimeVideoView {
|
|
|
1400
1658
|
private showRemoteVideo;
|
|
1401
1659
|
}
|
|
1402
1660
|
|
|
1403
|
-
export { CameraPosition,
|
|
1661
|
+
export { CameraPosition, MediaService, type MediaServicing, type NetworkQualityLevel, type NetworkStatistics, type NetworkStatisticsListener, NonRealtimeQuality, type NonRealtimeResult, type NonRealtimeTask, NonRealtimeTaskError, type NonRealtimeTaskListOptions, type NonRealtimeTaskOptions, type NonRealtimeTaskPage, NonRealtimeTaskStatus, type NonRealtimeWaitOptions, RealtimeConfiguration, RealtimeConnectionState, RealtimeContext, type RealtimeContextInit, type RealtimeLaunchTiming, type RealtimeLaunchTimingListener, RealtimeMediaStream, RealtimeModel, type RealtimeModelName, RealtimeReason, type RealtimeReferenceVideo, RealtimeState, type RealtimeStateListener, RealtimeVideoFormat, RealtimeVideoSampleMethod, RealtimeVideoTrack, type RemoteVideoStatistics, type RemoteVideoStatisticsListener, RtcProvider, StorageService, type StorageServicing, type StorageUploadOptions, StoredFile, VideoContentMode, type VideoStatistics, type VideoStatisticsListener, XmaxClient, XmaxConfiguration, type XmaxConfigurationInit, XmaxEnvironment, XmaxError, XmaxErrorCode, type XmaxErrorListener, XmaxLogger, XmaxLoggerOption, type XmaxNonRealtimeManaging, type XmaxRealtimeManaging, XmaxRealtimeVideoView, XmaxVideoView, apiBaseURL, defaultCameraVideoFormat, defaultFrameRate, modelDisplayName, supportedRtcProviders };
|