seacloud-sdk 0.3.0 → 0.4.0
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/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +301 -1
- package/dist/index.js +84 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/types.ts","../src/core/config.ts","../src/core/client.ts","../src/core/global-config.ts","../src/core/poller.ts","../src/api/alibaba_animate_anyone_detect.ts","../src/api/alibaba_animate_anyone_template.ts","../src/api/alibaba_animate_anyone_video.ts","../src/api/alibaba_qianwen_image.ts","../src/api/alibaba_wan22_t2i_flash.ts","../src/api/alibaba_wan22_t2i_plus.ts","../src/api/alibaba_wan25_i2i_preview.ts","../src/api/alibaba_wan25_t2i_preview.ts","../src/api/alibaba_wanx20_t2i_turbo.ts","../src/api/alibaba_wanx21_i2v_plus.ts","../src/api/alibaba_wanx21_i2v_turbo.ts","../src/api/alibaba_wanx21_t2i_plus.ts","../src/api/alibaba_wanx21_t2i_turbo.ts","../src/api/alibaba_wanx21_t2v_plus.ts","../src/api/alibaba_wanx21_t2v_turbo.ts","../src/api/alibaba_wanx22_i2v_flash.ts","../src/api/alibaba_wanx22_i2v_plus.ts","../src/api/alibaba_wanx22_t2v_plus.ts","../src/api/alibaba_wanx25_i2v_preview.ts","../src/api/alibaba_wanx25_t2v_preview.ts","../src/api/alibaba_wanx26_i2v.ts","../src/api/alibaba_wanx26_reference.ts","../src/api/alibaba_wanx26_t2v.ts","../src/api/blackforestlabs_flux_11_pro.ts","../src/api/blackforestlabs_flux_1_pro.ts","../src/api/blackforestlabs_flux_2_flex.ts","../src/api/blackforestlabs_flux_2_flex_edit.ts","../src/api/blackforestlabs_flux_2_pro.ts","../src/api/blackforestlabs_flux_2_pro_edit.ts","../src/api/blackforestlabs_flux_kontext_max.ts","../src/api/blackforestlabs_flux_kontext_pro.ts","../src/api/elevenlabs_tts_generator.ts","../src/api/google_gemini3_pro_image.ts","../src/api/google_gemini_image.ts","../src/api/google_imagen_4_fast_generate.ts","../src/api/google_imagen_4_generate.ts","../src/api/google_imagen_4_ultra_generate.ts","../src/api/google_veo_20_generate_001.ts","../src/api/google_veo_20_generate_exp.ts","../src/api/google_veo_20_generate_preview.ts","../src/api/google_veo_30_fast_generate_001.ts","../src/api/google_veo_30_generate_001.ts","../src/api/google_veo_31.ts","../src/api/kling_avatar.ts","../src/api/kling_duration_extension.ts","../src/api/kling_effects_multi_v1.ts","../src/api/kling_effects_multi_v15.ts","../src/api/kling_effects_multi_v16.ts","../src/api/kling_effects_single.ts","../src/api/kling_lipsync.ts","../src/api/kling_omni_image.ts","../src/api/kling_omni_video.ts","../src/api/kling_v1.ts","../src/api/kling_v1_5.ts","../src/api/kling_v1_5_i2v.ts","../src/api/kling_v1_6.ts","../src/api/kling_v1_6_i2v.ts","../src/api/kling_v1_i2v.ts","../src/api/kling_v2_1_i2v.ts","../src/api/kling_v2_1_master.ts","../src/api/kling_v2_1_master_i2v.ts","../src/api/kling_v2_5_turbo.ts","../src/api/kling_v2_5_turbo_i2v.ts","../src/api/kling_v2_6.ts","../src/api/kling_v2_6_i2v.ts","../src/api/kling_v2_master.ts","../src/api/kling_v2_master_i2v.ts","../src/api/microsoft_gpt_image_1.ts","../src/api/microsoft_gpt_image_15.ts","../src/api/microsoft_sora2.ts","../src/api/minimax_hailuo_02.ts","../src/api/minimax_hailuo_02_i2v.ts","../src/api/minimax_hailuo_23_fast_i2v.ts","../src/api/minimax_hailuo_23_i2v.ts","../src/api/minimax_i2v_01.ts","../src/api/minimax_i2v_01_director.ts","../src/api/minimax_i2v_01_live.ts","../src/api/minimax_t2a.ts","../src/api/minimax_t2v_01.ts","../src/api/minimax_t2v_01_director.ts","../src/api/pixverse_v35_transition.ts","../src/api/pixverse_v3_5_i2v.ts","../src/api/pixverse_v3_5_t2v.ts","../src/api/pixverse_v45_transition.ts","../src/api/pixverse_v4_5_i2v.ts","../src/api/pixverse_v4_5_t2v.ts","../src/api/pixverse_v4_i2v.ts","../src/api/pixverse_v4_t2v.ts","../src/api/pixverse_v4_transition.ts","../src/api/pixverse_v5_5_i2v.ts","../src/api/pixverse_v5_5_t2v.ts","../src/api/pixverse_v5_5_transition.ts","../src/api/pixverse_v5_i2v.ts","../src/api/pixverse_v5_t2v.ts","../src/api/pixverse_v5_transition.ts","../src/api/runway_gen3a_turbo_i2v.ts","../src/api/tencent_hunyuan_3d.ts","../src/api/tencent_hunyuan_3d_pro.ts","../src/api/tencent_hunyuan_3d_rapid.ts","../src/api/tencent_image_creation_3.ts","../src/api/tencent_mps_super_resolution.ts","../src/api/vidu_15.ts","../src/api/vidu_15_i2v.ts","../src/api/vidu_20_i2v.ts","../src/api/vidu_q1.ts","../src/api/vidu_q1_i2v.ts","../src/api/vidu_q2.ts","../src/api/vidu_template.ts","../src/api/vidu_template_v2.ts","../src/api/volces_jimeng_3_0.ts","../src/api/volces_jimeng_3_1.ts","../src/api/volces_jimeng_dream_actor_m1.ts","../src/api/volces_jimeng_i2i_3_0.ts","../src/api/volces_realman_avatar_imitator_v2v.ts","../src/api/volces_realman_avatar_picture_omni_v15.ts","../src/api/volces_realman_avatar_picture_omni_v2.ts","../src/api/volces_seed3d.ts","../src/api/volces_seedance_30_i2v.ts","../src/api/volces_seedance_3_0.ts","../src/api/volces_seedance_3_0_pro.ts","../src/api/volces_seedance_pro_fast.ts","../src/api/volces_seededit_2_0.ts","../src/api/volces_seededit_3_0.ts","../src/api/volces_seededit_3_0_i2i.ts","../src/api/volces_seededit_3d_style.ts","../src/api/volces_seededit_multi_ip.ts","../src/api/volces_seededit_multi_style.ts","../src/api/volces_seededit_portrait.ts","../src/api/volces_seededit_single_ip.ts","../src/api/volces_seedream_3_0.ts","../src/api/volces_seedream_4_0.ts","../src/api/volces_seedream_4_5.ts","../src/api/volces_seedream_4_5_i2i.ts","../src/api/volces_seedream_4_5_multi_blend.ts","../src/api/volces_subject_detection.ts","../src/api/volces_subject_recognition.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * SeaCloud SDK 核心类型定义\n */\n\n/**\n * SDK 配置选项\n */\nexport interface SeacloudConfig {\n /** API Service Token - 从环境变量 API_SERVICE_TOKEN 读取或直接传入 */\n apiKey?: string;\n /** 代理服务器基础 URL,默认为 http://localhost:8080 */\n baseUrl?: string;\n /** 自定义 fetch 实现(可选,用于 Node.js < 18 或测试) */\n fetch?: typeof fetch;\n /** 请求超时时间(毫秒),默认 30000 */\n timeout?: number;\n}\n\n/**\n * 任务状态\n */\nexport type TaskStatus = 'pending' | 'processing' | 'in_progress' | 'completed' | 'failed';\n\n/**\n * 任务错误信息\n */\nexport interface TaskError {\n code: string;\n message: string;\n details?: any;\n}\n\n/**\n * 任务结果\n */\nexport interface TaskResult {\n /** 任务 ID */\n id: string;\n /** 创建时间戳 */\n created_at: number;\n /** 任务状态 */\n status: TaskStatus;\n /** 错误信息(如果失败) */\n error?: TaskError | null;\n /** 模型名称 */\n model: string;\n /** 输出结果 */\n output?: Array<{\n content?: Array<{\n type?: string;\n url?: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n }>;\n [key: string]: any;\n }>;\n /** 其他字段 */\n [key: string]: any;\n}\n\n/**\n * 任务轮询选项\n */\nexport interface PollingOptions {\n /** 轮询间隔(毫秒),默认 3000 */\n intervalMs?: number;\n /** 最大尝试次数,默认 120 */\n maxAttempts?: number;\n /** 进度回调函数 */\n onProgress?: (attempt: number, status: TaskStatus) => void;\n}\n\n/**\n * HTTP 响应错误\n */\nexport class SeacloudError extends Error {\n constructor(\n message: string,\n public statusCode?: number,\n public response?: any,\n ) {\n super(message);\n this.name = 'SeacloudError';\n }\n}\n","import type { SeacloudConfig } from './types.js';\n\n/**\n * 创建 SDK 配置\n * @param options 配置选项\n * @returns 完整的配置对象\n */\nexport function createConfig(options: SeacloudConfig = {}): Required<SeacloudConfig> {\n // 优先级:传入的 apiKey > 环境变量 API_SERVICE_TOKEN\n const apiKey = options.apiKey ||\n (typeof process !== 'undefined' ? process.env?.API_SERVICE_TOKEN : undefined) ||\n '';\n\n // 使用环境变量或传入的 baseUrl\n const baseUrl = options.baseUrl ||\n (typeof process !== 'undefined' ? process.env?.SEACLOUD_BASE_URL : undefined) ||\n 'https://api.seacloud.ai';\n\n // 使用全局 fetch 或自定义实现\n const fetchImpl = options.fetch || globalThis.fetch;\n\n if (!fetchImpl) {\n throw new Error('fetch is not available. Please provide a fetch implementation in config or upgrade to Node.js 18+');\n }\n\n return {\n apiKey,\n baseUrl,\n fetch: fetchImpl,\n timeout: options.timeout || 30000,\n };\n}\n\n/**\n * 验证配置\n * @param config 配置对象\n * @throws 如果配置无效\n */\nexport function validateConfig(config: Required<SeacloudConfig>): void {\n if (!config.apiKey) {\n throw new Error(\n 'API key is required. Set API_SERVICE_TOKEN environment variable or pass apiKey in config.'\n );\n }\n\n if (!config.baseUrl) {\n throw new Error('baseUrl is required');\n }\n\n if (typeof config.fetch !== 'function') {\n throw new Error('fetch must be a function');\n }\n}\n","import type { SeacloudConfig, TaskResult } from './types.js';\nimport { SeacloudError } from './types.js';\nimport { createConfig, validateConfig } from './config.js';\n\n/**\n * SeaCloud HTTP 客户端\n * 用于创建任务和查询任务状态\n */\nexport class SeacloudClient {\n private config: Required<SeacloudConfig>;\n\n constructor(config: SeacloudConfig = {}) {\n this.config = createConfig(config);\n validateConfig(this.config);\n }\n\n /**\n * 创建一个新任务\n * @param endpoint API 端点路径(例如:/model/tasks)\n * @param body 请求体\n * @returns 任务结果\n */\n async createTask(endpoint: string, body: Record<string, any>): Promise<TaskResult> {\n const url = `${this.config.baseUrl}${endpoint}`;\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.config.timeout);\n\n try {\n const response = await this.config.fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.config.apiKey}`,\n },\n body: JSON.stringify(body),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n const errorBody = await response.text();\n throw new SeacloudError(\n `HTTP ${response.status}: ${errorBody}`,\n response.status,\n errorBody,\n );\n }\n\n const result = await response.json();\n return result as TaskResult;\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error instanceof SeacloudError) {\n throw error;\n }\n\n if ((error as Error).name === 'AbortError') {\n throw new SeacloudError(`Request timeout after ${this.config.timeout}ms`);\n }\n\n throw new SeacloudError(\n `Request failed: ${(error as Error).message}`,\n undefined,\n error,\n );\n }\n }\n\n /**\n * 查询任务状态\n * @param endpoint API 端点路径(例如:/model/v1/generation)\n * @param taskId 任务 ID\n * @returns 任务结果\n */\n async getTaskStatus(endpoint: string, taskId: string): Promise<TaskResult> {\n const url = `${this.config.baseUrl}${endpoint}/task/${taskId}`;\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.config.timeout);\n\n try {\n const response = await this.config.fetch(url, {\n method: 'GET',\n headers: {\n 'Authorization': `Bearer ${this.config.apiKey}`,\n },\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n const errorBody = await response.text();\n throw new SeacloudError(\n `HTTP ${response.status}: ${errorBody}`,\n response.status,\n errorBody,\n );\n }\n\n const result = await response.json();\n return result as TaskResult;\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error instanceof SeacloudError) {\n throw error;\n }\n\n if ((error as Error).name === 'AbortError') {\n throw new SeacloudError(`Request timeout after ${this.config.timeout}ms`);\n }\n\n throw new SeacloudError(\n `Request failed: ${(error as Error).message}`,\n undefined,\n error,\n );\n }\n }\n\n /**\n * 获取当前配置\n */\n getConfig(): Readonly<Required<SeacloudConfig>> {\n return { ...this.config };\n }\n}\n","/**\n * 全局配置管理\n */\n\nimport type { SeacloudClient } from './client.js';\nimport type { PollingOptions } from './types.js';\nimport { SeacloudClient as Client } from './client.js';\n\n// 全局配置状态\ninterface GlobalConfig {\n client: SeacloudClient | null;\n defaultPollingOptions: PollingOptions;\n}\n\nconst globalConfig: GlobalConfig = {\n client: null,\n defaultPollingOptions: {\n intervalMs: 3000, // 3秒轮询间隔\n maxAttempts: 100, // 最多尝试100次 (约5分钟)\n },\n};\n\n/**\n * 初始化 SDK\n * @param apiKey API 密钥\n * @param options 可选配置\n */\nexport function initSeacloud(apiKey: string, options?: {\n baseUrl?: string;\n intervalMs?: number; // 轮询间隔(毫秒)\n maxAttempts?: number; // 最大尝试次数\n timeout?: number;\n}) {\n if (!apiKey) {\n throw new Error('API key is required. Please provide a valid API key.');\n }\n\n // 创建客户端\n globalConfig.client = new Client({\n apiKey,\n baseUrl: options?.baseUrl,\n timeout: options?.timeout,\n });\n\n // 设置默认轮询选项\n if (options?.intervalMs !== undefined) {\n globalConfig.defaultPollingOptions.intervalMs = options.intervalMs;\n }\n if (options?.maxAttempts !== undefined) {\n globalConfig.defaultPollingOptions.maxAttempts = options.maxAttempts;\n }\n\n return globalConfig.client;\n}\n\n/**\n * 获取全局客户端\n * @throws 如果未初始化\n */\nexport function getClient(): SeacloudClient {\n if (!globalConfig.client) {\n throw new Error(\n 'SeaCloud SDK is not initialized. Please call initSeacloud(apiKey) first.'\n );\n }\n return globalConfig.client;\n}\n\n/**\n * 获取默认轮询选项\n */\nexport function getDefaultPollingOptions(): PollingOptions {\n return { ...globalConfig.defaultPollingOptions };\n}\n\n/**\n * 更新默认轮询选项\n */\nexport function setDefaultPollingOptions(options: Partial<PollingOptions>) {\n Object.assign(globalConfig.defaultPollingOptions, options);\n}\n\n/**\n * 重置配置(主要用于测试)\n */\nexport function resetConfig() {\n globalConfig.client = null;\n globalConfig.defaultPollingOptions = {\n intervalMs: 3000,\n maxAttempts: 100,\n };\n}\n","import type { SeacloudClient } from './client.js';\nimport type { TaskResult, PollingOptions, TaskStatus } from './types.js';\nimport { SeacloudError } from './types.js';\n\n/**\n * 默认轮询选项\n */\nconst DEFAULT_POLLING_OPTIONS: Required<PollingOptions> = {\n intervalMs: 3000,\n maxAttempts: 120,\n onProgress: () => {},\n};\n\n/**\n * 检查任务是否已完成\n */\nfunction isTaskComplete(status: TaskStatus): boolean {\n return status === 'completed' || status === 'failed';\n}\n\n/**\n * 等待一段时间\n */\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n/**\n * 轮询任务直到完成或失败\n * @param client SeaCloud 客户端实例\n * @param endpoint API 端点路径\n * @param taskId 任务 ID\n * @param options 轮询选项\n * @returns 最终的任务结果\n * @throws SeacloudError 如果任务失败或超时\n */\nexport async function pollTaskUntilComplete(\n client: SeacloudClient,\n endpoint: string,\n taskId: string,\n options: PollingOptions = {},\n): Promise<TaskResult> {\n const opts = { ...DEFAULT_POLLING_OPTIONS, ...options };\n\n for (let attempt = 1; attempt <= opts.maxAttempts; attempt++) {\n // 查询任务状态\n const result = await client.getTaskStatus(endpoint, taskId);\n\n // 调用进度回调\n opts.onProgress(attempt, result.status);\n\n // 检查是否完成\n if (isTaskComplete(result.status)) {\n if (result.status === 'failed') {\n const errorMsg = result.error?.message || 'Task failed without error message';\n throw new SeacloudError(\n `Task failed: ${errorMsg}`,\n undefined,\n result.error,\n );\n }\n return result;\n }\n\n // 如果还未完成,等待后继续轮询\n if (attempt < opts.maxAttempts) {\n await sleep(opts.intervalMs);\n }\n }\n\n // 达到最大尝试次数\n throw new SeacloudError(\n `Task polling timeout after ${opts.maxAttempts} attempts (${(opts.maxAttempts * opts.intervalMs) / 1000}s)`,\n );\n}\n\n/**\n * 创建任务并等待完成\n * @param client SeaCloud 客户端实例\n * @param endpoint API 端点路径\n * @param body 请求体\n * @param options 轮询选项\n * @returns 最终的任务结果\n */\nexport async function createAndWaitTask(\n client: SeacloudClient,\n endpoint: string,\n body: Record<string, any>,\n options: PollingOptions = {},\n): Promise<TaskResult> {\n // 创建任务\n const task = await client.createTask(endpoint, body);\n\n // 检查是否立即失败\n if (task.status === 'failed') {\n const errorMsg = task.error?.message || 'Task failed without error message';\n throw new SeacloudError(\n `Task failed: ${errorMsg}`,\n undefined,\n task.error,\n );\n }\n\n // 总是进行轮询,因为创建任务的响应可能不包含完整的结果\n // 即使status是completed,也需要查询任务状态来获取output\n return pollTaskUntilComplete(client, endpoint, task.id, options);\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"image_url\": \"https://example.com/human_image.jpg\"\n * },\n * \"parameters\": {}\n * }\n * ```\n */\nexport interface AlibabaAnimateAnyoneDetectParams {\n /**\n * 输入参数,包含待检测的图片URL\n */\n input: {\n /**\n * 图片URL,必须是有效的HTTP或HTTPS URL,系统会自动转换为Base64格式\n */\n image_url: string;\n };\n /**\n * 额外参数(可选)\n */\n parameters?: Record<string, any>;\n}\n\nexport interface AlibabaAnimateAnyoneDetectResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_animate_anyone_detect\n *\n * Alibaba AnimateAnyone Detect 人体图像检测接口,用于在视频生成前验证人体图片是否符合AnimateAnyone模型要求。\n * \n * Model: animate-anyone-detect-gen2\n * Features: \n * - 检测图片中的人体是否符合视频生成要求\n * - 返回人体姿态风格信息\n * - 提供未通过检测的详细原因\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/animate-anyone-detect-api\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaAnimateAnyoneDetect } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaAnimateAnyoneDetect(\n * {\n * \"input\": {\n * \"image_url\": \"https://example.com/human_image.jpg\"\n * },\n * \"parameters\": {}\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaAnimateAnyoneDetectParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaAnimateAnyoneDetect(\n params: AlibabaAnimateAnyoneDetectParams,\n): Promise<AlibabaAnimateAnyoneDetectResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_animate_anyone_detect',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaAnimateAnyoneDetectResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"video_url\": \"https://example.com/dance_video.mp4\"\n * }\n * }\n * ```\n */\nexport interface AlibabaAnimateAnyoneTemplateParams {\n /**\n * 输入参数\n */\n input: {\n /**\n * 视频URL,必须是有效的HTTP或HTTPS链接,支持mp4/avi/mov格式,最大200MB,系统会自动处理并上传\n */\n video_url: string;\n };\n}\n\nexport interface AlibabaAnimateAnyoneTemplateResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_animate_anyone_template\n *\n * Alibaba AnimateAnyone 动作模板生成接口,从包含人物运动的视频中提取动作特征,生成可复用的动作模板。\n * \n * Model: animate-anyone-template-gen2\n * Features:\n * - 从视频中提取人物动作特征\n * - 生成标准化动作模板ID\n * - 支持多种视频格式(mp4/avi/mov)\n * - 自动处理和上传视频\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/animate-anyone-template-api\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaAnimateAnyoneTemplate } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaAnimateAnyoneTemplate(\n * {\n * \"input\": {\n * \"video_url\": \"https://example.com/dance_video.mp4\"\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaAnimateAnyoneTemplateParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaAnimateAnyoneTemplate(\n params: AlibabaAnimateAnyoneTemplateParams,\n): Promise<AlibabaAnimateAnyoneTemplateResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_animate_anyone_template',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaAnimateAnyoneTemplateResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"image_url\": \"https://example.com/person.jpg\",\n * \"template_id\": \"am-20240901xxxxxx\"\n * },\n * \"parameters\": {\n * \"use_ref_img_bg\": false,\n * \"video_ratio\": \"9:16\"\n * }\n * }\n * ```\n */\nexport interface AlibabaAnimateAnyoneVideoParams {\n /**\n * 输入参数,包含人物图片URL和动作模板ID\n */\n input: {\n /**\n * 人物图片URL,必须是有效的HTTP或HTTPS URL,系统会自动转换为Base64格式。要求:文件大小<5MB,分辨率最大长度≤4096px,最小长度≥224px,宽高比0.5-2.0之间\n */\n image_url: string;\n /**\n * 动作模板ID。⚠️ 必须是真实有效的模板ID,示例值(如 am-20240901xxxxxx)无效。获取方式:(1) 通过 alibaba_animate_anyone_template 接口生成,或 (2) 使用阿里云预定义的模板ID\n */\n template_id: string;\n };\n /**\n * 可选参数,配置视频生成选项\n */\n parameters?: {\n /**\n * 是否使用参考图片的背景,默认false\n * @default false\n */\n use_ref_img_bg?: boolean;\n /**\n * 视频宽高比,可选值:9:16 或 3:4,默认9:16\n * @default \"9:16\"\n * @values 9:16 | 3:4\n */\n video_ratio?: '9:16' | '3:4';\n };\n}\n\nexport interface AlibabaAnimateAnyoneVideoResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_animate_anyone_video\n *\n * Alibaba AnimateAnyone 视频生成接口,基于人物图片和动作模板生成人物动作视频。\n * \n * Model: animate-anyone-gen2\n * Features:\n * - 将静态人物图片转换为动态视频\n * - 支持使用预定义或自定义动作模板\n * - 可选择保留原图背景\n * - 支持多种视频宽高比\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/animateanyone-video-generation-api\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaAnimateAnyoneVideo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaAnimateAnyoneVideo(\n * {\n * \"input\": {\n * \"image_url\": \"https://example.com/person.jpg\",\n * \"template_id\": \"am-20240901xxxxxx\"\n * },\n * \"parameters\": {\n * \"use_ref_img_bg\": false,\n * \"video_ratio\": \"9:16\"\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaAnimateAnyoneVideoParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaAnimateAnyoneVideo(\n params: AlibabaAnimateAnyoneVideoParams,\n): Promise<AlibabaAnimateAnyoneVideoResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_animate_anyone_video',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaAnimateAnyoneVideoResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaQianwenImageParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 消息列表,必须包含一个消息对象\n */\n messages: Array<{\n /**\n * 角色,必须为 'user'\n * @values user\n */\n role: 'user';\n /**\n * 内容列表,必须包含一个文本内容对象\n */\n content: Array<{\n /**\n * 文本提示词,描述要生成的图像内容,长度不超过800字符\n * @length 0 - 800\n */\n text: string;\n }>;\n }>;\n };\n /**\n * 可选参数\n */\n parameters?: {\n /**\n * 负面提示词,描述不要生成的图像内容,长度不超过500字符\n * @length 0 - 500\n */\n negative_prompt?: string;\n /**\n * 图像尺寸\n * @default \"1328*1328\"\n * @values 1664*928 | 1472*1140 | 1328*1328 | 1140*1472 | 928*1664\n */\n size?: '1664*928' | '1472*1140' | '1328*1328' | '1140*1472' | '928*1664';\n /**\n * 生成图像数量,目前只支持生成一张图片\n * @default 1\n * @range 1 - 1\n */\n n?: number;\n /**\n * 随机种子,用于可重现的生成结果\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词增强\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaQianwenImageResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_qianwen_image\n *\n * Alibaba Qianwen Image Generator Implementation\n * \n * Model: qwen-image-plus (固定模型)\n * Features: 文本生成图像功能\n * Image Count: 固定生成1张图片\n * Size: 支持5种分辨率(1664*928、1472*1140、1328*1328、1140*1472、928*1664),默认1328*1328\n * Advanced: 支持负面提示词、提示词增强、水印设置、随机种子控制\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/qwen-image-api\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaQianwenImage } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaQianwenImage({\n * // 参数见 AlibabaQianwenImageParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaQianwenImageParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaQianwenImage(\n params: AlibabaQianwenImageParams,\n): Promise<AlibabaQianwenImageResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_qianwen_image',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaQianwenImageResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在阳光下睡觉\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * ```\n */\nexport interface AlibabaWan22T2iFlashParams {\n /**\n * 输入参数,包含提示词信息\n */\n input: {\n /**\n * 正向提示词,描述想要生成的图片内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,描述不希望出现的内容,长度不超过500字符(可选)\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数(可选)\n */\n parameters?: {\n /**\n * 图像尺寸,格式为'宽*高'(如'1024*768'),宽高必须在[512, 1440]范围内,且最大分辨率不超过1440*1440\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4,默认1张\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,用于确保结果可复现,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展功能,启用后会自动优化和丰富提示词\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的图片上添加水印\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWan22T2iFlashResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wan22_t2i_flash\n *\n * Alibaba Wanxiang 2.2 T2I Flash 文本生成图片接口,支持快速生成高质量图片。\n * \n * Model: wan2.2-t2i-flash\n * Features:\n * - 支持自定义图片尺寸(宽高范围512-1440像素)\n * - 支持批量生成(1-4张)\n * - 支持固定随机种子以确保结果可复现\n * - 支持提示词扩展功能\n * - 支持水印添加选项\n * - 异步任务处理,自动轮询获取结果\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWan22T2iFlash } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWan22T2iFlash(\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在阳光下睡觉\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWan22T2iFlashParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWan22T2iFlash(\n params: AlibabaWan22T2iFlashParams,\n): Promise<AlibabaWan22T2iFlashResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wan22_t2i_flash',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWan22T2iFlashResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWan22T2iPlusParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 正向提示词,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,长度不超过500字符\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 图像尺寸,格式为'宽*高',宽高必须在[512, 1440]范围内,最大分辨率1440*1440\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,范围0-2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWan22T2iPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wan22_t2i_plus\n *\n * Alibaba Wan2.2 T2I Plus Image Generator\n * \n * Text-to-Image generation implementation for Alibaba Wanxiang 2.2 T2I Plus API.\n * \n * Model: wan2.2-t2i-plus\n * Features: 文字生成图像\n * Resolution: 支持自定义尺寸 (宽高范围512-1440)\n * Batch: 支持批量生成 (1-4张)\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/text-to-image-v2-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWan22T2iPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWan22T2iPlus({\n * // 参数见 AlibabaWan22T2iPlusParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWan22T2iPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWan22T2iPlus(\n params: AlibabaWan22T2iPlusParams,\n): Promise<AlibabaWan22T2iPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wan22_t2i_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWan22T2iPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWan25I2iPreviewParams {\n input: {\n /**\n * 正向提示词,用来描述生成图像中期望包含的元素和视觉特点。支持中英文,长度不超过 2000 个字符\n * @length 0 - 2000\n * @example \"将花卉连衣裙换成一件复古风格的蕾丝长裙,领口和袖口有精致的刺绣细节\"\n */\n prompt: string;\n /**\n * 图像 URL 数组,最多支持 2 张图片。支持 HTTP/HTTPS URL 或 Base64 编码(系统会自动转换URL为Base64)。图像格式:JPEG、JPG、PNG、BMP、WEBP。图像分辨率:宽高范围均为 [384, 5000] 像素。文件大小:不超过 10MB\n * @example [\"https://img.alicdn.com/imgextra/i2/O1CN01FuGdH91RenU9KPeri_!!6000000002137-2-tps-1344-896.png\"]\n */\n images: string[];\n /**\n * 反向提示词,用来描述不希望在画面中看到的内容。支持中英文,长度不超过 500 个字符\n * @length 0 - 500\n * @example \"低分辨率、错误、最差质量、低质量、残缺、多余的手指、比例不良\"\n */\n negative_prompt?: string;\n };\n /**\n * 图像生成参数\n */\n parameters?: {\n /**\n * 生成图片的数量。取值范围为 1~4 张,默认为 4。测试阶段建议设置为 1\n * @default 4\n * @range 1 - 4\n * @example 1\n */\n n?: number;\n /**\n * 是否添加水印标识,水印位于图片右下角,文案固定为 AI 生成。默认 false 不添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 随机数种子,取值范围是 [0, 2147483647]。如果不提供,则算法自动生成一个随机数作为种子。若需提升生成结果的可复现性,建议固定 seed 值\n * @range 0 - 2147483647\n * @example 42\n */\n seed?: number;\n };\n}\n\nexport interface AlibabaWan25I2iPreviewResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wan25_i2i_preview\n *\n * <p>通义万相 2.5 图生图预览版生成,支持单图编辑和多图参考生成(最多2张参考图)。系统会自动将图片URL转换为Base64格式发送给阿里云API,并对生成结果进行WebP转换和云存储上传处理</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWan25I2iPreview } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWan25I2iPreview({\n * // 参数见 AlibabaWan25I2iPreviewParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWan25I2iPreviewParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWan25I2iPreview(\n params: AlibabaWan25I2iPreviewParams,\n): Promise<AlibabaWan25I2iPreviewResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wan25_i2i_preview',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWan25I2iPreviewResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWan25T2iPreviewParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 正向提示词,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,长度不超过500字符\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 图像尺寸,总像素必须在[768*768, 1440*1440]范围内,宽高比在[1:4, 4:1]之间\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4\n * @default 1\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,范围0-2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展\n * @default false\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWan25T2iPreviewResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wan25_t2i_preview\n *\n * Alibaba Wan2.5 T2I Preview Image Generator\n * \n * Text-to-Image generation implementation for Alibaba Wanxiang 2.5 T2I Preview API.\n * \n * Model: wan2.5-t2i-preview (固定模型)\n * Features: 文本生成图像功能\n * Image Count: 1-4张 (默认1张)\n * Size: 总像素必须在[768*768, 1440*1440]范围内,宽高比在[1:4, 4:1]之间\n * Advanced: 支持提示词扩展、水印设置、随机种子控制\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWan25T2iPreview } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWan25T2iPreview({\n * // 参数见 AlibabaWan25T2iPreviewParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWan25T2iPreviewParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWan25T2iPreview(\n params: AlibabaWan25T2iPreviewParams,\n): Promise<AlibabaWan25T2iPreviewResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wan25_t2i_preview',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWan25T2iPreviewResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx20T2iTurboParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 正向提示词,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,长度不超过500字符\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 图像尺寸,格式为'宽*高',宽高必须在[512, 1440]范围内,最大分辨率1440*1440\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,范围0-2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx20T2iTurboResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx20_t2i_turbo\n *\n * Alibaba Wanx2.0 T2I Turbo Image Generator\n * \n * Text-to-Image generation implementation for Alibaba Wanxiang 2.0 T2I Turbo API.\n * \n * Model: wanx2.0-t2i-turbo\n * Features: 文本生成图像 (Text-to-Image)\n * Resolution: 宽高在[512, 1440]范围内,最大分辨率1440*1440\n * Batch Size: 1-4张图片\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/text-to-image-v2-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx20T2iTurbo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx20T2iTurbo({\n * // 参数见 AlibabaWanx20T2iTurboParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx20T2iTurboParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx20T2iTurbo(\n params: AlibabaWanx20T2iTurboParams,\n): Promise<AlibabaWanx20T2iTurboResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx20_t2i_turbo',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx20T2iTurboResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx21I2vPlusParams {\n /**\n * 输入参数对象\n */\n input?: {\n /**\n * 文本提示词,描述要生成的视频内容,长度不超过800字符\n */\n prompt?: string;\n /**\n * 图像URL,用于图像生成视频模型,支持HTTP/HTTPS URL或Base64编码图像\n */\n img_url: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 负面提示词,描述不希望出现在视频中的内容,长度不超过500字符\n */\n negative_prompt?: string;\n /**\n * 视频分辨率,wanx2.1-i2v-plus仅支持'720P'\n * @default \"720P\"\n * @values 720P\n */\n resolution?: '720P';\n /**\n * 视频时长,wanx2.1-i2v-plus固定为5秒,不可修改\n * @default 5\n */\n duration?: number;\n /**\n * 随机种子,用于可重现的生成结果,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx21I2vPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_i2v_plus\n *\n * 阿里云 Wanx2.1 I2V Plus 视频生成实现\n * \n * Image-to-Video generation implementation for Alibaba Wanx2.1 I2V Plus API.\n * \n * Model: wanx2.1-i2v-plus\n * Features: 图像生成视频 (Image-to-Video)\n * Duration: 5秒 (固定)\n * Resolution: 720P (仅支持)\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/image-to-video-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21I2vPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21I2vPlus({\n * // 参数见 AlibabaWanx21I2vPlusParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21I2vPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21I2vPlus(\n params: AlibabaWanx21I2vPlusParams,\n): Promise<AlibabaWanx21I2vPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_i2v_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21I2vPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx21I2vTurboParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 图像URL,用于图像转视频。可以是HTTP/HTTPS URL或Base64编码的图像数据。\n */\n img_url: string;\n /**\n * 文本提示词,描述要生成的视频内容,不超过800字符。\n * @length 0 - 800\n */\n prompt?: string;\n };\n /**\n * 参数设置\n */\n parameters?: {\n /**\n * 反向提示词,描述不希望出现在视频中的内容,不超过500字符。\n * @length 0 - 500\n */\n negative_prompt?: string;\n /**\n * 视频分辨率,支持480P或720P。\n * @default \"720P\"\n * @values 480P | 720P\n */\n resolution?: '480P' | '720P';\n /**\n * 视频时长,支持3、4或5秒。\n * @default 5\n * @values 3 | 4 | 5\n */\n duration?: 3 | 4 | 5;\n /**\n * 是否启用提示词扩展。\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印。\n * @default false\n */\n watermark?: boolean;\n /**\n * 随机种子,用于可重现的生成结果,范围0到2147483647。\n * @range 0 - 2147483647\n */\n seed?: number;\n };\n}\n\nexport interface AlibabaWanx21I2vTurboResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_i2v_turbo\n *\n * 阿里云 Wanx2.1 I2V Turbo 图像生成视频接口\n * \n * Model: wanx2.1-i2v-turbo (固定模型)\n * Features: 图像生成视频功能\n * Duration: 3、4或5秒 (默认5秒)\n * Resolution: 480P、720P (默认720P)\n * Advanced: 支持提示词、反向提示词、提示词扩展、水印设置、随机种子控制\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/image-to-video-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21I2vTurbo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21I2vTurbo({\n * // 参数见 AlibabaWanx21I2vTurboParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21I2vTurboParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21I2vTurbo(\n params: AlibabaWanx21I2vTurboParams,\n): Promise<AlibabaWanx21I2vTurboResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_i2v_turbo',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21I2vTurboResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在阳光下睡觉\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * ```\n */\nexport interface AlibabaWanx21T2iPlusParams {\n /**\n * 输入参数,包含提示词信息\n */\n input: {\n /**\n * 正向提示词,描述想要生成的图片内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,描述不希望出现的内容,长度不超过500字符(可选)\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数(可选)\n */\n parameters?: {\n /**\n * 图像尺寸,格式为'宽*高'(如'1024*768'),宽高必须在[512, 1440]范围内,且最大分辨率不超过1440*1440\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4,默认1张\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,用于确保结果可复现,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展功能,启用后会自动优化和丰富提示词\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的图片上添加水印\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx21T2iPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_t2i_plus\n *\n * Alibaba Wanxiang 2.1 T2I Plus 文本生成图片接口,支持生成高质量图片。\n * \n * Model: wanx2.1-t2i-plus\n * Features:\n * - 支持自定义图片尺寸(宽高范围512-1440像素)\n * - 支持批量生成(1-4张)\n * - 支持固定随机种子以确保结果可复现\n * - 支持提示词扩展功能\n * - 支持水印添加选项\n * - 异步任务处理,自动轮询获取结果\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21T2iPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21T2iPlus(\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在阳光下睡觉\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21T2iPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21T2iPlus(\n params: AlibabaWanx21T2iPlusParams,\n): Promise<AlibabaWanx21T2iPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_t2i_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21T2iPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"prompt\": \"A beautiful landscape with mountains and lake at sunset\",\n * \"negative_prompt\": \"blurry, low quality\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * ```\n */\nexport interface AlibabaWanx21T2iTurboParams {\n /**\n * 输入参数,包含文本提示词\n */\n input: {\n /**\n * 正向提示词,描述要生成的图像内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,描述要避免的图像内容,长度不超过500字符\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数,配置图像生成选项\n */\n parameters?: {\n /**\n * 图像尺寸,格式为'宽*高',例如'1024*1024'。宽高必须在[512, 1440]范围内,最大分辨率1440*1440\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,用于生成可重复的结果,范围0-2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词自动扩展,开启后会丰富和优化提示词\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的图像上添加水印\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx21T2iTurboResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_t2i_turbo\n *\n * Alibaba Wanxiang 2.1 T2I Turbo 图像生成接口,快速将文本提示词转换为高质量图像。\n * \n * Model: wanx2.1-t2i-turbo\n * Features:\n * - 快速图像生成(Turbo模式)\n * - 支持提示词自动扩展\n * - 可自定义图像尺寸和数量\n * - 支持负向提示词控制\n * - 可选水印功能\n * - 可控随机种子保证可重复性\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21T2iTurbo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21T2iTurbo(\n * {\n * \"input\": {\n * \"prompt\": \"A beautiful landscape with mountains and lake at sunset\",\n * \"negative_prompt\": \"blurry, low quality\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21T2iTurboParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21T2iTurbo(\n params: AlibabaWanx21T2iTurboParams,\n): Promise<AlibabaWanx21T2iTurboResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_t2i_turbo',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21T2iTurboResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在草地上追逐蝴蝶\"\n * },\n * \"parameters\": {\n * \"size\": \"1280*720\",\n * \"prompt_extend\": true,\n * \"watermark\": false,\n * \"seed\": 12345,\n * \"negative_prompt\": \"模糊,低质量\"\n * }\n * }\n * ```\n */\nexport interface AlibabaWanx21T2vPlusParams {\n /**\n * 输入参数,包含提示词信息\n */\n input: {\n /**\n * 文本提示词,描述要生成的视频内容,长度不超过800字符\n */\n prompt: string;\n };\n /**\n * 生成参数(可选)\n */\n parameters?: {\n /**\n * 视频分辨率,必须是支持的720P档位分辨率之一,默认1280*720\n * @default \"1280*720\"\n * @values 1280*720 | 720*1280 | 960*960 | 1088*832 | 832*1088\n */\n size?: '1280*720' | '720*1280' | '960*960' | '1088*832' | '832*1088';\n /**\n * 视频时长(秒),Wanx2.1 T2V Plus 模型固定为5秒,不可修改(设置为其他值将导致验证失败)\n * @default 5\n * @values 5\n */\n duration?: 5;\n /**\n * 是否启用提示词扩展功能,启用后会自动优化和丰富提示词,默认true\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的视频上添加水印,默认false\n * @default false\n */\n watermark?: boolean;\n /**\n * 负向提示词,描述不希望出现在视频中的内容,长度不超过500字符\n */\n negative_prompt?: string;\n /**\n * 随机种子,用于确保结果可复现,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n };\n}\n\nexport interface AlibabaWanx21T2vPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_t2v_plus\n *\n * Alibaba Wanxiang 2.1 T2V Plus 文本生成视频接口,支持从文本描述生成5秒视频。\n * \n * Model: wanx2.1-t2v-plus\n * Features:\n * - 支持720P档位多种分辨率\n * - 固定生成5秒视频\n * - 支持提示词扩展功能\n * - 支持水印选项\n * - 支持固定随机种子\n * - 不支持音频输入和音频参数\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21T2vPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21T2vPlus(\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在草地上追逐蝴蝶\"\n * },\n * \"parameters\": {\n * \"size\": \"1280*720\",\n * \"prompt_extend\": true,\n * \"watermark\": false,\n * \"seed\": 12345,\n * \"negative_prompt\": \"模糊,低质量\"\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21T2vPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21T2vPlus(\n params: AlibabaWanx21T2vPlusParams,\n): Promise<AlibabaWanx21T2vPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_t2v_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21T2vPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx21T2vTurboParams {\n /**\n * 输入参数\n */\n input: {\n /**\n * 视频生成提示词,长度不超过800字符\n */\n prompt: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 视频尺寸,支持480P/720P档位分辨率: 832*480, 480*832, 624*624, 1280*720, 720*1280, 960*960, 1088*832, 832*1088,默认1280*720\n */\n size?: string;\n /**\n * 视频时长,固定为5秒,不可修改\n */\n duration?: number;\n /**\n * 随机种子,范围0-2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展,默认true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印,默认false\n */\n watermark?: boolean;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n };\n}\n\nexport interface AlibabaWanx21T2vTurboResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_t2v_turbo\n *\n * Alibaba Wanx2.1 T2V Turbo 文本生成视频接口\n * \n * Model: wanx2.1-t2v-turbo (固定模型)\n * Features: 文本生成视频功能\n * Duration: 固定5秒(不可修改)\n * Resolution: 支持480P/720P档位多种分辨率(默认1280*720)\n * Advanced: 支持提示词、反向提示词、提示词扩展、水印设置、随机种子控制\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/text-to-video-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21T2vTurbo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21T2vTurbo({\n * // 参数见 AlibabaWanx21T2vTurboParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21T2vTurboParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21T2vTurbo(\n params: AlibabaWanx21T2vTurboParams,\n): Promise<AlibabaWanx21T2vTurboResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_t2v_turbo',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21T2vTurboResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx22I2vFlashParams {\n /**\n * 输入参数对象\n */\n input?: {\n /**\n * 文本提示词,描述要生成视频内容\n * @default \"\"\n * @length 0 - 800\n */\n prompt?: string;\n /**\n * 输入图像URL,支持HTTP/HTTPS URL或Base64编码的图像数据\n */\n img_url: string;\n };\n /**\n * 视频生成参数\n */\n parameters?: {\n /**\n * 负面提示词,描述不希望出现在生成视频中的内容\n * @default \"\"\n * @length 0 - 500\n */\n negative_prompt?: string;\n /**\n * 视频分辨率\n * @default \"720P\"\n * @values 480P | 720P | 1080P\n */\n resolution?: '480P' | '720P' | '1080P';\n /**\n * 视频时长(秒),固定为5秒\n * @default 5\n * @range 5 - 5\n */\n duration?: number;\n /**\n * 随机种子,用于可重现的生成结果\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx22I2vFlashResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx22_i2v_flash\n *\n * Alibaba Wanx2.2 I2V Flash 视频生成器实现\n * \n * Image-to-Video generation implementation for Alibaba Wanx2.2 I2V Flash API.\n * \n * Model: wan2.2-i2v-flash\n * Features: 图像生成视频 (Image-to-Video)\n * Duration: 5秒 (固定)\n * Resolution: 480P, 720P, 1080P (支持)\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/image-to-video-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx22I2vFlash } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx22I2vFlash({\n * // 参数见 AlibabaWanx22I2vFlashParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx22I2vFlashParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx22I2vFlash(\n params: AlibabaWanx22I2vFlashParams,\n): Promise<AlibabaWanx22I2vFlashResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx22_i2v_flash',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx22I2vFlashResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx22I2vPlusParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 图像URL,I2V模型必需,支持Base64编码或HTTP/HTTPS URL\n */\n img_url: string;\n /**\n * 文本提示词,描述要生成的视频内容,不超过800字符\n * @length 0 - 800\n */\n prompt?: string;\n };\n /**\n * 可选参数\n */\n parameters?: {\n /**\n * 视频分辨率,支持 '480P' 或 '1080P'\n * @default \"1080P\"\n * @values 480P | 1080P\n */\n resolution?: '480P' | '1080P';\n /**\n * 视频时长,固定为5秒,不可修改\n * @default 5\n */\n duration?: number;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 随机种子,用于可重现的生成结果,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 负面提示词,描述不希望出现在视频中的内容,不超过500字符\n */\n negative_prompt?: string;\n };\n}\n\nexport interface AlibabaWanx22I2vPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx22_i2v_plus\n *\n * 阿里巴巴 Wanx2.2 I2V Plus 图像生成视频实现。\n * \n * Model: wan2.2-i2v-plus\n * Features: 图像生成视频 (Image-to-Video)\n * Resolution: 480P, 1080P (默认1080P)\n * Duration: 固定5秒\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/image-to-video-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx22I2vPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx22I2vPlus({\n * // 参数见 AlibabaWanx22I2vPlusParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx22I2vPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx22I2vPlus(\n params: AlibabaWanx22I2vPlusParams,\n): Promise<AlibabaWanx22I2vPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx22_i2v_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx22I2vPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的猫咪在草地上玩耍,阳光明媚\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1920*1080\",\n * \"duration\": 5,\n * \"seed\": 12345,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * ```\n */\nexport interface AlibabaWanx22T2vPlusParams {\n /**\n * 输入参数,包含文本提示词\n */\n input: {\n /**\n * 文本提示词,描述要生成的视频内容,长度不超过800字符\n */\n prompt: string;\n /**\n * 负面提示词,描述不希望出现在视频中的内容,长度不超过500字符\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数,配置视频生成选项\n */\n parameters?: {\n /**\n * 视频分辨率,支持480P档位和1080P档位。默认1920*1080\n * @default \"1920*1080\"\n * @values 832*480 | 480*832 | 624*624 | 1920*1080 | 1080*1920 | 1440*1440 | 1632*1248 | 1248*1632\n */\n size?: '832*480' | '480*832' | '624*624' | '1920*1080' | '1080*1920' | '1440*1440' | '1632*1248' | '1248*1632';\n /**\n * 视频时长(秒),wan2.2-t2v-plus固定为5秒,不可修改\n * @default 5\n * @values 5\n */\n duration?: 5;\n /**\n * 随机种子,用于生成可重复的结果,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词自动扩展,开启后会丰富和优化提示词,默认true\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的视频上添加水印,默认false\n * @default false\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx22T2vPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx22_t2v_plus\n *\n * Alibaba Wanxiang 2.2 T2V Plus 视频生成接口,将文本提示词转换为高质量视频。\n * \n * Model: wan2.2-t2v-plus\n * Features:\n * - 快速文本到视频生成\n * - 支持提示词自动扩展\n * - 支持480P和1080P两种档位的多种分辨率\n * - 支持负向提示词控制\n * - 固定5秒视频时长\n * - 可选水印功能\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx22T2vPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx22T2vPlus(\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的猫咪在草地上玩耍,阳光明媚\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1920*1080\",\n * \"duration\": 5,\n * \"seed\": 12345,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx22T2vPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx22T2vPlus(\n params: AlibabaWanx22T2vPlusParams,\n): Promise<AlibabaWanx22T2vPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx22_t2v_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx22T2vPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"img_url\": \"https://example.com/beach_scene.jpg\",\n * \"prompt\": \"一个人在沙滩上奔跑,海浪拍打着岸边\"\n * },\n * \"parameters\": {\n * \"resolution\": \"1080P\",\n * \"duration\": 5,\n * \"prompt_extend\": true,\n * \"watermark\": false,\n * \"audio\": true,\n * \"seed\": 12345,\n * \"negative_prompt\": \"模糊,低质量,抖动\"\n * }\n * }\n * ```\n */\nexport interface AlibabaWanx25I2vPreviewParams {\n /**\n * 输入参数,包含图片和提示词信息\n */\n input: {\n /**\n * 图片URL或Base64编码的图片数据(必填),系统会自动将URL转换为Base64格式\n */\n img_url: string;\n /**\n * 文本提示词(可选),描述要生成的视频内容,长度不超过2000字符,超过会自动截断\n */\n prompt?: string;\n /**\n * 自定义背景音乐URL(可选)\n */\n audio_url?: string;\n };\n /**\n * 生成参数(可选)\n */\n parameters?: {\n /**\n * 视频分辨率,必须是支持的分辨率之一,默认1080P\n * @default \"1080P\"\n * @values 480P | 720P | 1080P\n */\n resolution?: '480P' | '720P' | '1080P';\n /**\n * 视频时长(秒),支持5秒或10秒,默认5秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 是否启用提示词扩展功能,启用后会自动优化和丰富提示词,默认true\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的视频上添加水印,默认false\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否包含背景音频,默认true\n * @default true\n */\n audio?: boolean;\n /**\n * 随机种子,用于确保结果可复现,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 负向提示词,描述不希望出现在视频中的内容,长度不超过500字符\n */\n negative_prompt?: string;\n };\n}\n\nexport interface AlibabaWanx25I2vPreviewResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx25_i2v_preview\n *\n * <p>阿里巴巴 Wanx2.5 I2V Preview 图像到视频生成接口</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx25I2vPreview } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx25I2vPreview(\n * {\n * \"input\": {\n * \"img_url\": \"https://example.com/beach_scene.jpg\",\n * \"prompt\": \"一个人在沙滩上奔跑,海浪拍打着岸边\"\n * },\n * \"parameters\": {\n * \"resolution\": \"1080P\",\n * \"duration\": 5,\n * \"prompt_extend\": true,\n * \"watermark\": false,\n * \"audio\": true,\n * \"seed\": 12345,\n * \"negative_prompt\": \"模糊,低质量,抖动\"\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx25I2vPreviewParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx25I2vPreview(\n params: AlibabaWanx25I2vPreviewParams,\n): Promise<AlibabaWanx25I2vPreviewResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx25_i2v_preview',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx25I2vPreviewResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx25T2vPreviewParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 文本提示词,描述要生成的视频内容\n * @length 0 - 2000\n */\n prompt: string;\n /**\n * 负面提示词,描述不希望出现在视频中的内容\n * @length 0 - 500\n */\n negative_prompt?: string;\n /**\n * 背景音乐URL\n */\n audio_url?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 视频分辨率,支持 '832*480', '480*832', '624*624', '1280*720', '720*1280', '960*960', '1088*832', '832*1088', '1920*1080', '1080*1920', '1440*1440', '1632*1248', '1248*1632'\n * @default \"1920*1080\"\n * @values 832*480 | 480*832 | 624*624 | 1280*720 | 720*1280 | 960*960 | 1088*832 | 832*1088 | 1920*1080 | 1080*1920 | 1440*1440 | 1632*1248 | 1248*1632\n */\n size?: '832*480' | '480*832' | '624*624' | '1280*720' | '720*1280' | '960*960' | '1088*832' | '832*1088' | '1920*1080' | '1080*1920' | '1440*1440' | '1632*1248' | '1248*1632';\n /**\n * 视频时长,单位秒,支持5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 是否开启提示词增强\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否生成音频\n * @default true\n */\n audio?: boolean;\n /**\n * 随机种子,用于可重现的生成结果\n * @range 0 - 2147483647\n */\n seed?: number;\n };\n}\n\nexport interface AlibabaWanx25T2vPreviewResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx25_t2v_preview\n *\n * <p>Alibaba Wanx2.5 T2V Preview 视频生成实现。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx25T2vPreview } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx25T2vPreview({\n * // 参数见 AlibabaWanx25T2vPreviewParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx25T2vPreviewParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx25T2vPreview(\n params: AlibabaWanx25T2vPreviewParams,\n): Promise<AlibabaWanx25T2vPreviewResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx25_t2v_preview',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx25T2vPreviewResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx26I2vParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 视频生成提示词,最大长度2000字符\n * @length 0 - 2000\n */\n prompt?: string;\n /**\n * 输入图片URL或Base64编码(自动转换为JPEG格式的Base64)\n */\n img_url?: string;\n /**\n * 自定义背景音乐URL(可选)\n */\n audio_url?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 视频分辨率,可选值:720P、1080P\n * @default \"1080P\"\n * @values 720P | 1080P\n */\n resolution?: '720P' | '1080P';\n /**\n * 视频时长(秒),可选值:5、10、15\n * @default 5\n * @values 5 | 10 | 15\n */\n duration?: 5 | 10 | 15;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否生成音频\n * @default true\n */\n audio?: boolean;\n /**\n * 是否启用多镜头模式(仅在prompt_extend=true时生效)\n */\n shot_type?: string;\n /**\n * 反向提示词,描述不希望出现的内容\n */\n negative_prompt?: string;\n /**\n * 随机种子,用于复现生成结果\n */\n seed?: number;\n };\n}\n\nexport interface AlibabaWanx26I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx26_i2v\n *\n * <p>API 文档: https://help.aliyun.com/zh/model-studio/image-to-video-api-reference</p>\n * <p>Alibaba Wanx2.6 I2V 图生视频生成接口,支持将图片转换为视频,支持多种分辨率和时长选项。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx26I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx26I2v({\n * // 参数见 AlibabaWanx26I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx26I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx26I2v(\n params: AlibabaWanx26I2vParams,\n): Promise<AlibabaWanx26I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx26_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx26I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx26ReferenceParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 视频生成提示词,最大长度2000字符\n * @length 0 - 2000\n */\n prompt: string;\n /**\n * 参考视频URL数组,用于角色/风格一致性,支持1-2个视频。注意:使用时audio必须为false,duration只能为5或10秒\n */\n reference_video_urls?: string[];\n /**\n * 自定义背景音乐URL(可选)\n */\n audio_url?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 视频分辨率,可选值:480P、720P、1080P\n * @default \"1080P\"\n * @values 480P | 720P | 1080P\n */\n resolution?: '480P' | '720P' | '1080P';\n /**\n * 视频时长(秒),可选值:5、10(参考视频时不支持15秒)\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否生成音频(使用参考视频时必须为false)\n * @default true\n */\n audio?: boolean;\n /**\n * 是否启用多镜头智能生成模式(仅在prompt_extend=true时生效)\n */\n multi_shots?: boolean;\n /**\n * 随机种子,用于复现生成结果\n */\n seed?: number;\n /**\n * 视频分辨率,支持 '832*480', '480*832', '624*624', '1280*720', '720*1280', '960*960', '1088*832', '832*1088', '1920*1080', '1080*1920', '1440*1440', '1632*1248', '1248*1632'\n * @default \"1920*1080\"\n * @values 832*480 | 480*832 | 624*624 | 1280*720 | 720*1280 | 960*960 | 1088*832 | 832*1088 | 1920*1080 | 1080*1920 | 1440*1440 | 1632*1248 | 1248*1632\n */\n size?: '832*480' | '480*832' | '624*624' | '1280*720' | '720*1280' | '960*960' | '1088*832' | '832*1088' | '1920*1080' | '1080*1920' | '1440*1440' | '1632*1248' | '1248*1632';\n };\n}\n\nexport interface AlibabaWanx26ReferenceResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx26_reference\n *\n * <p>API 文档: https://help.aliyun.com/zh/model-studio/text-to-video-api-reference</p>\n * <p>Alibaba Wanx2.6 参考生视频生成接口,支持最高1080p分辨率,支持参考视频生成(角色/风格一致性),支持多镜头智能生成和音频合成。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx26Reference } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx26Reference({\n * // 参数见 AlibabaWanx26ReferenceParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx26ReferenceParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx26Reference(\n params: AlibabaWanx26ReferenceParams,\n): Promise<AlibabaWanx26ReferenceResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx26_reference',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx26ReferenceResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx26T2vParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 视频生成提示词,最大长度2000字符\n * @length 0 - 2000\n */\n prompt: string;\n /**\n * 自定义背景音乐URL(可选)\n */\n audio_url?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 视频分辨率,可选值:480P、720P、1080P\n * @default \"1080P\"\n * @values 480P | 720P | 1080P\n */\n resolution?: '480P' | '720P' | '1080P';\n /**\n * 视频时长(秒),可选值:5、10、15\n * @default 5\n * @values 5 | 10 | 15\n */\n duration?: 5 | 10 | 15;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否生成音频(使用参考视频时必须为false)\n * @default true\n */\n audio?: boolean;\n /**\n * 是否启用多镜头智能生成模式(仅在prompt_extend=true时生效)\n */\n multi_shots?: boolean;\n /**\n * 随机种子,用于复现生成结果\n */\n seed?: number;\n /**\n * 视频分辨率,支持 '832*480', '480*832', '624*624', '1280*720', '720*1280', '960*960', '1088*832', '832*1088', '1920*1080', '1080*1920', '1440*1440', '1632*1248', '1248*1632'\n * @default \"1920*1080\"\n * @values 832*480 | 480*832 | 624*624 | 1280*720 | 720*1280 | 960*960 | 1088*832 | 832*1088 | 1920*1080 | 1080*1920 | 1440*1440 | 1632*1248 | 1248*1632\n */\n size?: '832*480' | '480*832' | '624*624' | '1280*720' | '720*1280' | '960*960' | '1088*832' | '832*1088' | '1920*1080' | '1080*1920' | '1440*1440' | '1632*1248' | '1248*1632';\n };\n}\n\nexport interface AlibabaWanx26T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx26_t2v\n *\n * <p>API 文档: https://help.aliyun.com/zh/model-studio/text-to-video-api-reference</p>\n * <p>Alibaba Wanx2.6 T2V 文生视频生成接口,支持最高1080p分辨率</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx26T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx26T2v({\n * // 参数见 AlibabaWanx26T2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx26T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx26T2v(\n params: AlibabaWanx26T2vParams,\n): Promise<AlibabaWanx26T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx26_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx26T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFlux11ProParams {\n /**\n * 文本提示词,描述要生成的图像内容\n * @default \"\"\n */\n prompt: string;\n /**\n * 图像提示,必须是有效的Base64编码图像\n */\n image_prompt?: string;\n /**\n * 图像宽度,必须是32的倍数,范围256-1440像素\n * @default 1024\n * @range 256 - 1440\n */\n width?: number;\n /**\n * 图像高度,必须是32的倍数,范围256-1440像素\n * @default 1024\n * @range 256 - 1440\n */\n height?: number;\n /**\n * 是否启用提示词增强\n * @default false\n */\n prompt_upsampling?: boolean;\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 安全容忍度,范围0-6\n * @default 2\n * @range 0 - 6\n */\n safety_tolerance?: number;\n /**\n * 输出格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n}\n\nexport interface BlackforestlabsFlux11ProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_11_pro\n *\n * Black Forest Labs FLUX 1.1 [pro] 图像生成实现\n * \n * Black Forest Labs FLUX 1.1 [pro] image generation implementation.\n * \n * Model: flux-pro-1.1\n * Features: 文字生成图像 (Text-to-Image)\n * Resolution: 256-1440px (宽高必须是32的倍数)\n * Image Prompt: 支持图像提示\n * \n * API Documentation: https://docs.bfl.ai/api-reference/tasks/generate-an-image-with-flux-11-[pro]\n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux11Pro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux11Pro({\n * // 参数见 BlackforestlabsFlux11ProParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux11ProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux11Pro(\n params: BlackforestlabsFlux11ProParams,\n): Promise<BlackforestlabsFlux11ProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_11_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux11ProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset, photorealistic, 4k quality\",\n * \"width\": 1024,\n * \"height\": 768,\n * \"steps\": 40,\n * \"prompt_upsampling\": false,\n * \"seed\": 42,\n * \"guidance\": 2.5,\n * \"safety_tolerance\": 2,\n * \"interval\": 2,\n * \"output_format\": \"jpeg\"\n * }\n * ```\n */\nexport interface BlackforestlabsFlux1ProParams {\n /**\n * 文本提示词,描述要生成的图像内容,可选,默认为空字符串\n * @default \"\"\n */\n prompt?: string;\n /**\n * 图像提示,必须是有效的Base64编码图像,用作图像生成的参考\n */\n image_prompt?: string;\n /**\n * 图像宽度(像素),必须是32的倍数,范围256-1440,默认1024\n * @default 1024\n * @range 256 - 1440\n */\n width?: number;\n /**\n * 图像高度(像素),必须是32的倍数,范围256-1440,默认768\n * @default 768\n * @range 256 - 1440\n */\n height?: number;\n /**\n * 生成步数,控制生成质量和时间,范围1-50,默认40\n * @default 40\n * @range 1 - 50\n */\n steps?: number;\n /**\n * 是否启用提示词增强,开启后会自动优化和扩展提示词,默认false\n * @default false\n */\n prompt_upsampling?: boolean;\n /**\n * 随机种子,用于生成可重复的结果\n */\n seed?: number;\n /**\n * 引导强度,控制生成结果与提示词的贴合度,范围1.5-5,默认2.5\n * @default 2.5\n * @range 1.5 - 5\n */\n guidance?: number;\n /**\n * 安全容忍度,控制内容安全过滤级别,范围0-6,0最严格,6最宽松,默认2\n * @default 2\n * @range 0 - 6\n */\n safety_tolerance?: number;\n /**\n * 间隔参数,范围1-4,默认2\n * @default 2\n * @range 1 - 4\n */\n interval?: number;\n /**\n * 输出格式,可选jpeg或png,默认jpeg\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 回调URL,生成完成后会向此URL发送通知,必须以http://或https://开头,长度1-2083字符\n */\n webhook_url?: string;\n /**\n * 回调密钥,用于验证webhook请求的安全性\n */\n webhook_secret?: string;\n}\n\nexport interface BlackforestlabsFlux1ProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_1_pro\n *\n * Black Forest Labs FLUX.1 [pro] 图像生成接口,支持文本提示词和图像提示生成高质量图像。\n * \n * Model: flux-pro\n * Features:\n * - 高质量图像生成\n * - 支持文本提示词和图像提示\n * - 可自定义图像尺寸(必须是32的倍数)\n * - 支持提示词自动增强\n * - 可控生成步数和引导强度\n * - 可选安全过滤级别\n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux1Pro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux1Pro(\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset, photorealistic, 4k quality\",\n * \"width\": 1024,\n * \"height\": 768,\n * \"steps\": 40,\n * \"prompt_upsampling\": false,\n * \"seed\": 42,\n * \"guidance\": 2.5,\n * \"safety_tolerance\": 2,\n * \"interval\": 2,\n * \"output_format\": \"jpeg\"\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux1ProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux1Pro(\n params: BlackforestlabsFlux1ProParams,\n): Promise<BlackforestlabsFlux1ProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_1_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux1ProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFlux2FlexParams {\n /**\n * 图像生成或编辑的文本提示词\n * @example \"一张宁静的森林小溪照片,阳光透过树叶照射下来,超现实风格,4K高清\"\n */\n prompt?: string;\n /**\n * 是否启用提示词优化增强\n * @default true\n */\n prompt_upsampling?: boolean;\n /**\n * 图像宽度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n width?: number;\n /**\n * 图像高度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n height?: number;\n /**\n * 内容安全容忍度(0-5),0最严格,5最宽松\n * @default 2\n * @range 0 - 5\n */\n safety_tolerance?: number;\n /**\n * 输出图像格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 随机种子,用于结果可复现\n * @example 42\n */\n seed?: number;\n /**\n * 推理步骤数。最大值:50\n * @default 50\n * @range ∞ - 50\n */\n steps?: number;\n /**\n * 生成指导比例。控制输出与提示的契合程度。最小值:1.5,最大值:10,默认值:4.5。\n * @default 4.5\n * @range 1.5 - 10\n */\n guidance?: number;\n /**\n * 接收Webhook通知的URL\n */\n webhook_url?: string;\n /**\n * Webhook签名验证密钥\n */\n webhook_secret?: string;\n}\n\nexport interface BlackforestlabsFlux2FlexResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_2_flex\n *\n * <p>使用FLUX.2 [FLEX]模型生成图像,支持纯文本生成和多参考图像编辑(最多10张)</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux2Flex } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux2Flex({\n * // 参数见 BlackforestlabsFlux2FlexParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux2FlexParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux2Flex(\n params: BlackforestlabsFlux2FlexParams,\n): Promise<BlackforestlabsFlux2FlexResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_2_flex',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux2FlexResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFlux2FlexEditParams {\n /**\n * 图像编辑的文本提示词\n * @example \"将背景改为蓝天白云,保持主体不变,超现实风格\"\n */\n prompt?: string;\n /**\n * 必需的输入图像URL\n */\n input_image?: string;\n /**\n * 是否启用提示词优化增强\n * @default true\n */\n prompt_upsampling?: boolean;\n /**\n * 图像宽度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n width?: number;\n /**\n * 图像高度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n height?: number;\n /**\n * 内容安全容忍度(0-5),0最严格,5最宽松\n * @default 2\n * @range 0 - 5\n */\n safety_tolerance?: number;\n /**\n * 输出图像格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 随机种子,用于结果可复现\n * @example 42\n */\n seed?: number;\n /**\n * 推理步骤数。最大值:50\n * @default 50\n * @range ∞ - 50\n */\n steps?: number;\n /**\n * 生成指导比例。控制输出与提示的契合程度。最小值:1.5,最大值:10,默认值:4.5。\n * @default 4.5\n * @range 1.5 - 10\n */\n guidance?: number;\n /**\n * 第2张参考图像URL\n */\n input_image_2?: string;\n /**\n * 第3张参考图像URL\n */\n input_image_3?: string;\n /**\n * 第4张参考图像URL\n */\n input_image_4?: string;\n /**\n * 第5张参考图像URL\n */\n input_image_5?: string;\n /**\n * 第6张参考图像URL\n */\n input_image_6?: string;\n /**\n * 第7张参考图像URL\n */\n input_image_7?: string;\n /**\n * 第8张参考图像URL\n */\n input_image_8?: string;\n /**\n * 第9张参考图像URL\n */\n input_image_9?: string;\n /**\n * 第10张参考图像URL\n */\n input_image_10?: string;\n /**\n * 接收Webhook通知的URL\n */\n webhook_url?: string;\n /**\n * Webhook签名验证密钥\n */\n webhook_secret?: string;\n}\n\nexport interface BlackforestlabsFlux2FlexEditResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_2_flex_edit\n *\n * <p>使用FLUX.2 [FLEX]模型编辑现有图像,支持最多10张参考图像(input_image必需)</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux2FlexEdit } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux2FlexEdit({\n * // 参数见 BlackforestlabsFlux2FlexEditParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux2FlexEditParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux2FlexEdit(\n params: BlackforestlabsFlux2FlexEditParams,\n): Promise<BlackforestlabsFlux2FlexEditResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_2_flex_edit',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux2FlexEditResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFlux2ProParams {\n /**\n * 图像生成的文本提示词\n * @example \"一张宁静的森林小溪照片,阳光透过树叶照射下来\"\n */\n prompt: string;\n /**\n * 是否启用提示词优化增强\n * @default true\n */\n prompt_upsampling?: boolean;\n /**\n * 输出图像宽度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n width?: number;\n /**\n * 输出图像宽度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n height?: number;\n /**\n * 内容安全容忍度(0-5),0最严格,5最宽松\n * @default 2\n * @range 0 - 5\n */\n safety_tolerance?: number;\n /**\n * 输出图像格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 随机种子,用于结果可复现\n * @example 42\n */\n seed?: number;\n /**\n * 接收Webhook通知的URL\n */\n webhook_url?: string;\n /**\n * Webhook签名验证密钥\n */\n webhook_secret?: string;\n}\n\nexport interface BlackforestlabsFlux2ProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_2_pro\n *\n * <p>使用FLUX.2 [PRO]模型生成或编辑图像,支持最多8张参考图像的多参考编辑</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux2Pro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux2Pro({\n * // 参数见 BlackforestlabsFlux2ProParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux2ProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux2Pro(\n params: BlackforestlabsFlux2ProParams,\n): Promise<BlackforestlabsFlux2ProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_2_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux2ProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFlux2ProEditParams {\n /**\n * 编辑指令的文本提示词\n * @example \"将背景改为蓝天白云,保持主体不变\"\n */\n prompt?: string;\n /**\n * 必需:要编辑的图像URL或Base64编码\n * @example \"https://example.com/image.jpg\"\n */\n input_image: string;\n /**\n * 是否启用提示词优化增强\n * @default true\n */\n prompt_upsampling?: boolean;\n /**\n * 输出图像宽度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n width?: number;\n /**\n * 输出图像高度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n height?: number;\n /**\n * 内容安全容忍度(0-5),0最严格,5最宽松\n * @default 2\n * @range 0 - 5\n */\n safety_tolerance?: number;\n /**\n * 输出图像格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 第2张参考图像URL或Base64编码(可选)\n */\n input_image_2?: string;\n /**\n * 第3张参考图像URL或Base64编码(可选)\n */\n input_image_3?: string;\n /**\n * 第4张参考图像URL或Base64编码(可选)\n */\n input_image_4?: string;\n /**\n * 第5张参考图像URL或Base64编码(实验性)\n */\n input_image_5?: string;\n /**\n * 第6张参考图像URL或Base64编码(实验性)\n */\n input_image_6?: string;\n /**\n * 第7张参考图像URL或Base64编码(实验性)\n */\n input_image_7?: string;\n /**\n * 第8张参考图像URL或Base64编码(实验性)\n */\n input_image_8?: string;\n /**\n * 随机种子,用于结果可复现\n * @example 42\n */\n seed?: number;\n /**\n * 接收Webhook通知的URL\n */\n webhook_url?: string;\n /**\n * Webhook签名验证密钥\n */\n webhook_secret?: string;\n}\n\nexport interface BlackforestlabsFlux2ProEditResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_2_pro_edit\n *\n * <p>使用FLUX.2 [PRO]模型编辑现有图像,必须提供input_image参数</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux2ProEdit } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux2ProEdit({\n * // 参数见 BlackforestlabsFlux2ProEditParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux2ProEditParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux2ProEdit(\n params: BlackforestlabsFlux2ProEditParams,\n): Promise<BlackforestlabsFlux2ProEditResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_2_pro_edit',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux2ProEditResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset\",\n * \"input_image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=\",\n * \"seed\": 42,\n * \"aspect_ratio\": \"16:9\",\n * \"output_format\": \"png\",\n * \"prompt_upsampling\": false,\n * \"safety_tolerance\": 2\n * }\n * ```\n */\nexport interface BlackforestlabsFluxKontextMaxParams {\n /**\n * 文本提示词,描述要生成或编辑的图像内容(必填)\n */\n prompt: string;\n /**\n * 第1张输入图像,支持Base64编码或URL格式(可选)\n */\n input_image?: string;\n /**\n * 第2张输入图像,支持Base64编码或URL格式(可选)\n */\n input_image_2?: string;\n /**\n * 第3张输入图像,支持Base64编码或URL格式(可选)\n */\n input_image_3?: string;\n /**\n * 第4张输入图像,支持Base64编码或URL格式(可选)\n */\n input_image_4?: string;\n /**\n * 随机种子,用于可重现的生成结果(可选)\n */\n seed?: number;\n /**\n * 图像宽高比,格式如 \"16:9\",范围为 \"21:9\" 到 \"9:21\"(可选)\n */\n aspect_ratio?: string;\n /**\n * 输出格式,默认png\n * @default \"png\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 是否启用提示词自动增强,默认false\n * @default false\n */\n prompt_upsampling?: boolean;\n /**\n * 安全容忍度,范围0-6,值越高容忍度越高,默认2\n * @default 2\n * @range 0 - 6\n */\n safety_tolerance?: number;\n}\n\nexport interface BlackforestlabsFluxKontextMaxResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_kontext_max\n *\n * Black Forest Labs Flux Kontext Max 图像生成接口,支持基于多张图像上下文的图像编辑和生成。\n * \n * Model: flux-kontext-max\n * Features:\n * - 支持最多4张输入图像作为上下文\n * - 支持灵活的宽高比设置(21:9 到 9:21)\n * - 支持JPEG和PNG输出格式\n * - 支持提示词自动增强\n * - 支持安全内容控制(0-6级别)\n * - 异步任务处理,自动轮询获取结果\n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFluxKontextMax } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFluxKontextMax(\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset\",\n * \"input_image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=\",\n * \"seed\": 42,\n * \"aspect_ratio\": \"16:9\",\n * \"output_format\": \"png\",\n * \"prompt_upsampling\": false,\n * \"safety_tolerance\": 2\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFluxKontextMaxParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFluxKontextMax(\n params: BlackforestlabsFluxKontextMaxParams,\n): Promise<BlackforestlabsFluxKontextMaxResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_kontext_max',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFluxKontextMaxResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFluxKontextProParams {\n /**\n * 文本提示词,描述要生成的图像内容\n */\n prompt: string;\n /**\n * 输入图像,Base64编码或URL\n */\n input_image?: string;\n /**\n * 输入图像2,Base64编码或URL\n */\n input_image_2?: string;\n /**\n * 输入图像3,Base64编码或URL\n */\n input_image_3?: string;\n /**\n * 输入图像4,Base64编码或URL\n */\n input_image_4?: string;\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 图像宽高比,格式如 \"16:9\",范围为 \"21:9\" 到 \"9:21\"\n * @default \"1:1\"\n */\n aspect_ratio?: string;\n /**\n * 输出格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 回调URL,必须以http://或https://开头,长度1-2083字符\n */\n webhook_url?: string;\n /**\n * 回调密钥\n */\n webhook_secret?: string;\n /**\n * 是否启用提示词增强\n * @default false\n */\n prompt_upsampling?: boolean;\n /**\n * 安全容忍度,范围0-6\n * @default 2\n * @range 0 - 6\n */\n safety_tolerance?: number;\n}\n\nexport interface BlackforestlabsFluxKontextProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_kontext_pro\n *\n * Black Forest Labs Flux Kontext Pro 图像生成接口\n * \n * Model: flux-kontext-pro (固定模型)\n * Features: 文本生成图像、多图输入编辑功能\n * Input Images: 支持1-4张输入图片(Base64或URL)\n * Aspect Ratio: 支持21:9到9:21范围的宽高比(默认1:1)\n * Output Format: jpeg、png(默认jpeg)\n * Advanced: 支持提示词增强、安全容忍度控制(0-6)、回调通知\n * \n * API Documentation: https://docs.bfl.ai/api-reference/tasks/edit-or-create-an-image-with-flux-kontext-pro\n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFluxKontextPro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFluxKontextPro({\n * // 参数见 BlackforestlabsFluxKontextProParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFluxKontextProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFluxKontextPro(\n params: BlackforestlabsFluxKontextProParams,\n): Promise<BlackforestlabsFluxKontextProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_kontext_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFluxKontextProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ElevenlabsTtsGeneratorParams {\n /**\n * 任务唯一标识符\n */\n task_id: string;\n data: {\n /**\n * 要转换为语音的文本内容\n */\n text: string;\n /**\n * 声音ID,默认为Rachel (21m00Tcm4TlvDq8ikWAM)。可选其他声音如:Josh, Bella, Antoni等\n */\n voice_id?: string;\n /**\n * 模型ID,可选值:eleven_monolingual_v1, eleven_multilingual_v1, eleven_multilingual_v2, eleven_turbo_v2等\n */\n model_id?: string;\n /**\n * 输出音频格式,默认mp3_44100_128。可选:mp3_22050_32, mp3_44100_64, mp3_44100_96, mp3_44100_128, mp3_44100_192, pcm_16000, pcm_22050, pcm_24000, pcm_44100, ulaw_8000\n */\n output_format?: string;\n /**\n * 语言代码,如:en, zh, es, fr等\n */\n language_code?: string;\n /**\n * 语音稳定性,范围0-1。值越高语音越稳定,越低则越富有表现力\n * @range 0 - 1\n */\n stability?: number;\n /**\n * 相似度增强,范围0-1。控制声音与原始声音的相似程度\n * @range 0 - 1\n */\n similarity_boost?: number;\n /**\n * 风格强度,范围0-1。控制语音的表现风格\n * @range 0 - 1\n */\n style?: number;\n /**\n * 是否启用说话者增强功能\n */\n use_speaker_boost?: boolean;\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 前置文本,用于提供上下文以获得更自然的语音\n */\n previous_text?: string;\n /**\n * 后续文本,用于提供上下文以获得更自然的语音\n */\n next_text?: string;\n /**\n * 优化流式延迟级别,范围0-4。值越高延迟越低,但可能影响质量\n */\n optimize_streaming_latency?: number;\n /**\n * 发音字典定位器数组,用于自定义发音\n */\n pronunciation_dictionary_locators?: Array<{\n }>;\n };\n}\n\nexport interface ElevenlabsTtsGeneratorResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * elevenlabs_tts_generator\n *\n * <p>使用ElevenLabs AI将文本转换为自然流畅的语音</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, elevenlabsTtsGenerator } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await elevenlabsTtsGenerator({\n * // 参数见 ElevenlabsTtsGeneratorParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ElevenlabsTtsGeneratorParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function elevenlabsTtsGenerator(\n params: ElevenlabsTtsGeneratorParams,\n): Promise<ElevenlabsTtsGeneratorResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 2000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'elevenlabs_tts_generator',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ElevenlabsTtsGeneratorResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleGemini3ProImageParams {\n /**\n * 图像生成提示词,长度必须在1-2500字符之间\n */\n prompt: string;\n /**\n * 输入图像URL列表,最多支持5个图像\n */\n image_urls?: string[];\n /**\n * 图像宽高比,支持: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9\n * @values 1:1 | 2:3 | 3:2 | 3:4 | 4:3 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9\n */\n aspect_ratio?: '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9';\n /**\n * 分辨率,支持: 1K,2K,4K\n * @values 1K | 2K | 4K\n */\n resolution?: '1K' | '2K' | '4K';\n}\n\nexport interface GoogleGemini3ProImageResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_gemini3_pro_image\n *\n * <p>Google Gemini 图像生成实现。</p>\n * <p>Model: google_gemini3_pro_image<br>\n * Features: 文本生成图像 (Text-to-Image), 图像编辑 (Image Editing), 多图像合成 (Multi-Image Composition)<br>\n * Input Images: 最多支持3张图像<br>\n * Aspect Ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, googleGemini3ProImage } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleGemini3ProImage({\n * // 参数见 GoogleGemini3ProImageParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleGemini3ProImageParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleGemini3ProImage(\n params: GoogleGemini3ProImageParams,\n): Promise<GoogleGemini3ProImageResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_gemini3_pro_image',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleGemini3ProImageResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleGeminiImageParams {\n /**\n * 图像生成提示词,长度必须在1-2500字符之间\n */\n prompt: string;\n /**\n * 安全设置\n * @default \"block_few\"\n */\n safety_settings?: string;\n /**\n * 生成配置\n */\n generation_config?: Record<string, any>;\n /**\n * 输入图像URL列表,最多支持3个图像\n */\n image_urls?: string[];\n /**\n * 图像宽高比,支持: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9\n * @values 1:1 | 2:3 | 3:2 | 3:4 | 4:3 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9\n */\n aspect_ratio?: '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9';\n}\n\nexport interface GoogleGeminiImageResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_gemini_image\n *\n * Google Gemini 图像生成实现。\n * \n * Model: gemini-2.5-flash-image\n * Features: 文本生成图像 (Text-to-Image), 图像编辑 (Image Editing), 多图像合成 (Multi-Image Composition)\n * Input Images: 最多支持3张图像\n * Aspect Ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleGeminiImage } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleGeminiImage({\n * // 参数见 GoogleGeminiImageParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleGeminiImageParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleGeminiImage(\n params: GoogleGeminiImageParams,\n): Promise<GoogleGeminiImageResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_gemini_image',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleGeminiImageResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleImagen4FastGenerateParams {\n /**\n * 图像生成提示词\n */\n prompt: string;\n /**\n * 负面提示词,描述不希望在图像中出现的内容\n */\n negative_prompt?: string;\n /**\n * 图像宽高比\n * @default \"1:1\"\n * @values 1:1 | 9:16 | 16:9 | 3:4 | 4:3\n */\n aspect_ratio?: '1:1' | '9:16' | '16:9' | '3:4' | '4:3';\n /**\n * 人物生成控制\n * @default \"dont_allow\"\n * @values dont_allow | allow_adult | allow_all\n */\n person_generation?: 'dont_allow' | 'allow_adult' | 'allow_all';\n /**\n * 安全过滤级别\n * @default \"BLOCK_MEDIUM_AND_ABOVE\"\n * @values BLOCK_NONE | BLOCK_FEW | BLOCK_SOME | BLOCK_MEDIUM_AND_ABOVE | BLOCK_MOST\n */\n safety_filter_level?: 'BLOCK_NONE' | 'BLOCK_FEW' | 'BLOCK_SOME' | 'BLOCK_MEDIUM_AND_ABOVE' | 'BLOCK_MOST';\n /**\n * 生成图像数量\n * @default 1\n * @range 1 - 4\n */\n number_of_images?: number;\n /**\n * 输出MIME类型\n * @default \"image/png\"\n * @values image/png | image/jpeg\n */\n output_mime_type?: 'image/png' | 'image/jpeg';\n /**\n * 提示词语言\n * @default \"auto\"\n */\n language?: string;\n}\n\nexport interface GoogleImagen4FastGenerateResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_imagen_4_fast_generate\n *\n * Google Imagen 4.0 Fast 图像生成实现。\n * \n * Model: imagen-4.0-fast-generate-001\n * API文档: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api\n * Features: 快速文本生成图像,优化性能\n * Aspect Ratios: 1:1, 9:16, 16:9, 3:4, 4:3\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleImagen4FastGenerate } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleImagen4FastGenerate({\n * // 参数见 GoogleImagen4FastGenerateParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleImagen4FastGenerateParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleImagen4FastGenerate(\n params: GoogleImagen4FastGenerateParams,\n): Promise<GoogleImagen4FastGenerateResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_imagen_4_fast_generate',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleImagen4FastGenerateResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleImagen4GenerateParams {\n /**\n * 图像生成提示词\n */\n prompt: string;\n /**\n * 负面提示词,描述不希望在图像中出现的内容\n */\n negative_prompt?: string;\n /**\n * 图像宽高比\n * @default \"1:1\"\n * @values 1:1 | 9:16 | 16:9 | 3:4 | 4:3\n */\n aspect_ratio?: '1:1' | '9:16' | '16:9' | '3:4' | '4:3';\n /**\n * 人物生成控制\n * @default \"dont_allow\"\n * @values dont_allow | allow_adult | allow_all\n */\n person_generation?: 'dont_allow' | 'allow_adult' | 'allow_all';\n /**\n * 安全过滤级别\n * @default \"BLOCK_MEDIUM_AND_ABOVE\"\n * @values BLOCK_NONE | BLOCK_FEW | BLOCK_SOME | BLOCK_MEDIUM_AND_ABOVE | BLOCK_MOST\n */\n safety_filter_level?: 'BLOCK_NONE' | 'BLOCK_FEW' | 'BLOCK_SOME' | 'BLOCK_MEDIUM_AND_ABOVE' | 'BLOCK_MOST';\n /**\n * 生成图像数量\n * @default 1\n * @range 1 - 4\n */\n number_of_images?: number;\n /**\n * 输出MIME类型\n * @default \"image/png\"\n * @values image/png | image/jpeg\n */\n output_mime_type?: 'image/png' | 'image/jpeg';\n /**\n * 提示词语言\n * @default \"auto\"\n */\n language?: string;\n}\n\nexport interface GoogleImagen4GenerateResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_imagen_4_generate\n *\n * Google Imagen 4.0 图像生成实现。\n * \n * Model: imagen-4.0-generate-001\n * API文档: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api\n * Features: 文本生成图像,支持高级功能\n * Aspect Ratios: 1:1, 9:16, 16:9, 3:4, 4:3\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleImagen4Generate } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleImagen4Generate({\n * // 参数见 GoogleImagen4GenerateParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleImagen4GenerateParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleImagen4Generate(\n params: GoogleImagen4GenerateParams,\n): Promise<GoogleImagen4GenerateResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_imagen_4_generate',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleImagen4GenerateResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleImagen4UltraGenerateParams {\n /**\n * 图像生成提示词\n */\n prompt: string;\n /**\n * 负面提示词,描述不希望在图像中出现的内容\n */\n negative_prompt?: string;\n /**\n * 图像宽高比\n * @default \"1:1\"\n * @values 1:1 | 9:16 | 16:9 | 3:4 | 4:3\n */\n aspect_ratio?: '1:1' | '9:16' | '16:9' | '3:4' | '4:3';\n /**\n * 人物生成控制\n * @default \"dont_allow\"\n * @values dont_allow | allow_adult | allow_all\n */\n person_generation?: 'dont_allow' | 'allow_adult' | 'allow_all';\n /**\n * 安全过滤级别\n * @default \"BLOCK_MEDIUM_AND_ABOVE\"\n * @values BLOCK_NONE | BLOCK_FEW | BLOCK_SOME | BLOCK_MEDIUM_AND_ABOVE | BLOCK_MOST\n */\n safety_filter_level?: 'BLOCK_NONE' | 'BLOCK_FEW' | 'BLOCK_SOME' | 'BLOCK_MEDIUM_AND_ABOVE' | 'BLOCK_MOST';\n /**\n * 生成图像数量\n * @default 1\n * @range 1 - 4\n */\n number_of_images?: number;\n /**\n * 输出MIME类型\n * @default \"image/png\"\n * @values image/png | image/jpeg\n */\n output_mime_type?: 'image/png' | 'image/jpeg';\n /**\n * 提示词语言\n * @default \"auto\"\n */\n language?: string;\n}\n\nexport interface GoogleImagen4UltraGenerateResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_imagen_4_ultra_generate\n *\n * Google Imagen 4.0 Ultra 图像生成实现。\n * \n * Model: imagen-4.0-ultra-generate-001\n * API文档: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api\n * Features: 超高质量文本生成图像,支持高级功能\n * Aspect Ratios: 1:1, 9:16, 16:9, 3:4, 4:3\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleImagen4UltraGenerate } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleImagen4UltraGenerate({\n * // 参数见 GoogleImagen4UltraGenerateParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleImagen4UltraGenerateParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleImagen4UltraGenerate(\n params: GoogleImagen4UltraGenerateParams,\n): Promise<GoogleImagen4UltraGenerateResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_imagen_4_ultra_generate',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleImagen4UltraGenerateResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A serene beach at sunset with waves gently crashing on the shore\",\n * \"durationSeconds\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"enhancePrompt\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * ```\n */\nexport interface GoogleVeo20Generate001Params {\n /**\n * 视频生成提示词(必填),描述要生成的视频内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 输入图像(可选),用于I2V模式,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n image?: string | any;\n /**\n * 输入视频(可选),用于视频延长模式,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n video?: string | any;\n /**\n * 视频最后一帧图像(可选),用于视频延长模式,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n lastFrame?: string | any;\n /**\n * 负向提示词(可选),描述不希望出现的内容\n */\n negativePrompt?: string;\n /**\n * 视频时长(秒),支持5、6、7、8秒,默认5秒\n * @default 5\n * @values 5 | 6 | 7 | 8\n */\n durationSeconds?: 5 | 6 | 7 | 8;\n /**\n * 视频宽高比,支持: 9:16(竖屏), 16:9(横屏),默认16:9\n * @default \"16:9\"\n * @values 9:16 | 16:9\n */\n aspectRatio?: '9:16' | '16:9';\n /**\n * 是否自动增强提示词,启用后会优化提示词以获得更好效果,默认true\n * @default true\n */\n enhancePrompt?: boolean;\n /**\n * 人物生成设置,dont_allow(不允许生成人物), allow_adult(允许生成成年人),默认allow_adult\n * @default \"allow_adult\"\n * @values dont_allow | allow_adult\n */\n personGeneration?: 'dont_allow' | 'allow_adult';\n /**\n * 生成样本数量,范围1-4,默认1\n * @default 1\n * @range 1 - 4\n */\n sampleCount?: number;\n /**\n * 随机种子,用于可重现的生成结果,范围0-4294967295\n * @range 0 - 4294967295\n */\n seed?: number;\n /**\n * 存储URI(可选),用于指定Google Cloud Storage存储位置(如gs://bucket/path),未指定时返回base64编码\n */\n storageUri?: string;\n}\n\nexport interface GoogleVeo20Generate001Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_20_generate_001\n *\n * Google Veo 2.0 视频生成接口,支持文本到视频(T2V)、图像到视频(I2V)和视频延长三种模式。\n * \n * Model: veo-2.0-generate-001\n * Features:\n * - 文本到视频(T2V): 仅提供prompt\n * - 图像到视频(I2V): 提供prompt和image\n * - 视频延长: 提供prompt、video和lastFrame\n * - 支持5-8秒视频时长\n * - 支持9:16和16:9两种宽高比\n * - 支持批量生成1-4个样本\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo20Generate001 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo20Generate001(\n * {\n * \"prompt\": \"A serene beach at sunset with waves gently crashing on the shore\",\n * \"durationSeconds\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"enhancePrompt\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo20Generate001Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo20Generate001(\n params: GoogleVeo20Generate001Params,\n): Promise<GoogleVeo20Generate001Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_20_generate_001',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo20Generate001Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A serene lake surrounded by mountains at sunset, with gentle waves and reflections\",\n * \"durationSeconds\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"enhancePrompt\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * ```\n */\nexport interface GoogleVeo20GenerateExpParams {\n /**\n * 视频生成提示词,描述要生成的视频内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 输入图像,用于图像到视频(I2V)模式,支持URL、base64数据(data:image/...格式)或包含bytesBase64Encoded/gcsUri的对象\n */\n image?: string | any;\n /**\n * 参考图像列表,用于引导视频生成风格或包含特定素材,最多3张素材或1张风格图像\n */\n referenceImages?: Array<{\n /**\n * 参考图像,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n image: string | any;\n /**\n * 参考类型,可选值:asset(素材,最多3张)或 style(风格,最多1张),默认asset\n * @default \"asset\"\n * @values asset | style\n */\n referenceType?: 'asset' | 'style';\n }>;\n /**\n * 负向提示词,描述不希望在视频中出现的内容\n */\n negativePrompt?: string;\n /**\n * 视频时长(秒),支持5、6、7或8秒,默认5秒\n * @default 5\n * @values 5 | 6 | 7 | 8\n */\n durationSeconds?: 5 | 6 | 7 | 8;\n /**\n * 视频宽高比,支持9:16(竖屏)或16:9(横屏),默认16:9\n * @default \"16:9\"\n * @values 9:16 | 16:9\n */\n aspectRatio?: '9:16' | '16:9';\n /**\n * 是否启用提示词增强,开启后会自动优化和扩展提示词,默认true\n * @default true\n */\n enhancePrompt?: boolean;\n /**\n * 人物生成设置,可选值:dont_allow(不允许生成人物)或 allow_adult(允许生成成年人),默认allow_adult\n * @default \"allow_adult\"\n * @values dont_allow | allow_adult\n */\n personGeneration?: 'dont_allow' | 'allow_adult';\n /**\n * 生成样本数量,控制一次生成多少个视频,范围1-4,默认1\n * @default 1\n * @range 1 - 4\n */\n sampleCount?: number;\n /**\n * 随机种子,用于生成可重复的结果,范围0-4294967295\n * @range 0 - 4294967295\n */\n seed?: number;\n /**\n * GCS存储URI,用于指定视频存储位置,格式如 gs://bucket-name/path/。如不指定则返回base64编码的视频\n */\n storageUri?: string;\n}\n\nexport interface GoogleVeo20GenerateExpResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_20_generate_exp\n *\n * Google Veo 2.0 Generate Exp 视频生成接口,支持文本到视频(T2V)、图像到视频(I2V)和参考图像生成。\n * \n * Model: veo-2.0-generate-exp\n * Features:\n * - 文本到视频生成(T2V)\n * - 图像到视频生成(I2V)\n * - 支持参考图像(素材或风格)\n * - 可自定义视频时长(5-8秒)\n * - 支持多种宽高比\n * - 提示词增强功能\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo20GenerateExp } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo20GenerateExp(\n * {\n * \"prompt\": \"A serene lake surrounded by mountains at sunset, with gentle waves and reflections\",\n * \"durationSeconds\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"enhancePrompt\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo20GenerateExpParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo20GenerateExp(\n params: GoogleVeo20GenerateExpParams,\n): Promise<GoogleVeo20GenerateExpResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_20_generate_exp',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo20GenerateExpResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleVeo20GeneratePreviewParams {\n /**\n * 视频生成提示词,长度不超过2000字符\n */\n prompt: string;\n /**\n * 输入图像,用于I2V模式,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n image?: string | any;\n /**\n * 负向提示词\n */\n negativePrompt?: string;\n /**\n * 视频时长(秒),支持5、6、7或8秒,默认5秒\n * @default 5\n * @values 5 | 6 | 7 | 8\n */\n durationSeconds?: 5 | 6 | 7 | 8;\n /**\n * 视频宽高比,支持: 9:16, 16:9,默认16:9\n * @default \"16:9\"\n * @values 9:16 | 16:9\n */\n aspectRatio?: '9:16' | '16:9';\n /**\n * 是否增强提示词,默认true\n * @default true\n */\n enhancePrompt?: boolean;\n /**\n * 人物生成设置,支持: dont_allow(不允许), allow_adult(允许成年人),默认allow_adult\n * @default \"allow_adult\"\n * @values dont_allow | allow_adult\n */\n personGeneration?: 'dont_allow' | 'allow_adult';\n /**\n * 生成样本数量,范围1-4,默认1\n * @default 1\n * @range 1 - 4\n */\n sampleCount?: number;\n /**\n * 随机种子,范围0-4294967295\n * @range 0 - 4294967295\n */\n seed?: number;\n /**\n * 存储URI,用于指定GCS存储位置,默认返回base64编码\n */\n storageUri?: string;\n}\n\nexport interface GoogleVeo20GeneratePreviewResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_20_generate_preview\n *\n * Google Veo 2.0 Generate Preview 视频生成器\n * \n * Video generation implementation for Google Vertex AI Veo 2.0 Preview API.\n * \n * Model: veo-2.0-generate-preview\n * Features: 文字生成视频 (T2V) 和图像生成视频 (I2V)\n * Duration: 5-8秒\n * Aspect Ratio: 9:16, 16:9\n * \n * API Documentation: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/veo-video-generation\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo20GeneratePreview } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo20GeneratePreview({\n * // 参数见 GoogleVeo20GeneratePreviewParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo20GeneratePreviewParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo20GeneratePreview(\n params: GoogleVeo20GeneratePreviewParams,\n): Promise<GoogleVeo20GeneratePreviewResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_20_generate_preview',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo20GeneratePreviewResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleVeo30FastGenerate001Params {\n /**\n * 视频生成提示词,长度不超过2000字符\n */\n prompt: string;\n /**\n * 输入图像,用于I2V模式,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n image?: string | any;\n /**\n * 负向提示词\n */\n negativePrompt?: string;\n /**\n * 视频时长(秒),支持4、6或8秒,默认6秒(快速生成使用较短时长)\n */\n durationSeconds?: number;\n /**\n * 视频宽高比,支持: 9:16, 16:9,默认16:9\n */\n aspectRatio?: string;\n /**\n * 视频分辨率,支持: 720p, 1080p,默认720p(快速生成使用较低分辨率)\n */\n resolution?: string;\n /**\n * 压缩质量,支持: optimized(优化), lossless(无损),默认optimized(快速生成使用优化压缩)\n */\n compressionQuality?: string;\n /**\n * 是否增强提示词,默认true\n */\n enhancePrompt?: boolean;\n /**\n * 是否生成音频(Veo 3.0新增功能)\n */\n generateAudio?: boolean;\n /**\n * 人物生成设置,支持: dont_allow(不允许), allow_adult(允许成年人),默认allow_adult\n */\n personGeneration?: string;\n /**\n * 生成样本数量,范围1-4,默认1(快速生成最多限制2个)\n */\n sampleCount?: number;\n /**\n * 随机种子,范围0-4294967295\n */\n seed?: number;\n /**\n * 存储URI,用于指定GCS存储位置,默认返回base64编码\n */\n storageUri?: string;\n}\n\nexport interface GoogleVeo30FastGenerate001Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_30_fast_generate_001\n *\n * Google Veo 3.0 Fast Generate 001 快速视频生成接口\n * \n * Model: veo-3.0-fast-generate-001 (固定模型)\n * Features: 快速视频生成功能,支持文本到视频(T2V)和图像到视频(I2V)\n * Duration: 4、6或8秒(默认6秒,针对快速生成优化)\n * Resolution: 720p、1080p(默认720p,快速生成使用较低分辨率)\n * Aspect Ratio: 9:16、16:9(默认16:9)\n * Sample Count: 1-4个(默认1个,快速生成推荐1-2个)\n * Advanced: 支持提示词增强、音频生成、人物生成控制、压缩质量设置(优化/无损)\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo30FastGenerate001 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo30FastGenerate001({\n * // 参数见 GoogleVeo30FastGenerate001Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo30FastGenerate001Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo30FastGenerate001(\n params: GoogleVeo30FastGenerate001Params,\n): Promise<GoogleVeo30FastGenerate001Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_30_fast_generate_001',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo30FastGenerate001Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A cinematic view of a bustling city street at night with neon lights and rain\",\n * \"durationSeconds\": 8,\n * \"aspectRatio\": \"16:9\",\n * \"resolution\": \"1080p\",\n * \"compressionQuality\": \"optimized\",\n * \"enhancePrompt\": true,\n * \"generateAudio\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * ```\n */\nexport interface GoogleVeo30Generate001Params {\n /**\n * 视频生成提示词,描述要生成的视频内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 输入图像,用于图像到视频(I2V)模式,支持URL、base64数据(data:image/...格式)或包含bytesBase64Encoded/gcsUri的对象\n */\n image?: string | any;\n /**\n * 负向提示词,描述不希望在视频中出现的内容\n */\n negativePrompt?: string;\n /**\n * 视频时长(秒),支持4、6或8秒,默认8秒\n * @default 8\n * @values 4 | 6 | 8\n */\n durationSeconds?: 4 | 6 | 8;\n /**\n * 视频宽高比,支持9:16(竖屏)或16:9(横屏),默认16:9\n * @default \"16:9\"\n * @values 9:16 | 16:9\n */\n aspectRatio?: '9:16' | '16:9';\n /**\n * 视频分辨率,支持720p或1080p,默认720p。Veo 3.0新增功能,用于控制输出视频的清晰度\n * @default \"720p\"\n * @values 720p | 1080p\n */\n resolution?: '720p' | '1080p';\n /**\n * 压缩质量,可选值:optimized(优化,较小文件)或 lossless(无损,较大文件),默认optimized\n * @default \"optimized\"\n * @values optimized | lossless\n */\n compressionQuality?: 'optimized' | 'lossless';\n /**\n * 是否启用提示词增强,开启后会自动优化和扩展提示词,默认true\n * @default true\n */\n enhancePrompt?: boolean;\n /**\n * 是否生成音频,Veo 3.0新增功能,可为视频生成配套音频,默认true\n * @default true\n */\n generateAudio?: boolean;\n /**\n * 人物生成设置,可选值:dont_allow(不允许生成人物)或 allow_adult(允许生成成年人),默认allow_adult\n * @default \"allow_adult\"\n * @values dont_allow | allow_adult\n */\n personGeneration?: 'dont_allow' | 'allow_adult';\n /**\n * 生成样本数量,控制一次生成多少个视频,范围1-4,默认1\n * @default 1\n * @range 1 - 4\n */\n sampleCount?: number;\n /**\n * 随机种子,用于生成可重复的结果,范围0-4294967295\n * @range 0 - 4294967295\n */\n seed?: number;\n /**\n * GCS存储URI,用于指定视频存储位置,格式如 gs://bucket-name/path/。如不指定则返回base64编码的视频\n */\n storageUri?: string;\n}\n\nexport interface GoogleVeo30Generate001Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_30_generate_001\n *\n * Google Veo 3.0 Generate 001 视频生成接口,支持文本到视频(T2V)和图像到视频(I2V)生成,提供分辨率和压缩选项。\n * \n * Model: veo-3.0-generate-001\n * Features:\n * - 文本到视频生成(T2V)\n * - 图像到视频生成(I2V)\n * - 支持720p和1080p分辨率\n * - 可选压缩质量(优化或无损)\n * - 音频生成功能(Veo 3.0新增)\n * - 提示词增强功能\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo30Generate001 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo30Generate001(\n * {\n * \"prompt\": \"A cinematic view of a bustling city street at night with neon lights and rain\",\n * \"durationSeconds\": 8,\n * \"aspectRatio\": \"16:9\",\n * \"resolution\": \"1080p\",\n * \"compressionQuality\": \"optimized\",\n * \"enhancePrompt\": true,\n * \"generateAudio\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo30Generate001Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo30Generate001(\n params: GoogleVeo30Generate001Params,\n): Promise<GoogleVeo30Generate001Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_30_generate_001',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo30Generate001Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleVeo31Params {\n /**\n * 视频生成提示词,长度必须在1-2000字符之间\n */\n prompt: string;\n /**\n * 视频时长(秒),必须是4、6或8\n * @default 8\n * @values 4 | 6 | 8\n */\n durationSeconds?: 4 | 6 | 8;\n /**\n * 视频宽高比\n * @default \"16:9\"\n * @values 9:16 | 16:9\n */\n aspectRatio?: '9:16' | '16:9';\n /**\n * 视频分辨率\n * @default \"720p\"\n * @values 720p | 1080p\n */\n resolution?: '720p' | '1080p';\n /**\n * 压缩质量\n * @default \"optimized\"\n * @values optimized | lossless\n */\n compressionQuality?: 'optimized' | 'lossless';\n /**\n * 人物生成设置\n * @default \"allow_adult\"\n * @values dont_allow | allow_adult\n */\n personGeneration?: 'dont_allow' | 'allow_adult';\n /**\n * 生成样本数,范围1-4\n * @default 1\n * @range 1 - 4\n */\n sampleCount?: number;\n /**\n * 随机种子,范围0-4294967295\n */\n seed?: number;\n /**\n * 负面提示词\n */\n negativePrompt?: string;\n /**\n * 是否生成音频\n */\n generateAudio?: boolean;\n /**\n * 是否增强提示词\n */\n enhancePrompt?: boolean;\n /**\n * 存储URI\n */\n storageUri?: string;\n /**\n * 输入图像,URL或Base64编码\n */\n image?: string;\n /**\n * 最后一帧图像,URL或Base64编码\n */\n lastFrame?: string;\n /**\n * 输入视频,URL或Base64编码\n */\n video?: string;\n /**\n * 参考图像列表,最多3个\n */\n referenceImages?: Array<{\n /**\n * 参考图像,URL或Base64编码\n */\n image?: string;\n /**\n * 参考类型\n * @values asset | style\n */\n referenceType?: 'asset' | 'style';\n }>;\n}\n\nexport interface GoogleVeo31Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_31\n *\n * Google Veo 3.1 Video Generation\n * \n * Video generation implementation for Google Vertex AI Veo API.\n * \n * Model: veo-3.1-generate-preview\n * Features: 文字生成视频 (T2V) 和图像生成视频 (I2V),支持参考图像\n * Duration: 4、6、8秒\n * Resolution: 720p, 1080p\n * Aspect Ratio: 9:16, 16:9\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo31 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo31({\n * // 参数见 GoogleVeo31Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo31Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo31(\n params: GoogleVeo31Params,\n): Promise<GoogleVeo31Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_31',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo31Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingAvatarParams {\n /**\n * 数字人图片,支持URL或Base64格式\n */\n image: string;\n /**\n * 音频ID,与sound_file二选一。不能同时提供audio_id和sound_file\n */\n audio_id?: string;\n /**\n * 音频文件URL或Base64,与audio_id二选一。不能同时提供audio_id和sound_file\n */\n sound_file?: string;\n /**\n * 文本提示词,可选参数\n */\n prompt?: string;\n /**\n * 生成模式\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 外部任务ID,用于关联外部系统\n */\n external_task_id?: string;\n}\n\nexport interface KlingAvatarResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_avatar\n *\n * API Documentation: https://app.klingai.com/cn/dev/document-api/apiReference/model/avatar\n * \n * Kling AI 数字人视频生成接口,支持通过图片和音频生成数字人视频。\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingAvatar } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingAvatar({\n * // 参数见 KlingAvatarParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingAvatarParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingAvatar(\n params: KlingAvatarParams,\n): Promise<KlingAvatarResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_avatar',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingAvatarResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"video_url\": \"https://example.com/input_video.mp4\",\n * \"duration\": \"10\",\n * \"aspect_ratio\": \"16:9\",\n * \"extension_type\": \"forward\",\n * \"seed\": 42\n * }\n * ```\n */\nexport interface KlingDurationExtensionParams {\n /**\n * 视频URL(必填),必须是有效的HTTP或HTTPS URL\n */\n video_url: string;\n /**\n * 目标扩展时长(必填),支持: \"5\"(5秒)或 \"10\"(10秒),也可以是整数 5 或 10\n */\n duration: string | any;\n /**\n * 视频宽高比(可选),支持: 16:9(横屏), 9:16(竖屏), 1:1(方形)\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 扩展类型(可选),支持: forward(前向扩展), backward(后向扩展), both(双向扩展)\n * @values forward | backward | both\n */\n extension_type?: 'forward' | 'backward' | 'both';\n /**\n * 视频质量参数(可选)\n */\n quality?: string;\n /**\n * 随机种子(可选),用于可重现的生成结果\n */\n seed?: number;\n /**\n * 外部任务ID(可选),用于关联外部系统的任务\n */\n external_task_id?: string;\n}\n\nexport interface KlingDurationExtensionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_duration_extension\n *\n * Kling AI 视频时长扩展接口,支持对现有视频进行前向、后向或双向时长扩展。\n * \n * Model: kling-duration-extension\n * Features:\n * - 支持将视频扩展到5秒或10秒\n * - 支持三种宽高比:16:9(横屏)、9:16(竖屏)、1:1(方形)\n * - 支持三种扩展模式:forward(前向扩展)、backward(后向扩展)、both(双向扩展)\n * - 支持自定义随机种子\n * - 异步任务处理,自动轮询获取结果\n * - JWT Token 认证\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingDurationExtension } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingDurationExtension(\n * {\n * \"video_url\": \"https://example.com/input_video.mp4\",\n * \"duration\": \"10\",\n * \"aspect_ratio\": \"16:9\",\n * \"extension_type\": \"forward\",\n * \"seed\": 42\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingDurationExtensionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingDurationExtension(\n params: KlingDurationExtensionParams,\n): Promise<KlingDurationExtensionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_duration_extension',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingDurationExtensionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingEffectsMultiV1Params {\n /**\n * 输入参数\n */\n input: {\n /**\n * 输入图像URL列表,必须包含2个图像\n */\n images: string[];\n /**\n * 视频时长,必须为正数\n */\n duration: number;\n };\n /**\n * 特效场景,可选值:'hug'、'kiss'、'heart_gesture'\n * @values hug | kiss | heart_gesture\n */\n effect_scene: 'hug' | 'kiss' | 'heart_gesture';\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingEffectsMultiV1Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_effects_multi_v1\n *\n * Kling AI Multi Person Video Effects Generator (V1 Model)\n * \n * Multi person video effects generation implementation for Kling AI API using V1 model.\n * \n * Model: kling-v1\n * Features: 多人视频特效 (拥抱/亲吻/比心)\n * Effect Scenes: hug, kiss, heart_gesture\n * Input: 2张图像\n * \n * API Documentation: https://app.klingai.com/cn/dev/document-api/apiReference/model/videoEffects\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingEffectsMultiV1 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingEffectsMultiV1({\n * // 参数见 KlingEffectsMultiV1Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingEffectsMultiV1Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingEffectsMultiV1(\n params: KlingEffectsMultiV1Params,\n): Promise<KlingEffectsMultiV1Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_effects_multi_v1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingEffectsMultiV1Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingEffectsMultiV15Params {\n /**\n * 输入参数\n */\n input: {\n /**\n * 输入图像URL列表,必须包含2个图像\n */\n images: string[];\n /**\n * 视频时长,必须为正数\n */\n duration: number;\n };\n /**\n * 特效场景,可选值:'hug'、'kiss'、'heart_gesture'\n * @values hug | kiss | heart_gesture\n */\n effect_scene: 'hug' | 'kiss' | 'heart_gesture';\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingEffectsMultiV15Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_effects_multi_v15\n *\n * Kling AI Multi Person Video Effects Generator (V1.5 Model)\n * \n * Multi person video effects generation implementation for Kling AI API using V1.5 model.\n * \n * Model: kling-v1-5 (固定模型)\n * Features: 多人视频特效生成功能\n * Effect Scenes: hug(拥抱)、kiss(亲吻)、heart_gesture(比心)\n * Input: 必须提供2张输入图像URL\n * Duration: 必须指定正数视频时长\n * Advanced: 支持回调URL通知、外部任务ID关联\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingEffectsMultiV15 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingEffectsMultiV15({\n * // 参数见 KlingEffectsMultiV15Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingEffectsMultiV15Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingEffectsMultiV15(\n params: KlingEffectsMultiV15Params,\n): Promise<KlingEffectsMultiV15Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_effects_multi_v15',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingEffectsMultiV15Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingEffectsMultiV16Params {\n /**\n * 输入参数\n */\n input: {\n /**\n * 输入图像URL列表,必须包含2个图像\n */\n images: string[];\n /**\n * 视频时长,必须为正数\n */\n duration: number;\n };\n /**\n * 特效场景,可选值:'hug'、'kiss'、'heart_gesture'、'fight'\n * @values hug | kiss | heart_gesture | fight\n */\n effect_scene: 'hug' | 'kiss' | 'heart_gesture' | 'fight';\n}\n\nexport interface KlingEffectsMultiV16Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_effects_multi_v16\n *\n * Kling AI Multi Person Video Effects Generator (V1.6 Model)\n * \n * Model: kling-v1-6\n * Features: 多人互动特效视频生成 (Multi Person Video Effects)\n * Effect Scenes: hug(拥抱), kiss(亲吻), heart_gesture(比心), fight(打架)\n * Input Images: 必须包含2个图像\n * \n * API Documentation: https://app.klingai.com/cn/dev/document-api/apiReference/model/videoEffects\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingEffectsMultiV16 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingEffectsMultiV16({\n * // 参数见 KlingEffectsMultiV16Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingEffectsMultiV16Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingEffectsMultiV16(\n params: KlingEffectsMultiV16Params,\n): Promise<KlingEffectsMultiV16Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_effects_multi_v16',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingEffectsMultiV16Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"effect_scene\": \"hug\",\n * \"input\": {\n * \"images\": [\n * \"https://example.com/person.jpg\"\n * ],\n * \"duration\": 5\n * }\n * }\n * ```\n */\nexport interface KlingEffectsSingleParams {\n /**\n * 特效场景,必填参数。支持100多种单人互动特效,包括: baseball(棒球), inner_voice(内心独白), a_list_look(名人效应), memory_alive(记忆复活), trampoline(蹦床), trampoline_night(夜间蹦床), pucker_up(嘟嘴), guess_what(猜猜看), feed_mooncake(喂月饼), rampage_ape(暴走猿), flyer(传单), dishwasher(洗碗机), pet_chinese_opera(宠物戏曲), magic_fireball(魔法火球), gallery_ring(画廊戒指), pet_moto_rider(宠物骑士), muscle_pet(肌肉宠物), squeeze_scream(挤压尖叫), pet_delivery(宠物快递), running_man(奔跑吧), disappear(消失), mythic_style(神话风格), steampunk(蒸汽朋克), c4d_cartoon(C4D卡通), 3d_cartoon_1(3D卡通1), 3d_cartoon_2(3D卡通2), eagle_snatch(鹰抓), hug_from_past(来自过去的拥抱), firework(烟花), media_interview(媒体采访), pet_lion(宠物狮子), pet_chef(宠物厨师), santa_gifts(圣诞礼物), santa_hug(圣诞拥抱), girlfriend(女朋友), boyfriend(男朋友), heart_gesture_1(比心1), pet_wizard(宠物巫师), smoke_smoke(烟雾), thumbs_up(点赞), instant_kid(瞬间小孩), dollar_rain(美元雨), cry_cry(哭泣), building_collapse(建筑倒塌), gun_shot(枪击), mushroom(蘑菇), double_gun(双枪), pet_warrior(宠物战士), lightning_power(闪电力量), jesus_hug(耶稣拥抱), shark_alert(鲨鱼警报), long_hair(长发), lie_flat(躺平), polar_bear_hug(北极熊拥抱), brown_bear_hug(棕熊拥抱), jazz_jazz(爵士), office_escape_plow(办公室逃脱), fly_fly(飞行), watermelon_bomb(西瓜炸弹), pet_dance(宠物舞蹈), boss_coming(老板来了), wool_curly(羊毛卷), pet_bee(宠物蜜蜂), marry_me(嫁给我), swing_swing(秋千), day_to_night(日转夜), piggy_morph(小猪变形), wig_out(假发), car_explosion(汽车爆炸), ski_ski(滑雪), tiger_hug(老虎拥抱), siblings(兄弟姐妹), construction_worker(建筑工人), let's_ride(骑行), snatched(抢夺), magic_broom(魔法扫帚), felt_felt(毛毡), jumpdrop(跳落), celebration(庆祝), splashsplash(飞溅), surfsurf(冲浪), fairy_wing(仙女翅膀), angel_wing(天使翅膀), dark_wing(黑暗翅膀), skateskate(滑板), plushcut(毛绒切割), jelly_press(果冻挤压), jelly_slice(果冻切片), jelly_squish(果冻挤压), jelly_jiggle(果冻抖动), pixelpixel(像素), yearbook(年鉴), instant_film(即时胶片), anime_figure(动漫人物), rocketrocket(火箭), bloombloom(绽放), dizzydizzy(眩晕), fuzzyfuzzy(模糊), squish(挤压), expansion(扩张), hug(拥抱), kiss(亲吻), heart_gesture(比心), fight(打斗)等\n */\n effect_scene: string;\n /**\n * 输入对象,必填参数,包含图像URL列表和视频时长\n */\n input: {\n /**\n * 图像URL列表,必填参数,每个URL必须是有效的HTTP或HTTPS地址\n */\n images: string[];\n /**\n * 视频时长(秒),必填参数,必须为正数\n */\n duration: number;\n };\n /**\n * 外部任务ID,可选参数,用于关联外部系统的任务\n */\n external_task_id?: string;\n}\n\nexport interface KlingEffectsSingleResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_effects_single\n *\n * Kling AI 单人视频特效生成接口,支持棒球、内心独白、记忆复活、蹦床、猜猜看等100多种单人互动特效场景。\n * \n * Model: kling-effects-single\n * Features:\n * - 100多种单人互动特效场景\n * - 支持人物与虚拟元素互动\n * - 自定义视频时长\n * - 高质量特效渲染\n * \n * API Documentation: https://app.klingai.com/cn/dev/document-api/apiReference/model/videoEffects\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingEffectsSingle } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingEffectsSingle(\n * {\n * \"effect_scene\": \"hug\",\n * \"input\": {\n * \"images\": [\n * \"https://example.com/person.jpg\"\n * ],\n * \"duration\": 5\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingEffectsSingleParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingEffectsSingle(\n params: KlingEffectsSingleParams,\n): Promise<KlingEffectsSingleResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_effects_single',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingEffectsSingleResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"mode\": \"text2video\",\n * \"video_url\": \"https://example.com/input_video.mp4\",\n * \"text\": \"Hello, this is a lip sync test.\",\n * \"voice_id\": \"voice_001\",\n * \"voice_language\": \"en\",\n * \"voice_speed\": 1\n * }\n * }\n * ```\n */\nexport interface KlingLipsyncParams {\n /**\n * 输入参数对象(必填)\n */\n input: {\n /**\n * 生成模式(必填),支持: text2video(文本到视频), audio2video(音频到视频)\n * @values text2video | audio2video\n */\n mode: 'text2video' | 'audio2video';\n /**\n * 视频ID(与video_url二选一,不能同时指定)\n */\n video_id?: string;\n /**\n * 视频URL(与video_id二选一,不能同时指定),必须是有效的HTTP或HTTPS URL\n */\n video_url?: string;\n /**\n * 文本内容(text2video模式必填),最大长度120字符\n */\n text?: string;\n /**\n * 声音ID(text2video模式必填)\n */\n voice_id?: string;\n /**\n * 声音语言(text2video模式必填),支持: zh(中文), en(英文)\n * @values zh | en\n */\n voice_language?: 'zh' | 'en';\n /**\n * 声音速度(可选),范围0.8-2.0,默认1.0\n * @range 0.8 - 2\n */\n voice_speed?: number;\n /**\n * 音频类型(audio2video模式必填),支持: file(文件), url(URL)\n * @values file | url\n */\n audio_type?: 'file' | 'url';\n /**\n * 音频文件(audio_type为file时必填)\n */\n audio_file?: string;\n /**\n * 音频URL(audio_type为url时必填),必须是有效的HTTP或HTTPS URL\n */\n audio_url?: string;\n };\n}\n\nexport interface KlingLipsyncResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_lipsync\n *\n * Kling AI 唇形同步生成接口,支持文本到视频(text2video)和音频到视频(audio2video)两种模式。\n * \n * Model: kling-lipsync\n * Features:\n * - 文本到视频(text2video): 根据文本和声音ID生成唇形同步视频\n * - 支持中文和英文\n * - 文本长度最多120字符\n * - 支持调节声音速度(0.8-2.0倍)\n * - 音频到视频(audio2video): 根据音频文件或URL生成唇形同步视频\n * - 支持音频文件上传\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingLipsync } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingLipsync(\n * {\n * \"input\": {\n * \"mode\": \"text2video\",\n * \"video_url\": \"https://example.com/input_video.mp4\",\n * \"text\": \"Hello, this is a lip sync test.\",\n * \"voice_id\": \"voice_001\",\n * \"voice_language\": \"en\",\n * \"voice_speed\": 1\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingLipsyncParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingLipsync(\n params: KlingLipsyncParams,\n): Promise<KlingLipsyncResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_lipsync',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingLipsyncResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingOmniImageParams {\n /**\n * 图片生成提示词,最多2500字符\n * @length 0 - 2500\n */\n prompt: string;\n /**\n * 参考图片列表,支持URL或base64格式,URL会自动转换为base64\n */\n image_list?: Array<{\n /**\n * 图片URL或base64数据\n */\n image?: string;\n /**\n * 图片URL(兼容字段)\n */\n image_url?: string;\n }>;\n /**\n * 图片分辨率,可选值: 1k, 2k\n * @values 1k | 2k | 4k\n */\n resolution?: '1k' | '2k' | '4k';\n /**\n * 生成图片数量,范围1-9\n * @default 1\n * @range 1 - 9\n */\n n?: number;\n /**\n * 图片宽高比\n */\n aspect_ratio?: string;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingOmniImageResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_omni_image\n *\n * <p>Kling AI Omni Image 多模态图片生成接口,支持文本提示词和参考图片输入</p>\n * <p>API Documentation: <a href=\"https://docs.qingque.cn/d/home/eZQCRUy_LWt70n5Wz2sTiLV6J?identityId=2LKTadU2MSa#section=h.hhdxwtuxzvyf\">https://docs.qingque.cn/d/home/eZQCRUy_LWt70n5Wz2sTiLV6J?identityId=2LKTadU2MSa#section=h.hhdxwtuxzvyf</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingOmniImage } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingOmniImage({\n * // 参数见 KlingOmniImageParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingOmniImageParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingOmniImage(\n params: KlingOmniImageParams,\n): Promise<KlingOmniImageResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_omni_image',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingOmniImageResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingOmniVideoParams {\n /**\n * 视频生成提示词,最多2500字符\n * @length 0 - 2500\n */\n prompt: string;\n /**\n * 参考图片列表,支持URL或base64格式,URL会自动转换为base64\n */\n image_list?: Array<{\n /**\n * 图片URL或base64数据\n */\n image_url?: string;\n /**\n * 图片URL或base64数据(兼容字段)\n */\n image?: string;\n /**\n * 图片类型,如first_frame(首帧)或end_frame(尾帧)\n * @values first_frame | end_frame\n */\n type?: 'first_frame' | 'end_frame';\n }>;\n /**\n * 参考视频列表,通过URL方式获取 ● 可作为特征参考视频,也可作为待编辑视频,默认为待编辑视频 ● 通过refer_type参数区分参考视频类型: feature为特征参考视频,base为待编辑视频 ● 参考视频为待编辑视频时,不能定义视频首尾帧 ● 通过keep_original_sound参数选择是否保留视频原声,yes为保留,no为不保留(对feature和base类型均生效) ● 视频格式仅支持MP4/MOV ● 仅支持时长≥3秒且≤10秒的视频 ● 视频宽高尺寸需介于720px(含)和2160px(含)之间 ● 视频帧率基于24fps~60fps,生成视频时会输出为24fps ● 至多仅支持上传1段视频,视频大小不超过200MB\n */\n video_list?: Array<{\n /**\n * 视频URL地址,支持MP4/MOV格式\n */\n video_url: string;\n /**\n * 参考视频类型: feature(特征参考视频)或base(待编辑视频),默认为base\n * @default \"base\"\n * @values feature | base\n */\n refer_type?: 'feature' | 'base';\n /**\n * 是否保留视频原声: yes(保留)或no(不保留)\n * @values yes | no\n */\n keep_original_sound?: 'yes' | 'no';\n }>;\n /**\n * 自定义元素列表\n */\n element_list?: Array<{\n }>;\n /**\n * 生成模式,Omni仅支持pro模式\n * @values pro\n */\n mode?: 'pro';\n /**\n * 视频宽高比,除参考外,必填\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 视频时长(秒),Omni支持3-10秒\n * @range 3 - 10\n */\n duration?: number;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingOmniVideoResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_omni_video\n *\n * <p>Kling AI Omni Video 多模态视频生成接口,支持文本、图片、视频和自定义元素等多模态输入</p>\n * <p>API Documentation: <a href=\"https://docs.qingque.cn/d/home/eZQCRUy_LWt70n5Wz2sTiLV6J?identityId=2LKTadU2MSa#section=h.hhdxwtuxzvyf\">https://docs.qingque.cn/d/home/eZQCRUy_LWt70n5Wz2sTiLV6J?identityId=2LKTadU2MSa#section=h.hhdxwtuxzvyf</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingOmniVideo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingOmniVideo({\n * // 参数见 KlingOmniVideoParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingOmniVideoParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingOmniVideo(\n params: KlingOmniVideoParams,\n): Promise<KlingOmniVideoResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_omni_video',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingOmniVideoResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV1Params {\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt: string;\n /**\n * 视频时长(秒),可选值为5秒或10秒\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 负面提示词\n */\n negative_prompt?: string;\n /**\n * 提示词相关性强度\n */\n cfg_scale?: number;\n /**\n * 生成模式,标准(std)或专业(pro),默认std\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化。当type设置为simple时为必填,其他类型时应留空。要求6个参数中只能有一个非零,其余必须为零。字段包括:horizontal (水平移动)、vertical (垂直移动)、pan (平移)、tilt (俯仰)、roll (旋转)、zoom (缩放)\n */\n config?: Record<string, any>;\n };\n}\n\nexport interface KlingV1Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1\n *\n * 通过Kling AI V1 API创建视频生成任务。[API Documentation](https://api.klingai.com)\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV1 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV1({\n * // 参数见 KlingV1Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV1Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV1(\n params: KlingV1Params,\n): Promise<KlingV1Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV1Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV15Params {\n /**\n * 文本提示词,必填参数。长度范围: 1-2500字符\n */\n prompt: string;\n /**\n * 视频时长,必填参数。可选值: \"5\"(5秒)、\"10\"(10秒),也支持整数格式5或10\n * @values 5 | 10\n */\n duration: '5' | '10';\n /**\n * 视频宽高比,可选参数。支持: \"16:9\", \"9:16\", \"1:1\"\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 负面提示词,可选参数。用于指定不希望出现在生成视频中的内容\n */\n negative_prompt?: string;\n /**\n * CFG比例参数,可选参数。用于控制生成内容与提示词的匹配程度\n */\n cfg_scale?: number;\n /**\n * 相机控制参数,可选参数。用于控制视频中的镜头运动和角度\n */\n camera_control?: Record<string, any>;\n /**\n * 外部任务ID,可选参数。用于关联外部系统的任务\n */\n external_task_id?: string;\n}\n\nexport interface KlingV15Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1_5\n *\n * API Documentation: https://app.klingai.com/global/dev/document-api/apiReference/model/textToVideo\n * \n * Kling AI V1.5 视频生成实现。支持从文本提示词生成视频。\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV15 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV15({\n * // 参数见 KlingV15Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV15Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV15(\n params: KlingV15Params,\n): Promise<KlingV15Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1_5',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV15Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV15I2vParams {\n data?: {\n /**\n * 输入图像URL或Base64编码\n */\n image: string;\n /**\n * 尾帧图像URL或Base64编码\n */\n image_tail?: string;\n /**\n * 视频生成提示词,长度不超过2500字符\n */\n prompt?: string;\n /**\n * 视频时长,可选值:'5'、'10'\n * @values 5 | 10\n */\n duration?: '5' | '10';\n /**\n * 视频宽高比,可选值:'16:9'、'9:16'、'1:1'\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动强度/CFG缩放,默认值为0.5\n */\n cfg_scale?: number;\n /**\n * 随机种子\n */\n seed?: number;\n /**\n * 负面提示词\n */\n negative_prompt?: string;\n /**\n * 生成模式,可选值:'std'、'pro',默认为'std'\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 回调URL\n */\n callback?: string;\n };\n}\n\nexport interface KlingV15I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1_5_i2v\n *\n * Kling AI V1-5 Image-to-Video Generator\n * \n * Image-to-video generation implementation for Kling AI V1-5 API.\n * \n * API Documentation: https://app.klingai.com/global/dev/document-api/apiReference/model/imageToVideo\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV15I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV15I2v({\n * // 参数见 KlingV15I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV15I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV15I2v(\n params: KlingV15I2vParams,\n): Promise<KlingV15I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1_5_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV15I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV16Params {\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt: string;\n /**\n * 负面提示词\n */\n negative_prompt?: string;\n /**\n * 提示词相关性强度\n */\n cfg_scale?: number;\n /**\n * 生成模式,标准(std)或专业(pro)\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: Record<string, any>;\n };\n /**\n * 视频时长(秒),支持5-10秒\n */\n duration?: number;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV16Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1_6\n *\n * Kling AI V1.6 Video Generator\n * \n * Model: kling-v1-6\n * Features: 文本生成视频 (Text-to-Video)\n * Duration: 5-10秒\n * Aspect Ratios: 16:9, 9:16, 1:1\n * Modes: std(标准), pro(专业)\n * \n * API Documentation: https://app.klingai.com/global/dev/document-api/apiReference/model/textToVideo\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV16 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV16({\n * // 参数见 KlingV16Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV16Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV16(\n params: KlingV16Params,\n): Promise<KlingV16Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1_6',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV16Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV16I2vParams {\n /**\n * 输入图像URL\n */\n image: string;\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt?: string;\n /**\n * 生成模式,标准(std)或专业(pro)\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: Record<string, any>;\n };\n /**\n * 尾帧图像\n */\n image_tail?: string;\n /**\n * 静态遮罩\n */\n static_mask?: string;\n /**\n * 动态遮罩列表\n */\n dynamic_masks?: Record<string, any>[];\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n /**\n * 回调URL\n */\n callback?: string;\n}\n\nexport interface KlingV16I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1_6_i2v\n *\n * <p>通过Kling AI V1.6 API创建图像到视频生成任务。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV16I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV16I2v({\n * // 参数见 KlingV16I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV16I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV16I2v(\n params: KlingV16I2vParams,\n): Promise<KlingV16I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1_6_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV16I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV1I2vParams {\n /**\n * 输入图像URL\n */\n image: string;\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt?: string;\n /**\n * 生成模式,标准(std)或专业(pro),默认为std\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频时长(秒),支持5秒或10秒\n * @values 5 | 10\n */\n duration?: '5' | '10';\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动强度/CFG比例,默认为0.5\n * @default 0.5\n */\n cfg_scale?: number;\n /**\n * 负面提示词,用于指定不希望出现在视频中的内容\n */\n negative_prompt?: string;\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: {\n /**\n * 水平运动\n */\n horizontal?: number;\n /**\n * 垂直运动\n */\n vertical?: number;\n /**\n * 平移\n */\n pan?: number;\n /**\n * 倾斜\n */\n tilt?: number;\n /**\n * 滚转\n */\n roll?: number;\n /**\n * 缩放\n */\n zoom?: number;\n };\n };\n /**\n * 随机种子\n */\n seed?: number;\n /**\n * 尾帧图像\n */\n image_tail?: string;\n /**\n * 静态遮罩\n */\n static_mask?: string;\n /**\n * 动态遮罩列表\n */\n dynamic_masks?: Record<string, any>[];\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV1I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1_i2v\n *\n * 通过Kling AI V1 API创建图像到视频生成任务。\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV1I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV1I2v({\n * // 参数见 KlingV1I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV1I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV1I2v(\n params: KlingV1I2vParams,\n): Promise<KlingV1I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV1I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"image\": \"https://example.com/input_image.jpg\",\n * \"prompt\": \"A beautiful sunset scene with gentle waves\",\n * \"duration\": \"5\",\n * \"mode\": \"std\",\n * \"aspect_ratio\": \"16:9\"\n * }\n * ```\n */\nexport interface KlingV21I2vParams {\n /**\n * 输入图像(必填),支持URL或Base64格式,URL会自动转换为Base64\n */\n image: string;\n /**\n * 视频生成提示词(可选),长度最大2500字符\n */\n prompt?: string;\n /**\n * 视频时长(必填),支持: \"5\"(5秒)或 \"10\"(10秒),也可以是整数 5 或 10\n */\n duration: string | any;\n /**\n * 生成模式(可选),标准(std)或专业(pro),默认std\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比(可选),支持: 16:9(横屏)、9:16(竖屏)、1:1(方形)\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(可选)。如果未指定,模型将根据输入文本/图像智能匹配\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 摄像机配置参数。当type设置为simple时为必填,包含6个字段用于指定摄像机在不同方向上的运动或变化。要求6个参数中只能有一个非零,其余必须为零\n */\n config?: Record<string, any>;\n };\n /**\n * 尾帧图像(可选),支持URL或Base64格式\n */\n image_tail?: string;\n /**\n * 静态遮罩(可选)\n */\n static_mask?: string;\n /**\n * 动态遮罩列表(可选)\n */\n dynamic_masks?: Record<string, any>[];\n}\n\nexport interface KlingV21I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_1_i2v\n *\n * Kling AI V2.1 图像生成视频接口,支持将静态图像转换为动态视频。\n * \n * Model: kling-v2-1\n * Features:\n * - 支持图像到视频生成(I2V)\n * - 支持5秒或10秒视频时长\n * - 支持三种宽高比:16:9(横屏)、9:16(竖屏)、1:1(方形)\n * - 支持标准模式(std)和专业模式(pro)\n * - 支持预定义摄像机运动控制(simple、down_back、forward_up、right_turn_forward、left_turn_forward)\n * - 支持尾帧图像、静态遮罩和动态遮罩\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV21I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV21I2v(\n * {\n * \"image\": \"https://example.com/input_image.jpg\",\n * \"prompt\": \"A beautiful sunset scene with gentle waves\",\n * \"duration\": \"5\",\n * \"mode\": \"std\",\n * \"aspect_ratio\": \"16:9\"\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV21I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV21I2v(\n params: KlingV21I2vParams,\n): Promise<KlingV21I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_1_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV21I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV21MasterParams {\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt: string;\n /**\n * 生成模式,标准(std)或专业(pro)\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: Record<string, any>;\n };\n /**\n * 视频时长(秒),支持5-10秒\n */\n duration?: number;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV21MasterResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_1_master\n *\n * Kling AI V2.1 Master 文本生成视频接口\n * \n * Model: kling-v2-1-master (固定模型)\n * Features: 文本生成视频功能\n * Duration: 5秒或10秒(必须指定)\n * Aspect Ratio: 16:9、9:16、1:1(可选)\n * Mode: std(标准,默认)、pro(专业)\n * Advanced: 支持摄像机控制、负向提示词、回调URL通知\n * \n * API Documentation: https://app.klingai.com/global/dev/document-api/apiReference/model/textToVideo\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV21Master } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV21Master({\n * // 参数见 KlingV21MasterParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV21MasterParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV21Master(\n params: KlingV21MasterParams,\n): Promise<KlingV21MasterResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_1_master',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV21MasterResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV21MasterI2vParams {\n /**\n * 输入图像URL\n */\n image: string;\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt?: string;\n /**\n * 生成模式,标准(std)或专业(pro)\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: {\n };\n };\n /**\n * 尾帧图像\n */\n image_tail?: string;\n /**\n * 静态遮罩\n */\n static_mask?: string;\n /**\n * 动态遮罩列表\n */\n dynamic_masks?: Array<{\n }>;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n /**\n * 回调URL\n */\n callback?: string;\n}\n\nexport interface KlingV21MasterI2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_1_master_i2v\n *\n * <p>通过Kling AI V2.1 Master API创建图像到视频生成任务。<a href=\"https://api.klingai.com\">API Documentation</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV21MasterI2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV21MasterI2v({\n * // 参数见 KlingV21MasterI2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV21MasterI2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV21MasterI2v(\n params: KlingV21MasterI2vParams,\n): Promise<KlingV21MasterI2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_1_master_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV21MasterI2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV25TurboParams {\n /**\n * 视频生成提示词,长度1-2500字符\n */\n prompt: string;\n /**\n * 视频时长,支持: 5(5秒), 10(10秒)\n */\n duration: string;\n /**\n * 视频宽高比,支持: 16:9, 9:16, 1:1\n */\n aspect_ratio?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * CFG缩放比例\n */\n cfg_scale?: number;\n /**\n * 生成模式,支持: std(标准), pro(专业)\n */\n mode?: string;\n /**\n * 相机控制参数\n */\n camera_control?: Record<string, any>;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV25TurboResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_5_turbo\n *\n * Kling AI V2.5 Turbo Video Generator\n * \n * Model: kling-v2-5-turbo\n * Features: 文本生成视频 (Text-to-Video)\n * Duration: 5-10秒\n * Aspect Ratios: 16:9, 9:16, 1:1\n * Modes: std(标准), pro(专业)\n * \n * API Documentation: https://app.klingai.com/cn/dev/document-api/apiReference/model/textToVideo\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV25Turbo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV25Turbo({\n * // 参数见 KlingV25TurboParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV25TurboParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV25Turbo(\n params: KlingV25TurboParams,\n): Promise<KlingV25TurboResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_5_turbo',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV25TurboResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV25TurboI2vParams {\n /**\n * 输入图像,支持URL(http://或https://开头)或Base64格式,与image_tail至少提供一个\n */\n image?: string;\n /**\n * 视频生成提示词,可选参数,最大长度2500字符\n */\n prompt?: string;\n /**\n * 视频时长,必填参数,支持: \"5\"(5秒)或 \"10\"(10秒),也支持整数5或10\n * @values 5 | 10\n */\n duration: '5' | '10';\n /**\n * 视频宽高比,可选参数,支持: 16:9, 9:16, 1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 生成模式,可选参数,支持: std(标准), pro(专业)\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 尾帧图像,可选参数,支持URL或Base64格式,与image至少提供一个\n */\n image_tail?: string;\n /**\n * 静态遮罩,可选参数\n */\n static_mask?: string;\n /**\n * 动态遮罩列表,可选参数\n */\n dynamic_masks?: string[];\n /**\n * 相机控制参数,可选参数\n */\n camera_control?: Record<string, any>;\n /**\n * 外部任务ID,可选参数\n */\n external_task_id?: string;\n}\n\nexport interface KlingV25TurboI2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_5_turbo_i2v\n *\n * Kling AI V2.5 Turbo Image-to-Video Generator\n * \n * Image-to-video generation implementation for Kling AI V2.5 Turbo API.\n * \n * Model: kling-v2-5-turbo\n * Features: 图像到视频生成,支持首尾帧控制、静态遮罩、动态遮罩、相机控制\n * Duration: 5秒或10秒\n * Aspect Ratio: 16:9, 9:16, 1:1\n * Mode: std(标准), pro(专业)\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV25TurboI2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV25TurboI2v({\n * // 参数见 KlingV25TurboI2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV25TurboI2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV25TurboI2v(\n params: KlingV25TurboI2vParams,\n): Promise<KlingV25TurboI2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_5_turbo_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV25TurboI2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV26Params {\n /**\n * 视频生成提示词,最多2500字符\n * @length 0 - 2500\n */\n prompt: string;\n /**\n * 音频开关,可选值: on/off\n * @values on | off\n */\n sound?: 'on' | 'off';\n /**\n * 生成模式,V2.6仅支持pro模式\n * @values pro\n */\n mode: 'pro';\n /**\n * 视频宽高比\n * @values 16:9 | 9:16 | 1:1 | \n */\n aspect_ratio?: '16:9' | '9:16' | '1:1' | '';\n /**\n * 视频时长(秒)\n * @values 5 | 10\n */\n duration?: '5' | '10';\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV26Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_6\n *\n * <p>Kling AI V2.6 文本生成视频接口</p>\n * <p>API Documentation: <a href=\"https://docs.qingque.cn/d/home/eZQB6Bbl5WgW8eIVN--duPVl1?identityId=2Cn18n4EIHT\">https://docs.qingque.cn/d/home/eZQB6Bbl5WgW8eIVN--duPVl1?identityId=2Cn18n4EIHT</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV26 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV26({\n * // 参数见 KlingV26Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV26Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV26(\n params: KlingV26Params,\n): Promise<KlingV26Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_6',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV26Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV26I2vParams {\n /**\n * 输入图片,支持URL或base64格式,URL会自动转换为base64\n */\n image: string;\n /**\n * 视频生成提示词,可选,最多2500字符\n * @length 0 - 2500\n */\n prompt?: string;\n /**\n * 生成模式,V2.6仅支持pro模式\n * @values pro\n */\n mode: 'pro';\n /**\n * 音频开关,可选值: on/off\n * @values on | off\n */\n sound?: 'on' | 'off';\n /**\n * 视频时长(秒)\n * @values 5 | 10\n */\n duration?: '5' | '10';\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n /**\n * 静态遮罩\n */\n static_mask?: string;\n /**\n * 动态遮罩列表\n */\n dynamic_masks?: Array<{\n }>;\n}\n\nexport interface KlingV26I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_6_i2v\n *\n * <p>Kling AI V2.6 图片生成视频接口</p>\n * <p>API Documentation: <a href=\"https://docs.qingque.cn/d/home/eZQB6Bbl5WgW8eIVN--duPVl1?identityId=2Cn18n4EIHT\">https://docs.qingque.cn/d/home/eZQB6Bbl5WgW8eIVN--duPVl1?identityId=2Cn18n4EIHT</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV26I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV26I2v({\n * // 参数见 KlingV26I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV26I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV26I2v(\n params: KlingV26I2vParams,\n): Promise<KlingV26I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_6_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV26I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV2MasterParams {\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt: string;\n /**\n * 生成模式,标准(std)或专业(pro),默认std\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 负面提示词,用于指定不希望在生成视频中出现的内容\n */\n negative_prompt?: string;\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: {\n /**\n * 水平移动,范围-10到10\n */\n horizontal?: number;\n /**\n * 垂直移动,范围-10到10\n */\n vertical?: number;\n /**\n * 水平旋转,范围-10到10\n */\n pan?: number;\n /**\n * 垂直旋转,范围-10到10\n */\n tilt?: number;\n /**\n * 旋转角度,范围-10到10\n */\n roll?: number;\n /**\n * 缩放,范围-10到10\n */\n zoom?: number;\n };\n };\n /**\n * 视频时长(秒),可选5秒或10秒\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV2MasterResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_master\n *\n * 通过Kling AI V2 Master API创建视频生成任务。[API Documentation](https://api.klingai.com)\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV2Master } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV2Master({\n * // 参数见 KlingV2MasterParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV2MasterParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV2Master(\n params: KlingV2MasterParams,\n): Promise<KlingV2MasterResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_master',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV2MasterResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV2MasterI2vParams {\n /**\n * 输入图像URL或Base64编码,与image_tail二选一(至少提供其中一个)\n */\n image?: string;\n /**\n * 视频生成提示词,可选,最大长度2500字符\n */\n prompt?: string;\n /**\n * 视频时长,必填参数,可选值:'5'或'10'秒\n * @values 5 | 10\n */\n duration: '5' | '10';\n /**\n * 生成模式,标准(std)或专业(pro),默认std\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比,可选,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: Record<string, any>;\n };\n /**\n * 尾帧图像URL或Base64编码,与image二选一(至少提供其中一个)\n */\n image_tail?: string;\n /**\n * 静态遮罩,可选\n */\n static_mask?: string;\n /**\n * 动态遮罩列表,可选\n */\n dynamic_masks?: Record<string, any>[];\n /**\n * 外部任务ID,可选\n */\n external_task_id?: string;\n}\n\nexport interface KlingV2MasterI2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_master_i2v\n *\n * Kling AI V2 Master 图像到视频生成API\n * \n * Model: kling-v2-master\n * Features: 图像到视频生成,支持标准和专业模式\n * Duration: 5秒或10秒(必填)\n * Aspect Ratio: 16:9、9:16、1:1(可选)\n * Camera Control: 支持多种摄像机运动控制(可选)\n * \n * API Documentation: https://app.klingai.com/global/dev/document-api/apiReference/model/imageToVideo\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV2MasterI2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV2MasterI2v({\n * // 参数见 KlingV2MasterI2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV2MasterI2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV2MasterI2v(\n params: KlingV2MasterI2vParams,\n): Promise<KlingV2MasterI2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_master_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV2MasterI2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A serene landscape with mountains and a lake at sunset\",\n * \"size\": \"1024x1024\",\n * \"n\": 1,\n * \"quality\": \"high\",\n * \"output_compression\": 100\n * }\n * ```\n */\nexport interface MicrosoftGptImage1Params {\n /**\n * 图像生成提示词(必填),描述要生成的图像内容\n */\n prompt: string;\n /**\n * 图像尺寸(可选),支持: 1024x1024(方形,默认), 1024x1536(竖屏), 1536x1024(横屏)\n * @default \"1024x1024\"\n * @values 1024x1024 | 1024x1536 | 1536x1024\n */\n size?: '1024x1024' | '1024x1536' | '1536x1024';\n /**\n * 生成图像数量(可选),范围: 1-10,默认: 1\n * @default 1\n * @range 1 - 10\n */\n n?: number;\n /**\n * 图像质量(可选),支持: low(低), medium(中), high(高,默认)\n * @default \"high\"\n * @values low | medium | high\n */\n quality?: 'low' | 'medium' | 'high';\n /**\n * 输出压缩级别(可选),范围: 0-100,默认: 100(无压缩)\n * @default 100\n * @range 0 - 100\n */\n output_compression?: number;\n}\n\nexport interface MicrosoftGptImage1Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * microsoft_gpt_image_1\n *\n * Microsoft Azure OpenAI GPT-Image-1 文本生成图像接口,支持生成高质量图像。\n * \n * Model: gpt-image-1\n * Features:\n * - 支持三种图像尺寸:1024x1024(方形)、1024x1536(竖屏)、1536x1024(横屏)\n * - 支持三种质量级别:low(低)、medium(中)、high(高)\n * - 支持批量生成(1-10张)\n * - 支持压缩级别控制(0-100)\n * - API返回Base64格式,系统自动处理并上传到云存储\n * - 同步生成,立即返回结果\n *\n * @example\n * ```typescript\n * import { initSeacloud, microsoftGptImage1 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await microsoftGptImage1(\n * {\n * \"prompt\": \"A serene landscape with mountains and a lake at sunset\",\n * \"size\": \"1024x1024\",\n * \"n\": 1,\n * \"quality\": \"high\",\n * \"output_compression\": 100\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MicrosoftGptImage1Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function microsoftGptImage1(\n params: MicrosoftGptImage1Params,\n): Promise<MicrosoftGptImage1Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'microsoft_gpt_image_1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MicrosoftGptImage1Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MicrosoftGptImage15Params {\n /**\n * 图片生成提示词\n */\n prompt: string;\n /**\n * 生成图片尺寸\n * @default \"1024x1024\"\n * @values 1024×1024 | 1024×1536 | 1536×1024\n */\n size?: '1024×1024' | '1024×1536' | '1536×1024';\n /**\n * 图片质量\n * @default \"medium\"\n * @values low | medium | high\n */\n quality?: 'low' | 'medium' | 'high';\n /**\n * 生成图片数量\n * @default 1\n * @range 1 - 10\n */\n n?: number;\n /**\n * 输出压缩格式(可选)\n */\n output_compression?: number;\n}\n\nexport interface MicrosoftGptImage15Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * microsoft_gpt_image_15\n *\n * <p>Microsoft GPT-Image-1.5 文本生成图片</p>\n * <p>API 文档: https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/dall-e<br>\n * <a href=\"https://platform.openai.com/docs/api-reference/images/create\">https://platform.openai.com/docs/api-reference/images/create</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, microsoftGptImage15 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await microsoftGptImage15({\n * // 参数见 MicrosoftGptImage15Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MicrosoftGptImage15Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function microsoftGptImage15(\n params: MicrosoftGptImage15Params,\n): Promise<MicrosoftGptImage15Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'microsoft_gpt_image_15',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MicrosoftGptImage15Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A serene beach at sunset with gentle waves rolling onto the shore\",\n * \"size\": \"1280x720\",\n * \"seconds\": 4\n * }\n * ```\n */\nexport interface MicrosoftSora2Params {\n /**\n * 视频生成提示词,描述要生成的视频内容,长度必须在1-1000字符之间\n */\n prompt: string;\n /**\n * 视频尺寸,格式为'宽x高'。支持分辨率包括: '720x1280', '1280x720', '1024x1792', and '1792x1024\n */\n size?: string;\n /**\n * 视频时长(秒),支持的值为: 4, 8, 12\n * @values 4 | 8 | 12\n */\n seconds?: 4 | 8 | 12;\n /**\n * 输入参考图像URL,用于图像到视频(I2V)生成。如提供,系统会基于此图像生成视频\n */\n input_reference?: string;\n}\n\nexport interface MicrosoftSora2Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * microsoft_sora2\n *\n * <p>API Documentation: https://apim-onc5zkda5mp7w.azure-api.net</p>\n * <p>Microsoft Sora2 视频生成实现。支持文本到视频和图像到视频的生成。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, microsoftSora2 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await microsoftSora2(\n * {\n * \"prompt\": \"A serene beach at sunset with gentle waves rolling onto the shore\",\n * \"size\": \"1280x720\",\n * \"seconds\": 4\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MicrosoftSora2Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function microsoftSora2(\n params: MicrosoftSora2Params,\n): Promise<MicrosoftSora2Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'microsoft_sora2',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MicrosoftSora2Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxHailuo02Params {\n /**\n * 视频生成提示词,长度必须在1-2000个字符之间\n */\n prompt: string;\n /**\n * 视频时长,支持6秒(所有分辨率)或10秒(仅512P/768P)\n * @values 6 | 10\n */\n duration?: 6 | 10;\n /**\n * 视频分辨率,默认为768P\n * @values 512P | 768P | 1080P\n */\n resolution?: '512P' | '768P' | '1080P';\n /**\n * 是否启用提示词优化器,默认为true\n */\n prompt_optimizer?: boolean;\n /**\n * 是否启用快速预处理,默认为false\n */\n fast_pretreatment?: boolean;\n}\n\nexport interface MinimaxHailuo02Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_hailuo_02\n *\n * MiniMax Hailuo-02 文本生成视频接口\n * \n * Model: MiniMax-Hailuo-02 (固定模型)\n * Features: 文本生成视频功能,支持摄像机控制\n * Duration: 6秒(所有分辨率)或10秒(仅512P/768P)\n * Resolution: 512P、768P(默认)、1080P\n * Advanced: 支持提示词优化器(默认开启)、快速预处理、回调URL通知\n * \n * API Documentation: https://www.minimax.io/platform/document/text_to_video?key=68abdfffd08627aad9674bff\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxHailuo02 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxHailuo02({\n * // 参数见 MinimaxHailuo02Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxHailuo02Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxHailuo02(\n params: MinimaxHailuo02Params,\n): Promise<MinimaxHailuo02Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_hailuo_02',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxHailuo02Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxHailuo02I2vParams {\n /**\n * 输入图像URL或Base64编码\n */\n first_frame_image: string;\n /**\n * 视频生成提示词,长度必须在0-2000个字符之间\n */\n prompt?: string;\n /**\n * 视频时长,支持6秒(所有分辨率)或10秒(仅512P/768P),默认6秒\n * @default 6\n * @values 6 | 10\n */\n duration?: 6 | 10;\n /**\n * 视频分辨率,默认为768P\n * @default \"768P\"\n * @values 512P | 768P | 1080P\n */\n resolution?: '512P' | '768P' | '1080P';\n /**\n * 是否启用提示词优化器,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n /**\n * 是否启用快速预处理,默认为false\n * @default false\n */\n fast_pretreatment?: boolean;\n}\n\nexport interface MinimaxHailuo02I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_hailuo_02_i2v\n *\n * MiniMax Hailuo-02 Image-to-Video Generator\n * \n * Image-to-video generation implementation for MiniMax Hailuo-02 model with camera control support.\n * \n * Model: MiniMax-Hailuo-02\n * Features: 图像生成视频 (Image-to-Video)\n * Duration: 6秒(所有分辨率)或10秒(512P/768P)\n * Resolution: 512P, 768P (默认), 1080P\n * Camera Control: 支持摄像机运动控制\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxHailuo02I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxHailuo02I2v({\n * // 参数见 MinimaxHailuo02I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxHailuo02I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxHailuo02I2v(\n params: MinimaxHailuo02I2vParams,\n): Promise<MinimaxHailuo02I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_hailuo_02_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxHailuo02I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxHailuo23FastI2vParams {\n /**\n * 输入图像URL或Base64编码(data:image/jpeg;base64,xxx格式)\n */\n first_frame_image?: string;\n /**\n * 视频生成提示词,可包含摄像机运动指令如[Pan left]、[Zoom in]等\n */\n prompt?: string;\n /**\n * 视频时长(秒),默认6秒\n * @default 6\n */\n duration?: number;\n /**\n * 视频分辨率,默认为768P\n * @default \"768P\"\n * @values 512P | 768P | 1080P\n */\n resolution?: '512P' | '768P' | '1080P';\n /**\n * 是否启用提示词优化器,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n /**\n * 是否启用快速预处理,默认为false\n * @default false\n */\n fast_pretreatment?: boolean;\n}\n\nexport interface MinimaxHailuo23FastI2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_hailuo_23_fast_i2v\n *\n * MiniMax Hailuo-2.3-Fast Image-to-Video Generator\n * \n * Image-to-video generation implementation for MiniMax Hailuo-2.3-Fast model with camera control support.\n * \n * Model: MiniMax-Hailuo-2.3-Fast\n * Features: 图像生成视频 (Image-to-Video) - 快速模式\n * Duration: 6秒(默认)\n * Resolution: 512P, 768P (默认), 1080P\n * Camera Control: 支持摄像机运动控制(Truck, Pan, Push, Pedestal, Tilt, Zoom, Shake, Tracking, Static)\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxHailuo23FastI2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxHailuo23FastI2v({\n * // 参数见 MinimaxHailuo23FastI2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxHailuo23FastI2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxHailuo23FastI2v(\n params: MinimaxHailuo23FastI2vParams,\n): Promise<MinimaxHailuo23FastI2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_hailuo_23_fast_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxHailuo23FastI2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxHailuo23I2vParams {\n /**\n * 输入图像URL或Base64编码(data:image/jpeg;base64,xxx格式)\n */\n first_frame_image: string;\n /**\n * 视频生成提示词,可包含摄像机运动指令如[Pan left]、[Zoom in]等\n */\n prompt?: string;\n /**\n * 视频时长(秒),默认6秒\n * @default 6\n */\n duration?: number;\n /**\n * 视频分辨率,默认为768P\n * @default \"768P\"\n * @values 512P | 768P | 1080P\n */\n resolution?: '512P' | '768P' | '1080P';\n /**\n * 是否启用提示词优化器,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n /**\n * 是否启用快速预处理,默认为false\n * @default false\n */\n fast_pretreatment?: boolean;\n}\n\nexport interface MinimaxHailuo23I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_hailuo_23_i2v\n *\n * MiniMax Hailuo-2.3 Image-to-Video Generator\n * \n * Image-to-video generation implementation for MiniMax Hailuo-2.3 model with camera control support.\n * \n * Model: MiniMax-Hailuo-2.3\n * Features: 图像生成视频 (Image-to-Video)\n * Duration: 6秒(默认)\n * Resolution: 512P, 768P (默认), 1080P\n * Camera Control: 支持摄像机运动控制(Truck, Pan, Push, Pedestal, Tilt, Zoom, Shake, Tracking, Static)\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxHailuo23I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxHailuo23I2v({\n * // 参数见 MinimaxHailuo23I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxHailuo23I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxHailuo23I2v(\n params: MinimaxHailuo23I2vParams,\n): Promise<MinimaxHailuo23I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_hailuo_23_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxHailuo23I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxI2v01Params {\n /**\n * 输入图像URL或Base64编码\n */\n first_frame_image: string;\n /**\n * 视频生成提示词(可选),长度必须在0-2000个字符之间\n */\n prompt?: string;\n /**\n * 视频时长(秒),I2V-01固定为6秒\n * @default 6\n * @values 6\n */\n duration?: 6;\n /**\n * 视频分辨率,I2V-01固定为720P\n * @default \"720P\"\n * @values 720P\n */\n resolution?: '720P';\n /**\n * 是否启用提示词优化器,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n}\n\nexport interface MinimaxI2v01Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_i2v_01\n *\n * 通过MiniMax I2V-01 API创建图像到视频生成任务。\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxI2v01 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxI2v01({\n * // 参数见 MinimaxI2v01Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxI2v01Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxI2v01(\n params: MinimaxI2v01Params,\n): Promise<MinimaxI2v01Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_i2v_01',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxI2v01Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxI2v01DirectorParams {\n /**\n * 输入图像URL或Base64编码\n */\n first_frame_image: string;\n /**\n * 视频生成提示词,长度必须在0-2000个字符之间\n */\n prompt?: string;\n /**\n * 是否启用提示词优化器,默认为true\n */\n prompt_optimizer?: boolean;\n}\n\nexport interface MinimaxI2v01DirectorResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_i2v_01_director\n *\n * MiniMax I2V-01-Director Image-to-Video Generator\n * \n * Model: I2V-01-Director\n * Features: 图像生成视频 (Image-to-Video), 摄像机控制 (Camera Control)\n * Duration: 固定6秒\n * Resolution: 固定720P\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxI2v01Director } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxI2v01Director({\n * // 参数见 MinimaxI2v01DirectorParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxI2v01DirectorParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxI2v01Director(\n params: MinimaxI2v01DirectorParams,\n): Promise<MinimaxI2v01DirectorResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_i2v_01_director',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxI2v01DirectorResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxI2v01LiveParams {\n /**\n * 输入图像URL或Base64编码,必填参数。支持JPG/JPEG/PNG/WebP格式,文件大小<20MB,短边>300px\n */\n first_frame_image: string;\n /**\n * 视频生成提示词,可选参数。长度必须在0-2000个字符之间\n */\n prompt?: string;\n /**\n * 视频时长(秒),固定为6秒\n * @default 6\n * @values 6\n */\n duration?: 6;\n /**\n * 视频分辨率,固定为720P\n * @default \"720P\"\n * @values 720P\n */\n resolution?: '720P';\n /**\n * 是否启用提示词优化器,可选参数,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n}\n\nexport interface MinimaxI2v01LiveResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_i2v_01_live\n *\n * 通过Minimax API创建图像到视频生成任务。[API Documentation](https://api.minimax.chat)\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxI2v01Live } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxI2v01Live({\n * // 参数见 MinimaxI2v01LiveParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxI2v01LiveParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxI2v01Live(\n params: MinimaxI2v01LiveParams,\n): Promise<MinimaxI2v01LiveResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_i2v_01_live',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxI2v01LiveResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxT2aParams {\n /**\n * 语音模型名称,默认为 speech-2.5-hd-preview\n */\n model?: string;\n /**\n * 要转换为语音的文本内容,必填\n */\n text: string;\n /**\n * 是否启用流式输出,默认为 false\n */\n stream?: boolean;\n /**\n * 音频输出格式:url(返回音频文件URL)或 hex(返回十六进制音频数据),默认为 url\n * @values url | hex\n */\n output_format?: 'url' | 'hex';\n /**\n * 语音设置,包括语音ID、语速、音量、音调\n */\n voice_setting?: {\n /**\n * 语音ID,如 English_Graceful_Lady、Chinese_Female_01 等\n */\n voice_id?: string;\n /**\n * 语速,范围 0.5-2.0,默认为 1.0\n */\n speed?: number;\n /**\n * 音量,范围 0-10,默认为 1.0\n */\n vol?: number;\n /**\n * 音调,范围 -12 到 12,默认为 0\n */\n pitch?: number;\n };\n /**\n * 语言增强,如 zh(中文)、en(英文)等\n */\n language_boost?: string;\n /**\n * 音频设置\n */\n audio_setting?: Record<string, any>;\n /**\n * 发音字典,用于自定义特定词语的发音\n */\n pronunciation_dict?: Record<string, any>;\n /**\n * 语音变调设置\n */\n voice_modify?: Record<string, any>;\n /**\n * 是否启用字幕\n */\n subtitle_enable?: boolean;\n /**\n * 流式输出选项\n */\n stream_options?: Record<string, any>;\n}\n\nexport interface MinimaxT2aResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_t2a\n *\n * MiniMax 文本转语音生成接口\n * \n * Model: speech-2.5-hd-preview (默认模型)\n * Features: 文本转语音生成功能\n * Output Formats: url(返回音频文件URL)或 hex(返回十六进制音频数据)\n * Stream: 支持流式输出(用于实时语音生成)和非流式输出\n * Advanced: 支持多种语音ID选择、语速调节(0.5-2.0)、音量控制(0-10)、音调调整(-12到12)、语言增强、发音字典、语音变调\n * \n * API Documentation: https://platform.minimax.io/docs/api-reference/speech-t2a-http\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxT2a } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxT2a({\n * // 参数见 MinimaxT2aParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxT2aParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxT2a(\n params: MinimaxT2aParams,\n): Promise<MinimaxT2aResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_t2a',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxT2aResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxT2v01Params {\n /**\n * 视频生成提示词,必填,长度必须在1-2000个字符之间\n */\n prompt: string;\n /**\n * 视频时长(秒),T2V-01模型固定为6秒,不可更改\n * @default 6\n * @values 6\n */\n duration?: 6;\n /**\n * 视频分辨率,T2V-01模型固定为720P,不可更改\n * @default \"720P\"\n * @values 720P\n */\n resolution?: '720P';\n /**\n * 是否启用提示词优化器,可选,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n}\n\nexport interface MinimaxT2v01Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_t2v_01\n *\n * MiniMax T2V-01 文本到视频生成API\n * \n * Model: T2V-01\n * Features: 基础视频生成功能\n * Duration: 6秒(固定参数,不可更改)\n * Resolution: 720P(固定参数,不可更改)\n * Prompt Optimizer: 支持提示词优化,默认启用\n * \n * API Documentation: https://www.minimax.io/platform/document/text_to_video?key=68abdfffd08627aad9674bff\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxT2v01 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxT2v01({\n * // 参数见 MinimaxT2v01Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxT2v01Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxT2v01(\n params: MinimaxT2v01Params,\n): Promise<MinimaxT2v01Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_t2v_01',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxT2v01Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxT2v01DirectorParams {\n /**\n * 视频生成提示词,长度必须在1-2000个字符之间\n */\n prompt: string;\n /**\n * 视频时长(秒),T2V-01-Director固定为6秒\n * @default 6\n * @values 6\n */\n duration?: 6;\n /**\n * 视频分辨率,T2V-01-Director固定为720P\n * @default \"720P\"\n * @values 720P\n */\n resolution?: '720P';\n /**\n * 是否启用提示词优化器,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n}\n\nexport interface MinimaxT2v01DirectorResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_t2v_01_director\n *\n * 通过Minimax API创建文本到视频生成任务(导演模式)。[API Documentation](https://www.minimax.io/platform/document/text_to_video?key=68abdfffd08627aad9674bff)\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxT2v01Director } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxT2v01Director({\n * // 参数见 MinimaxT2v01DirectorParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxT2v01DirectorParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxT2v01Director(\n params: MinimaxT2v01DirectorParams,\n): Promise<MinimaxT2v01DirectorResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_t2v_01_director',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxT2v01DirectorResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV35TransitionParams {\n /**\n * 视频生成提示词,必填参数\n */\n prompt?: string;\n /**\n * 首帧图像,必填参数。支持URL或Base64格式,与first_frame_image二选一\n */\n first_frame_img?: string | string[];\n /**\n * 首帧图像,必填参数。支持URL或Base64格式,与first_frame_img二选一\n */\n first_frame_image?: string | string[];\n /**\n * 尾帧图像,必填参数。支持URL或Base64格式,与last_frame_image二选一\n */\n last_frame_img?: string | string[];\n /**\n * 尾帧图像,必填参数。支持URL或Base64格式,与last_frame_img二选一\n */\n last_frame_image?: string | string[];\n /**\n * 视频时长(秒)。支持: 3, 4, 5。默认: 5\n */\n duration?: number;\n /**\n * 视频质量。支持: 270p, 540p, 720p, 1080p。默认: 540p\n */\n quality?: string;\n /**\n * 运动模式。支持: normal(标准), fast(快速)。默认: normal\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 随机种子\n */\n seed?: number;\n /**\n * 音效开关\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 唇形同步TTS开关\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV35TransitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v35_transition\n *\n * PixVerse V3.5 Transition Generator\n * \n * Model: v3.5\n * Features: 首尾帧过渡视频生成 (First-Last Frame Transition)\n * Duration: 3, 4, 5秒\n * Quality: 270p, 540p, 720p, 1080p\n * Motion Modes: normal, fast\n * \n * API Documentation: https://docs.platform.pixverse.ai/transitionfirst-last-frame-generation-15123014e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV35Transition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV35Transition({\n * // 参数见 PixverseV35TransitionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV35TransitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV35Transition(\n params: PixverseV35TransitionParams,\n): Promise<PixverseV35TransitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v35_transition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV35TransitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV35I2vParams {\n /**\n * 输入图像ID或URL(单张图像),必填参数。图像会被自动上传到PixVerse服务器\n */\n img_id?: string;\n /**\n * 输入图像ID或URL列表(多张图像),与img_id二选一,必填参数\n */\n img_ids?: string[];\n /**\n * 视频时长,5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式,可选参数\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 正向提示词\n */\n prompt?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 摄像机运动\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n /**\n * 是否开启音效\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 是否开启唇形同步TTS\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV35I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v3_5_i2v\n *\n * PixVerse V3.5 Image-to-Video Generator\n * \n * Image-to-video generation implementation for PixVerse V3.5 API.\n * \n * API Documentation: https://docs.platform.pixverse.ai/image-to-video-generation-13016633e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV35I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV35I2v({\n * // 参数见 PixverseV35I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV35I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV35I2v(\n params: PixverseV35I2vParams,\n): Promise<PixverseV35I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v3_5_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV35I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV35T2vParams {\n /**\n * 正向提示词\n */\n prompt?: string;\n /**\n * 视频宽高比\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1 | 4:3 | 3:4\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1' | '4:3' | '3:4';\n /**\n * 视频时长,5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 运动模式\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 摄像机运动\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n}\n\nexport interface PixverseV35T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v3_5_t2v\n *\n * PixVerse V3.5 文本生成视频接口\n * \n * Model: v3.5 (固定模型)\n * Features: 文本生成视频功能\n * Duration: 5秒或10秒(默认5秒)\n * Quality: 270p、540p(默认)、720p、1080p\n * Aspect Ratio: 16:9(默认)、9:16、1:1、4:3、3:4\n * Motion Mode: normal、fast(快速)\n * Advanced: 支持摄像机运动控制、负向提示词\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV35T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV35T2v({\n * // 参数见 PixverseV35T2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV35T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV35T2v(\n params: PixverseV35T2vParams,\n): Promise<PixverseV35T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v3_5_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV35T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"Smooth transition between two scenes\",\n * \"first_frame_img\": \"https://example.com/first_frame.jpg\",\n * \"last_frame_img\": \"https://example.com/last_frame.jpg\",\n * \"duration\": 5,\n * \"quality\": \"720p\",\n * \"motion_mode\": \"normal\"\n * }\n * ```\n */\nexport interface PixverseV45TransitionParams {\n /**\n * 视频生成提示词(可选),描述过渡效果的内容\n */\n prompt?: string;\n /**\n * 首帧图像(与first_frame_image二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n first_frame_img?: string | string[];\n /**\n * 首帧图像(与first_frame_img二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n first_frame_image?: string | string[];\n /**\n * 尾帧图像(与last_frame_image二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n last_frame_img?: string | string[];\n /**\n * 尾帧图像(与last_frame_img二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n last_frame_image?: string | string[];\n /**\n * 视频时长(秒),V4.5支持5秒、8秒、10秒,默认5秒\n * @default 5\n * @values 5 | 8 | 10\n */\n duration?: 5 | 8 | 10;\n /**\n * 视频质量(可选),支持: 270p, 540p(默认), 720p, 1080p\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式(可选),支持: normal(标准), fast(快速),默认normal\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 随机种子(可选),用于可重现的生成结果\n */\n seed?: number;\n /**\n * 音效开关(可选)\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容(可选)\n */\n sound_effect_content?: string;\n /**\n * 唇形同步TTS开关(可选)\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容(可选)\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID(可选)\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV45TransitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v45_transition\n *\n * PixVerse V4.5 过渡(首尾帧)视频生成接口,支持通过首帧和尾帧图像生成过渡视频。\n * \n * Model: v4.5\n * Features:\n * - 通过首尾两帧图像生成平滑过渡视频\n * - 支持5秒、8秒、10秒视频时长\n * - 支持四种质量等级:270p、540p(默认)、720p、1080p\n * - 支持两种运动模式:normal(标准)、fast(快速)\n * - 支持音效和唇形同步TTS功能\n * - 图片自动上传到PixVerse\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV45Transition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV45Transition(\n * {\n * \"prompt\": \"Smooth transition between two scenes\",\n * \"first_frame_img\": \"https://example.com/first_frame.jpg\",\n * \"last_frame_img\": \"https://example.com/last_frame.jpg\",\n * \"duration\": 5,\n * \"quality\": \"720p\",\n * \"motion_mode\": \"normal\"\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV45TransitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV45Transition(\n params: PixverseV45TransitionParams,\n): Promise<PixverseV45TransitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v45_transition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV45TransitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV45I2vParams {\n /**\n * 输入图像,支持URL或Base64编码,单张图像使用此参数\n */\n img_id?: string;\n /**\n * 输入图像数组,支持URL或Base64编码,多张图像使用此参数\n */\n img_ids?: string[];\n /**\n * 视频时长,5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式,可选normal(标准)、fast(快速),默认normal\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 正向提示词\n */\n prompt?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 摄像机运动\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n /**\n * 是否开启音效\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 是否开启唇形同步TTS\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV45I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v4_5_i2v\n *\n * PixVerse V4.5 Image-to-Video Generator\n * \n * Image-to-video generation implementation for PixVerse V4.5 API.\n * \n * API Documentation: https://docs.platform.pixverse.ai/image-to-video-generation-13016633e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV45I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV45I2v({\n * // 参数见 PixverseV45I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV45I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV45I2v(\n params: PixverseV45I2vParams,\n): Promise<PixverseV45I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v4_5_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV45I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset\",\n * \"aspect_ratio\": \"16:9\",\n * \"duration\": 5,\n * \"quality\": \"540p\",\n * \"motion_mode\": \"normal\",\n * \"seed\": 12345\n * }\n * ```\n */\nexport interface PixverseV45T2vParams {\n /**\n * 正向提示词,描述要生成的视频内容,必填参数\n */\n prompt: string;\n /**\n * 视频宽高比,可选参数,默认16:9\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1 | 4:3 | 3:4\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1' | '4:3' | '3:4';\n /**\n * 视频时长(秒),可选参数,支持5或10秒,默认5秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量,可选参数,默认540p\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 负向提示词,描述不希望在视频中出现的内容,可选参数\n */\n negative_prompt?: string;\n /**\n * 运动模式,可选参数。normal(普通速度)或 fast(快速运动)\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 摄像机运动,可选参数。控制视频中的摄像机运动方向\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,可选参数,用于生成可重复的结果\n */\n seed?: number;\n /**\n * 模板ID,可选参数,用于使用预定义模板\n */\n template_id?: number;\n}\n\nexport interface PixverseV45T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v4_5_t2v\n *\n * PixVerse V4.5 文本到视频生成接口,将文本提示词转换为视频。\n * \n * Model: v4.5\n * Features:\n * - 文本到视频生成\n * - 支持5种宽高比\n * - 支持5或10秒时长\n * - 支持4种质量级别\n * - 支持运动模式控制\n * - 支持摄像机运动控制\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV45T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV45T2v(\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset\",\n * \"aspect_ratio\": \"16:9\",\n * \"duration\": 5,\n * \"quality\": \"540p\",\n * \"motion_mode\": \"normal\",\n * \"seed\": 12345\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV45T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV45T2v(\n params: PixverseV45T2vParams,\n): Promise<PixverseV45T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v4_5_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV45T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV4I2vParams {\n /**\n * 单个图像URL或Base64编码\n */\n img_id?: string;\n /**\n * 多个图像URL或Base64编码的数组\n */\n img_ids?: string[];\n /**\n * 视频时长,5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 正向提示词\n */\n prompt?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 摄像机运动\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n /**\n * 是否开启音效\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 是否开启唇形同步TTS\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV4I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v4_i2v\n *\n * PixVerse V4 图像生成视频接口\n * \n * Model: v4 (固定模型)\n * Features: 图像生成视频功能\n * Duration: 5秒或10秒(默认5秒)\n * Quality: 270p、540p(默认)、720p、1080p\n * Motion Mode: normal(默认)、fast(快速)\n * Advanced: 支持摄像机运动控制、正向/负向提示词、音效、唇形同步TTS\n * \n * API Documentation: https://docs.platform.pixverse.ai/image-to-video-generation-13016633e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV4I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV4I2v({\n * // 参数见 PixverseV4I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV4I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV4I2v(\n params: PixverseV4I2vParams,\n): Promise<PixverseV4I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v4_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV4I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV4T2vParams {\n /**\n * 视频生成提示词\n */\n prompt: string;\n /**\n * 视频宽高比,支持: 16:9, 9:16, 1:1, 4:3, 3:4,默认16:9\n */\n aspect_ratio?: string;\n /**\n * 视频时长(秒),支持5或10秒,默认5秒\n */\n duration?: number;\n /**\n * 视频质量,支持: 270p, 540p, 720p, 1080p,默认540p\n */\n quality?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 运动模式,支持: normal, fast\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 相机运动,支持: zoom_in, zoom_out, pan_left, pan_right, tilt_up, tilt_down\n */\n camera_movement?: string;\n /**\n * 随机种子\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n}\n\nexport interface PixverseV4T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v4_t2v\n *\n * PixVerse V4 Text-to-Video Generator\n * \n * Model: v4\n * Features: 文本生成视频 (Text-to-Video)\n * Aspect Ratios: 16:9, 9:16, 1:1, 4:3, 3:4\n * Duration: 5或10秒\n * Quality: 270p, 540p, 720p, 1080p\n * Motion Modes: normal, fast\n * \n * API Documentation: https://docs.platform.pixverse.ai/text-to-video-generation-13016634e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV4T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV4T2v({\n * // 参数见 PixverseV4T2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV4T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV4T2v(\n params: PixverseV4T2vParams,\n): Promise<PixverseV4T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v4_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV4T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV4TransitionParams {\n /**\n * 视频生成提示词,必填参数\n */\n prompt: string;\n /**\n * 首帧图像,必填参数。支持URL或Base64格式,与first_frame_image二选一\n */\n first_frame_img?: string | string[];\n /**\n * 首帧图像,必填参数。支持URL或Base64格式,与first_frame_img二选一\n */\n first_frame_image?: string | string[];\n /**\n * 尾帧图像,必填参数。支持URL或Base64格式,与last_frame_image二选一\n */\n last_frame_img?: string | string[];\n /**\n * 尾帧图像,必填参数。支持URL或Base64格式,与last_frame_img二选一\n */\n last_frame_image?: string | string[];\n /**\n * 视频时长(秒),可选5秒或10秒,默认5秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量,可选270p、540p、720p、1080p,默认540p\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式,可选normal(标准)、fast(快速),默认normal\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 随机种子\n */\n seed?: number;\n /**\n * 音效开关\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 唇形同步TTS开关\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV4TransitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v4_transition\n *\n * API Documentation: https://docs.platform.pixverse.ai/transitionfirst-last-frame-generation-15123014e0\n * \n * PixVerse V4 过渡(首尾帧)视频生成实现。支持通过首帧和尾帧图像生成过渡视频。\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV4Transition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV4Transition({\n * // 参数见 PixverseV4TransitionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV4TransitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV4Transition(\n params: PixverseV4TransitionParams,\n): Promise<PixverseV4TransitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v4_transition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV4TransitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV55I2vParams {\n /**\n * 单张图片的URL或Base64数据,会自动上传至PixVerse并转换为img_id\n */\n img_id?: string;\n /**\n * 多张图片列表,每个元素为图片URL或Base64数据,会自动上传至PixVerse并转换为img_ids\n */\n img_ids?: string[];\n /**\n * 视频时长(秒),默认5秒\n * @default 5\n */\n duration?: number;\n /**\n * 视频质量,默认540p\n * @default \"540p\"\n * @values 540p | 720p | 1080p\n */\n quality?: '540p' | '720p' | '1080p';\n /**\n * 视频生成提示词\n */\n prompt: string;\n /**\n * 负向提示词,描述不希望出现的内容(可选)\n */\n negative_prompt?: string;\n /**\n * 随机种子,用于生成可复现的结果(可选)\n */\n seed?: number;\n /**\n * 视频风格\n * @values anime | 3d_animation | clay | comic | cyberpunk\n */\n style?: 'anime' | '3d_animation' | 'clay' | 'comic' | 'cyberpunk';\n /**\n * 模板ID(可选)\n */\n template_id?: number;\n /**\n * 音效内容描述\n */\n sound_effect_content?: string;\n /**\n * 口型同步TTS文本内容\n */\n lip_sync_tts_content?: string;\n /**\n * 口型同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n /**\n * 是否生成音频开关(V5.5特有)\n */\n generate_audio_switch?: boolean;\n /**\n * 是否生成多片段视频开关(V5.5特有)\n */\n generate_multi_clip_switch?: boolean;\n /**\n * 思考类型(V5.5特有)\n */\n thinking_type?: string;\n}\n\nexport interface PixverseV55I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_5_i2v\n *\n * <p>PixVerse V5.5 图生视频生成接口,支持将图片转换为视频</p>\n * <p>API Documentation: https://docs.platform.pixverse.ai/image-to-video-generation-13016633e0</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV55I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV55I2v({\n * // 参数见 PixverseV55I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV55I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV55I2v(\n params: PixverseV55I2vParams,\n): Promise<PixverseV55I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_5_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV55I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV55T2vParams {\n /**\n * 视频生成提示词\n */\n prompt: string;\n /**\n * 视频宽高比,默认16:9\n * @default \"16:9\"\n */\n aspect_ratio?: string;\n /**\n * 视频时长(秒),默认5秒\n * @default 5\n */\n duration?: number;\n /**\n * 视频质量,默认540p\n * @default \"540p\"\n * @values 540p | 720p | 1080p\n */\n quality?: '540p' | '720p' | '1080p';\n /**\n * 负向提示词,描述不希望出现的内容(可选)\n */\n negative_prompt?: string;\n /**\n * 随机种子,用于生成可复现的结果(可选)\n */\n seed?: number;\n /**\n * 视频风格\n * @values anime | 3d_animation | clay | comic | cyberpunk\n */\n style?: 'anime' | '3d_animation' | 'clay' | 'comic' | 'cyberpunk';\n /**\n * 模板ID(可选)\n */\n template_id?: number;\n /**\n * 音效内容描述\n */\n sound_effect_content?: string;\n /**\n * 口型同步TTS文本内容\n */\n lip_sync_tts_content?: string;\n /**\n * 口型同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n /**\n * 是否生成音频开关(V5.5特有)\n */\n generate_audio_switch?: boolean;\n /**\n * 是否生成多片段视频开关(V5.5特有)\n */\n generate_multi_clip_switch?: boolean;\n /**\n * 思考类型(V5.5特有)\n */\n thinking_type?: string;\n}\n\nexport interface PixverseV55T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_5_t2v\n *\n * <p>PixVerse V5.5 文生视频生成接口,支持通过文本提示词生成视频</p>\n * <p>API Documentation: https://docs.platform.pixverse.ai/text-to-video-generation-13016634e0</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV55T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV55T2v({\n * // 参数见 PixverseV55T2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV55T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV55T2v(\n params: PixverseV55T2vParams,\n): Promise<PixverseV55T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_5_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV55T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV55TransitionParams {\n /**\n * 视频生成提示词\n */\n prompt: string;\n /**\n * 首帧图片URL或Base64数据,会自动上传至PixVerse并转换为img_id\n */\n first_frame_img: string;\n /**\n * 首帧图片URL或Base64数据(兼容字段),会自动上传至PixVerse并转换为img_id\n */\n first_frame_image?: string;\n /**\n * 尾帧图片URL或Base64数据,会自动上传至PixVerse并转换为img_id\n */\n last_frame_img: string;\n /**\n * 尾帧图片URL或Base64数据(兼容字段),会自动上传至PixVerse并转换为img_id\n */\n last_frame_image?: string;\n /**\n * 视频时长(秒),V5.5支持5秒,默认5秒\n * @default 5\n */\n duration?: number;\n /**\n * 视频质量,默认540p\n * @default \"540p\"\n * @values 540p | 720p | 1080p\n */\n quality?: '540p' | '720p' | '1080p';\n /**\n * 随机种子,用于生成可复现的结果(可选)\n */\n seed?: number;\n /**\n * 音效内容描述\n */\n sound_effect_content?: string;\n /**\n * 口型同步TTS文本内容\n */\n lip_sync_tts_content?: string;\n /**\n * 口型同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n /**\n * 是否生成音频开关(V5.5特有)\n */\n generate_audio_switch?: boolean;\n}\n\nexport interface PixverseV55TransitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_5_transition\n *\n * <p>PixVerse V5.5 首尾帧过渡视频生成接口,通过提供首帧和尾帧图片生成过渡视频</p>\n * <p>API Documentation: https://docs.platform.pixverse.ai/transitionfirst-last-frame-generation-15123014e0</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV55Transition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV55Transition({\n * // 参数见 PixverseV55TransitionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV55TransitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV55Transition(\n params: PixverseV55TransitionParams,\n): Promise<PixverseV55TransitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_5_transition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV55TransitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV5I2vParams {\n /**\n * 输入图像URL或Base64编码(单个图像)\n */\n img_id?: string;\n /**\n * 输入图像URL或Base64编码列表(多个图像)\n */\n img_ids?: string[];\n /**\n * 视频时长,5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 正向提示词\n */\n prompt?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 摄像机运动\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n /**\n * 是否开启音效\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 是否开启唇形同步TTS\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV5I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_i2v\n *\n * PixVerse V5 Image-to-Video Generator\n * \n * Image-to-video generation implementation for PixVerse V5 API.\n * \n * API Documentation: https://docs.platform.pixverse.ai/image-to-video-generation-13016633e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV5I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV5I2v({\n * // 参数见 PixverseV5I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV5I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV5I2v(\n params: PixverseV5I2vParams,\n): Promise<PixverseV5I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV5I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV5T2vParams {\n /**\n * 正向提示词,必填\n */\n prompt: string;\n /**\n * 视频宽高比,可选,默认16:9\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1 | 4:3 | 3:4\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1' | '4:3' | '3:4';\n /**\n * 视频时长(秒),可选,5或10秒,默认5秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量,可选,默认540p\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 负向提示词,可选\n */\n negative_prompt?: string;\n /**\n * 运动模式,可选,支持normal(正常)、fast(快速)\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 摄像机运动,可选\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,可选,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID,可选\n */\n template_id?: number;\n}\n\nexport interface PixverseV5T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_t2v\n *\n * PixVerse V5 文本到视频生成API\n * \n * Model: v5\n * Features: 文本到视频生成功能\n * Duration: 5秒或10秒(默认5秒)\n * Aspect Ratio: 16:9、9:16、1:1、4:3、3:4(默认16:9)\n * Quality: 270p、540p、720p、1080p(默认540p)\n * Motion Mode: normal、fast\n * Camera Movement: zoom_in、zoom_out、pan_left、pan_right、tilt_up、tilt_down\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV5T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV5T2v({\n * // 参数见 PixverseV5T2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV5T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV5T2v(\n params: PixverseV5T2vParams,\n): Promise<PixverseV5T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV5T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"Smooth transition between two scenes\",\n * \"first_frame_img\": \"https://example.com/first_frame.jpg\",\n * \"last_frame_img\": \"https://example.com/last_frame.jpg\",\n * \"duration\": 5,\n * \"quality\": \"720p\",\n * \"motion_mode\": \"normal\"\n * }\n * ```\n */\nexport interface PixverseV5TransitionParams {\n /**\n * 视频生成提示词(可选),描述过渡效果的内容\n */\n prompt?: string;\n /**\n * 首帧图像(与first_frame_image二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n first_frame_img?: string | string[];\n /**\n * 首帧图像(与first_frame_img二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n first_frame_image?: string | string[];\n /**\n * 尾帧图像(与last_frame_image二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n last_frame_img?: string | string[];\n /**\n * 尾帧图像(与last_frame_img二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n last_frame_image?: string | string[];\n /**\n * 视频时长(秒),V5仅支持5秒,设置其他值会导致验证失败\n * @default 5\n * @values 5\n */\n duration?: 5;\n /**\n * 视频质量(可选),支持: 270p, 540p(默认), 720p, 1080p\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式(可选),支持: normal(标准), fast(快速),默认normal\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 随机种子(可选),用于可重现的生成结果\n */\n seed?: number;\n /**\n * 音效开关(可选)\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容(可选)\n */\n sound_effect_content?: string;\n /**\n * 唇形同步TTS开关(可选)\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容(可选)\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID(可选)\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV5TransitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_transition\n *\n * PixVerse V5 过渡(首尾帧)视频生成接口,支持通过首帧和尾帧图像生成过渡视频。\n * \n * Model: v5\n * Features:\n * - 通过首尾两帧图像生成平滑过渡视频\n * - 固定5秒视频时长\n * - 支持四种质量等级:270p、540p(默认)、720p、1080p\n * - 支持两种运动模式:normal(标准)、fast(快速)\n * - 支持音效和唇形同步TTS功能\n * - 图片自动上传到PixVerse\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV5Transition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV5Transition(\n * {\n * \"prompt\": \"Smooth transition between two scenes\",\n * \"first_frame_img\": \"https://example.com/first_frame.jpg\",\n * \"last_frame_img\": \"https://example.com/last_frame.jpg\",\n * \"duration\": 5,\n * \"quality\": \"720p\",\n * \"motion_mode\": \"normal\"\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV5TransitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV5Transition(\n params: PixverseV5TransitionParams,\n): Promise<PixverseV5TransitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_transition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV5TransitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"promptText\": \"A beautiful sunset scene with gentle ocean waves\",\n * \"promptImage\": \"https://example.com/input_image.jpg\",\n * \"duration\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"resolution\": \"720p\",\n * \"seed\": 12345,\n * \"watermark\": false\n * }\n * ```\n */\nexport interface RunwayGen3aTurboI2vParams {\n /**\n * 视频生成提示词(可选),最长1000个字符(UTF-16编码单元计数),详细描述视频中应出现的内容\n * @length 0 - 1000\n */\n promptText?: string;\n /**\n * 输入图像,可以是单个图像URL或包含位置信息的图像数组\n */\n promptImage?: string | string[];\n /**\n * 视频时长(可选),单位:秒。支持: 5(5秒)或 10(10秒)\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频宽高比(可选),常见选项包括: 16:9(横屏)、9:16(竖屏)、1:1(方形)等\n * @example \"16:9\"\n */\n aspectRatio?: string;\n /**\n * 视频分辨率(可选),例如: 720p、1080p 等\n * @example \"720p\"\n */\n resolution?: string;\n /**\n * 随机种子(可选),范围: 0-4294967295。如果未指定,将随机选择。使用相同的seed和其他参数可以生成相似的结果\n * @range 0 - 4294967295\n */\n seed?: number;\n /**\n * 是否添加水印(可选),true表示添加水印,false表示不添加\n */\n watermark?: boolean;\n /**\n * 内容审核设置(可选)\n */\n contentModeration?: {\n /**\n * 公众人物识别阈值:auto(自动)或 low(较低,内容审核系统对包含可识别公众人物的生成内容限制较少)\n * @default \"auto\"\n * @values auto | low\n */\n publicFigureThreshold?: 'auto' | 'low';\n };\n}\n\nexport interface RunwayGen3aTurboI2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * runway_gen3a_turbo_i2v\n *\n * Runway Gen-3 Alpha Turbo 图像生成视频接口,支持将静态图像转换为动态视频。\n * \n * Model: gen3a_turbo\n * Features:\n * - 支持图像到视频生成(I2V)\n * - 支持5秒或10秒视频时长\n * - 支持多种宽高比:16:9、9:16、1:1等\n * - 支持不同分辨率:720p、1080p等\n * - 支持首帧和尾帧图像输入\n * - 支持种子值(seed)控制生成结果\n *\n * @example\n * ```typescript\n * import { initSeacloud, runwayGen3aTurboI2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await runwayGen3aTurboI2v(\n * {\n * \"promptText\": \"A beautiful sunset scene with gentle ocean waves\",\n * \"promptImage\": \"https://example.com/input_image.jpg\",\n * \"duration\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"resolution\": \"720p\",\n * \"seed\": 12345,\n * \"watermark\": false\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 RunwayGen3aTurboI2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function runwayGen3aTurboI2v(\n params: RunwayGen3aTurboI2vParams,\n): Promise<RunwayGen3aTurboI2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'runway_gen3a_turbo_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: RunwayGen3aTurboI2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface TencentHunyuan3dParams {\n /**\n * 文本提示词,与图像输入二选一,不超过1024 UTF-8字符\n * @length 0 - 1024\n */\n prompt?: string;\n /**\n * Base64编码的图像,与提示词二选一。支持格式: jpg, png, jpeg, webp,大小不超过8MB,分辨率128-5000px\n */\n image_base64?: string;\n /**\n * 图像URL,与提示词二选一。支持格式: jpg, png, jpeg, webp,大小不超过8MB,分辨率128-5000px\n */\n image_url?: string;\n /**\n * 输出3D模型格式,可选参数\n * @values OBJ | GLB | STL | USDZ | FBX | MP4\n */\n result_format?: 'OBJ' | 'GLB' | 'STL' | 'USDZ' | 'FBX' | 'MP4';\n /**\n * 是否启用PBR材质,可选参数\n */\n enable_pbr?: boolean;\n /**\n * 多视角图像数组,可选参数\n */\n multi_view_images?: Array<{\n /**\n * 视角\n * @values left | right | back\n */\n View?: 'left' | 'right' | 'back';\n /**\n * 该视角的Base64编码图像\n */\n ImageBase64?: string;\n /**\n * 该视角的图像URL\n */\n ImageUrl?: string;\n }>;\n}\n\nexport interface TencentHunyuan3dResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * tencent_hunyuan_3d\n *\n * 腾讯混元3D生成接口\n * \n * Model: Hunyuan 3D (固定模型)\n * Features: 文本生成3D模型、图像生成3D模型功能\n * Output Formats: OBJ、GLB、STL、USDZ、FBX、MP4(支持多种3D格式)\n * Advanced: 支持PBR材质渲染、多视角图像输入(左、右、后视角)\n * \n * API Documentation: https://cloud.tencent.com/document/product/1804/120826\n * Status Query: https://cloud.tencent.com/document/product/1804/120827\n *\n * @example\n * ```typescript\n * import { initSeacloud, tencentHunyuan3d } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await tencentHunyuan3d({\n * // 参数见 TencentHunyuan3dParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 TencentHunyuan3dParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function tencentHunyuan3d(\n params: TencentHunyuan3dParams,\n): Promise<TencentHunyuan3dResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 4000,\n maxAttempts: 90,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'tencent_hunyuan_3d',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: TencentHunyuan3dResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A detailed medieval castle with towers and walls\",\n * \"face_count\": 100000,\n * \"generate_type\": \"Normal\",\n * \"polygon_type\": \"triangle\",\n * \"enable_pbr\": true\n * }\n * ```\n */\nexport interface TencentHunyuan3dProParams {\n /**\n * 文本提示词,可选参数(与image_base64/image_url二选一,不能同时使用)。用于描述要生成的3D模型。长度不超过1024个UTF-8字符\n * @length 0 - 1024\n */\n prompt?: string;\n /**\n * Base64编码的图片,可选参数(与prompt二选一,不能同时使用)。图片格式支持jpg、png、jpeg、webp。图片大小不超过8MB,分辨率在128-5000px之间\n */\n image_base64?: string;\n /**\n * 图片URL地址,可选参数(与prompt二选一,不能同时使用)。图片格式支持jpg、png、jpeg、webp。图片大小不超过8MB,分辨率在128-5000px之间\n */\n image_url?: string;\n /**\n * 模型面数,可选参数。取值范围:40000-1500000。默认值根据模型复杂度自动确定\n * @range 40000 - 1500000\n */\n face_count?: number;\n /**\n * 生成类型,可选参数。控制生成的3D模型风格\n * @values Normal | LowPoly | Geometry | Sketch\n */\n generate_type?: 'Normal' | 'LowPoly' | 'Geometry' | 'Sketch';\n /**\n * 多边形类型,可选参数。控制模型的多边形结构\n * @values triangle | quadrilateral\n */\n polygon_type?: 'triangle' | 'quadrilateral';\n /**\n * 是否启用PBR材质,可选参数。启用后会生成更真实的材质效果(基于物理的渲染)\n */\n enable_pbr?: boolean;\n /**\n * 多视图图片列表,可选参数。用于提供物体的多个角度视图以提升生成质量\n */\n multi_view_images?: string[];\n}\n\nexport interface TencentHunyuan3dProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * tencent_hunyuan_3d_pro\n *\n * 腾讯混元3D Pro模型生成接口,支持通过文本描述或图片生成高质量3D模型。\n * \n * Model: Hunyuan-3D-Pro\n * Features:\n * - 文本到3D生成(T2-3D)\n * - 图像到3D生成(I2-3D)\n * - 多种模型格式输出(OBJ、GLB、STL、USDZ、FBX)\n * - 支持预览视频生成(MP4)\n * - 支持PBR材质\n * - 支持低多边形、几何体、草图等多种风格\n *\n * @example\n * ```typescript\n * import { initSeacloud, tencentHunyuan3dPro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await tencentHunyuan3dPro(\n * {\n * \"prompt\": \"A detailed medieval castle with towers and walls\",\n * \"face_count\": 100000,\n * \"generate_type\": \"Normal\",\n * \"polygon_type\": \"triangle\",\n * \"enable_pbr\": true\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 TencentHunyuan3dProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function tencentHunyuan3dPro(\n params: TencentHunyuan3dProParams,\n): Promise<TencentHunyuan3dProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 4000,\n maxAttempts: 90,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'tencent_hunyuan_3d_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: TencentHunyuan3dProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface TencentHunyuan3dRapidParams {\n /**\n * 文本提示词,可选参数(与image_base64、image_url三选一,且只能提供一个)。用于描述要生成的3D模型。长度不超过200个字符\n * @length 0 - 200\n */\n prompt?: string;\n /**\n * Base64编码的图片,可选参数(与prompt、image_url三选一,且只能提供一个)。图片格式支持jpg、png、jpeg、webp。图片尺寸在128x128到5000x5000像素之间\n */\n image_base64?: string;\n /**\n * 图片URL地址,可选参数(与prompt、image_base64三选一,且只能提供一个)。图片格式支持jpg、png、jpeg、webp。图片尺寸在128x128到5000x5000像素之间\n */\n image_url?: string;\n /**\n * 结果格式,可选参数。指定生成的3D模型文件格式\n * @values OBJ | GLB | STL | USDZ | FBX | MP4\n */\n result_format?: 'OBJ' | 'GLB' | 'STL' | 'USDZ' | 'FBX' | 'MP4';\n /**\n * 是否启用PBR材质,可选参数。启用后会生成更真实的材质效果\n */\n enable_pbr?: boolean;\n}\n\nexport interface TencentHunyuan3dRapidResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * tencent_hunyuan_3d_rapid\n *\n * 腾讯云混元生3D极速版生成器\n * \n * Model: hunyuan-3d-rapid\n * Features: 文本生成3D模型 (Text-to-3D) / 图像生成3D模型 (Image-to-3D)\n * Input: 文本描述或图片(三选一:prompt/image_base64/image_url)\n * Output Formats: OBJ, GLB, STL, USDZ, FBX, MP4\n * Image Requirements: 128x128至5000x5000像素,支持jpg/png/jpeg/webp\n * Prompt Length: 最多200字符\n * PBR Support: 支持PBR材质生成\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, tencentHunyuan3dRapid } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await tencentHunyuan3dRapid({\n * // 参数见 TencentHunyuan3dRapidParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 TencentHunyuan3dRapidParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function tencentHunyuan3dRapid(\n params: TencentHunyuan3dRapidParams,\n): Promise<TencentHunyuan3dRapidResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 4000,\n maxAttempts: 90,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'tencent_hunyuan_3d_rapid',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: TencentHunyuan3dRapidResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface TencentImageCreation3Params {\n /**\n * 文本描述,算法将根据输入的文本智能生成与之相关的图像。不能为空,推荐使用中文。最多可传1024个 utf-8 字符。\n * @length 0 - 1024\n * @example \"一只可爱的橘猫在阳光下睡觉,照片风格,高清画质\"\n */\n prompt: string;\n /**\n * 生成图分辨率,支持以下尺寸:640:1408, 704:1344, 768:1280, 832:1216, 896:1152, 960:1088, 1024:1024, 1088:960, 1152:896, 1216:832, 1280:768, 1344:704, 1408:640\n * @default \"1024:1024\"\n * @values 640:1408 | 704:1344 | 768:1280 | 832:1216 | 896:1152 | 960:1088 | 1024:1024 | 1088:960 | 1152:896 | 1216:832 | 1280:768 | 1344:704 | 1408:640\n * @example \"1024:1024\"\n */\n resolution?: '640:1408' | '704:1344' | '768:1280' | '832:1216' | '896:1152' | '960:1088' | '1024:1024' | '1088:960' | '1152:896' | '1216:832' | '1280:768' | '1344:704' | '1408:640';\n /**\n * 随机种子,默认随机。不传:随机种子生成。正数:固定种子生成。注意:改写开启时固定种子不生效,将保持随机。\n * @example 12345\n */\n seed?: number;\n /**\n * 为生成结果图添加显式水印标识的开关,默认为1。1:添加。0:不添加。建议使用显著标识来提示结果图使用了 AI 绘画技术,是 AI 生成的图片。\n * @default 1\n * @values 0 | 1\n * @example 1\n */\n logo_add?: 0 | 1;\n /**\n * 标识内容设置。默认在生成结果图右下角添加'图片由 AI 生成'字样,您可根据自身需要替换为其他的标识图片。\n */\n logo_param?: {\n };\n /**\n * 是否开启prompt改写,默认开启。1:开启(改写预计会增加20s左右耗时)。0:关闭(如果关闭改写,需要调用方自己优化prompt,否则对生图效果有较大影响)。\n * @default 1\n * @values 0 | 1\n */\n revise?: 0 | 1;\n}\n\nexport interface TencentImageCreation3Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * tencent_image_creation_3\n *\n * <p>使用腾讯智能创作服务生成图片,支持多种分辨率和自定义水印</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, tencentImageCreation3 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await tencentImageCreation3({\n * // 参数见 TencentImageCreation3Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 TencentImageCreation3Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function tencentImageCreation3(\n params: TencentImageCreation3Params,\n): Promise<TencentImageCreation3Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'tencent_image_creation_3',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: TencentImageCreation3Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface TencentMpsSuperResolutionParams {\n /**\n * 输入视频URL\n */\n input_url: string;\n /**\n * 输入类型,默认为URL\n * @default \"URL\"\n */\n input_type?: string;\n /**\n * 输出存储桶名称\n * @default \"top-rank-cos-1350346443\"\n */\n output_bucket?: string;\n /**\n * 输出存储区域\n * @default \"na-siliconvalley\"\n */\n output_region?: string;\n /**\n * 输出存储类型\n * @default \"COS\"\n */\n output_storage_type?: string;\n /**\n * 输出目录\n * @default \"/super_resolution\"\n */\n output_dir?: string;\n /**\n * 转码模板定义,可选值:1560240(720p)、1581780(1080p)、其他(1440p) 也可输入\"720p\"、\"1080p\"、\"2k\"\n * @default 1560242\n */\n definition?: number;\n short?: number;\n /**\n * 会话ID\n */\n session_id?: string;\n /**\n * 会话上下文\n */\n session_context?: string;\n /**\n * 任务通知配置\n */\n task_notify_config?: {\n };\n /**\n * 任务优先级\n * @default 0\n */\n task_priority?: number;\n}\n\nexport interface TencentMpsSuperResolutionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * tencent_mps_super_resolution\n *\n * <p>Tencent MPS Super Resolution implementation.</p>\n * <p>API Documentation: https://cloud.tencent.com/document/product/862/37578</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, tencentMpsSuperResolution } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await tencentMpsSuperResolution({\n * // 参数见 TencentMpsSuperResolutionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 TencentMpsSuperResolutionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function tencentMpsSuperResolution(\n params: TencentMpsSuperResolutionParams,\n): Promise<TencentMpsSuperResolutionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'tencent_mps_super_resolution',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: TencentMpsSuperResolutionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface Vidu15Params {\n /**\n * 文本提示词,必填,不能超过1500个字符\n */\n prompt: string;\n /**\n * 风格,默认值为'general'\n * @values general | anime\n */\n style?: 'general' | 'anime';\n /**\n * 时长,vidu1.5模型必须是4或8秒\n * @values 4 | 8\n */\n duration?: 4 | 8;\n /**\n * 分辨率,根据时长动态调整默认值\n */\n resolution?: string;\n /**\n * 随机种子,0表示使用随机数\n */\n seed?: number;\n /**\n * 比例,默认值为'16:9'\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,默认值为'auto'\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐,默认值为False\n */\n bgm?: boolean;\n /**\n * 透传参数,最多1048576个字符\n */\n payload?: string;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n}\n\nexport interface Vidu15Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_15\n *\n * <p>通过Vidu 1.5 API创建视频生成任务。<a href=\"https://platform.vidu.com/docs/text-to-video\">API Documentation</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, vidu15 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await vidu15({\n * // 参数见 Vidu15Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 Vidu15Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function vidu15(\n params: Vidu15Params,\n): Promise<Vidu15Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_15',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: Vidu15Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface Vidu15I2vParams {\n /**\n * 输入图像列表,支持URL或base64格式\n */\n images: string[];\n /**\n * 首帧图像,支持URL或base64格式\n */\n first_frame_image?: string;\n /**\n * 提示词,长度不超过1500字符\n */\n prompt?: string;\n /**\n * 风格,可选值:'general'、'anime'\n * @default \"general\"\n * @values general | anime\n */\n style?: 'general' | 'anime';\n /**\n * 视频时长(秒),可选值:4、8\n * @values 4 | 8\n */\n duration?: 4 | 8;\n /**\n * 分辨率,4秒时可选'360p'、'720p'、'1080p',8秒时固定'720p'\n */\n resolution?: string;\n /**\n * 随机种子,0表示使用随机数\n * @default 0\n */\n seed?: number;\n /**\n * 宽高比,可选值:'16:9'、'9:16'、'1:1'\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,可选值:'auto'、'small'、'medium'、'large'\n * @default \"auto\"\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐\n * @default false\n */\n bgm?: boolean;\n /**\n * 透传参数,最多1048576个字符\n */\n payload?: string;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n /**\n * 是否在非高峰时段处理\n * @default false\n */\n off_peak?: boolean;\n}\n\nexport interface Vidu15I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_15_i2v\n *\n * Vidu 1.5 Image-to-Video generation implementation.\n * \n * API Documentation: https://platform.vidu.com/docs/image-to-video\n * Status API: https://platform.vidu.com/docs/get-generation\n *\n * @example\n * ```typescript\n * import { initSeacloud, vidu15I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await vidu15I2v({\n * // 参数见 Vidu15I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 Vidu15I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function vidu15I2v(\n params: Vidu15I2vParams,\n): Promise<Vidu15I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_15_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: Vidu15I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface Vidu20I2vParams {\n /**\n * 输入图像列表,支持URL或base64格式\n */\n images: string[];\n /**\n * 首帧图像,支持URL或base64格式\n */\n first_frame_image?: string;\n /**\n * 提示词,长度不超过1500字符\n */\n prompt?: string;\n /**\n * 风格,可选值:'general'、'anime'\n * @default \"general\"\n * @values general | anime\n */\n style?: 'general' | 'anime';\n /**\n * 视频时长(秒),可选值:4、8\n * @values 4 | 8\n */\n duration?: 4 | 8;\n /**\n * 分辨率,4秒时可选'360p'、'720p'、'1080p',8秒时固定'720p'\n */\n resolution?: string;\n /**\n * 随机种子,0表示使用随机数\n * @default 0\n */\n seed?: number;\n /**\n * 宽高比,可选值:'16:9'、'9:16'、'1:1'\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,可选值:'auto'、'small'、'medium'、'large'\n * @default \"auto\"\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐\n * @default false\n */\n bgm?: boolean;\n /**\n * 透传参数,最多1048576个字符\n */\n payload?: string;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n /**\n * 是否在非高峰时段处理\n * @default false\n */\n off_peak?: boolean;\n}\n\nexport interface Vidu20I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_20_i2v\n *\n * Vidu 2.0 Image-to-Video generation implementation.\n * \n * API Documentation: https://platform.vidu.com/docs/image-to-video\n * Status API: https://platform.vidu.com/docs/get-generation\n *\n * @example\n * ```typescript\n * import { initSeacloud, vidu20I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await vidu20I2v({\n * // 参数见 Vidu20I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 Vidu20I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function vidu20I2v(\n params: Vidu20I2vParams,\n): Promise<Vidu20I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_20_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: Vidu20I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ViduQ1Params {\n /**\n * 文本提示词,必填,不能超过1500个字符\n */\n prompt: string;\n /**\n * 风格,默认值为'general'\n * @values general | anime\n */\n style?: 'general' | 'anime';\n /**\n * 随机种子,0表示使用随机数\n */\n seed?: number;\n /**\n * 比例,默认值为'16:9'\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,默认值为'auto'\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐,默认值为False\n */\n bgm?: boolean;\n /**\n * 透传参数,最多1048576个字符\n */\n payload?: string;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n}\n\nexport interface ViduQ1Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_q1\n *\n * <p>通过Vidu Q1 API创建视频生成任务。<a href=\"https://platform.vidu.com/docs/text-to-video\">API Documentation</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, viduQ1 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await viduQ1({\n * // 参数见 ViduQ1Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ViduQ1Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function viduQ1(\n params: ViduQ1Params,\n): Promise<ViduQ1Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_q1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ViduQ1Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ViduQ1I2vParams {\n /**\n * 输入图像URL或Base64编码,可以是单个图像或图像列表\n */\n images: any;\n /**\n * 首帧图像URL或Base64编码\n */\n first_frame_image?: string;\n /**\n * 视频生成提示词,不能超过1500个字符\n */\n prompt?: string;\n /**\n * 风格,默认值为'general'\n * @values general | anime\n */\n style?: 'general' | 'anime';\n /**\n * 随机种子,0表示使用随机数\n */\n seed?: number;\n /**\n * 比例,默认值为'16:9'\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,默认值为'auto'\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐,默认值为False\n */\n bgm?: boolean;\n /**\n * 透传参数,最多1048576个字符\n */\n payload?: string;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n}\n\nexport interface ViduQ1I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_q1_i2v\n *\n * <p>通过Vidu Q1 API创建图像到视频生成任务。<a href=\"https://platform.vidu.com/docs/image-to-video\">API Documentation</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, viduQ1I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await viduQ1I2v({\n * // 参数见 ViduQ1I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ViduQ1I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function viduQ1I2v(\n params: ViduQ1I2vParams,\n): Promise<ViduQ1I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_q1_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ViduQ1I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ViduQ2Params {\n /**\n * 文本提示词,必填,长度不超过1500字符\n */\n prompt: string;\n /**\n * 视频时长(秒),默认5秒,可选1-8秒\n * @default 5\n * @range 1 - 8\n */\n duration?: number;\n /**\n * 视频分辨率,默认720p,可选值:360p、540p、720p、1080p\n * @default \"720p\"\n * @values 360p | 540p | 720p | 1080p\n */\n resolution?: '360p' | '540p' | '720p' | '1080p';\n /**\n * 随机种子,默认0(随机)\n * @default 0\n */\n seed?: number;\n /**\n * 宽高比,默认16:9,可选值:16:9、9:16、1:1\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,默认auto,可选值:auto、small、medium、large\n * @default \"auto\"\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐,默认false\n * @default false\n */\n bgm?: boolean;\n /**\n * 透传参数,最大1048576字符\n */\n payload?: string;\n /**\n * 低峰模式,默认false\n * @default false\n */\n off_peak?: boolean;\n /**\n * 是否添加水印,默认false\n * @default false\n */\n wartermark?: boolean;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n}\n\nexport interface ViduQ2Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_q2\n *\n * Vidu Q2 Text-to-Video generation implementation.\n * \n * API Documentation: https://platform.vidu.com/docs/text-to-video\n * Status API: https://platform.vidu.com/docs/get-generation\n *\n * @example\n * ```typescript\n * import { initSeacloud, viduQ2 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await viduQ2({\n * // 参数见 ViduQ2Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ViduQ2Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function viduQ2(\n params: ViduQ2Params,\n): Promise<ViduQ2Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_q2',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ViduQ2Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ViduTemplateParams {\n /**\n * 模板名称,必填参数。支持的模板: turn_into_zombie (变成僵尸效果), head_to_balloon (头部变气球效果), wednesdays_vibe (星期三氛围效果), covered_liquid_metal (液态金属覆盖效果)\n * @values turn_into_zombie | head_to_balloon | wednesdays_vibe | covered_liquid_metal\n */\n template: 'turn_into_zombie' | 'head_to_balloon' | 'wednesdays_vibe' | 'covered_liquid_metal';\n /**\n * 输入图片,必填参数。至少需要1张图片。支持URL (http://或https://开头) 或base64编码 (data:image/开头)\n */\n images: string | string[];\n /**\n * 文本提示词,可选参数。用于指导视频生成效果。长度不超过2000字符\n * @length 0 - 2000\n */\n prompt?: string;\n /**\n * 随机种子,可选参数。用于控制生成结果的随机性,相同种子会生成相似结果\n */\n seed?: number;\n /**\n * 是否添加背景音乐,可选参数。默认为false\n */\n bgm?: boolean;\n /**\n * 额外参数,可选参数。用于传递模板特定的扩展配置\n */\n extra_params?: Record<string, any>;\n}\n\nexport interface ViduTemplateResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_template\n *\n * API Documentation: https://api.vidu.com/ent/v2/template\n * \n * Vidu 模板视频生成实现。支持变成僵尸、头部变气球、星期三氛围、液态金属覆盖等多种模板效果。固定4秒时长,720p分辨率。\n *\n * @example\n * ```typescript\n * import { initSeacloud, viduTemplate } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await viduTemplate({\n * // 参数见 ViduTemplateParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ViduTemplateParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function viduTemplate(\n params: ViduTemplateParams,\n): Promise<ViduTemplateResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_template',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ViduTemplateResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ViduTemplateV2Params {\n /**\n * 模板名称,必填参数。支持的模板: turn_into_zombie (变成僵尸效果), head_to_balloon (头部变气球效果), wednesdays_vibe (星期三氛围效果), covered_liquid_metal (液态金属覆盖效果)\n * @values turn_into_zombie | head_to_balloon | wednesdays_vibe | covered_liquid_metal\n */\n template: 'turn_into_zombie' | 'head_to_balloon' | 'wednesdays_vibe' | 'covered_liquid_metal';\n /**\n * 输入图片,必填参数。至少需要1张图片。支持URL (http://或https://开头) 或base64编码 (data:image/开头)\n */\n images: string | string[];\n /**\n * 文本提示词,可选参数。用于指导视频生成效果。长度不超过2000字符\n * @length 0 - 2000\n */\n prompt?: string;\n /**\n * 随机种子,可选参数。用于控制生成结果的随机性,相同种子会生成相似结果\n */\n seed?: number;\n /**\n * 是否添加背景音乐,可选参数。默认为false\n */\n bgm?: boolean;\n /**\n * 额外参数,可选参数。用于传递模板特定的扩展配置\n */\n extra_params?: Record<string, any>;\n}\n\nexport interface ViduTemplateV2Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_template_v2\n *\n * API Documentation: https://platform.vidu.com/docs/template\n * \n * Vidu 模板视频生成实现(V2版本)。支持变成僵尸、头部变气球、星期三氛围、液态金属覆盖等多种模板效果。固定4秒时长,720p分辨率。\n *\n * @example\n * ```typescript\n * import { initSeacloud, viduTemplateV2 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await viduTemplateV2({\n * // 参数见 ViduTemplateV2Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ViduTemplateV2Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function viduTemplateV2(\n params: ViduTemplateV2Params,\n): Promise<ViduTemplateV2Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_template_v2',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ViduTemplateV2Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesJimeng30Params {\n /**\n * 提示词,必填,长度必须在1-800个字符之间\n */\n prompt: string;\n /**\n * 是否使用预处理LLM,默认值为true\n * @default true\n */\n use_pre_llm?: boolean;\n /**\n * 随机种子,-1或正整数,默认值为-1\n * @default -1\n */\n seed?: number;\n /**\n * 图像宽度,范围512-2048,默认值为1328\n * @default 1328\n */\n width?: number;\n /**\n * 图像高度,范围512-2048,默认值为1328\n * @default 1328\n */\n height?: number;\n}\n\nexport interface VolcesJimeng30Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_jimeng_3_0\n *\n * 通过火山即梦3.0 API创建图像生成任务。[API Documentation](https://www.volcengine.com/docs/85621/1616429)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesJimeng30 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesJimeng30({\n * // 参数见 VolcesJimeng30Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesJimeng30Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesJimeng30(\n params: VolcesJimeng30Params,\n): Promise<VolcesJimeng30Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_jimeng_3_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesJimeng30Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesJimeng31Params {\n /**\n * 提示词,必填,长度必须在1-800个字符之间\n */\n prompt: string;\n /**\n * 是否使用预处理LLM,默认值为true\n * @default true\n */\n use_pre_llm?: boolean;\n /**\n * 随机种子,-1或正整数,默认值为-1\n * @default -1\n */\n seed?: number;\n /**\n * 图像宽度,范围512-2048,必须与height同时提供\n */\n width?: number;\n /**\n * 图像高度,范围512-2048,必须与width同时提供\n */\n height?: number;\n}\n\nexport interface VolcesJimeng31Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_jimeng_3_1\n *\n * Volces Jimeng 3.1 Image Generator implementation.\n * \n * Model: 即梦3.1 (Jimeng 3.1)\n * Features: 文本生成图像功能\n * Prompt Length: 1-800字符\n * Image Dimensions: 512-2048像素(宽高必须同时提供)\n * Aspect Ratio: 1:3 到 3:1\n * Seed: -1(随机) 或正整数\n * Pre-LLM: 默认启用\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesJimeng31 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesJimeng31({\n * // 参数见 VolcesJimeng31Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesJimeng31Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesJimeng31(\n params: VolcesJimeng31Params,\n): Promise<VolcesJimeng31Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_jimeng_3_1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesJimeng31Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesJimengDreamActorM1Params {\n /**\n * 参考视频URL\n */\n video_url: string;\n /**\n * 图像URL\n */\n image_url: string;\n /**\n * 随机种子,必须是-1或正整数\n * @default -1\n */\n seed?: number;\n /**\n * 视频质量,可选值:'normal'(普通)、'high'(高质量)\n * @values normal | high\n */\n video_quality?: 'normal' | 'high';\n /**\n * 水印信息配置\n */\n logo_info?: {\n /**\n * 是否添加水印\n * @default false\n */\n add_logo?: boolean;\n /**\n * 水印位置\n * @default 0\n */\n position?: number;\n /**\n * 水印语言\n * @default 0\n */\n language?: number;\n /**\n * 水印不透明度\n * @default 1\n */\n opacity?: number;\n /**\n * 水印文本内容\n * @default \"\"\n */\n logo_text_content?: string;\n };\n /**\n * 是否返回URL\n * @default true\n */\n return_url?: boolean;\n /**\n * AIGC元数据\n */\n aigc_meta?: {\n /**\n * 内容生产者\n * @default \"unifygen-api\"\n */\n content_producer?: string;\n /**\n * 生产者ID\n * @default \"unifygen-api\"\n */\n producer_id?: string;\n /**\n * 水印文本内容\n * @default \"\"\n */\n logo_text_content?: string;\n };\n}\n\nexport interface VolcesJimengDreamActorM1Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_jimeng_dream_actor_m1\n *\n * Volces Jimeng Dream Actor M1 Video Generator\n * \n * Video generation with reference video and image (即梦造梦演员M1视频生成).\n * \n * Model: dream_actor_m1\n * Features: 视频生成(参考视频+图像融合)\n * Quality: normal(普通), high(高质量)\n * Supports: 随机种子控制、视频质量选择\n * \n * API Documentation: https://www.volcengine.com/docs/85621/1798351\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesJimengDreamActorM1 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesJimengDreamActorM1({\n * // 参数见 VolcesJimengDreamActorM1Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesJimengDreamActorM1Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesJimengDreamActorM1(\n params: VolcesJimengDreamActorM1Params,\n): Promise<VolcesJimengDreamActorM1Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_jimeng_dream_actor_m1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesJimengDreamActorM1Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesJimengI2i30Params {\n /**\n * 图像生成提示词,长度必须在1-800字符之间\n */\n prompt: string;\n /**\n * 输入图像的Base64编码列表,必须包含 exactly one 图像\n */\n binary_data_base64?: string[];\n /**\n * 输入图像URL列表,必须包含 exactly one 图像\n */\n image_urls?: string[];\n /**\n * 随机种子,必须是-1或正整数\n * @default -1\n */\n seed?: number;\n /**\n * 缩放因子,必须是0到1之间的浮点数\n * @default 0.5\n */\n scale?: number;\n /**\n * 图像宽度,必须在512-2016之间,需要与height同时提供\n */\n width?: number;\n /**\n * 图像高度,必须在512-2016之间,需要与width同时提供\n */\n height?: number;\n}\n\nexport interface VolcesJimengI2i30Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_jimeng_i2i_3_0\n *\n * Volces Jimeng I2I 3.0 Image Generator\n * \n * Image-to-image generation implementation for Volces Jimeng I2I 3.0 (火山即梦图生图3.0).\n * API Documentation: https://www.volcengine.com/docs/85621/1747301\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesJimengI2i30 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesJimengI2i30({\n * // 参数见 VolcesJimengI2i30Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesJimengI2i30Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesJimengI2i30(\n params: VolcesJimengI2i30Params,\n): Promise<VolcesJimengI2i30Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_jimeng_i2i_3_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesJimengI2i30Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesRealmanAvatarImitatorV2vParams {\n /**\n * 人物图片URL,必填参数。用于指定要生成数字人的人物形象\n */\n image_url: string;\n /**\n * 驱动视频信息,必填参数。包含驱动视频的URL和存储类型\n */\n driving_video_info: {\n /**\n * 驱动视频URL,必填参数。用于指定驱动数字人动作的视频\n */\n video_url: string;\n /**\n * 存储类型,必填参数。必须为0\n * @values 0\n */\n store_type: 0;\n };\n /**\n * 随机种子,可选参数。必须为-1或正整数,用于控制生成结果的随机性\n */\n seed?: number;\n /**\n * 分辨率,可选参数。指定输出视频的分辨率\n */\n resolution?: string;\n /**\n * 帧率,可选参数。必须为正整数,推荐值为25或30\n */\n fps?: number;\n /**\n * 比特率,可选参数。必须为正整数,用于控制视频质量\n */\n bitrate?: number;\n /**\n * 水印信息,可选参数\n */\n logo_info?: {\n /**\n * 是否添加水印\n */\n add_logo?: boolean;\n /**\n * 水印位置\n */\n position?: number;\n /**\n * 水印语言\n */\n language?: number;\n /**\n * 水印透明度\n */\n opacity?: number;\n /**\n * 水印文字内容\n */\n logo_text_content?: string;\n };\n /**\n * 是否返回视频URL,可选参数。默认为true\n */\n return_url?: boolean;\n}\n\nexport interface VolcesRealmanAvatarImitatorV2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_realman_avatar_imitator_v2v\n *\n * API Documentation: https://www.volcengine.com/docs/86081/1804525\n * \n * Volces RealMan Avatar Imitator V2V 视频生成实现(火山引擎)。支持视频到视频的数字人模仿生成,根据输入的人物图片和驱动视频生成数字人模仿视频。\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesRealmanAvatarImitatorV2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesRealmanAvatarImitatorV2v({\n * // 参数见 VolcesRealmanAvatarImitatorV2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesRealmanAvatarImitatorV2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesRealmanAvatarImitatorV2v(\n params: VolcesRealmanAvatarImitatorV2vParams,\n): Promise<VolcesRealmanAvatarImitatorV2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_realman_avatar_imitator_v2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesRealmanAvatarImitatorV2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesRealmanAvatarPictureOmniV15Params {\n /**\n * 人物肖像图片URL地址\n */\n image_url: string;\n /**\n * 音频URL地址,音频时长必须小于35秒\n */\n audio_url: string;\n /**\n * 遮罩图片URL列表(来自主体检测步骤2)\n */\n mask_url?: string[];\n /**\n * 随机种子,-1表示随机生成(默认值)\n */\n seed?: number;\n /**\n * 文本提示词,支持中文、英文、日文、韩文、西班牙文、印尼文\n */\n prompt?: string;\n /**\n * 是否启用快速模式(默认值:false)\n */\n pe_fast_mode?: boolean;\n}\n\nexport interface VolcesRealmanAvatarPictureOmniV15Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_realman_avatar_picture_omni_v15\n *\n * API Documentation: https://www.volcengine.com/docs/85621/1829013\n * \n * Volces RealMan Avatar Picture Omni V1.5 (OmniHuman1.5) 数字人生成接口,支持单张图片+音频生成数字人视频。支持任意宽高比图片,可处理人物、宠物、动漫等多种主体类型。\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesRealmanAvatarPictureOmniV15 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesRealmanAvatarPictureOmniV15({\n * // 参数见 VolcesRealmanAvatarPictureOmniV15Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesRealmanAvatarPictureOmniV15Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesRealmanAvatarPictureOmniV15(\n params: VolcesRealmanAvatarPictureOmniV15Params,\n): Promise<VolcesRealmanAvatarPictureOmniV15Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_realman_avatar_picture_omni_v15',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesRealmanAvatarPictureOmniV15Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesRealmanAvatarPictureOmniV2Params {\n /**\n * 输入图像URL\n */\n image_url: string;\n /**\n * 音频URL,用于数字人动画\n */\n audio_url: string;\n /**\n * 视频分辨率,可选参数\n */\n resolution?: string;\n /**\n * 帧率,可选参数,必须是正整数,推荐值为25或30\n */\n fps?: number;\n /**\n * 比特率,可选参数,必须是正整数\n */\n bitrate?: number;\n}\n\nexport interface VolcesRealmanAvatarPictureOmniV2Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_realman_avatar_picture_omni_v2\n *\n * Volces RealMan Avatar Picture Omni V2 Generator\n * \n * Digital human avatar picture generation with audio-driven animation (数字人口型驱动生成).\n * API Documentation: https://www.volcengine.com/docs/85128/1580770\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesRealmanAvatarPictureOmniV2 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesRealmanAvatarPictureOmniV2({\n * // 参数见 VolcesRealmanAvatarPictureOmniV2Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesRealmanAvatarPictureOmniV2Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesRealmanAvatarPictureOmniV2(\n params: VolcesRealmanAvatarPictureOmniV2Params,\n): Promise<VolcesRealmanAvatarPictureOmniV2Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_realman_avatar_picture_omni_v2',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesRealmanAvatarPictureOmniV2Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeed3dParams {\n /**\n * 内容数组,必填参数。必须同时包含文本内容(type为text)和图片内容(type为image_url)\n */\n content: Record<string, any>[];\n}\n\nexport interface VolcesSeed3dResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seed3d\n *\n * Volces Seed3D 1.0 3D Model Generator\n * \n * 3D model generation implementation for Volces Seed3D 1.0 (火山引擎).\n * \n * Model: ep-20251022222630-dg2jk\n * Features: 从单张图片和文本描述生成3D模型文件\n * Supported Formats: GLB, OBJ, PLY, STL\n * Subdivision Levels: low, medium, high\n * \n * API Documentation: https://www.volcengine.com/docs/82379/1856293\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeed3d } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeed3d({\n * // 参数见 VolcesSeed3dParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeed3dParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeed3d(\n params: VolcesSeed3dParams,\n): Promise<VolcesSeed3dResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 4000,\n maxAttempts: 90,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seed3d',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeed3dResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedance30I2vParams {\n /**\n * 内容数组,必填参数。使用OpenAI协议格式,包含text和image_url类型的对象\n */\n content: Array<{\n /**\n * 内容类型\n * @values text | image_url\n */\n type: 'text' | 'image_url';\n /**\n * 文本内容(当type为text时)\n */\n text?: string;\n /**\n * 图像URL对象(当type为image_url时)\n */\n image_url?: {\n /**\n * 图像URL或Base64数据URI\n */\n url?: string;\n };\n /**\n * 角色类型,reference_image表示参考图像(可选,1-4张)\n * @values reference_image\n */\n role?: 'reference_image';\n }>;\n /**\n * 模型ID,可选参数。默认为ep-20250507154154-ss6wk\n */\n model?: string;\n /**\n * 分辨率,可选参数。作为文本命令附加到prompt中(--rs)\n * @values 480p | 720p | 1080p\n */\n resolution?: '480p' | '720p' | '1080p';\n /**\n * 宽高比,可选参数。作为文本命令附加到prompt中(--rt)\n * @values 21:9 | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 | 9:21 | keep_ratio | adaptive\n */\n ratio?: '21:9' | '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | '9:21' | 'keep_ratio' | 'adaptive';\n /**\n * 视频时长,可选参数。范围3-12秒,作为文本命令附加到prompt中(--dur)\n * @range 3 - 12\n */\n duration?: number;\n /**\n * 帧率,可选参数。支持16或24fps,作为文本命令附加到prompt中(--fps)\n * @values 16 | 24\n */\n framespersecond?: 16 | 24;\n /**\n * 随机种子,可选参数。范围-1到2^32-1,-1表示随机\n * @range -1 - 4294967295\n */\n seed?: number;\n /**\n * 是否添加水印,可选参数。作为文本命令附加到prompt中(--wm)\n */\n watermark?: boolean;\n /**\n * 是否固定摄像机,可选参数。作为文本命令附加到prompt中(--cf)\n */\n camerafixed?: boolean;\n /**\n * 是否返回最后一帧图像,可选参数\n */\n return_last_frame?: boolean;\n}\n\nexport interface VolcesSeedance30I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedance_30_i2v\n *\n * Volces SeeDance 3.0 I2V Video Generator\n * \n * Image-to-video generation using OpenAI protocol. Converts images to videos with optional text prompts.\n * Model: doubao-seedance-1-0-lite-i2v\n * Duration: 3-12 seconds\n * Resolution: 480p, 720p, 1080p\n * \n * API Documentation: https://www.volcengine.com/docs/82379/1520757\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedance30I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedance30I2v({\n * // 参数见 VolcesSeedance30I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedance30I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedance30I2v(\n params: VolcesSeedance30I2vParams,\n): Promise<VolcesSeedance30I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedance_30_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedance30I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedance30Params {\n /**\n * 内容数组,必填\n */\n content: Array<{\n /**\n * 内容类型,必须为text\n */\n type: string;\n /**\n * 文本内容\n */\n text: string;\n }>;\n /**\n * 分辨率\n * @values 480p | 720p | 1080p\n */\n resolution?: '480p' | '720p' | '1080p';\n /**\n * 宽高比\n * @values 21:9 | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 | 9:21 | keep_ratio | adaptive\n */\n ratio?: '21:9' | '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | '9:21' | 'keep_ratio' | 'adaptive';\n /**\n * 视频时长,范围3-12秒\n */\n duration?: number;\n /**\n * 帧率\n * @values 16 | 24\n */\n framespersecond?: 16 | 24;\n /**\n * 随机种子,范围-1到2^32-1\n */\n seed?: number;\n /**\n * 是否添加水印\n */\n watermark?: boolean;\n /**\n * 是否固定摄像机\n */\n camerafixed?: boolean;\n /**\n * 是否返回最后一帧图像,默认false\n */\n return_last_frame?: boolean;\n}\n\nexport interface VolcesSeedance30Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedance_3_0\n *\n * 通过火山引擎SeeDance 3.0 API创建视频生成任务。[API Documentation](https://www.volcengine.com/docs/82379/1520757)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedance30 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedance30({\n * // 参数见 VolcesSeedance30Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedance30Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedance30(\n params: VolcesSeedance30Params,\n): Promise<VolcesSeedance30Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedance_3_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedance30Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedance30ProParams {\n /**\n * 内容数组,支持文本到视频、图像到视频(首帧)和图像到视频(首尾帧)三种模式\n */\n content: Array<{\n /**\n * 内容类型,可以是text或image_url\n */\n type: string;\n /**\n * 文本内容(仅当type为text时需要)\n */\n text?: string;\n /**\n * 图像信息(仅当type为image_url时需要)\n */\n image_url?: {\n /**\n * 图像URL或Base64数据URI\n */\n url: string;\n };\n }>;\n /**\n * 分辨率\n * @values 480p | 720p | 1080p\n */\n resolution?: '480p' | '720p' | '1080p';\n /**\n * 宽高比\n * @values 21:9 | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 | 9:21 | keep_ratio | adaptive\n */\n ratio?: '21:9' | '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | '9:21' | 'keep_ratio' | 'adaptive';\n /**\n * 视频时长(秒),范围3-12秒\n * @range 3 - 12\n */\n duration?: number;\n /**\n * 帧率,可选16fps或24fps\n * @values 16 | 24\n */\n framespersecond?: 16 | 24;\n /**\n * 随机种子,范围-1到2^32-1,-1表示随机\n * @range -1 - ∞\n */\n seed?: number;\n /**\n * 是否添加水印,默认false\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否固定摄像机\n */\n camerafixed?: boolean;\n /**\n * 是否返回最后一帧图像,默认false\n * @default false\n */\n return_last_frame?: boolean;\n}\n\nexport interface VolcesSeedance30ProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedance_3_0_pro\n *\n * 通过火山引擎SeeDance 3.0 Pro API创建视频生成任务。[API Documentation](https://www.volcengine.com/docs/82379/1520757)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedance30Pro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedance30Pro({\n * // 参数见 VolcesSeedance30ProParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedance30ProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedance30Pro(\n params: VolcesSeedance30ProParams,\n): Promise<VolcesSeedance30ProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedance_3_0_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedance30ProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedanceProFastParams {\n /**\n * 内容列表,支持文本到视频或图像到视频(首帧)\n */\n content: Array<{\n /**\n * 内容类型,如text或image_url\n */\n type?: string;\n /**\n * 文本内容\n */\n text?: string;\n image_url?: {\n /**\n * 图像URL\n */\n url?: string;\n };\n }>;\n /**\n * 视频分辨率,必须是支持的分辨率之一,默认480p\n * @default \"480p\"\n * @values 480p | 720p | 1080p\n */\n resolution?: '480p' | '720p' | '1080p';\n /**\n * 宽高比参数\n */\n ratio?: string;\n /**\n * 视频时长参数\n */\n duration?: number;\n /**\n * 帧率参数\n */\n framespersecond?: number;\n /**\n * 是否添加水印\n */\n watermark?: boolean;\n /**\n * 随机种子,-1表示随机\n */\n seed?: number;\n /**\n * 是否固定摄像机\n */\n camerafixed?: boolean;\n /**\n * 是否返回最后一帧\n * @default false\n */\n return_last_frame?: boolean;\n}\n\nexport interface VolcesSeedanceProFastResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedance_pro_fast\n *\n * <p>Volces SeeDance Pro Fast Video Generator</p>\n * <p>Video generation implementation for Volces SeeDance Pro Fast (火山引擎SeeDance Pro Fast).<br>\n * Supports two modes:</p>\n * <ol>\n * <li>Text-to-video: Generate video from text prompt</li>\n * <li>Image-to-video (first frame): Generate video from first frame image + optional text prompt</li>\n * </ol>\n * <p>API Documentation: https://www.volcengine.com/docs/82379/1520757</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedanceProFast } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedanceProFast({\n * // 参数见 VolcesSeedanceProFastParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedanceProFastParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedanceProFast(\n params: VolcesSeedanceProFastParams,\n): Promise<VolcesSeedanceProFastResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedance_pro_fast',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedanceProFastResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededit20Params {\n /** 编辑提示词,必填,长度必须在1-800个字符之间 */\n prompt: string;\n /** Base64编码的图像数据数组,必须包含 exactly 1 个图像 */\n binary_data_base64?: string[];\n /** 图像URL数组,必须包含 exactly 1 个图像 */\n image_urls?: string[];\n /** 随机种子,-1或正整数,默认值为-1 */\n seed?: number;\n /** 编辑强度,范围0-1,默认值为0.5 */\n scale?: number;\n /** 是否返回图像URL */\n return_url?: boolean;\n /** 水印信息 */\n logo_info?: any;\n}\n\nexport interface VolcesSeededit20Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n}\n\n/**\n * Volces SeedEdit 2.0 Image Editor\n *\n * 通过火山引擎SeedEdit 2.0 API创建图像编辑任务\n *\n * API Documentation: https://www.volcengine.com/docs/86081/1804470\n * @param params 请求参数\n * @returns 生成的资源列表\n */\nexport async function volcesSeededit20(\n params: VolcesSeededit20Params,\n): Promise<VolcesSeededit20Resource[]> {\n const client = getClient();\n\n // 该 API 的特定轮询配置\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_2_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededit20Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'image',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededit30Params {\n /**\n * 编辑提示词,长度必须在1-800个字符之间(建议≤120字符)\n */\n prompt: string;\n /**\n * Base64编码的图像数据数组,必须包含恰好1个图像,与image_urls二选一\n */\n binary_data_base64?: string[];\n /**\n * 图像URL数组,必须包含恰好1个图像,与binary_data_base64二选一\n */\n image_urls?: string[];\n /**\n * 随机种子,-1表示随机或使用正整数,默认值为-1\n * @default -1\n */\n seed?: number;\n /**\n * 编辑强度,取值范围:0-1,默认值为0.5\n * @default 0.5\n */\n scale?: number;\n}\n\nexport interface VolcesSeededit30Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_3_0\n *\n * Volces SeedEdit 3.0 Image Generator - 火山引擎图像编辑实现\n * \n * Model: SeedEdit 3.0\n * Features: 图像编辑\n * Input: 1张参考图像\n * Prompt Length: 1-800字符(建议≤120)\n * \n * API Documentation: https://www.volcengine.com/docs/85128/1602254\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededit30 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededit30({\n * // 参数见 VolcesSeededit30Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededit30Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededit30(\n params: VolcesSeededit30Params,\n): Promise<VolcesSeededit30Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_3_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededit30Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededit30I2iParams {\n /**\n * 编辑提示词,可选,不超过300个中文字符或600个英文单词,默认为空字符串\n * @default \"\"\n */\n prompt?: string;\n /**\n * 输入图像,必填,支持JPEG或PNG格式的Base64编码或可访问的URL\n */\n image: string;\n /**\n * 输出图像尺寸,格式如'1024x1024'\n */\n size?: string;\n /**\n * 随机种子,范围-1到2147483647\n */\n seed?: number;\n /**\n * 引导强度,范围1-10\n */\n guidance_scale?: number;\n /**\n * 响应格式\n * @values url | b64_json\n */\n response_format?: 'url' | 'b64_json';\n /**\n * 是否添加水印\n */\n watermark?: boolean;\n /**\n * 是否启用流式输出\n */\n stream?: boolean;\n}\n\nexport interface VolcesSeededit30I2iResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_3_0_i2i\n *\n * Volces SeedEdit 3.0 I2I Image-to-Image Editing Generator\n * \n * Model: doubao-seededit-3-0-i2i-250628\n * Features: 图像到图像编辑,支持基于提示词的图像内容修改\n * Format Support: JPEG, PNG (Base64编码或URL)\n * Size Limit: 最大10MB, 最大6000x6000像素, 最小14px\n * Aspect Ratio: 1:3 到 3:1\n * \n * API Documentation: https://www.volcengine.com/docs/82379/1541523\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededit30I2i } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededit30I2i({\n * // 参数见 VolcesSeededit30I2iParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededit30I2iParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededit30I2i(\n params: VolcesSeededit30I2iParams,\n): Promise<VolcesSeededit30I2iResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_3_0_i2i',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededit30I2iResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededit3dStyleParams {\n /**\n * 请求键,必填,指定要使用的3D风格\n */\n req_key: string;\n /**\n * 子请求键,某些req_key需要此参数来指定具体子风格\n */\n sub_req_key?: string;\n /**\n * Base64编码的图像数据数组,必须包含 exactly 1 个图像\n */\n binary_data_base64?: string[];\n /**\n * 图像URL数组,必须包含 exactly 1 个图像\n */\n image_urls?: string[];\n /**\n * 是否返回图像URL,默认值为true\n */\n return_url?: boolean;\n /**\n * 水印信息\n */\n logo_info?: {\n /**\n * 是否添加水印\n */\n add_logo?: boolean;\n /**\n * 水印位置\n */\n position?: number;\n /**\n * 水印语言\n */\n language?: number;\n /**\n * 水印透明度\n */\n opacity?: number;\n /**\n * 水印文字内容\n */\n logo_text_content?: string;\n };\n}\n\nexport interface VolcesSeededit3dStyleResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_3d_style\n *\n * 通过火山引擎SeedEdit 3D Style API创建3D风格生成任务。[API Documentation](https://www.volcengine.com/docs/86081/1660199)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededit3dStyle } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededit3dStyle({\n * // 参数见 VolcesSeededit3dStyleParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededit3dStyleParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededit3dStyle(\n params: VolcesSeededit3dStyleParams,\n): Promise<VolcesSeededit3dStyleResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 4000,\n maxAttempts: 90,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_3d_style',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededit3dStyleResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededitMultiIpParams {\n /**\n * 编辑提示词,必填,建议长度约300个字符,最大500个字符\n */\n prompt?: string;\n /**\n * Base64编码的图像数据数组,支持1-5张图像\n */\n binary_data_base64?: string[];\n /**\n * 图像URL数组,支持1-5张图像\n */\n image_urls?: string[];\n /**\n * 随机种子,-1或正整数,默认值为-1\n * @default -1\n */\n seed?: number;\n /**\n * 是否使用改写器,默认值为true\n * @default true\n */\n use_rephraser?: boolean;\n /**\n * 输出图像宽度,范围512-2048,默认值为1328\n * @default 1328\n * @range 512 - 2048\n */\n width?: number;\n /**\n * 输出图像高度,范围512-2048,默认值为1328\n * @default 1328\n * @range 512 - 2048\n */\n height?: number;\n}\n\nexport interface VolcesSeededitMultiIpResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_multi_ip\n *\n * Volces SeedEdit Multi IP Generator\n * \n * Multi IP image editing implementation for Volces SeedEdit Multi IP (火山引擎SeedEdit多IP).\n * API Documentation: https://www.volcengine.com/docs/85128/1798096\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededitMultiIp } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededitMultiIp({\n * // 参数见 VolcesSeededitMultiIpParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededitMultiIpParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededitMultiIp(\n params: VolcesSeededitMultiIpParams,\n): Promise<VolcesSeededitMultiIpResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_multi_ip',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededitMultiIpResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededitMultiStyleParams {\n /**\n * 输入图像URL,必须是有效的HTTP或HTTPS URL,支持格式:JPG、JPEG、PNG\n */\n image_input1: string;\n /**\n * 模板ID,可选值:23种风格模板(如felt_3d_polaroid、my_world等)\n * @values felt_3d_polaroid | my_world | my_world_universal | plastic_bubble_figure | plastic_bubble_figure_cartoon_text | furry_dream_doll | micro_landscape_mini_world | micro_landscape_mini_world_professional | acrylic_ornaments | felt_keychain | lofi_pixel_character_mini_card | angel_figurine | lying_in_fluffy_belly | glass_ball | earphone_case_style | electronic_pet_egg_style | patchwork_collage_style | claw_machine_style | car_miniature_ornaments | Mid-Autumn_Festival_new_chinese_style | Mid-Autumn_Festival_individual | Christmas_green_background | Christmas_tree | Spring_Festival_traditional_Chinese_architecture | birthday_photo_gorgeous | birthday_photo_red | birthday_photo_party\n */\n template_id: 'felt_3d_polaroid' | 'my_world' | 'my_world_universal' | 'plastic_bubble_figure' | 'plastic_bubble_figure_cartoon_text' | 'furry_dream_doll' | 'micro_landscape_mini_world' | 'micro_landscape_mini_world_professional' | 'acrylic_ornaments' | 'felt_keychain' | 'lofi_pixel_character_mini_card' | 'angel_figurine' | 'lying_in_fluffy_belly' | 'glass_ball' | 'earphone_case_style' | 'electronic_pet_egg_style' | 'patchwork_collage_style' | 'claw_machine_style' | 'car_miniature_ornaments' | 'Mid-Autumn_Festival_new_chinese_style' | 'Mid-Autumn_Festival_individual' | 'Christmas_green_background' | 'Christmas_tree' | 'Spring_Festival_traditional_Chinese_architecture' | 'birthday_photo_gorgeous' | 'birthday_photo_red' | 'birthday_photo_party';\n /**\n * 输出图像宽度,取值范围:512-2048,默认值为1328\n * @default 1328\n */\n width?: number;\n /**\n * 输出图像高度,取值范围:512-2048,默认值为1328\n * @default 1328\n */\n height?: number;\n}\n\nexport interface VolcesSeededitMultiStyleResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_multi_style\n *\n * Volces SeedEdit Multi Style Generator - 火山引擎SeedEdit多风格生成实现\n * \n * Model: SeedEdit Multi Style\n * Features: 多风格图像生成\n * Input: 1张参考图像 + 模板ID\n * Output Dimensions: 512-2048像素(默认1328x1328)\n * Templates: 支持23种风格模板\n * \n * API Documentation: https://www.volcengine.com/docs/86081/1804566\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededitMultiStyle } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededitMultiStyle({\n * // 参数见 VolcesSeededitMultiStyleParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededitMultiStyleParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededitMultiStyle(\n params: VolcesSeededitMultiStyleParams,\n): Promise<VolcesSeededitMultiStyleResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_multi_style',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededitMultiStyleResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededitPortraitParams {\n /**\n * 输入图像URL,必填参数。支持JPG、JPEG、PNG格式\n */\n image_input: string;\n /**\n * 提示词,可选参数。默认为空字符串\n * @default \"\"\n */\n prompt?: string;\n /**\n * 输出图像宽度,可选参数。范围512-2048,默认1328\n * @default 1328\n * @range 512 - 2048\n */\n width?: number;\n /**\n * 输出图像高度,可选参数。范围512-2048,默认1328\n * @default 1328\n * @range 512 - 2048\n */\n height?: number;\n /**\n * 人脸增强参数,可选参数。范围0-1,默认0.4\n * @default 0.4\n * @values 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1\n */\n gpen?: 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1;\n /**\n * 皮肤美化参数,可选参数。范围0-1,默认0.3\n * @default 0.3\n * @values 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1\n */\n skin?: 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1;\n /**\n * 肤色统一参数,可选参数。范围0-1,默认0\n * @default 0\n * @values 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1\n */\n skin_unifi?: 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1;\n /**\n * 生成模式,可选参数。creative(创意模式)、reference(参考模式)、reference_char(参考角色模式)\n * @values creative | reference | reference_char\n */\n gen_mode?: 'creative' | 'reference' | 'reference_char';\n /**\n * 随机种子,可选参数。字符串类型,默认'-1'(随机)\n * @default \"-1\"\n */\n seed?: string;\n}\n\nexport interface VolcesSeededitPortraitResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_portrait\n *\n * Volces SeedEdit Portrait Photo Generator\n * \n * Portrait photo generation implementation for Volces SeedEdit Portrait Photo (火山引擎SeedEdit人像摄影).\n * Model: SeedEdit Portrait Photo\n * Features: Portrait photo generation with face enhancement, skin beautification, and style control\n * Output: JPG, JPEG, PNG formats\n * Resolution: 512-2048px (default 1328x1328)\n * \n * API Documentation: https://www.volcengine.com/docs/85128/1602212\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededitPortrait } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededitPortrait({\n * // 参数见 VolcesSeededitPortraitParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededitPortraitParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededitPortrait(\n params: VolcesSeededitPortraitParams,\n): Promise<VolcesSeededitPortraitResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_portrait',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededitPortraitResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededitSingleIpParams {\n /**\n * 编辑提示词,必填,建议长度约300个字符,最大500个字符\n */\n prompt: string;\n /**\n * Base64编码的图像数据数组,必须包含 exactly 1 个图像\n */\n binary_data_base64?: string[];\n /**\n * 图像URL数组,必须包含 exactly 1 个图像\n */\n image_urls?: string[];\n /**\n * 随机种子,-1或正整数,默认值为-1\n */\n seed?: number;\n /**\n * 是否使用改写器,默认值为true\n */\n use_rephraser?: boolean;\n /**\n * 输出图像宽度,范围512-2048,默认值为1328\n */\n width?: number;\n /**\n * 输出图像高度,范围512-2048,默认值为1328\n */\n height?: number;\n}\n\nexport interface VolcesSeededitSingleIpResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_single_ip\n *\n * 通过火山引擎SeedEdit Single IP API创建单图像编辑任务。[API Documentation](https://www.volcengine.com/docs/85128/1722713)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededitSingleIp } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededitSingleIp({\n * // 参数见 VolcesSeededitSingleIpParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededitSingleIpParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededitSingleIp(\n params: VolcesSeededitSingleIpParams,\n): Promise<VolcesSeededitSingleIpResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_single_ip',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededitSingleIpResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedream30Params {\n /**\n * 提示词,必填,长度必须在1-800个字符之间\n */\n prompt: string;\n /**\n * 是否使用预处理LLM,默认值为false\n * @default false\n */\n use_pre_llm?: boolean;\n /**\n * 随机种子,-1或正整数,默认值为-1\n * @default -1\n */\n seed?: number;\n /**\n * 引导强度,范围1-10,默认值为2.5\n * @default 2.5\n */\n scale?: number;\n /**\n * 图像宽度,范围512-2048,默认值为1328\n * @default 1328\n */\n width?: number;\n /**\n * 图像高度,范围512-2048,默认值为1328\n * @default 1328\n */\n height?: number;\n}\n\nexport interface VolcesSeedream30Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedream_3_0\n *\n * 通过火山引擎Seedream 3.0 API创建图像生成任务。[API Documentation](https://www.volcengine.com/docs/86081/1804549)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedream30 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedream30({\n * // 参数见 VolcesSeedream30Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedream30Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedream30(\n params: VolcesSeedream30Params,\n): Promise<VolcesSeedream30Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedream_3_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedream30Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedream40Params {\n /**\n * 提示词,必填,不超过300个中文字符或600个英文单词\n */\n prompt: string;\n /**\n * 参考图像,支持JPEG或PNG格式的Base64编码或可访问的URL\n */\n image?: string | string[];\n /**\n * 连续图像生成模式,默认值为disabled\n * @default \"disabled\"\n * @values auto | disabled\n */\n sequential_image_generation?: 'auto' | 'disabled';\n /**\n * 连续图像生成选项,仅当sequential_image_generation为auto时生效\n */\n sequential_image_generation_options?: {\n max_images: number;\n };\n /**\n * 是否启用流式输出,默认值为false\n * @default false\n */\n stream?: boolean;\n /**\n * 响应格式,默认值为url\n * @default \"url\"\n * @values url | b64_json\n */\n response_format?: 'url' | 'b64_json';\n /**\n * 是否添加水印,默认值为false\n * @default false\n */\n watermark?: boolean;\n /**\n * 图片尺寸,支持分辨率选项(1K, 2K, 4K)或像素尺寸(如: 2048x2048)\n */\n size?: string;\n /**\n * 提示词优化选项\n */\n optimize_prompt_options?: {\n /**\n * 提示词优化模式\n * @values standard | fast\n */\n mode?: 'standard' | 'fast';\n };\n}\n\nexport interface VolcesSeedream40Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedream_4_0\n *\n * <p>通过火山引擎Seedream 4.0 API创建图像生成任务。<a href=\"https://www.volcengine.com/docs/82379/1541523\">API Documentation</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedream40 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedream40({\n * // 参数见 VolcesSeedream40Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedream40Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedream40(\n params: VolcesSeedream40Params,\n): Promise<VolcesSeedream40Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedream_4_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedream40Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedream45Params {\n /**\n * 文本提示词,用于描述要生成的图片内容\n */\n prompt: string;\n /**\n * 输入图片,支持 URL 地址或 Base64 编码的图片数据。字符串格式用于图生图,数组格式用于批量生成(最多14张)\n */\n image?: string | string[];\n /**\n * 序列图片生成模式。可选值:\"disabled\"(生成单张图片,默认)或 \"auto\"(生成多张相关图片)\n * @default \"disabled\"\n * @values disabled | auto\n */\n sequential_image_generation?: 'disabled' | 'auto';\n /**\n * 序列图片生成选项,仅当 sequential_image_generation 为 \"auto\" 时生效\n */\n sequential_image_generation_options?: {\n };\n /**\n * 是否使用流式传输,默认值为 false(在批量生成时有用)\n * @default false\n */\n stream?: boolean;\n /**\n * 图片尺寸,例如:\"2K\"、\"1024x1024\" 等\n * @values 2K | 4K | 2048x2048 | 2304x1728 | 1728x2304 | 2560x1440 | 1440x2560 | 2496x1664 | 1664x2496 | 3024x1296\n */\n size?: '2K' | '4K' | '2048x2048' | '2304x1728' | '1728x2304' | '2560x1440' | '1440x2560' | '2496x1664' | '1664x2496' | '3024x1296';\n /**\n * 是否添加水印,默认值为 false\n * @default false\n */\n watermark?: boolean;\n /**\n * 提示词优化选项\n */\n optimize_prompt_options?: {\n /**\n * 提示词优化模式\n * @values standard | fast\n */\n mode: 'standard' | 'fast';\n };\n}\n\nexport interface VolcesSeedream45Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedream_4_5\n *\n * <p>API Documentation: https://docs.byteplus.com/en/docs/ModelArk/1541523</p>\n * <p>Volces Seedream 4.5 支持文生图、图生图和批量生成三种模式。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedream45 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedream45({\n * // 参数见 VolcesSeedream45Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedream45Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedream45(\n params: VolcesSeedream45Params,\n): Promise<VolcesSeedream45Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedream_4_5',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedream45Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedream45I2iParams {\n /** 文本提示词,用于描述融合后的图片内容 */\n prompt: string;\n /** 输入图片列表,支持 URL 地址或 Base64 编码的图片数据(必须为列表格式,至少2张,最多14张图片) */\n image: string[];\n /** 图片尺寸,例如:\"2K\"、\"1024x1024\" 等 */\n size?: string;\n /** 是否添加水印,默认值为 false */\n watermark?: boolean;\n /** 响应格式,可选值:\"url\" 或 \"b64_json\",默认值为 \"url\" */\n response_format?: 'url' | 'b64_json';\n /** 提示词优化选项 */\n optimize_prompt_options?: any;\n}\n\nexport interface VolcesSeedream45I2iResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n}\n\n/**\n * Volces Seedream 4.5 Multi-Image Fusion\n *\n * 支持多张图片融合(2-14张),生成融合后的单张图片\n *\n * API Documentation: https://docs.byteplus.com/en/docs/ModelArk/1541523\n * @param params 请求参数\n * @returns 生成的资源列表\n */\nexport async function volcesSeedream45I2i(\n params: VolcesSeedream45I2iParams,\n): Promise<VolcesSeedream45I2iResource[]> {\n const client = getClient();\n\n // 该 API 的特定轮询配置\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedream_4_5_i2i',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedream45I2iResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'image',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedream45MultiBlendParams {\n /**\n * 文本提示词,用于描述融合后的图片内容\n */\n prompt: string;\n /**\n * 输入图片列表,支持 URL 地址或 Base64 编码的图片数据(必须为列表格式,至少2张,最多14张图片)\n */\n image: string[];\n /**\n * 图片尺寸,例如:\"2K\"、\"1024x1024\" 等\n */\n size?: string;\n /**\n * 是否添加水印,默认值为 false\n * @default false\n */\n watermark?: boolean;\n /**\n * 响应格式,可选值:\"url\" 或 \"b64_json\",默认值为 \"url\"\n * @default \"url\"\n * @values url | b64_json\n */\n response_format?: 'url' | 'b64_json';\n /**\n * 提示词优化选项\n */\n optimize_prompt_options?: Record<string, any>;\n}\n\nexport interface VolcesSeedream45MultiBlendResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedream_4_5_multi_blend\n *\n * API Documentation: https://docs.byteplus.com/en/docs/ModelArk/1541523\n * \n * Volces Seedream 4.5 多图融合接口,输入多张图片融合为单张输出图片(需要至少2张图片,最多支持14张)。自动启用融合模式 (sequential_image_generation=disabled)。\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedream45MultiBlend } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedream45MultiBlend({\n * // 参数见 VolcesSeedream45MultiBlendParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedream45MultiBlendParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedream45MultiBlend(\n params: VolcesSeedream45MultiBlendParams,\n): Promise<VolcesSeedream45MultiBlendResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedream_4_5_multi_blend',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedream45MultiBlendResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSubjectDetectionParams {\n /**\n * 待检测的图片URL地址\n */\n image_url: string;\n}\n\nexport interface VolcesSubjectDetectionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_subject_detection\n *\n * API Documentation: https://www.volcengine.com/docs/85621/1829011\n * \n * Volces 主体检测服务,用于检测图片中的主体并返回遮罩图URL。支持检测人物、宠物、动漫等多种主体类型。\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSubjectDetection } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSubjectDetection({\n * // 参数见 VolcesSubjectDetectionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSubjectDetectionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSubjectDetection(\n params: VolcesSubjectDetectionParams,\n): Promise<VolcesSubjectDetectionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_subject_detection',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSubjectDetectionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSubjectRecognitionParams {\n /**\n * 待识别的图片URL地址\n */\n image_url: string;\n}\n\nexport interface VolcesSubjectRecognitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_subject_recognition\n *\n * API Documentation: https://www.volcengine.com/docs/85621/1828975\n * \n * Volces 主体识别-创建角色服务,用于识别图片中是否包含人物主体。识别结果: 0=无人物主体, 1=有人物主体。\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSubjectRecognition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSubjectRecognition({\n * // 参数见 VolcesSubjectRecognitionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSubjectRecognitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSubjectRecognition(\n params: VolcesSubjectRecognitionParams,\n): Promise<VolcesSubjectRecognitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_subject_recognition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSubjectRecognitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/core/types.ts","../src/core/config.ts","../src/core/client.ts","../src/core/global-config.ts","../src/core/poller.ts","../src/api/alibaba_animate_anyone_detect.ts","../src/api/alibaba_animate_anyone_template.ts","../src/api/alibaba_animate_anyone_video.ts","../src/api/alibaba_qianwen_image.ts","../src/api/alibaba_wan22_t2i_flash.ts","../src/api/alibaba_wan22_t2i_plus.ts","../src/api/alibaba_wan25_i2i_preview.ts","../src/api/alibaba_wan25_t2i_preview.ts","../src/api/alibaba_wanx20_t2i_turbo.ts","../src/api/alibaba_wanx21_i2v_plus.ts","../src/api/alibaba_wanx21_i2v_turbo.ts","../src/api/alibaba_wanx21_t2i_plus.ts","../src/api/alibaba_wanx21_t2i_turbo.ts","../src/api/alibaba_wanx21_t2v_plus.ts","../src/api/alibaba_wanx21_t2v_turbo.ts","../src/api/alibaba_wanx22_i2v_flash.ts","../src/api/alibaba_wanx22_i2v_plus.ts","../src/api/alibaba_wanx22_t2v_plus.ts","../src/api/alibaba_wanx25_i2v_preview.ts","../src/api/alibaba_wanx25_t2v_preview.ts","../src/api/alibaba_wanx26_i2v.ts","../src/api/alibaba_wanx26_reference.ts","../src/api/alibaba_wanx26_t2v.ts","../src/api/blackforestlabs_flux_11_pro.ts","../src/api/blackforestlabs_flux_1_pro.ts","../src/api/blackforestlabs_flux_2_flex.ts","../src/api/blackforestlabs_flux_2_flex_edit.ts","../src/api/blackforestlabs_flux_2_pro.ts","../src/api/blackforestlabs_flux_2_pro_edit.ts","../src/api/blackforestlabs_flux_kontext_max.ts","../src/api/blackforestlabs_flux_kontext_pro.ts","../src/api/elevenlabs_tts_generator.ts","../src/api/google_gemini3_pro_image.ts","../src/api/google_gemini_image.ts","../src/api/google_imagen_4_fast_generate.ts","../src/api/google_imagen_4_generate.ts","../src/api/google_imagen_4_ultra_generate.ts","../src/api/google_veo_20_generate_001.ts","../src/api/google_veo_20_generate_exp.ts","../src/api/google_veo_20_generate_preview.ts","../src/api/google_veo_30_fast_generate_001.ts","../src/api/google_veo_30_generate_001.ts","../src/api/google_veo_31.ts","../src/api/kling_avatar.ts","../src/api/kling_duration_extension.ts","../src/api/kling_effects_multi_v1.ts","../src/api/kling_effects_multi_v15.ts","../src/api/kling_effects_multi_v16.ts","../src/api/kling_effects_single.ts","../src/api/kling_lipsync.ts","../src/api/kling_omni_image.ts","../src/api/kling_omni_video.ts","../src/api/kling_v1.ts","../src/api/kling_v1_5.ts","../src/api/kling_v1_5_i2v.ts","../src/api/kling_v1_6.ts","../src/api/kling_v1_6_i2v.ts","../src/api/kling_v1_i2v.ts","../src/api/kling_v2_1_i2v.ts","../src/api/kling_v2_1_master.ts","../src/api/kling_v2_1_master_i2v.ts","../src/api/kling_v2_5_turbo.ts","../src/api/kling_v2_5_turbo_i2v.ts","../src/api/kling_v2_6.ts","../src/api/kling_v2_6_i2v.ts","../src/api/kling_v2_master.ts","../src/api/kling_v2_master_i2v.ts","../src/api/microsoft_gpt_image_1.ts","../src/api/microsoft_gpt_image_15.ts","../src/api/microsoft_sora2.ts","../src/api/minimax_hailuo_02.ts","../src/api/minimax_hailuo_02_i2v.ts","../src/api/minimax_hailuo_23_fast_i2v.ts","../src/api/minimax_hailuo_23_i2v.ts","../src/api/minimax_i2v_01.ts","../src/api/minimax_i2v_01_director.ts","../src/api/minimax_i2v_01_live.ts","../src/api/minimax_t2a.ts","../src/api/minimax_t2v_01.ts","../src/api/minimax_t2v_01_director.ts","../src/api/pixverse_v35_transition.ts","../src/api/pixverse_v3_5_i2v.ts","../src/api/pixverse_v3_5_t2v.ts","../src/api/pixverse_v45_transition.ts","../src/api/pixverse_v4_5_i2v.ts","../src/api/pixverse_v4_5_t2v.ts","../src/api/pixverse_v4_i2v.ts","../src/api/pixverse_v4_t2v.ts","../src/api/pixverse_v4_transition.ts","../src/api/pixverse_v5_5_i2v.ts","../src/api/pixverse_v5_5_t2v.ts","../src/api/pixverse_v5_5_transition.ts","../src/api/pixverse_v5_i2v.ts","../src/api/pixverse_v5_t2v.ts","../src/api/pixverse_v5_transition.ts","../src/api/runway_gen3a_turbo_i2v.ts","../src/api/tencent_hunyuan_3d.ts","../src/api/tencent_hunyuan_3d_pro.ts","../src/api/tencent_hunyuan_3d_rapid.ts","../src/api/tencent_image_creation_3.ts","../src/api/tencent_mps_super_resolution.ts","../src/api/vidu_15.ts","../src/api/vidu_15_i2v.ts","../src/api/vidu_20_i2v.ts","../src/api/vidu_q1.ts","../src/api/vidu_q1_i2v.ts","../src/api/vidu_q2.ts","../src/api/vidu_template.ts","../src/api/vidu_template_v2.ts","../src/api/volces_jimeng_3_0.ts","../src/api/volces_jimeng_3_1.ts","../src/api/volces_jimeng_dream_actor_m1.ts","../src/api/volces_jimeng_i2i_3_0.ts","../src/api/volces_realman_avatar_imitator_v2v.ts","../src/api/volces_realman_avatar_picture_omni_v15.ts","../src/api/volces_realman_avatar_picture_omni_v2.ts","../src/api/volces_seed3d.ts","../src/api/volces_seedance_30_i2v.ts","../src/api/volces_seedance_3_0.ts","../src/api/volces_seedance_3_0_pro.ts","../src/api/volces_seedance_pro_fast.ts","../src/api/volces_seededit_2_0.ts","../src/api/volces_seededit_3_0.ts","../src/api/volces_seededit_3_0_i2i.ts","../src/api/volces_seededit_3d_style.ts","../src/api/volces_seededit_multi_ip.ts","../src/api/volces_seededit_multi_style.ts","../src/api/volces_seededit_portrait.ts","../src/api/volces_seededit_single_ip.ts","../src/api/volces_seedream_3_0.ts","../src/api/volces_seedream_4_0.ts","../src/api/volces_seedream_4_5.ts","../src/api/volces_seedream_4_5_i2i.ts","../src/api/volces_seedream_4_5_multi_blend.ts","../src/api/volces_subject_detection.ts","../src/api/volces_subject_recognition.ts","../src/api/llm_chat_completions.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * SeaCloud SDK 核心类型定义\n */\n\n/**\n * SDK 配置选项\n */\nexport interface SeacloudConfig {\n /** API Service Token - 从环境变量 API_SERVICE_TOKEN 读取或直接传入 */\n apiKey?: string;\n /** 代理服务器基础 URL,默认为 http://localhost:8080 */\n baseUrl?: string;\n /** 自定义 fetch 实现(可选,用于 Node.js < 18 或测试) */\n fetch?: typeof fetch;\n /** 请求超时时间(毫秒),默认 30000 */\n timeout?: number;\n}\n\n/**\n * 任务状态\n */\nexport type TaskStatus = 'pending' | 'processing' | 'in_progress' | 'completed' | 'failed';\n\n/**\n * 任务错误信息\n */\nexport interface TaskError {\n code: string;\n message: string;\n details?: any;\n}\n\n/**\n * 任务结果\n */\nexport interface TaskResult {\n /** 任务 ID */\n id: string;\n /** 创建时间戳 */\n created_at: number;\n /** 任务状态 */\n status: TaskStatus;\n /** 错误信息(如果失败) */\n error?: TaskError | null;\n /** 模型名称 */\n model: string;\n /** 输出结果 */\n output?: Array<{\n content?: Array<{\n type?: string;\n url?: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n }>;\n [key: string]: any;\n }>;\n /** 其他字段 */\n [key: string]: any;\n}\n\n/**\n * 任务轮询选项\n */\nexport interface PollingOptions {\n /** 轮询间隔(毫秒),默认 3000 */\n intervalMs?: number;\n /** 最大尝试次数,默认 120 */\n maxAttempts?: number;\n /** 进度回调函数 */\n onProgress?: (attempt: number, status: TaskStatus) => void;\n}\n\n/**\n * HTTP 响应错误\n */\nexport class SeacloudError extends Error {\n constructor(\n message: string,\n public statusCode?: number,\n public response?: any,\n ) {\n super(message);\n this.name = 'SeacloudError';\n }\n}\n","import type { SeacloudConfig } from './types.js';\n\n/**\n * 创建 SDK 配置\n * @param options 配置选项\n * @returns 完整的配置对象\n */\nexport function createConfig(options: SeacloudConfig = {}): Required<SeacloudConfig> {\n // 优先级:传入的 apiKey > 环境变量 API_SERVICE_TOKEN\n const apiKey = options.apiKey ||\n (typeof process !== 'undefined' ? process.env?.API_SERVICE_TOKEN : undefined) ||\n '';\n\n // 使用环境变量或传入的 baseUrl\n const baseUrl = options.baseUrl ||\n (typeof process !== 'undefined' ? process.env?.SEACLOUD_BASE_URL : undefined) ||\n 'http://proxy.sg.seaverse.dev';\n\n // 使用全局 fetch 或自定义实现\n const fetchImpl = options.fetch || globalThis.fetch;\n\n if (!fetchImpl) {\n throw new Error('fetch is not available. Please provide a fetch implementation in config or upgrade to Node.js 18+');\n }\n\n return {\n apiKey,\n baseUrl,\n fetch: fetchImpl,\n timeout: options.timeout || 30000,\n };\n}\n\n/**\n * 验证配置\n * @param config 配置对象\n * @throws 如果配置无效\n */\nexport function validateConfig(config: Required<SeacloudConfig>): void {\n if (!config.apiKey) {\n throw new Error(\n 'API key is required. Set API_SERVICE_TOKEN environment variable or pass apiKey in config.'\n );\n }\n\n if (!config.baseUrl) {\n throw new Error('baseUrl is required');\n }\n\n if (typeof config.fetch !== 'function') {\n throw new Error('fetch must be a function');\n }\n}\n","import type { SeacloudConfig, TaskResult } from './types.js';\nimport { SeacloudError } from './types.js';\nimport { createConfig, validateConfig } from './config.js';\n\n/**\n * SeaCloud HTTP 客户端\n * 用于创建任务和查询任务状态\n */\nexport class SeacloudClient {\n private config: Required<SeacloudConfig>;\n\n constructor(config: SeacloudConfig = {}) {\n this.config = createConfig(config);\n validateConfig(this.config);\n }\n\n /**\n * 创建一个新任务\n * @param endpoint API 端点路径(例如:/model/tasks)\n * @param body 请求体\n * @returns 任务结果\n */\n async createTask(endpoint: string, body: Record<string, any>): Promise<TaskResult> {\n const url = `${this.config.baseUrl}${endpoint}`;\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.config.timeout);\n\n try {\n const response = await this.config.fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.config.apiKey}`,\n },\n body: JSON.stringify(body),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n const errorBody = await response.text();\n throw new SeacloudError(\n `HTTP ${response.status}: ${errorBody}`,\n response.status,\n errorBody,\n );\n }\n\n const result = await response.json();\n return result as TaskResult;\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error instanceof SeacloudError) {\n throw error;\n }\n\n if ((error as Error).name === 'AbortError') {\n throw new SeacloudError(`Request timeout after ${this.config.timeout}ms`);\n }\n\n throw new SeacloudError(\n `Request failed: ${(error as Error).message}`,\n undefined,\n error,\n );\n }\n }\n\n /**\n * 查询任务状态\n * @param endpoint API 端点路径(例如:/model/v1/generation)\n * @param taskId 任务 ID\n * @returns 任务结果\n */\n async getTaskStatus(endpoint: string, taskId: string): Promise<TaskResult> {\n const url = `${this.config.baseUrl}${endpoint}/task/${taskId}`;\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.config.timeout);\n\n try {\n const response = await this.config.fetch(url, {\n method: 'GET',\n headers: {\n 'Authorization': `Bearer ${this.config.apiKey}`,\n },\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n const errorBody = await response.text();\n throw new SeacloudError(\n `HTTP ${response.status}: ${errorBody}`,\n response.status,\n errorBody,\n );\n }\n\n const result = await response.json();\n return result as TaskResult;\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error instanceof SeacloudError) {\n throw error;\n }\n\n if ((error as Error).name === 'AbortError') {\n throw new SeacloudError(`Request timeout after ${this.config.timeout}ms`);\n }\n\n throw new SeacloudError(\n `Request failed: ${(error as Error).message}`,\n undefined,\n error,\n );\n }\n }\n\n /**\n * 获取当前配置\n */\n getConfig(): Readonly<Required<SeacloudConfig>> {\n return { ...this.config };\n }\n}\n","/**\n * 全局配置管理\n */\n\nimport type { SeacloudClient } from './client.js';\nimport type { PollingOptions } from './types.js';\nimport { SeacloudClient as Client } from './client.js';\n\n// 全局配置状态\ninterface GlobalConfig {\n client: SeacloudClient | null;\n defaultPollingOptions: PollingOptions;\n}\n\nconst globalConfig: GlobalConfig = {\n client: null,\n defaultPollingOptions: {\n intervalMs: 3000, // 3秒轮询间隔\n maxAttempts: 100, // 最多尝试100次 (约5分钟)\n },\n};\n\n/**\n * 初始化 SDK\n * @param apiKey API 密钥\n * @param options 可选配置\n */\nexport function initSeacloud(apiKey: string, options?: {\n baseUrl?: string;\n intervalMs?: number; // 轮询间隔(毫秒)\n maxAttempts?: number; // 最大尝试次数\n timeout?: number;\n}) {\n if (!apiKey) {\n throw new Error('API key is required. Please provide a valid API key.');\n }\n\n // 创建客户端\n globalConfig.client = new Client({\n apiKey,\n baseUrl: options?.baseUrl,\n timeout: options?.timeout,\n });\n\n // 设置默认轮询选项\n if (options?.intervalMs !== undefined) {\n globalConfig.defaultPollingOptions.intervalMs = options.intervalMs;\n }\n if (options?.maxAttempts !== undefined) {\n globalConfig.defaultPollingOptions.maxAttempts = options.maxAttempts;\n }\n\n return globalConfig.client;\n}\n\n/**\n * 获取全局客户端\n * @throws 如果未初始化\n */\nexport function getClient(): SeacloudClient {\n if (!globalConfig.client) {\n throw new Error(\n 'SeaCloud SDK is not initialized. Please call initSeacloud(apiKey) first.'\n );\n }\n return globalConfig.client;\n}\n\n/**\n * 获取默认轮询选项\n */\nexport function getDefaultPollingOptions(): PollingOptions {\n return { ...globalConfig.defaultPollingOptions };\n}\n\n/**\n * 更新默认轮询选项\n */\nexport function setDefaultPollingOptions(options: Partial<PollingOptions>) {\n Object.assign(globalConfig.defaultPollingOptions, options);\n}\n\n/**\n * 重置配置(主要用于测试)\n */\nexport function resetConfig() {\n globalConfig.client = null;\n globalConfig.defaultPollingOptions = {\n intervalMs: 3000,\n maxAttempts: 100,\n };\n}\n","import type { SeacloudClient } from './client.js';\nimport type { TaskResult, PollingOptions, TaskStatus } from './types.js';\nimport { SeacloudError } from './types.js';\n\n/**\n * 默认轮询选项\n */\nconst DEFAULT_POLLING_OPTIONS: Required<PollingOptions> = {\n intervalMs: 3000,\n maxAttempts: 120,\n onProgress: () => {},\n};\n\n/**\n * 检查任务是否已完成\n */\nfunction isTaskComplete(status: TaskStatus): boolean {\n return status === 'completed' || status === 'failed';\n}\n\n/**\n * 等待一段时间\n */\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n/**\n * 轮询任务直到完成或失败\n * @param client SeaCloud 客户端实例\n * @param endpoint API 端点路径\n * @param taskId 任务 ID\n * @param options 轮询选项\n * @returns 最终的任务结果\n * @throws SeacloudError 如果任务失败或超时\n */\nexport async function pollTaskUntilComplete(\n client: SeacloudClient,\n endpoint: string,\n taskId: string,\n options: PollingOptions = {},\n): Promise<TaskResult> {\n const opts = { ...DEFAULT_POLLING_OPTIONS, ...options };\n\n for (let attempt = 1; attempt <= opts.maxAttempts; attempt++) {\n // 查询任务状态\n const result = await client.getTaskStatus(endpoint, taskId);\n\n // 调用进度回调\n opts.onProgress(attempt, result.status);\n\n // 检查是否完成\n if (isTaskComplete(result.status)) {\n if (result.status === 'failed') {\n const errorMsg = result.error?.message || 'Task failed without error message';\n throw new SeacloudError(\n `Task failed: ${errorMsg}`,\n undefined,\n result.error,\n );\n }\n return result;\n }\n\n // 如果还未完成,等待后继续轮询\n if (attempt < opts.maxAttempts) {\n await sleep(opts.intervalMs);\n }\n }\n\n // 达到最大尝试次数\n throw new SeacloudError(\n `Task polling timeout after ${opts.maxAttempts} attempts (${(opts.maxAttempts * opts.intervalMs) / 1000}s)`,\n );\n}\n\n/**\n * 创建任务并等待完成\n * @param client SeaCloud 客户端实例\n * @param endpoint API 端点路径\n * @param body 请求体\n * @param options 轮询选项\n * @returns 最终的任务结果\n */\nexport async function createAndWaitTask(\n client: SeacloudClient,\n endpoint: string,\n body: Record<string, any>,\n options: PollingOptions = {},\n): Promise<TaskResult> {\n // 创建任务\n const task = await client.createTask(endpoint, body);\n\n // 检查是否立即失败\n if (task.status === 'failed') {\n const errorMsg = task.error?.message || 'Task failed without error message';\n throw new SeacloudError(\n `Task failed: ${errorMsg}`,\n undefined,\n task.error,\n );\n }\n\n // 总是进行轮询,因为创建任务的响应可能不包含完整的结果\n // 即使status是completed,也需要查询任务状态来获取output\n return pollTaskUntilComplete(client, endpoint, task.id, options);\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"image_url\": \"https://example.com/human_image.jpg\"\n * },\n * \"parameters\": {}\n * }\n * ```\n */\nexport interface AlibabaAnimateAnyoneDetectParams {\n /**\n * 输入参数,包含待检测的图片URL\n */\n input: {\n /**\n * 图片URL,必须是有效的HTTP或HTTPS URL,系统会自动转换为Base64格式\n */\n image_url: string;\n };\n /**\n * 额外参数(可选)\n */\n parameters?: Record<string, any>;\n}\n\nexport interface AlibabaAnimateAnyoneDetectResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_animate_anyone_detect\n *\n * Alibaba AnimateAnyone Detect 人体图像检测接口,用于在视频生成前验证人体图片是否符合AnimateAnyone模型要求。\n * \n * Model: animate-anyone-detect-gen2\n * Features: \n * - 检测图片中的人体是否符合视频生成要求\n * - 返回人体姿态风格信息\n * - 提供未通过检测的详细原因\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/animate-anyone-detect-api\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaAnimateAnyoneDetect } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaAnimateAnyoneDetect(\n * {\n * \"input\": {\n * \"image_url\": \"https://example.com/human_image.jpg\"\n * },\n * \"parameters\": {}\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaAnimateAnyoneDetectParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaAnimateAnyoneDetect(\n params: AlibabaAnimateAnyoneDetectParams,\n): Promise<AlibabaAnimateAnyoneDetectResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_animate_anyone_detect',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaAnimateAnyoneDetectResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"video_url\": \"https://example.com/dance_video.mp4\"\n * }\n * }\n * ```\n */\nexport interface AlibabaAnimateAnyoneTemplateParams {\n /**\n * 输入参数\n */\n input: {\n /**\n * 视频URL,必须是有效的HTTP或HTTPS链接,支持mp4/avi/mov格式,最大200MB,系统会自动处理并上传\n */\n video_url: string;\n };\n}\n\nexport interface AlibabaAnimateAnyoneTemplateResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_animate_anyone_template\n *\n * Alibaba AnimateAnyone 动作模板生成接口,从包含人物运动的视频中提取动作特征,生成可复用的动作模板。\n * \n * Model: animate-anyone-template-gen2\n * Features:\n * - 从视频中提取人物动作特征\n * - 生成标准化动作模板ID\n * - 支持多种视频格式(mp4/avi/mov)\n * - 自动处理和上传视频\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/animate-anyone-template-api\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaAnimateAnyoneTemplate } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaAnimateAnyoneTemplate(\n * {\n * \"input\": {\n * \"video_url\": \"https://example.com/dance_video.mp4\"\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaAnimateAnyoneTemplateParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaAnimateAnyoneTemplate(\n params: AlibabaAnimateAnyoneTemplateParams,\n): Promise<AlibabaAnimateAnyoneTemplateResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_animate_anyone_template',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaAnimateAnyoneTemplateResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"image_url\": \"https://example.com/person.jpg\",\n * \"template_id\": \"am-20240901xxxxxx\"\n * },\n * \"parameters\": {\n * \"use_ref_img_bg\": false,\n * \"video_ratio\": \"9:16\"\n * }\n * }\n * ```\n */\nexport interface AlibabaAnimateAnyoneVideoParams {\n /**\n * 输入参数,包含人物图片URL和动作模板ID\n */\n input: {\n /**\n * 人物图片URL,必须是有效的HTTP或HTTPS URL,系统会自动转换为Base64格式。要求:文件大小<5MB,分辨率最大长度≤4096px,最小长度≥224px,宽高比0.5-2.0之间\n */\n image_url: string;\n /**\n * 动作模板ID。⚠️ 必须是真实有效的模板ID,示例值(如 am-20240901xxxxxx)无效。获取方式:(1) 通过 alibaba_animate_anyone_template 接口生成,或 (2) 使用阿里云预定义的模板ID\n */\n template_id: string;\n };\n /**\n * 可选参数,配置视频生成选项\n */\n parameters?: {\n /**\n * 是否使用参考图片的背景,默认false\n * @default false\n */\n use_ref_img_bg?: boolean;\n /**\n * 视频宽高比,可选值:9:16 或 3:4,默认9:16\n * @default \"9:16\"\n * @values 9:16 | 3:4\n */\n video_ratio?: '9:16' | '3:4';\n };\n}\n\nexport interface AlibabaAnimateAnyoneVideoResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_animate_anyone_video\n *\n * Alibaba AnimateAnyone 视频生成接口,基于人物图片和动作模板生成人物动作视频。\n * \n * Model: animate-anyone-gen2\n * Features:\n * - 将静态人物图片转换为动态视频\n * - 支持使用预定义或自定义动作模板\n * - 可选择保留原图背景\n * - 支持多种视频宽高比\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/animateanyone-video-generation-api\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaAnimateAnyoneVideo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaAnimateAnyoneVideo(\n * {\n * \"input\": {\n * \"image_url\": \"https://example.com/person.jpg\",\n * \"template_id\": \"am-20240901xxxxxx\"\n * },\n * \"parameters\": {\n * \"use_ref_img_bg\": false,\n * \"video_ratio\": \"9:16\"\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaAnimateAnyoneVideoParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaAnimateAnyoneVideo(\n params: AlibabaAnimateAnyoneVideoParams,\n): Promise<AlibabaAnimateAnyoneVideoResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_animate_anyone_video',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaAnimateAnyoneVideoResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaQianwenImageParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 消息列表,必须包含一个消息对象\n */\n messages: Array<{\n /**\n * 角色,必须为 'user'\n * @values user\n */\n role: 'user';\n /**\n * 内容列表,必须包含一个文本内容对象\n */\n content: Array<{\n /**\n * 文本提示词,描述要生成的图像内容,长度不超过800字符\n * @length 0 - 800\n */\n text: string;\n }>;\n }>;\n };\n /**\n * 可选参数\n */\n parameters?: {\n /**\n * 负面提示词,描述不要生成的图像内容,长度不超过500字符\n * @length 0 - 500\n */\n negative_prompt?: string;\n /**\n * 图像尺寸\n * @default \"1328*1328\"\n * @values 1664*928 | 1472*1140 | 1328*1328 | 1140*1472 | 928*1664\n */\n size?: '1664*928' | '1472*1140' | '1328*1328' | '1140*1472' | '928*1664';\n /**\n * 生成图像数量,目前只支持生成一张图片\n * @default 1\n * @range 1 - 1\n */\n n?: number;\n /**\n * 随机种子,用于可重现的生成结果\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词增强\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaQianwenImageResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_qianwen_image\n *\n * Alibaba Qianwen Image Generator Implementation\n * \n * Model: qwen-image-plus (固定模型)\n * Features: 文本生成图像功能\n * Image Count: 固定生成1张图片\n * Size: 支持5种分辨率(1664*928、1472*1140、1328*1328、1140*1472、928*1664),默认1328*1328\n * Advanced: 支持负面提示词、提示词增强、水印设置、随机种子控制\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/qwen-image-api\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaQianwenImage } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaQianwenImage({\n * // 参数见 AlibabaQianwenImageParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaQianwenImageParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaQianwenImage(\n params: AlibabaQianwenImageParams,\n): Promise<AlibabaQianwenImageResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_qianwen_image',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaQianwenImageResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在阳光下睡觉\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * ```\n */\nexport interface AlibabaWan22T2iFlashParams {\n /**\n * 输入参数,包含提示词信息\n */\n input: {\n /**\n * 正向提示词,描述想要生成的图片内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,描述不希望出现的内容,长度不超过500字符(可选)\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数(可选)\n */\n parameters?: {\n /**\n * 图像尺寸,格式为'宽*高'(如'1024*768'),宽高必须在[512, 1440]范围内,且最大分辨率不超过1440*1440\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4,默认1张\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,用于确保结果可复现,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展功能,启用后会自动优化和丰富提示词\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的图片上添加水印\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWan22T2iFlashResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wan22_t2i_flash\n *\n * Alibaba Wanxiang 2.2 T2I Flash 文本生成图片接口,支持快速生成高质量图片。\n * \n * Model: wan2.2-t2i-flash\n * Features:\n * - 支持自定义图片尺寸(宽高范围512-1440像素)\n * - 支持批量生成(1-4张)\n * - 支持固定随机种子以确保结果可复现\n * - 支持提示词扩展功能\n * - 支持水印添加选项\n * - 异步任务处理,自动轮询获取结果\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWan22T2iFlash } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWan22T2iFlash(\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在阳光下睡觉\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWan22T2iFlashParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWan22T2iFlash(\n params: AlibabaWan22T2iFlashParams,\n): Promise<AlibabaWan22T2iFlashResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wan22_t2i_flash',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWan22T2iFlashResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWan22T2iPlusParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 正向提示词,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,长度不超过500字符\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 图像尺寸,格式为'宽*高',宽高必须在[512, 1440]范围内,最大分辨率1440*1440\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,范围0-2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWan22T2iPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wan22_t2i_plus\n *\n * Alibaba Wan2.2 T2I Plus Image Generator\n * \n * Text-to-Image generation implementation for Alibaba Wanxiang 2.2 T2I Plus API.\n * \n * Model: wan2.2-t2i-plus\n * Features: 文字生成图像\n * Resolution: 支持自定义尺寸 (宽高范围512-1440)\n * Batch: 支持批量生成 (1-4张)\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/text-to-image-v2-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWan22T2iPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWan22T2iPlus({\n * // 参数见 AlibabaWan22T2iPlusParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWan22T2iPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWan22T2iPlus(\n params: AlibabaWan22T2iPlusParams,\n): Promise<AlibabaWan22T2iPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wan22_t2i_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWan22T2iPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWan25I2iPreviewParams {\n input: {\n /**\n * 正向提示词,用来描述生成图像中期望包含的元素和视觉特点。支持中英文,长度不超过 2000 个字符\n * @length 0 - 2000\n * @example \"将花卉连衣裙换成一件复古风格的蕾丝长裙,领口和袖口有精致的刺绣细节\"\n */\n prompt: string;\n /**\n * 图像 URL 数组,最多支持 2 张图片。支持 HTTP/HTTPS URL 或 Base64 编码(系统会自动转换URL为Base64)。图像格式:JPEG、JPG、PNG、BMP、WEBP。图像分辨率:宽高范围均为 [384, 5000] 像素。文件大小:不超过 10MB\n * @example [\"https://img.alicdn.com/imgextra/i2/O1CN01FuGdH91RenU9KPeri_!!6000000002137-2-tps-1344-896.png\"]\n */\n images: string[];\n /**\n * 反向提示词,用来描述不希望在画面中看到的内容。支持中英文,长度不超过 500 个字符\n * @length 0 - 500\n * @example \"低分辨率、错误、最差质量、低质量、残缺、多余的手指、比例不良\"\n */\n negative_prompt?: string;\n };\n /**\n * 图像生成参数\n */\n parameters?: {\n /**\n * 生成图片的数量。取值范围为 1~4 张,默认为 4。测试阶段建议设置为 1\n * @default 4\n * @range 1 - 4\n * @example 1\n */\n n?: number;\n /**\n * 是否添加水印标识,水印位于图片右下角,文案固定为 AI 生成。默认 false 不添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 随机数种子,取值范围是 [0, 2147483647]。如果不提供,则算法自动生成一个随机数作为种子。若需提升生成结果的可复现性,建议固定 seed 值\n * @range 0 - 2147483647\n * @example 42\n */\n seed?: number;\n };\n}\n\nexport interface AlibabaWan25I2iPreviewResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wan25_i2i_preview\n *\n * <p>通义万相 2.5 图生图预览版生成,支持单图编辑和多图参考生成(最多2张参考图)。系统会自动将图片URL转换为Base64格式发送给阿里云API,并对生成结果进行WebP转换和云存储上传处理</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWan25I2iPreview } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWan25I2iPreview({\n * // 参数见 AlibabaWan25I2iPreviewParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWan25I2iPreviewParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWan25I2iPreview(\n params: AlibabaWan25I2iPreviewParams,\n): Promise<AlibabaWan25I2iPreviewResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wan25_i2i_preview',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWan25I2iPreviewResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWan25T2iPreviewParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 正向提示词,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,长度不超过500字符\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 图像尺寸,总像素必须在[768*768, 1440*1440]范围内,宽高比在[1:4, 4:1]之间\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4\n * @default 1\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,范围0-2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展\n * @default false\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWan25T2iPreviewResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wan25_t2i_preview\n *\n * Alibaba Wan2.5 T2I Preview Image Generator\n * \n * Text-to-Image generation implementation for Alibaba Wanxiang 2.5 T2I Preview API.\n * \n * Model: wan2.5-t2i-preview (固定模型)\n * Features: 文本生成图像功能\n * Image Count: 1-4张 (默认1张)\n * Size: 总像素必须在[768*768, 1440*1440]范围内,宽高比在[1:4, 4:1]之间\n * Advanced: 支持提示词扩展、水印设置、随机种子控制\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWan25T2iPreview } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWan25T2iPreview({\n * // 参数见 AlibabaWan25T2iPreviewParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWan25T2iPreviewParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWan25T2iPreview(\n params: AlibabaWan25T2iPreviewParams,\n): Promise<AlibabaWan25T2iPreviewResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wan25_t2i_preview',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWan25T2iPreviewResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx20T2iTurboParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 正向提示词,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,长度不超过500字符\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 图像尺寸,格式为'宽*高',宽高必须在[512, 1440]范围内,最大分辨率1440*1440\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,范围0-2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx20T2iTurboResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx20_t2i_turbo\n *\n * Alibaba Wanx2.0 T2I Turbo Image Generator\n * \n * Text-to-Image generation implementation for Alibaba Wanxiang 2.0 T2I Turbo API.\n * \n * Model: wanx2.0-t2i-turbo\n * Features: 文本生成图像 (Text-to-Image)\n * Resolution: 宽高在[512, 1440]范围内,最大分辨率1440*1440\n * Batch Size: 1-4张图片\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/text-to-image-v2-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx20T2iTurbo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx20T2iTurbo({\n * // 参数见 AlibabaWanx20T2iTurboParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx20T2iTurboParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx20T2iTurbo(\n params: AlibabaWanx20T2iTurboParams,\n): Promise<AlibabaWanx20T2iTurboResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx20_t2i_turbo',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx20T2iTurboResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx21I2vPlusParams {\n /**\n * 输入参数对象\n */\n input?: {\n /**\n * 文本提示词,描述要生成的视频内容,长度不超过800字符\n */\n prompt?: string;\n /**\n * 图像URL,用于图像生成视频模型,支持HTTP/HTTPS URL或Base64编码图像\n */\n img_url: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 负面提示词,描述不希望出现在视频中的内容,长度不超过500字符\n */\n negative_prompt?: string;\n /**\n * 视频分辨率,wanx2.1-i2v-plus仅支持'720P'\n * @default \"720P\"\n * @values 720P\n */\n resolution?: '720P';\n /**\n * 视频时长,wanx2.1-i2v-plus固定为5秒,不可修改\n * @default 5\n */\n duration?: number;\n /**\n * 随机种子,用于可重现的生成结果,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx21I2vPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_i2v_plus\n *\n * 阿里云 Wanx2.1 I2V Plus 视频生成实现\n * \n * Image-to-Video generation implementation for Alibaba Wanx2.1 I2V Plus API.\n * \n * Model: wanx2.1-i2v-plus\n * Features: 图像生成视频 (Image-to-Video)\n * Duration: 5秒 (固定)\n * Resolution: 720P (仅支持)\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/image-to-video-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21I2vPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21I2vPlus({\n * // 参数见 AlibabaWanx21I2vPlusParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21I2vPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21I2vPlus(\n params: AlibabaWanx21I2vPlusParams,\n): Promise<AlibabaWanx21I2vPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_i2v_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21I2vPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx21I2vTurboParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 图像URL,用于图像转视频。可以是HTTP/HTTPS URL或Base64编码的图像数据。\n */\n img_url: string;\n /**\n * 文本提示词,描述要生成的视频内容,不超过800字符。\n * @length 0 - 800\n */\n prompt?: string;\n };\n /**\n * 参数设置\n */\n parameters?: {\n /**\n * 反向提示词,描述不希望出现在视频中的内容,不超过500字符。\n * @length 0 - 500\n */\n negative_prompt?: string;\n /**\n * 视频分辨率,支持480P或720P。\n * @default \"720P\"\n * @values 480P | 720P\n */\n resolution?: '480P' | '720P';\n /**\n * 视频时长,支持3、4或5秒。\n * @default 5\n * @values 3 | 4 | 5\n */\n duration?: 3 | 4 | 5;\n /**\n * 是否启用提示词扩展。\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印。\n * @default false\n */\n watermark?: boolean;\n /**\n * 随机种子,用于可重现的生成结果,范围0到2147483647。\n * @range 0 - 2147483647\n */\n seed?: number;\n };\n}\n\nexport interface AlibabaWanx21I2vTurboResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_i2v_turbo\n *\n * 阿里云 Wanx2.1 I2V Turbo 图像生成视频接口\n * \n * Model: wanx2.1-i2v-turbo (固定模型)\n * Features: 图像生成视频功能\n * Duration: 3、4或5秒 (默认5秒)\n * Resolution: 480P、720P (默认720P)\n * Advanced: 支持提示词、反向提示词、提示词扩展、水印设置、随机种子控制\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/image-to-video-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21I2vTurbo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21I2vTurbo({\n * // 参数见 AlibabaWanx21I2vTurboParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21I2vTurboParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21I2vTurbo(\n params: AlibabaWanx21I2vTurboParams,\n): Promise<AlibabaWanx21I2vTurboResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_i2v_turbo',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21I2vTurboResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在阳光下睡觉\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * ```\n */\nexport interface AlibabaWanx21T2iPlusParams {\n /**\n * 输入参数,包含提示词信息\n */\n input: {\n /**\n * 正向提示词,描述想要生成的图片内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,描述不希望出现的内容,长度不超过500字符(可选)\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数(可选)\n */\n parameters?: {\n /**\n * 图像尺寸,格式为'宽*高'(如'1024*768'),宽高必须在[512, 1440]范围内,且最大分辨率不超过1440*1440\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4,默认1张\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,用于确保结果可复现,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展功能,启用后会自动优化和丰富提示词\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的图片上添加水印\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx21T2iPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_t2i_plus\n *\n * Alibaba Wanxiang 2.1 T2I Plus 文本生成图片接口,支持生成高质量图片。\n * \n * Model: wanx2.1-t2i-plus\n * Features:\n * - 支持自定义图片尺寸(宽高范围512-1440像素)\n * - 支持批量生成(1-4张)\n * - 支持固定随机种子以确保结果可复现\n * - 支持提示词扩展功能\n * - 支持水印添加选项\n * - 异步任务处理,自动轮询获取结果\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21T2iPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21T2iPlus(\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在阳光下睡觉\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21T2iPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21T2iPlus(\n params: AlibabaWanx21T2iPlusParams,\n): Promise<AlibabaWanx21T2iPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_t2i_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21T2iPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"prompt\": \"A beautiful landscape with mountains and lake at sunset\",\n * \"negative_prompt\": \"blurry, low quality\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * ```\n */\nexport interface AlibabaWanx21T2iTurboParams {\n /**\n * 输入参数,包含文本提示词\n */\n input: {\n /**\n * 正向提示词,描述要生成的图像内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 负向提示词,描述要避免的图像内容,长度不超过500字符\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数,配置图像生成选项\n */\n parameters?: {\n /**\n * 图像尺寸,格式为'宽*高',例如'1024*1024'。宽高必须在[512, 1440]范围内,最大分辨率1440*1440\n */\n size?: string;\n /**\n * 生成图像数量,范围1-4\n * @range 1 - 4\n */\n n?: number;\n /**\n * 随机种子,用于生成可重复的结果,范围0-2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词自动扩展,开启后会丰富和优化提示词\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的图像上添加水印\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx21T2iTurboResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_t2i_turbo\n *\n * Alibaba Wanxiang 2.1 T2I Turbo 图像生成接口,快速将文本提示词转换为高质量图像。\n * \n * Model: wanx2.1-t2i-turbo\n * Features:\n * - 快速图像生成(Turbo模式)\n * - 支持提示词自动扩展\n * - 可自定义图像尺寸和数量\n * - 支持负向提示词控制\n * - 可选水印功能\n * - 可控随机种子保证可重复性\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21T2iTurbo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21T2iTurbo(\n * {\n * \"input\": {\n * \"prompt\": \"A beautiful landscape with mountains and lake at sunset\",\n * \"negative_prompt\": \"blurry, low quality\"\n * },\n * \"parameters\": {\n * \"size\": \"1024*1024\",\n * \"n\": 1,\n * \"seed\": 42,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21T2iTurboParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21T2iTurbo(\n params: AlibabaWanx21T2iTurboParams,\n): Promise<AlibabaWanx21T2iTurboResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_t2i_turbo',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21T2iTurboResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在草地上追逐蝴蝶\"\n * },\n * \"parameters\": {\n * \"size\": \"1280*720\",\n * \"prompt_extend\": true,\n * \"watermark\": false,\n * \"seed\": 12345,\n * \"negative_prompt\": \"模糊,低质量\"\n * }\n * }\n * ```\n */\nexport interface AlibabaWanx21T2vPlusParams {\n /**\n * 输入参数,包含提示词信息\n */\n input: {\n /**\n * 文本提示词,描述要生成的视频内容,长度不超过800字符\n */\n prompt: string;\n };\n /**\n * 生成参数(可选)\n */\n parameters?: {\n /**\n * 视频分辨率,必须是支持的720P档位分辨率之一,默认1280*720\n * @default \"1280*720\"\n * @values 1280*720 | 720*1280 | 960*960 | 1088*832 | 832*1088\n */\n size?: '1280*720' | '720*1280' | '960*960' | '1088*832' | '832*1088';\n /**\n * 视频时长(秒),Wanx2.1 T2V Plus 模型固定为5秒,不可修改(设置为其他值将导致验证失败)\n * @default 5\n * @values 5\n */\n duration?: 5;\n /**\n * 是否启用提示词扩展功能,启用后会自动优化和丰富提示词,默认true\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的视频上添加水印,默认false\n * @default false\n */\n watermark?: boolean;\n /**\n * 负向提示词,描述不希望出现在视频中的内容,长度不超过500字符\n */\n negative_prompt?: string;\n /**\n * 随机种子,用于确保结果可复现,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n };\n}\n\nexport interface AlibabaWanx21T2vPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_t2v_plus\n *\n * Alibaba Wanxiang 2.1 T2V Plus 文本生成视频接口,支持从文本描述生成5秒视频。\n * \n * Model: wanx2.1-t2v-plus\n * Features:\n * - 支持720P档位多种分辨率\n * - 固定生成5秒视频\n * - 支持提示词扩展功能\n * - 支持水印选项\n * - 支持固定随机种子\n * - 不支持音频输入和音频参数\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21T2vPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21T2vPlus(\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的橘猫在草地上追逐蝴蝶\"\n * },\n * \"parameters\": {\n * \"size\": \"1280*720\",\n * \"prompt_extend\": true,\n * \"watermark\": false,\n * \"seed\": 12345,\n * \"negative_prompt\": \"模糊,低质量\"\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21T2vPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21T2vPlus(\n params: AlibabaWanx21T2vPlusParams,\n): Promise<AlibabaWanx21T2vPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_t2v_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21T2vPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx21T2vTurboParams {\n /**\n * 输入参数\n */\n input: {\n /**\n * 视频生成提示词,长度不超过800字符\n */\n prompt: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 视频尺寸,支持480P/720P档位分辨率: 832*480, 480*832, 624*624, 1280*720, 720*1280, 960*960, 1088*832, 832*1088,默认1280*720\n */\n size?: string;\n /**\n * 视频时长,固定为5秒,不可修改\n */\n duration?: number;\n /**\n * 随机种子,范围0-2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展,默认true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印,默认false\n */\n watermark?: boolean;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n };\n}\n\nexport interface AlibabaWanx21T2vTurboResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx21_t2v_turbo\n *\n * Alibaba Wanx2.1 T2V Turbo 文本生成视频接口\n * \n * Model: wanx2.1-t2v-turbo (固定模型)\n * Features: 文本生成视频功能\n * Duration: 固定5秒(不可修改)\n * Resolution: 支持480P/720P档位多种分辨率(默认1280*720)\n * Advanced: 支持提示词、反向提示词、提示词扩展、水印设置、随机种子控制\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/text-to-video-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx21T2vTurbo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx21T2vTurbo({\n * // 参数见 AlibabaWanx21T2vTurboParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx21T2vTurboParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx21T2vTurbo(\n params: AlibabaWanx21T2vTurboParams,\n): Promise<AlibabaWanx21T2vTurboResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx21_t2v_turbo',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx21T2vTurboResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx22I2vFlashParams {\n /**\n * 输入参数对象\n */\n input?: {\n /**\n * 文本提示词,描述要生成视频内容\n * @default \"\"\n * @length 0 - 800\n */\n prompt?: string;\n /**\n * 输入图像URL,支持HTTP/HTTPS URL或Base64编码的图像数据\n */\n img_url: string;\n };\n /**\n * 视频生成参数\n */\n parameters?: {\n /**\n * 负面提示词,描述不希望出现在生成视频中的内容\n * @default \"\"\n * @length 0 - 500\n */\n negative_prompt?: string;\n /**\n * 视频分辨率\n * @default \"720P\"\n * @values 480P | 720P | 1080P\n */\n resolution?: '480P' | '720P' | '1080P';\n /**\n * 视频时长(秒),固定为5秒\n * @default 5\n * @range 5 - 5\n */\n duration?: number;\n /**\n * 随机种子,用于可重现的生成结果\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx22I2vFlashResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx22_i2v_flash\n *\n * Alibaba Wanx2.2 I2V Flash 视频生成器实现\n * \n * Image-to-Video generation implementation for Alibaba Wanx2.2 I2V Flash API.\n * \n * Model: wan2.2-i2v-flash\n * Features: 图像生成视频 (Image-to-Video)\n * Duration: 5秒 (固定)\n * Resolution: 480P, 720P, 1080P (支持)\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/image-to-video-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx22I2vFlash } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx22I2vFlash({\n * // 参数见 AlibabaWanx22I2vFlashParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx22I2vFlashParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx22I2vFlash(\n params: AlibabaWanx22I2vFlashParams,\n): Promise<AlibabaWanx22I2vFlashResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx22_i2v_flash',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx22I2vFlashResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx22I2vPlusParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 图像URL,I2V模型必需,支持Base64编码或HTTP/HTTPS URL\n */\n img_url: string;\n /**\n * 文本提示词,描述要生成的视频内容,不超过800字符\n * @length 0 - 800\n */\n prompt?: string;\n };\n /**\n * 可选参数\n */\n parameters?: {\n /**\n * 视频分辨率,支持 '480P' 或 '1080P'\n * @default \"1080P\"\n * @values 480P | 1080P\n */\n resolution?: '480P' | '1080P';\n /**\n * 视频时长,固定为5秒,不可修改\n * @default 5\n */\n duration?: number;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 随机种子,用于可重现的生成结果,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 负面提示词,描述不希望出现在视频中的内容,不超过500字符\n */\n negative_prompt?: string;\n };\n}\n\nexport interface AlibabaWanx22I2vPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx22_i2v_plus\n *\n * 阿里巴巴 Wanx2.2 I2V Plus 图像生成视频实现。\n * \n * Model: wan2.2-i2v-plus\n * Features: 图像生成视频 (Image-to-Video)\n * Resolution: 480P, 1080P (默认1080P)\n * Duration: 固定5秒\n * \n * API Documentation: https://help.aliyun.com/zh/model-studio/image-to-video-api-reference\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx22I2vPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx22I2vPlus({\n * // 参数见 AlibabaWanx22I2vPlusParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx22I2vPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx22I2vPlus(\n params: AlibabaWanx22I2vPlusParams,\n): Promise<AlibabaWanx22I2vPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx22_i2v_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx22I2vPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的猫咪在草地上玩耍,阳光明媚\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1920*1080\",\n * \"duration\": 5,\n * \"seed\": 12345,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * ```\n */\nexport interface AlibabaWanx22T2vPlusParams {\n /**\n * 输入参数,包含文本提示词\n */\n input: {\n /**\n * 文本提示词,描述要生成的视频内容,长度不超过800字符\n */\n prompt: string;\n /**\n * 负面提示词,描述不希望出现在视频中的内容,长度不超过500字符\n */\n negative_prompt?: string;\n };\n /**\n * 生成参数,配置视频生成选项\n */\n parameters?: {\n /**\n * 视频分辨率,支持480P档位和1080P档位。默认1920*1080\n * @default \"1920*1080\"\n * @values 832*480 | 480*832 | 624*624 | 1920*1080 | 1080*1920 | 1440*1440 | 1632*1248 | 1248*1632\n */\n size?: '832*480' | '480*832' | '624*624' | '1920*1080' | '1080*1920' | '1440*1440' | '1632*1248' | '1248*1632';\n /**\n * 视频时长(秒),wan2.2-t2v-plus固定为5秒,不可修改\n * @default 5\n * @values 5\n */\n duration?: 5;\n /**\n * 随机种子,用于生成可重复的结果,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 是否启用提示词自动扩展,开启后会丰富和优化提示词,默认true\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的视频上添加水印,默认false\n * @default false\n */\n watermark?: boolean;\n };\n}\n\nexport interface AlibabaWanx22T2vPlusResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx22_t2v_plus\n *\n * Alibaba Wanxiang 2.2 T2V Plus 视频生成接口,将文本提示词转换为高质量视频。\n * \n * Model: wan2.2-t2v-plus\n * Features:\n * - 快速文本到视频生成\n * - 支持提示词自动扩展\n * - 支持480P和1080P两种档位的多种分辨率\n * - 支持负向提示词控制\n * - 固定5秒视频时长\n * - 可选水印功能\n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx22T2vPlus } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx22T2vPlus(\n * {\n * \"input\": {\n * \"prompt\": \"一只可爱的猫咪在草地上玩耍,阳光明媚\",\n * \"negative_prompt\": \"模糊,低质量\"\n * },\n * \"parameters\": {\n * \"size\": \"1920*1080\",\n * \"duration\": 5,\n * \"seed\": 12345,\n * \"prompt_extend\": true,\n * \"watermark\": false\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx22T2vPlusParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx22T2vPlus(\n params: AlibabaWanx22T2vPlusParams,\n): Promise<AlibabaWanx22T2vPlusResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx22_t2v_plus',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx22T2vPlusResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"img_url\": \"https://example.com/beach_scene.jpg\",\n * \"prompt\": \"一个人在沙滩上奔跑,海浪拍打着岸边\"\n * },\n * \"parameters\": {\n * \"resolution\": \"1080P\",\n * \"duration\": 5,\n * \"prompt_extend\": true,\n * \"watermark\": false,\n * \"audio\": true,\n * \"seed\": 12345,\n * \"negative_prompt\": \"模糊,低质量,抖动\"\n * }\n * }\n * ```\n */\nexport interface AlibabaWanx25I2vPreviewParams {\n /**\n * 输入参数,包含图片和提示词信息\n */\n input: {\n /**\n * 图片URL或Base64编码的图片数据(必填),系统会自动将URL转换为Base64格式\n */\n img_url: string;\n /**\n * 文本提示词(可选),描述要生成的视频内容,长度不超过2000字符,超过会自动截断\n */\n prompt?: string;\n /**\n * 自定义背景音乐URL(可选)\n */\n audio_url?: string;\n };\n /**\n * 生成参数(可选)\n */\n parameters?: {\n /**\n * 视频分辨率,必须是支持的分辨率之一,默认1080P\n * @default \"1080P\"\n * @values 480P | 720P | 1080P\n */\n resolution?: '480P' | '720P' | '1080P';\n /**\n * 视频时长(秒),支持5秒或10秒,默认5秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 是否启用提示词扩展功能,启用后会自动优化和丰富提示词,默认true\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否在生成的视频上添加水印,默认false\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否包含背景音频,默认true\n * @default true\n */\n audio?: boolean;\n /**\n * 随机种子,用于确保结果可复现,范围0-2147483647\n * @range 0 - 2147483647\n */\n seed?: number;\n /**\n * 负向提示词,描述不希望出现在视频中的内容,长度不超过500字符\n */\n negative_prompt?: string;\n };\n}\n\nexport interface AlibabaWanx25I2vPreviewResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx25_i2v_preview\n *\n * <p>阿里巴巴 Wanx2.5 I2V Preview 图像到视频生成接口</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx25I2vPreview } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx25I2vPreview(\n * {\n * \"input\": {\n * \"img_url\": \"https://example.com/beach_scene.jpg\",\n * \"prompt\": \"一个人在沙滩上奔跑,海浪拍打着岸边\"\n * },\n * \"parameters\": {\n * \"resolution\": \"1080P\",\n * \"duration\": 5,\n * \"prompt_extend\": true,\n * \"watermark\": false,\n * \"audio\": true,\n * \"seed\": 12345,\n * \"negative_prompt\": \"模糊,低质量,抖动\"\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx25I2vPreviewParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx25I2vPreview(\n params: AlibabaWanx25I2vPreviewParams,\n): Promise<AlibabaWanx25I2vPreviewResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx25_i2v_preview',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx25I2vPreviewResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx25T2vPreviewParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 文本提示词,描述要生成的视频内容\n * @length 0 - 2000\n */\n prompt: string;\n /**\n * 负面提示词,描述不希望出现在视频中的内容\n * @length 0 - 500\n */\n negative_prompt?: string;\n /**\n * 背景音乐URL\n */\n audio_url?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 视频分辨率,支持 '832*480', '480*832', '624*624', '1280*720', '720*1280', '960*960', '1088*832', '832*1088', '1920*1080', '1080*1920', '1440*1440', '1632*1248', '1248*1632'\n * @default \"1920*1080\"\n * @values 832*480 | 480*832 | 624*624 | 1280*720 | 720*1280 | 960*960 | 1088*832 | 832*1088 | 1920*1080 | 1080*1920 | 1440*1440 | 1632*1248 | 1248*1632\n */\n size?: '832*480' | '480*832' | '624*624' | '1280*720' | '720*1280' | '960*960' | '1088*832' | '832*1088' | '1920*1080' | '1080*1920' | '1440*1440' | '1632*1248' | '1248*1632';\n /**\n * 视频时长,单位秒,支持5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 是否开启提示词增强\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否生成音频\n * @default true\n */\n audio?: boolean;\n /**\n * 随机种子,用于可重现的生成结果\n * @range 0 - 2147483647\n */\n seed?: number;\n };\n}\n\nexport interface AlibabaWanx25T2vPreviewResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx25_t2v_preview\n *\n * <p>Alibaba Wanx2.5 T2V Preview 视频生成实现。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx25T2vPreview } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx25T2vPreview({\n * // 参数见 AlibabaWanx25T2vPreviewParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx25T2vPreviewParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx25T2vPreview(\n params: AlibabaWanx25T2vPreviewParams,\n): Promise<AlibabaWanx25T2vPreviewResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx25_t2v_preview',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx25T2vPreviewResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx26I2vParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 视频生成提示词,最大长度2000字符\n * @length 0 - 2000\n */\n prompt?: string;\n /**\n * 输入图片URL或Base64编码(自动转换为JPEG格式的Base64)\n */\n img_url?: string;\n /**\n * 自定义背景音乐URL(可选)\n */\n audio_url?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 视频分辨率,可选值:720P、1080P\n * @default \"1080P\"\n * @values 720P | 1080P\n */\n resolution?: '720P' | '1080P';\n /**\n * 视频时长(秒),可选值:5、10、15\n * @default 5\n * @values 5 | 10 | 15\n */\n duration?: 5 | 10 | 15;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否生成音频\n * @default true\n */\n audio?: boolean;\n /**\n * 是否启用多镜头模式(仅在prompt_extend=true时生效)\n */\n shot_type?: string;\n /**\n * 反向提示词,描述不希望出现的内容\n */\n negative_prompt?: string;\n /**\n * 随机种子,用于复现生成结果\n */\n seed?: number;\n };\n}\n\nexport interface AlibabaWanx26I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx26_i2v\n *\n * <p>API 文档: https://help.aliyun.com/zh/model-studio/image-to-video-api-reference</p>\n * <p>Alibaba Wanx2.6 I2V 图生视频生成接口,支持将图片转换为视频,支持多种分辨率和时长选项。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx26I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx26I2v({\n * // 参数见 AlibabaWanx26I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx26I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx26I2v(\n params: AlibabaWanx26I2vParams,\n): Promise<AlibabaWanx26I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx26_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx26I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx26ReferenceParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 视频生成提示词,最大长度2000字符\n * @length 0 - 2000\n */\n prompt: string;\n /**\n * 参考视频URL数组,用于角色/风格一致性,支持1-2个视频。注意:使用时audio必须为false,duration只能为5或10秒\n */\n reference_video_urls?: string[];\n /**\n * 自定义背景音乐URL(可选)\n */\n audio_url?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 视频分辨率,可选值:480P、720P、1080P\n * @default \"1080P\"\n * @values 480P | 720P | 1080P\n */\n resolution?: '480P' | '720P' | '1080P';\n /**\n * 视频时长(秒),可选值:5、10(参考视频时不支持15秒)\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否生成音频(使用参考视频时必须为false)\n * @default true\n */\n audio?: boolean;\n /**\n * 是否启用多镜头智能生成模式(仅在prompt_extend=true时生效)\n */\n multi_shots?: boolean;\n /**\n * 随机种子,用于复现生成结果\n */\n seed?: number;\n /**\n * 视频分辨率,支持 '832*480', '480*832', '624*624', '1280*720', '720*1280', '960*960', '1088*832', '832*1088', '1920*1080', '1080*1920', '1440*1440', '1632*1248', '1248*1632'\n * @default \"1920*1080\"\n * @values 832*480 | 480*832 | 624*624 | 1280*720 | 720*1280 | 960*960 | 1088*832 | 832*1088 | 1920*1080 | 1080*1920 | 1440*1440 | 1632*1248 | 1248*1632\n */\n size?: '832*480' | '480*832' | '624*624' | '1280*720' | '720*1280' | '960*960' | '1088*832' | '832*1088' | '1920*1080' | '1080*1920' | '1440*1440' | '1632*1248' | '1248*1632';\n };\n}\n\nexport interface AlibabaWanx26ReferenceResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx26_reference\n *\n * <p>API 文档: https://help.aliyun.com/zh/model-studio/text-to-video-api-reference</p>\n * <p>Alibaba Wanx2.6 参考生视频生成接口,支持最高1080p分辨率,支持参考视频生成(角色/风格一致性),支持多镜头智能生成和音频合成。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx26Reference } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx26Reference({\n * // 参数见 AlibabaWanx26ReferenceParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx26ReferenceParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx26Reference(\n params: AlibabaWanx26ReferenceParams,\n): Promise<AlibabaWanx26ReferenceResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx26_reference',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx26ReferenceResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface AlibabaWanx26T2vParams {\n /**\n * 输入参数\n */\n input?: {\n /**\n * 视频生成提示词,最大长度2000字符\n * @length 0 - 2000\n */\n prompt: string;\n /**\n * 自定义背景音乐URL(可选)\n */\n audio_url?: string;\n };\n /**\n * 生成参数\n */\n parameters?: {\n /**\n * 视频分辨率,可选值:480P、720P、1080P\n * @default \"1080P\"\n * @values 480P | 720P | 1080P\n */\n resolution?: '480P' | '720P' | '1080P';\n /**\n * 视频时长(秒),可选值:5、10、15\n * @default 5\n * @values 5 | 10 | 15\n */\n duration?: 5 | 10 | 15;\n /**\n * 是否启用提示词扩展\n * @default true\n */\n prompt_extend?: boolean;\n /**\n * 是否添加水印\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否生成音频(使用参考视频时必须为false)\n * @default true\n */\n audio?: boolean;\n /**\n * 是否启用多镜头智能生成模式(仅在prompt_extend=true时生效)\n */\n multi_shots?: boolean;\n /**\n * 随机种子,用于复现生成结果\n */\n seed?: number;\n /**\n * 视频分辨率,支持 '832*480', '480*832', '624*624', '1280*720', '720*1280', '960*960', '1088*832', '832*1088', '1920*1080', '1080*1920', '1440*1440', '1632*1248', '1248*1632'\n * @default \"1920*1080\"\n * @values 832*480 | 480*832 | 624*624 | 1280*720 | 720*1280 | 960*960 | 1088*832 | 832*1088 | 1920*1080 | 1080*1920 | 1440*1440 | 1632*1248 | 1248*1632\n */\n size?: '832*480' | '480*832' | '624*624' | '1280*720' | '720*1280' | '960*960' | '1088*832' | '832*1088' | '1920*1080' | '1080*1920' | '1440*1440' | '1632*1248' | '1248*1632';\n };\n}\n\nexport interface AlibabaWanx26T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * alibaba_wanx26_t2v\n *\n * <p>API 文档: https://help.aliyun.com/zh/model-studio/text-to-video-api-reference</p>\n * <p>Alibaba Wanx2.6 T2V 文生视频生成接口,支持最高1080p分辨率</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, alibabaWanx26T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await alibabaWanx26T2v({\n * // 参数见 AlibabaWanx26T2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 AlibabaWanx26T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function alibabaWanx26T2v(\n params: AlibabaWanx26T2vParams,\n): Promise<AlibabaWanx26T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'alibaba_wanx26_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: AlibabaWanx26T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFlux11ProParams {\n /**\n * 文本提示词,描述要生成的图像内容\n * @default \"\"\n */\n prompt: string;\n /**\n * 图像提示,必须是有效的Base64编码图像\n */\n image_prompt?: string;\n /**\n * 图像宽度,必须是32的倍数,范围256-1440像素\n * @default 1024\n * @range 256 - 1440\n */\n width?: number;\n /**\n * 图像高度,必须是32的倍数,范围256-1440像素\n * @default 1024\n * @range 256 - 1440\n */\n height?: number;\n /**\n * 是否启用提示词增强\n * @default false\n */\n prompt_upsampling?: boolean;\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 安全容忍度,范围0-6\n * @default 2\n * @range 0 - 6\n */\n safety_tolerance?: number;\n /**\n * 输出格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n}\n\nexport interface BlackforestlabsFlux11ProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_11_pro\n *\n * Black Forest Labs FLUX 1.1 [pro] 图像生成实现\n * \n * Black Forest Labs FLUX 1.1 [pro] image generation implementation.\n * \n * Model: flux-pro-1.1\n * Features: 文字生成图像 (Text-to-Image)\n * Resolution: 256-1440px (宽高必须是32的倍数)\n * Image Prompt: 支持图像提示\n * \n * API Documentation: https://docs.bfl.ai/api-reference/tasks/generate-an-image-with-flux-11-[pro]\n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux11Pro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux11Pro({\n * // 参数见 BlackforestlabsFlux11ProParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux11ProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux11Pro(\n params: BlackforestlabsFlux11ProParams,\n): Promise<BlackforestlabsFlux11ProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_11_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux11ProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset, photorealistic, 4k quality\",\n * \"width\": 1024,\n * \"height\": 768,\n * \"steps\": 40,\n * \"prompt_upsampling\": false,\n * \"seed\": 42,\n * \"guidance\": 2.5,\n * \"safety_tolerance\": 2,\n * \"interval\": 2,\n * \"output_format\": \"jpeg\"\n * }\n * ```\n */\nexport interface BlackforestlabsFlux1ProParams {\n /**\n * 文本提示词,描述要生成的图像内容,可选,默认为空字符串\n * @default \"\"\n */\n prompt?: string;\n /**\n * 图像提示,必须是有效的Base64编码图像,用作图像生成的参考\n */\n image_prompt?: string;\n /**\n * 图像宽度(像素),必须是32的倍数,范围256-1440,默认1024\n * @default 1024\n * @range 256 - 1440\n */\n width?: number;\n /**\n * 图像高度(像素),必须是32的倍数,范围256-1440,默认768\n * @default 768\n * @range 256 - 1440\n */\n height?: number;\n /**\n * 生成步数,控制生成质量和时间,范围1-50,默认40\n * @default 40\n * @range 1 - 50\n */\n steps?: number;\n /**\n * 是否启用提示词增强,开启后会自动优化和扩展提示词,默认false\n * @default false\n */\n prompt_upsampling?: boolean;\n /**\n * 随机种子,用于生成可重复的结果\n */\n seed?: number;\n /**\n * 引导强度,控制生成结果与提示词的贴合度,范围1.5-5,默认2.5\n * @default 2.5\n * @range 1.5 - 5\n */\n guidance?: number;\n /**\n * 安全容忍度,控制内容安全过滤级别,范围0-6,0最严格,6最宽松,默认2\n * @default 2\n * @range 0 - 6\n */\n safety_tolerance?: number;\n /**\n * 间隔参数,范围1-4,默认2\n * @default 2\n * @range 1 - 4\n */\n interval?: number;\n /**\n * 输出格式,可选jpeg或png,默认jpeg\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 回调URL,生成完成后会向此URL发送通知,必须以http://或https://开头,长度1-2083字符\n */\n webhook_url?: string;\n /**\n * 回调密钥,用于验证webhook请求的安全性\n */\n webhook_secret?: string;\n}\n\nexport interface BlackforestlabsFlux1ProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_1_pro\n *\n * Black Forest Labs FLUX.1 [pro] 图像生成接口,支持文本提示词和图像提示生成高质量图像。\n * \n * Model: flux-pro\n * Features:\n * - 高质量图像生成\n * - 支持文本提示词和图像提示\n * - 可自定义图像尺寸(必须是32的倍数)\n * - 支持提示词自动增强\n * - 可控生成步数和引导强度\n * - 可选安全过滤级别\n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux1Pro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux1Pro(\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset, photorealistic, 4k quality\",\n * \"width\": 1024,\n * \"height\": 768,\n * \"steps\": 40,\n * \"prompt_upsampling\": false,\n * \"seed\": 42,\n * \"guidance\": 2.5,\n * \"safety_tolerance\": 2,\n * \"interval\": 2,\n * \"output_format\": \"jpeg\"\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux1ProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux1Pro(\n params: BlackforestlabsFlux1ProParams,\n): Promise<BlackforestlabsFlux1ProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_1_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux1ProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFlux2FlexParams {\n /**\n * 图像生成或编辑的文本提示词\n * @example \"一张宁静的森林小溪照片,阳光透过树叶照射下来,超现实风格,4K高清\"\n */\n prompt?: string;\n /**\n * 是否启用提示词优化增强\n * @default true\n */\n prompt_upsampling?: boolean;\n /**\n * 图像宽度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n width?: number;\n /**\n * 图像高度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n height?: number;\n /**\n * 内容安全容忍度(0-5),0最严格,5最宽松\n * @default 2\n * @range 0 - 5\n */\n safety_tolerance?: number;\n /**\n * 输出图像格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 随机种子,用于结果可复现\n * @example 42\n */\n seed?: number;\n /**\n * 推理步骤数。最大值:50\n * @default 50\n * @range ∞ - 50\n */\n steps?: number;\n /**\n * 生成指导比例。控制输出与提示的契合程度。最小值:1.5,最大值:10,默认值:4.5。\n * @default 4.5\n * @range 1.5 - 10\n */\n guidance?: number;\n /**\n * 接收Webhook通知的URL\n */\n webhook_url?: string;\n /**\n * Webhook签名验证密钥\n */\n webhook_secret?: string;\n}\n\nexport interface BlackforestlabsFlux2FlexResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_2_flex\n *\n * <p>使用FLUX.2 [FLEX]模型生成图像,支持纯文本生成和多参考图像编辑(最多10张)</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux2Flex } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux2Flex({\n * // 参数见 BlackforestlabsFlux2FlexParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux2FlexParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux2Flex(\n params: BlackforestlabsFlux2FlexParams,\n): Promise<BlackforestlabsFlux2FlexResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_2_flex',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux2FlexResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFlux2FlexEditParams {\n /**\n * 图像编辑的文本提示词\n * @example \"将背景改为蓝天白云,保持主体不变,超现实风格\"\n */\n prompt?: string;\n /**\n * 必需的输入图像URL\n */\n input_image?: string;\n /**\n * 是否启用提示词优化增强\n * @default true\n */\n prompt_upsampling?: boolean;\n /**\n * 图像宽度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n width?: number;\n /**\n * 图像高度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n height?: number;\n /**\n * 内容安全容忍度(0-5),0最严格,5最宽松\n * @default 2\n * @range 0 - 5\n */\n safety_tolerance?: number;\n /**\n * 输出图像格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 随机种子,用于结果可复现\n * @example 42\n */\n seed?: number;\n /**\n * 推理步骤数。最大值:50\n * @default 50\n * @range ∞ - 50\n */\n steps?: number;\n /**\n * 生成指导比例。控制输出与提示的契合程度。最小值:1.5,最大值:10,默认值:4.5。\n * @default 4.5\n * @range 1.5 - 10\n */\n guidance?: number;\n /**\n * 第2张参考图像URL\n */\n input_image_2?: string;\n /**\n * 第3张参考图像URL\n */\n input_image_3?: string;\n /**\n * 第4张参考图像URL\n */\n input_image_4?: string;\n /**\n * 第5张参考图像URL\n */\n input_image_5?: string;\n /**\n * 第6张参考图像URL\n */\n input_image_6?: string;\n /**\n * 第7张参考图像URL\n */\n input_image_7?: string;\n /**\n * 第8张参考图像URL\n */\n input_image_8?: string;\n /**\n * 第9张参考图像URL\n */\n input_image_9?: string;\n /**\n * 第10张参考图像URL\n */\n input_image_10?: string;\n /**\n * 接收Webhook通知的URL\n */\n webhook_url?: string;\n /**\n * Webhook签名验证密钥\n */\n webhook_secret?: string;\n}\n\nexport interface BlackforestlabsFlux2FlexEditResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_2_flex_edit\n *\n * <p>使用FLUX.2 [FLEX]模型编辑现有图像,支持最多10张参考图像(input_image必需)</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux2FlexEdit } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux2FlexEdit({\n * // 参数见 BlackforestlabsFlux2FlexEditParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux2FlexEditParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux2FlexEdit(\n params: BlackforestlabsFlux2FlexEditParams,\n): Promise<BlackforestlabsFlux2FlexEditResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_2_flex_edit',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux2FlexEditResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFlux2ProParams {\n /**\n * 图像生成的文本提示词\n * @example \"一张宁静的森林小溪照片,阳光透过树叶照射下来\"\n */\n prompt: string;\n /**\n * 是否启用提示词优化增强\n * @default true\n */\n prompt_upsampling?: boolean;\n /**\n * 输出图像宽度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n width?: number;\n /**\n * 输出图像宽度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n height?: number;\n /**\n * 内容安全容忍度(0-5),0最严格,5最宽松\n * @default 2\n * @range 0 - 5\n */\n safety_tolerance?: number;\n /**\n * 输出图像格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 随机种子,用于结果可复现\n * @example 42\n */\n seed?: number;\n /**\n * 接收Webhook通知的URL\n */\n webhook_url?: string;\n /**\n * Webhook签名验证密钥\n */\n webhook_secret?: string;\n}\n\nexport interface BlackforestlabsFlux2ProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_2_pro\n *\n * <p>使用FLUX.2 [PRO]模型生成或编辑图像,支持最多8张参考图像的多参考编辑</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux2Pro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux2Pro({\n * // 参数见 BlackforestlabsFlux2ProParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux2ProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux2Pro(\n params: BlackforestlabsFlux2ProParams,\n): Promise<BlackforestlabsFlux2ProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_2_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux2ProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFlux2ProEditParams {\n /**\n * 编辑指令的文本提示词\n * @example \"将背景改为蓝天白云,保持主体不变\"\n */\n prompt?: string;\n /**\n * 必需:要编辑的图像URL或Base64编码\n * @example \"https://example.com/image.jpg\"\n */\n input_image: string;\n /**\n * 是否启用提示词优化增强\n * @default true\n */\n prompt_upsampling?: boolean;\n /**\n * 输出图像宽度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n width?: number;\n /**\n * 输出图像高度(像素),0表示自动\n * @default 0\n * @range 64 - ∞\n */\n height?: number;\n /**\n * 内容安全容忍度(0-5),0最严格,5最宽松\n * @default 2\n * @range 0 - 5\n */\n safety_tolerance?: number;\n /**\n * 输出图像格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 第2张参考图像URL或Base64编码(可选)\n */\n input_image_2?: string;\n /**\n * 第3张参考图像URL或Base64编码(可选)\n */\n input_image_3?: string;\n /**\n * 第4张参考图像URL或Base64编码(可选)\n */\n input_image_4?: string;\n /**\n * 第5张参考图像URL或Base64编码(实验性)\n */\n input_image_5?: string;\n /**\n * 第6张参考图像URL或Base64编码(实验性)\n */\n input_image_6?: string;\n /**\n * 第7张参考图像URL或Base64编码(实验性)\n */\n input_image_7?: string;\n /**\n * 第8张参考图像URL或Base64编码(实验性)\n */\n input_image_8?: string;\n /**\n * 随机种子,用于结果可复现\n * @example 42\n */\n seed?: number;\n /**\n * 接收Webhook通知的URL\n */\n webhook_url?: string;\n /**\n * Webhook签名验证密钥\n */\n webhook_secret?: string;\n}\n\nexport interface BlackforestlabsFlux2ProEditResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_2_pro_edit\n *\n * <p>使用FLUX.2 [PRO]模型编辑现有图像,必须提供input_image参数</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFlux2ProEdit } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFlux2ProEdit({\n * // 参数见 BlackforestlabsFlux2ProEditParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFlux2ProEditParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFlux2ProEdit(\n params: BlackforestlabsFlux2ProEditParams,\n): Promise<BlackforestlabsFlux2ProEditResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_2_pro_edit',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFlux2ProEditResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset\",\n * \"input_image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=\",\n * \"seed\": 42,\n * \"aspect_ratio\": \"16:9\",\n * \"output_format\": \"png\",\n * \"prompt_upsampling\": false,\n * \"safety_tolerance\": 2\n * }\n * ```\n */\nexport interface BlackforestlabsFluxKontextMaxParams {\n /**\n * 文本提示词,描述要生成或编辑的图像内容(必填)\n */\n prompt: string;\n /**\n * 第1张输入图像,支持Base64编码或URL格式(可选)\n */\n input_image?: string;\n /**\n * 第2张输入图像,支持Base64编码或URL格式(可选)\n */\n input_image_2?: string;\n /**\n * 第3张输入图像,支持Base64编码或URL格式(可选)\n */\n input_image_3?: string;\n /**\n * 第4张输入图像,支持Base64编码或URL格式(可选)\n */\n input_image_4?: string;\n /**\n * 随机种子,用于可重现的生成结果(可选)\n */\n seed?: number;\n /**\n * 图像宽高比,格式如 \"16:9\",范围为 \"21:9\" 到 \"9:21\"(可选)\n */\n aspect_ratio?: string;\n /**\n * 输出格式,默认png\n * @default \"png\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 是否启用提示词自动增强,默认false\n * @default false\n */\n prompt_upsampling?: boolean;\n /**\n * 安全容忍度,范围0-6,值越高容忍度越高,默认2\n * @default 2\n * @range 0 - 6\n */\n safety_tolerance?: number;\n}\n\nexport interface BlackforestlabsFluxKontextMaxResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_kontext_max\n *\n * Black Forest Labs Flux Kontext Max 图像生成接口,支持基于多张图像上下文的图像编辑和生成。\n * \n * Model: flux-kontext-max\n * Features:\n * - 支持最多4张输入图像作为上下文\n * - 支持灵活的宽高比设置(21:9 到 9:21)\n * - 支持JPEG和PNG输出格式\n * - 支持提示词自动增强\n * - 支持安全内容控制(0-6级别)\n * - 异步任务处理,自动轮询获取结果\n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFluxKontextMax } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFluxKontextMax(\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset\",\n * \"input_image\": \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=\",\n * \"seed\": 42,\n * \"aspect_ratio\": \"16:9\",\n * \"output_format\": \"png\",\n * \"prompt_upsampling\": false,\n * \"safety_tolerance\": 2\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFluxKontextMaxParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFluxKontextMax(\n params: BlackforestlabsFluxKontextMaxParams,\n): Promise<BlackforestlabsFluxKontextMaxResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_kontext_max',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFluxKontextMaxResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface BlackforestlabsFluxKontextProParams {\n /**\n * 文本提示词,描述要生成的图像内容\n */\n prompt: string;\n /**\n * 输入图像,Base64编码或URL\n */\n input_image?: string;\n /**\n * 输入图像2,Base64编码或URL\n */\n input_image_2?: string;\n /**\n * 输入图像3,Base64编码或URL\n */\n input_image_3?: string;\n /**\n * 输入图像4,Base64编码或URL\n */\n input_image_4?: string;\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 图像宽高比,格式如 \"16:9\",范围为 \"21:9\" 到 \"9:21\"\n * @default \"1:1\"\n */\n aspect_ratio?: string;\n /**\n * 输出格式\n * @default \"jpeg\"\n * @values jpeg | png\n */\n output_format?: 'jpeg' | 'png';\n /**\n * 回调URL,必须以http://或https://开头,长度1-2083字符\n */\n webhook_url?: string;\n /**\n * 回调密钥\n */\n webhook_secret?: string;\n /**\n * 是否启用提示词增强\n * @default false\n */\n prompt_upsampling?: boolean;\n /**\n * 安全容忍度,范围0-6\n * @default 2\n * @range 0 - 6\n */\n safety_tolerance?: number;\n}\n\nexport interface BlackforestlabsFluxKontextProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * blackforestlabs_flux_kontext_pro\n *\n * Black Forest Labs Flux Kontext Pro 图像生成接口\n * \n * Model: flux-kontext-pro (固定模型)\n * Features: 文本生成图像、多图输入编辑功能\n * Input Images: 支持1-4张输入图片(Base64或URL)\n * Aspect Ratio: 支持21:9到9:21范围的宽高比(默认1:1)\n * Output Format: jpeg、png(默认jpeg)\n * Advanced: 支持提示词增强、安全容忍度控制(0-6)、回调通知\n * \n * API Documentation: https://docs.bfl.ai/api-reference/tasks/edit-or-create-an-image-with-flux-kontext-pro\n *\n * @example\n * ```typescript\n * import { initSeacloud, blackforestlabsFluxKontextPro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await blackforestlabsFluxKontextPro({\n * // 参数见 BlackforestlabsFluxKontextProParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 BlackforestlabsFluxKontextProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function blackforestlabsFluxKontextPro(\n params: BlackforestlabsFluxKontextProParams,\n): Promise<BlackforestlabsFluxKontextProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'blackforestlabs_flux_kontext_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: BlackforestlabsFluxKontextProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ElevenlabsTtsGeneratorParams {\n /**\n * 任务唯一标识符\n */\n task_id: string;\n data: {\n /**\n * 要转换为语音的文本内容\n */\n text: string;\n /**\n * 声音ID,默认为Rachel (21m00Tcm4TlvDq8ikWAM)。可选其他声音如:Josh, Bella, Antoni等\n */\n voice_id?: string;\n /**\n * 模型ID,可选值:eleven_monolingual_v1, eleven_multilingual_v1, eleven_multilingual_v2, eleven_turbo_v2等\n */\n model_id?: string;\n /**\n * 输出音频格式,默认mp3_44100_128。可选:mp3_22050_32, mp3_44100_64, mp3_44100_96, mp3_44100_128, mp3_44100_192, pcm_16000, pcm_22050, pcm_24000, pcm_44100, ulaw_8000\n */\n output_format?: string;\n /**\n * 语言代码,如:en, zh, es, fr等\n */\n language_code?: string;\n /**\n * 语音稳定性,范围0-1。值越高语音越稳定,越低则越富有表现力\n * @range 0 - 1\n */\n stability?: number;\n /**\n * 相似度增强,范围0-1。控制声音与原始声音的相似程度\n * @range 0 - 1\n */\n similarity_boost?: number;\n /**\n * 风格强度,范围0-1。控制语音的表现风格\n * @range 0 - 1\n */\n style?: number;\n /**\n * 是否启用说话者增强功能\n */\n use_speaker_boost?: boolean;\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 前置文本,用于提供上下文以获得更自然的语音\n */\n previous_text?: string;\n /**\n * 后续文本,用于提供上下文以获得更自然的语音\n */\n next_text?: string;\n /**\n * 优化流式延迟级别,范围0-4。值越高延迟越低,但可能影响质量\n */\n optimize_streaming_latency?: number;\n /**\n * 发音字典定位器数组,用于自定义发音\n */\n pronunciation_dictionary_locators?: Array<{\n }>;\n };\n}\n\nexport interface ElevenlabsTtsGeneratorResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * elevenlabs_tts_generator\n *\n * <p>使用ElevenLabs AI将文本转换为自然流畅的语音</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, elevenlabsTtsGenerator } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await elevenlabsTtsGenerator({\n * // 参数见 ElevenlabsTtsGeneratorParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ElevenlabsTtsGeneratorParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function elevenlabsTtsGenerator(\n params: ElevenlabsTtsGeneratorParams,\n): Promise<ElevenlabsTtsGeneratorResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 2000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'elevenlabs_tts_generator',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ElevenlabsTtsGeneratorResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleGemini3ProImageParams {\n /**\n * 图像生成提示词,长度必须在1-2500字符之间\n */\n prompt: string;\n /**\n * 输入图像URL列表,最多支持5个图像\n */\n image_urls?: string[];\n /**\n * 图像宽高比,支持: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9\n * @values 1:1 | 2:3 | 3:2 | 3:4 | 4:3 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9\n */\n aspect_ratio?: '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9';\n /**\n * 分辨率,支持: 1K,2K,4K\n * @values 1K | 2K | 4K\n */\n resolution?: '1K' | '2K' | '4K';\n}\n\nexport interface GoogleGemini3ProImageResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_gemini3_pro_image\n *\n * <p>Google Gemini 图像生成实现。</p>\n * <p>Model: google_gemini3_pro_image<br>\n * Features: 文本生成图像 (Text-to-Image), 图像编辑 (Image Editing), 多图像合成 (Multi-Image Composition)<br>\n * Input Images: 最多支持3张图像<br>\n * Aspect Ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, googleGemini3ProImage } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleGemini3ProImage({\n * // 参数见 GoogleGemini3ProImageParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleGemini3ProImageParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleGemini3ProImage(\n params: GoogleGemini3ProImageParams,\n): Promise<GoogleGemini3ProImageResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_gemini3_pro_image',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleGemini3ProImageResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleGeminiImageParams {\n /**\n * 图像生成提示词,长度必须在1-2500字符之间\n */\n prompt: string;\n /**\n * 安全设置\n * @default \"block_few\"\n */\n safety_settings?: string;\n /**\n * 生成配置\n */\n generation_config?: Record<string, any>;\n /**\n * 输入图像URL列表,最多支持3个图像\n */\n image_urls?: string[];\n /**\n * 图像宽高比,支持: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9\n * @values 1:1 | 2:3 | 3:2 | 3:4 | 4:3 | 4:5 | 5:4 | 9:16 | 16:9 | 21:9\n */\n aspect_ratio?: '1:1' | '2:3' | '3:2' | '3:4' | '4:3' | '4:5' | '5:4' | '9:16' | '16:9' | '21:9';\n}\n\nexport interface GoogleGeminiImageResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_gemini_image\n *\n * Google Gemini 图像生成实现。\n * \n * Model: gemini-2.5-flash-image\n * Features: 文本生成图像 (Text-to-Image), 图像编辑 (Image Editing), 多图像合成 (Multi-Image Composition)\n * Input Images: 最多支持3张图像\n * Aspect Ratios: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleGeminiImage } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleGeminiImage({\n * // 参数见 GoogleGeminiImageParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleGeminiImageParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleGeminiImage(\n params: GoogleGeminiImageParams,\n): Promise<GoogleGeminiImageResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_gemini_image',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleGeminiImageResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleImagen4FastGenerateParams {\n /**\n * 图像生成提示词\n */\n prompt: string;\n /**\n * 负面提示词,描述不希望在图像中出现的内容\n */\n negative_prompt?: string;\n /**\n * 图像宽高比\n * @default \"1:1\"\n * @values 1:1 | 9:16 | 16:9 | 3:4 | 4:3\n */\n aspect_ratio?: '1:1' | '9:16' | '16:9' | '3:4' | '4:3';\n /**\n * 人物生成控制\n * @default \"dont_allow\"\n * @values dont_allow | allow_adult | allow_all\n */\n person_generation?: 'dont_allow' | 'allow_adult' | 'allow_all';\n /**\n * 安全过滤级别\n * @default \"BLOCK_MEDIUM_AND_ABOVE\"\n * @values BLOCK_NONE | BLOCK_FEW | BLOCK_SOME | BLOCK_MEDIUM_AND_ABOVE | BLOCK_MOST\n */\n safety_filter_level?: 'BLOCK_NONE' | 'BLOCK_FEW' | 'BLOCK_SOME' | 'BLOCK_MEDIUM_AND_ABOVE' | 'BLOCK_MOST';\n /**\n * 生成图像数量\n * @default 1\n * @range 1 - 4\n */\n number_of_images?: number;\n /**\n * 输出MIME类型\n * @default \"image/png\"\n * @values image/png | image/jpeg\n */\n output_mime_type?: 'image/png' | 'image/jpeg';\n /**\n * 提示词语言\n * @default \"auto\"\n */\n language?: string;\n}\n\nexport interface GoogleImagen4FastGenerateResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_imagen_4_fast_generate\n *\n * Google Imagen 4.0 Fast 图像生成实现。\n * \n * Model: imagen-4.0-fast-generate-001\n * API文档: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api\n * Features: 快速文本生成图像,优化性能\n * Aspect Ratios: 1:1, 9:16, 16:9, 3:4, 4:3\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleImagen4FastGenerate } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleImagen4FastGenerate({\n * // 参数见 GoogleImagen4FastGenerateParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleImagen4FastGenerateParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleImagen4FastGenerate(\n params: GoogleImagen4FastGenerateParams,\n): Promise<GoogleImagen4FastGenerateResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_imagen_4_fast_generate',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleImagen4FastGenerateResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleImagen4GenerateParams {\n /**\n * 图像生成提示词\n */\n prompt: string;\n /**\n * 负面提示词,描述不希望在图像中出现的内容\n */\n negative_prompt?: string;\n /**\n * 图像宽高比\n * @default \"1:1\"\n * @values 1:1 | 9:16 | 16:9 | 3:4 | 4:3\n */\n aspect_ratio?: '1:1' | '9:16' | '16:9' | '3:4' | '4:3';\n /**\n * 人物生成控制\n * @default \"dont_allow\"\n * @values dont_allow | allow_adult | allow_all\n */\n person_generation?: 'dont_allow' | 'allow_adult' | 'allow_all';\n /**\n * 安全过滤级别\n * @default \"BLOCK_MEDIUM_AND_ABOVE\"\n * @values BLOCK_NONE | BLOCK_FEW | BLOCK_SOME | BLOCK_MEDIUM_AND_ABOVE | BLOCK_MOST\n */\n safety_filter_level?: 'BLOCK_NONE' | 'BLOCK_FEW' | 'BLOCK_SOME' | 'BLOCK_MEDIUM_AND_ABOVE' | 'BLOCK_MOST';\n /**\n * 生成图像数量\n * @default 1\n * @range 1 - 4\n */\n number_of_images?: number;\n /**\n * 输出MIME类型\n * @default \"image/png\"\n * @values image/png | image/jpeg\n */\n output_mime_type?: 'image/png' | 'image/jpeg';\n /**\n * 提示词语言\n * @default \"auto\"\n */\n language?: string;\n}\n\nexport interface GoogleImagen4GenerateResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_imagen_4_generate\n *\n * Google Imagen 4.0 图像生成实现。\n * \n * Model: imagen-4.0-generate-001\n * API文档: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api\n * Features: 文本生成图像,支持高级功能\n * Aspect Ratios: 1:1, 9:16, 16:9, 3:4, 4:3\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleImagen4Generate } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleImagen4Generate({\n * // 参数见 GoogleImagen4GenerateParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleImagen4GenerateParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleImagen4Generate(\n params: GoogleImagen4GenerateParams,\n): Promise<GoogleImagen4GenerateResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_imagen_4_generate',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleImagen4GenerateResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleImagen4UltraGenerateParams {\n /**\n * 图像生成提示词\n */\n prompt: string;\n /**\n * 负面提示词,描述不希望在图像中出现的内容\n */\n negative_prompt?: string;\n /**\n * 图像宽高比\n * @default \"1:1\"\n * @values 1:1 | 9:16 | 16:9 | 3:4 | 4:3\n */\n aspect_ratio?: '1:1' | '9:16' | '16:9' | '3:4' | '4:3';\n /**\n * 人物生成控制\n * @default \"dont_allow\"\n * @values dont_allow | allow_adult | allow_all\n */\n person_generation?: 'dont_allow' | 'allow_adult' | 'allow_all';\n /**\n * 安全过滤级别\n * @default \"BLOCK_MEDIUM_AND_ABOVE\"\n * @values BLOCK_NONE | BLOCK_FEW | BLOCK_SOME | BLOCK_MEDIUM_AND_ABOVE | BLOCK_MOST\n */\n safety_filter_level?: 'BLOCK_NONE' | 'BLOCK_FEW' | 'BLOCK_SOME' | 'BLOCK_MEDIUM_AND_ABOVE' | 'BLOCK_MOST';\n /**\n * 生成图像数量\n * @default 1\n * @range 1 - 4\n */\n number_of_images?: number;\n /**\n * 输出MIME类型\n * @default \"image/png\"\n * @values image/png | image/jpeg\n */\n output_mime_type?: 'image/png' | 'image/jpeg';\n /**\n * 提示词语言\n * @default \"auto\"\n */\n language?: string;\n}\n\nexport interface GoogleImagen4UltraGenerateResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_imagen_4_ultra_generate\n *\n * Google Imagen 4.0 Ultra 图像生成实现。\n * \n * Model: imagen-4.0-ultra-generate-001\n * API文档: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api\n * Features: 超高质量文本生成图像,支持高级功能\n * Aspect Ratios: 1:1, 9:16, 16:9, 3:4, 4:3\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleImagen4UltraGenerate } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleImagen4UltraGenerate({\n * // 参数见 GoogleImagen4UltraGenerateParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleImagen4UltraGenerateParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleImagen4UltraGenerate(\n params: GoogleImagen4UltraGenerateParams,\n): Promise<GoogleImagen4UltraGenerateResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_imagen_4_ultra_generate',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleImagen4UltraGenerateResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A serene beach at sunset with waves gently crashing on the shore\",\n * \"durationSeconds\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"enhancePrompt\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * ```\n */\nexport interface GoogleVeo20Generate001Params {\n /**\n * 视频生成提示词(必填),描述要生成的视频内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 输入图像(可选),用于I2V模式,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n image?: string | any;\n /**\n * 输入视频(可选),用于视频延长模式,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n video?: string | any;\n /**\n * 视频最后一帧图像(可选),用于视频延长模式,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n lastFrame?: string | any;\n /**\n * 负向提示词(可选),描述不希望出现的内容\n */\n negativePrompt?: string;\n /**\n * 视频时长(秒),支持5、6、7、8秒,默认5秒\n * @default 5\n * @values 5 | 6 | 7 | 8\n */\n durationSeconds?: 5 | 6 | 7 | 8;\n /**\n * 视频宽高比,支持: 9:16(竖屏), 16:9(横屏),默认16:9\n * @default \"16:9\"\n * @values 9:16 | 16:9\n */\n aspectRatio?: '9:16' | '16:9';\n /**\n * 是否自动增强提示词,启用后会优化提示词以获得更好效果,默认true\n * @default true\n */\n enhancePrompt?: boolean;\n /**\n * 人物生成设置,dont_allow(不允许生成人物), allow_adult(允许生成成年人),默认allow_adult\n * @default \"allow_adult\"\n * @values dont_allow | allow_adult\n */\n personGeneration?: 'dont_allow' | 'allow_adult';\n /**\n * 生成样本数量,范围1-4,默认1\n * @default 1\n * @range 1 - 4\n */\n sampleCount?: number;\n /**\n * 随机种子,用于可重现的生成结果,范围0-4294967295\n * @range 0 - 4294967295\n */\n seed?: number;\n /**\n * 存储URI(可选),用于指定Google Cloud Storage存储位置(如gs://bucket/path),未指定时返回base64编码\n */\n storageUri?: string;\n}\n\nexport interface GoogleVeo20Generate001Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_20_generate_001\n *\n * Google Veo 2.0 视频生成接口,支持文本到视频(T2V)、图像到视频(I2V)和视频延长三种模式。\n * \n * Model: veo-2.0-generate-001\n * Features:\n * - 文本到视频(T2V): 仅提供prompt\n * - 图像到视频(I2V): 提供prompt和image\n * - 视频延长: 提供prompt、video和lastFrame\n * - 支持5-8秒视频时长\n * - 支持9:16和16:9两种宽高比\n * - 支持批量生成1-4个样本\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo20Generate001 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo20Generate001(\n * {\n * \"prompt\": \"A serene beach at sunset with waves gently crashing on the shore\",\n * \"durationSeconds\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"enhancePrompt\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo20Generate001Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo20Generate001(\n params: GoogleVeo20Generate001Params,\n): Promise<GoogleVeo20Generate001Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_20_generate_001',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo20Generate001Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A serene lake surrounded by mountains at sunset, with gentle waves and reflections\",\n * \"durationSeconds\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"enhancePrompt\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * ```\n */\nexport interface GoogleVeo20GenerateExpParams {\n /**\n * 视频生成提示词,描述要生成的视频内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 输入图像,用于图像到视频(I2V)模式,支持URL、base64数据(data:image/...格式)或包含bytesBase64Encoded/gcsUri的对象\n */\n image?: string | any;\n /**\n * 参考图像列表,用于引导视频生成风格或包含特定素材,最多3张素材或1张风格图像\n */\n referenceImages?: Array<{\n /**\n * 参考图像,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n image: string | any;\n /**\n * 参考类型,可选值:asset(素材,最多3张)或 style(风格,最多1张),默认asset\n * @default \"asset\"\n * @values asset | style\n */\n referenceType?: 'asset' | 'style';\n }>;\n /**\n * 负向提示词,描述不希望在视频中出现的内容\n */\n negativePrompt?: string;\n /**\n * 视频时长(秒),支持5、6、7或8秒,默认5秒\n * @default 5\n * @values 5 | 6 | 7 | 8\n */\n durationSeconds?: 5 | 6 | 7 | 8;\n /**\n * 视频宽高比,支持9:16(竖屏)或16:9(横屏),默认16:9\n * @default \"16:9\"\n * @values 9:16 | 16:9\n */\n aspectRatio?: '9:16' | '16:9';\n /**\n * 是否启用提示词增强,开启后会自动优化和扩展提示词,默认true\n * @default true\n */\n enhancePrompt?: boolean;\n /**\n * 人物生成设置,可选值:dont_allow(不允许生成人物)或 allow_adult(允许生成成年人),默认allow_adult\n * @default \"allow_adult\"\n * @values dont_allow | allow_adult\n */\n personGeneration?: 'dont_allow' | 'allow_adult';\n /**\n * 生成样本数量,控制一次生成多少个视频,范围1-4,默认1\n * @default 1\n * @range 1 - 4\n */\n sampleCount?: number;\n /**\n * 随机种子,用于生成可重复的结果,范围0-4294967295\n * @range 0 - 4294967295\n */\n seed?: number;\n /**\n * GCS存储URI,用于指定视频存储位置,格式如 gs://bucket-name/path/。如不指定则返回base64编码的视频\n */\n storageUri?: string;\n}\n\nexport interface GoogleVeo20GenerateExpResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_20_generate_exp\n *\n * Google Veo 2.0 Generate Exp 视频生成接口,支持文本到视频(T2V)、图像到视频(I2V)和参考图像生成。\n * \n * Model: veo-2.0-generate-exp\n * Features:\n * - 文本到视频生成(T2V)\n * - 图像到视频生成(I2V)\n * - 支持参考图像(素材或风格)\n * - 可自定义视频时长(5-8秒)\n * - 支持多种宽高比\n * - 提示词增强功能\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo20GenerateExp } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo20GenerateExp(\n * {\n * \"prompt\": \"A serene lake surrounded by mountains at sunset, with gentle waves and reflections\",\n * \"durationSeconds\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"enhancePrompt\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo20GenerateExpParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo20GenerateExp(\n params: GoogleVeo20GenerateExpParams,\n): Promise<GoogleVeo20GenerateExpResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_20_generate_exp',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo20GenerateExpResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleVeo20GeneratePreviewParams {\n /**\n * 视频生成提示词,长度不超过2000字符\n */\n prompt: string;\n /**\n * 输入图像,用于I2V模式,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n image?: string | any;\n /**\n * 负向提示词\n */\n negativePrompt?: string;\n /**\n * 视频时长(秒),支持5、6、7或8秒,默认5秒\n * @default 5\n * @values 5 | 6 | 7 | 8\n */\n durationSeconds?: 5 | 6 | 7 | 8;\n /**\n * 视频宽高比,支持: 9:16, 16:9,默认16:9\n * @default \"16:9\"\n * @values 9:16 | 16:9\n */\n aspectRatio?: '9:16' | '16:9';\n /**\n * 是否增强提示词,默认true\n * @default true\n */\n enhancePrompt?: boolean;\n /**\n * 人物生成设置,支持: dont_allow(不允许), allow_adult(允许成年人),默认allow_adult\n * @default \"allow_adult\"\n * @values dont_allow | allow_adult\n */\n personGeneration?: 'dont_allow' | 'allow_adult';\n /**\n * 生成样本数量,范围1-4,默认1\n * @default 1\n * @range 1 - 4\n */\n sampleCount?: number;\n /**\n * 随机种子,范围0-4294967295\n * @range 0 - 4294967295\n */\n seed?: number;\n /**\n * 存储URI,用于指定GCS存储位置,默认返回base64编码\n */\n storageUri?: string;\n}\n\nexport interface GoogleVeo20GeneratePreviewResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_20_generate_preview\n *\n * Google Veo 2.0 Generate Preview 视频生成器\n * \n * Video generation implementation for Google Vertex AI Veo 2.0 Preview API.\n * \n * Model: veo-2.0-generate-preview\n * Features: 文字生成视频 (T2V) 和图像生成视频 (I2V)\n * Duration: 5-8秒\n * Aspect Ratio: 9:16, 16:9\n * \n * API Documentation: https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/veo-video-generation\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo20GeneratePreview } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo20GeneratePreview({\n * // 参数见 GoogleVeo20GeneratePreviewParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo20GeneratePreviewParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo20GeneratePreview(\n params: GoogleVeo20GeneratePreviewParams,\n): Promise<GoogleVeo20GeneratePreviewResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_20_generate_preview',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo20GeneratePreviewResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleVeo30FastGenerate001Params {\n /**\n * 视频生成提示词,长度不超过2000字符\n */\n prompt: string;\n /**\n * 输入图像,用于I2V模式,支持URL、base64数据或包含bytesBase64Encoded/gcsUri的对象\n */\n image?: string | any;\n /**\n * 负向提示词\n */\n negativePrompt?: string;\n /**\n * 视频时长(秒),支持4、6或8秒,默认6秒(快速生成使用较短时长)\n */\n durationSeconds?: number;\n /**\n * 视频宽高比,支持: 9:16, 16:9,默认16:9\n */\n aspectRatio?: string;\n /**\n * 视频分辨率,支持: 720p, 1080p,默认720p(快速生成使用较低分辨率)\n */\n resolution?: string;\n /**\n * 压缩质量,支持: optimized(优化), lossless(无损),默认optimized(快速生成使用优化压缩)\n */\n compressionQuality?: string;\n /**\n * 是否增强提示词,默认true\n */\n enhancePrompt?: boolean;\n /**\n * 是否生成音频(Veo 3.0新增功能)\n */\n generateAudio?: boolean;\n /**\n * 人物生成设置,支持: dont_allow(不允许), allow_adult(允许成年人),默认allow_adult\n */\n personGeneration?: string;\n /**\n * 生成样本数量,范围1-4,默认1(快速生成最多限制2个)\n */\n sampleCount?: number;\n /**\n * 随机种子,范围0-4294967295\n */\n seed?: number;\n /**\n * 存储URI,用于指定GCS存储位置,默认返回base64编码\n */\n storageUri?: string;\n}\n\nexport interface GoogleVeo30FastGenerate001Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_30_fast_generate_001\n *\n * Google Veo 3.0 Fast Generate 001 快速视频生成接口\n * \n * Model: veo-3.0-fast-generate-001 (固定模型)\n * Features: 快速视频生成功能,支持文本到视频(T2V)和图像到视频(I2V)\n * Duration: 4、6或8秒(默认6秒,针对快速生成优化)\n * Resolution: 720p、1080p(默认720p,快速生成使用较低分辨率)\n * Aspect Ratio: 9:16、16:9(默认16:9)\n * Sample Count: 1-4个(默认1个,快速生成推荐1-2个)\n * Advanced: 支持提示词增强、音频生成、人物生成控制、压缩质量设置(优化/无损)\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo30FastGenerate001 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo30FastGenerate001({\n * // 参数见 GoogleVeo30FastGenerate001Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo30FastGenerate001Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo30FastGenerate001(\n params: GoogleVeo30FastGenerate001Params,\n): Promise<GoogleVeo30FastGenerate001Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_30_fast_generate_001',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo30FastGenerate001Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A cinematic view of a bustling city street at night with neon lights and rain\",\n * \"durationSeconds\": 8,\n * \"aspectRatio\": \"16:9\",\n * \"resolution\": \"1080p\",\n * \"compressionQuality\": \"optimized\",\n * \"enhancePrompt\": true,\n * \"generateAudio\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * ```\n */\nexport interface GoogleVeo30Generate001Params {\n /**\n * 视频生成提示词,描述要生成的视频内容,长度不超过2000字符\n */\n prompt: string;\n /**\n * 输入图像,用于图像到视频(I2V)模式,支持URL、base64数据(data:image/...格式)或包含bytesBase64Encoded/gcsUri的对象\n */\n image?: string | any;\n /**\n * 负向提示词,描述不希望在视频中出现的内容\n */\n negativePrompt?: string;\n /**\n * 视频时长(秒),支持4、6或8秒,默认8秒\n * @default 8\n * @values 4 | 6 | 8\n */\n durationSeconds?: 4 | 6 | 8;\n /**\n * 视频宽高比,支持9:16(竖屏)或16:9(横屏),默认16:9\n * @default \"16:9\"\n * @values 9:16 | 16:9\n */\n aspectRatio?: '9:16' | '16:9';\n /**\n * 视频分辨率,支持720p或1080p,默认720p。Veo 3.0新增功能,用于控制输出视频的清晰度\n * @default \"720p\"\n * @values 720p | 1080p\n */\n resolution?: '720p' | '1080p';\n /**\n * 压缩质量,可选值:optimized(优化,较小文件)或 lossless(无损,较大文件),默认optimized\n * @default \"optimized\"\n * @values optimized | lossless\n */\n compressionQuality?: 'optimized' | 'lossless';\n /**\n * 是否启用提示词增强,开启后会自动优化和扩展提示词,默认true\n * @default true\n */\n enhancePrompt?: boolean;\n /**\n * 是否生成音频,Veo 3.0新增功能,可为视频生成配套音频,默认true\n * @default true\n */\n generateAudio?: boolean;\n /**\n * 人物生成设置,可选值:dont_allow(不允许生成人物)或 allow_adult(允许生成成年人),默认allow_adult\n * @default \"allow_adult\"\n * @values dont_allow | allow_adult\n */\n personGeneration?: 'dont_allow' | 'allow_adult';\n /**\n * 生成样本数量,控制一次生成多少个视频,范围1-4,默认1\n * @default 1\n * @range 1 - 4\n */\n sampleCount?: number;\n /**\n * 随机种子,用于生成可重复的结果,范围0-4294967295\n * @range 0 - 4294967295\n */\n seed?: number;\n /**\n * GCS存储URI,用于指定视频存储位置,格式如 gs://bucket-name/path/。如不指定则返回base64编码的视频\n */\n storageUri?: string;\n}\n\nexport interface GoogleVeo30Generate001Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_30_generate_001\n *\n * Google Veo 3.0 Generate 001 视频生成接口,支持文本到视频(T2V)和图像到视频(I2V)生成,提供分辨率和压缩选项。\n * \n * Model: veo-3.0-generate-001\n * Features:\n * - 文本到视频生成(T2V)\n * - 图像到视频生成(I2V)\n * - 支持720p和1080p分辨率\n * - 可选压缩质量(优化或无损)\n * - 音频生成功能(Veo 3.0新增)\n * - 提示词增强功能\n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo30Generate001 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo30Generate001(\n * {\n * \"prompt\": \"A cinematic view of a bustling city street at night with neon lights and rain\",\n * \"durationSeconds\": 8,\n * \"aspectRatio\": \"16:9\",\n * \"resolution\": \"1080p\",\n * \"compressionQuality\": \"optimized\",\n * \"enhancePrompt\": true,\n * \"generateAudio\": true,\n * \"personGeneration\": \"allow_adult\",\n * \"sampleCount\": 1\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo30Generate001Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo30Generate001(\n params: GoogleVeo30Generate001Params,\n): Promise<GoogleVeo30Generate001Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_30_generate_001',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo30Generate001Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface GoogleVeo31Params {\n /**\n * 视频生成提示词,长度必须在1-2000字符之间\n */\n prompt: string;\n /**\n * 视频时长(秒),必须是4、6或8\n * @default 8\n * @values 4 | 6 | 8\n */\n durationSeconds?: 4 | 6 | 8;\n /**\n * 视频宽高比\n * @default \"16:9\"\n * @values 9:16 | 16:9\n */\n aspectRatio?: '9:16' | '16:9';\n /**\n * 视频分辨率\n * @default \"720p\"\n * @values 720p | 1080p\n */\n resolution?: '720p' | '1080p';\n /**\n * 压缩质量\n * @default \"optimized\"\n * @values optimized | lossless\n */\n compressionQuality?: 'optimized' | 'lossless';\n /**\n * 人物生成设置\n * @default \"allow_adult\"\n * @values dont_allow | allow_adult\n */\n personGeneration?: 'dont_allow' | 'allow_adult';\n /**\n * 生成样本数,范围1-4\n * @default 1\n * @range 1 - 4\n */\n sampleCount?: number;\n /**\n * 随机种子,范围0-4294967295\n */\n seed?: number;\n /**\n * 负面提示词\n */\n negativePrompt?: string;\n /**\n * 是否生成音频\n */\n generateAudio?: boolean;\n /**\n * 是否增强提示词\n */\n enhancePrompt?: boolean;\n /**\n * 存储URI\n */\n storageUri?: string;\n /**\n * 输入图像,URL或Base64编码\n */\n image?: string;\n /**\n * 最后一帧图像,URL或Base64编码\n */\n lastFrame?: string;\n /**\n * 输入视频,URL或Base64编码\n */\n video?: string;\n /**\n * 参考图像列表,最多3个\n */\n referenceImages?: Array<{\n /**\n * 参考图像,URL或Base64编码\n */\n image?: string;\n /**\n * 参考类型\n * @values asset | style\n */\n referenceType?: 'asset' | 'style';\n }>;\n}\n\nexport interface GoogleVeo31Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * google_veo_31\n *\n * Google Veo 3.1 Video Generation\n * \n * Video generation implementation for Google Vertex AI Veo API.\n * \n * Model: veo-3.1-generate-preview\n * Features: 文字生成视频 (T2V) 和图像生成视频 (I2V),支持参考图像\n * Duration: 4、6、8秒\n * Resolution: 720p, 1080p\n * Aspect Ratio: 9:16, 16:9\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, googleVeo31 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await googleVeo31({\n * // 参数见 GoogleVeo31Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 GoogleVeo31Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function googleVeo31(\n params: GoogleVeo31Params,\n): Promise<GoogleVeo31Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'google_veo_31',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: GoogleVeo31Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingAvatarParams {\n /**\n * 数字人图片,支持URL或Base64格式\n */\n image: string;\n /**\n * 音频ID,与sound_file二选一。不能同时提供audio_id和sound_file\n */\n audio_id?: string;\n /**\n * 音频文件URL或Base64,与audio_id二选一。不能同时提供audio_id和sound_file\n */\n sound_file?: string;\n /**\n * 文本提示词,可选参数\n */\n prompt?: string;\n /**\n * 生成模式\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 外部任务ID,用于关联外部系统\n */\n external_task_id?: string;\n}\n\nexport interface KlingAvatarResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_avatar\n *\n * API Documentation: https://app.klingai.com/cn/dev/document-api/apiReference/model/avatar\n * \n * Kling AI 数字人视频生成接口,支持通过图片和音频生成数字人视频。\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingAvatar } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingAvatar({\n * // 参数见 KlingAvatarParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingAvatarParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingAvatar(\n params: KlingAvatarParams,\n): Promise<KlingAvatarResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_avatar',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingAvatarResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"video_url\": \"https://example.com/input_video.mp4\",\n * \"duration\": \"10\",\n * \"aspect_ratio\": \"16:9\",\n * \"extension_type\": \"forward\",\n * \"seed\": 42\n * }\n * ```\n */\nexport interface KlingDurationExtensionParams {\n /**\n * 视频URL(必填),必须是有效的HTTP或HTTPS URL\n */\n video_url: string;\n /**\n * 目标扩展时长(必填),支持: \"5\"(5秒)或 \"10\"(10秒),也可以是整数 5 或 10\n */\n duration: string | any;\n /**\n * 视频宽高比(可选),支持: 16:9(横屏), 9:16(竖屏), 1:1(方形)\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 扩展类型(可选),支持: forward(前向扩展), backward(后向扩展), both(双向扩展)\n * @values forward | backward | both\n */\n extension_type?: 'forward' | 'backward' | 'both';\n /**\n * 视频质量参数(可选)\n */\n quality?: string;\n /**\n * 随机种子(可选),用于可重现的生成结果\n */\n seed?: number;\n /**\n * 外部任务ID(可选),用于关联外部系统的任务\n */\n external_task_id?: string;\n}\n\nexport interface KlingDurationExtensionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_duration_extension\n *\n * Kling AI 视频时长扩展接口,支持对现有视频进行前向、后向或双向时长扩展。\n * \n * Model: kling-duration-extension\n * Features:\n * - 支持将视频扩展到5秒或10秒\n * - 支持三种宽高比:16:9(横屏)、9:16(竖屏)、1:1(方形)\n * - 支持三种扩展模式:forward(前向扩展)、backward(后向扩展)、both(双向扩展)\n * - 支持自定义随机种子\n * - 异步任务处理,自动轮询获取结果\n * - JWT Token 认证\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingDurationExtension } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingDurationExtension(\n * {\n * \"video_url\": \"https://example.com/input_video.mp4\",\n * \"duration\": \"10\",\n * \"aspect_ratio\": \"16:9\",\n * \"extension_type\": \"forward\",\n * \"seed\": 42\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingDurationExtensionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingDurationExtension(\n params: KlingDurationExtensionParams,\n): Promise<KlingDurationExtensionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_duration_extension',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingDurationExtensionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingEffectsMultiV1Params {\n /**\n * 输入参数\n */\n input: {\n /**\n * 输入图像URL列表,必须包含2个图像\n */\n images: string[];\n /**\n * 视频时长,必须为正数\n */\n duration: number;\n };\n /**\n * 特效场景,可选值:'hug'、'kiss'、'heart_gesture'\n * @values hug | kiss | heart_gesture\n */\n effect_scene: 'hug' | 'kiss' | 'heart_gesture';\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingEffectsMultiV1Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_effects_multi_v1\n *\n * Kling AI Multi Person Video Effects Generator (V1 Model)\n * \n * Multi person video effects generation implementation for Kling AI API using V1 model.\n * \n * Model: kling-v1\n * Features: 多人视频特效 (拥抱/亲吻/比心)\n * Effect Scenes: hug, kiss, heart_gesture\n * Input: 2张图像\n * \n * API Documentation: https://app.klingai.com/cn/dev/document-api/apiReference/model/videoEffects\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingEffectsMultiV1 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingEffectsMultiV1({\n * // 参数见 KlingEffectsMultiV1Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingEffectsMultiV1Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingEffectsMultiV1(\n params: KlingEffectsMultiV1Params,\n): Promise<KlingEffectsMultiV1Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_effects_multi_v1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingEffectsMultiV1Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingEffectsMultiV15Params {\n /**\n * 输入参数\n */\n input: {\n /**\n * 输入图像URL列表,必须包含2个图像\n */\n images: string[];\n /**\n * 视频时长,必须为正数\n */\n duration: number;\n };\n /**\n * 特效场景,可选值:'hug'、'kiss'、'heart_gesture'\n * @values hug | kiss | heart_gesture\n */\n effect_scene: 'hug' | 'kiss' | 'heart_gesture';\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingEffectsMultiV15Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_effects_multi_v15\n *\n * Kling AI Multi Person Video Effects Generator (V1.5 Model)\n * \n * Multi person video effects generation implementation for Kling AI API using V1.5 model.\n * \n * Model: kling-v1-5 (固定模型)\n * Features: 多人视频特效生成功能\n * Effect Scenes: hug(拥抱)、kiss(亲吻)、heart_gesture(比心)\n * Input: 必须提供2张输入图像URL\n * Duration: 必须指定正数视频时长\n * Advanced: 支持回调URL通知、外部任务ID关联\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingEffectsMultiV15 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingEffectsMultiV15({\n * // 参数见 KlingEffectsMultiV15Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingEffectsMultiV15Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingEffectsMultiV15(\n params: KlingEffectsMultiV15Params,\n): Promise<KlingEffectsMultiV15Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_effects_multi_v15',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingEffectsMultiV15Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingEffectsMultiV16Params {\n /**\n * 输入参数\n */\n input: {\n /**\n * 输入图像URL列表,必须包含2个图像\n */\n images: string[];\n /**\n * 视频时长,必须为正数\n */\n duration: number;\n };\n /**\n * 特效场景,可选值:'hug'、'kiss'、'heart_gesture'、'fight'\n * @values hug | kiss | heart_gesture | fight\n */\n effect_scene: 'hug' | 'kiss' | 'heart_gesture' | 'fight';\n}\n\nexport interface KlingEffectsMultiV16Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_effects_multi_v16\n *\n * Kling AI Multi Person Video Effects Generator (V1.6 Model)\n * \n * Model: kling-v1-6\n * Features: 多人互动特效视频生成 (Multi Person Video Effects)\n * Effect Scenes: hug(拥抱), kiss(亲吻), heart_gesture(比心), fight(打架)\n * Input Images: 必须包含2个图像\n * \n * API Documentation: https://app.klingai.com/cn/dev/document-api/apiReference/model/videoEffects\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingEffectsMultiV16 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingEffectsMultiV16({\n * // 参数见 KlingEffectsMultiV16Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingEffectsMultiV16Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingEffectsMultiV16(\n params: KlingEffectsMultiV16Params,\n): Promise<KlingEffectsMultiV16Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_effects_multi_v16',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingEffectsMultiV16Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"effect_scene\": \"hug\",\n * \"input\": {\n * \"images\": [\n * \"https://example.com/person.jpg\"\n * ],\n * \"duration\": 5\n * }\n * }\n * ```\n */\nexport interface KlingEffectsSingleParams {\n /**\n * 特效场景,必填参数。支持100多种单人互动特效,包括: baseball(棒球), inner_voice(内心独白), a_list_look(名人效应), memory_alive(记忆复活), trampoline(蹦床), trampoline_night(夜间蹦床), pucker_up(嘟嘴), guess_what(猜猜看), feed_mooncake(喂月饼), rampage_ape(暴走猿), flyer(传单), dishwasher(洗碗机), pet_chinese_opera(宠物戏曲), magic_fireball(魔法火球), gallery_ring(画廊戒指), pet_moto_rider(宠物骑士), muscle_pet(肌肉宠物), squeeze_scream(挤压尖叫), pet_delivery(宠物快递), running_man(奔跑吧), disappear(消失), mythic_style(神话风格), steampunk(蒸汽朋克), c4d_cartoon(C4D卡通), 3d_cartoon_1(3D卡通1), 3d_cartoon_2(3D卡通2), eagle_snatch(鹰抓), hug_from_past(来自过去的拥抱), firework(烟花), media_interview(媒体采访), pet_lion(宠物狮子), pet_chef(宠物厨师), santa_gifts(圣诞礼物), santa_hug(圣诞拥抱), girlfriend(女朋友), boyfriend(男朋友), heart_gesture_1(比心1), pet_wizard(宠物巫师), smoke_smoke(烟雾), thumbs_up(点赞), instant_kid(瞬间小孩), dollar_rain(美元雨), cry_cry(哭泣), building_collapse(建筑倒塌), gun_shot(枪击), mushroom(蘑菇), double_gun(双枪), pet_warrior(宠物战士), lightning_power(闪电力量), jesus_hug(耶稣拥抱), shark_alert(鲨鱼警报), long_hair(长发), lie_flat(躺平), polar_bear_hug(北极熊拥抱), brown_bear_hug(棕熊拥抱), jazz_jazz(爵士), office_escape_plow(办公室逃脱), fly_fly(飞行), watermelon_bomb(西瓜炸弹), pet_dance(宠物舞蹈), boss_coming(老板来了), wool_curly(羊毛卷), pet_bee(宠物蜜蜂), marry_me(嫁给我), swing_swing(秋千), day_to_night(日转夜), piggy_morph(小猪变形), wig_out(假发), car_explosion(汽车爆炸), ski_ski(滑雪), tiger_hug(老虎拥抱), siblings(兄弟姐妹), construction_worker(建筑工人), let's_ride(骑行), snatched(抢夺), magic_broom(魔法扫帚), felt_felt(毛毡), jumpdrop(跳落), celebration(庆祝), splashsplash(飞溅), surfsurf(冲浪), fairy_wing(仙女翅膀), angel_wing(天使翅膀), dark_wing(黑暗翅膀), skateskate(滑板), plushcut(毛绒切割), jelly_press(果冻挤压), jelly_slice(果冻切片), jelly_squish(果冻挤压), jelly_jiggle(果冻抖动), pixelpixel(像素), yearbook(年鉴), instant_film(即时胶片), anime_figure(动漫人物), rocketrocket(火箭), bloombloom(绽放), dizzydizzy(眩晕), fuzzyfuzzy(模糊), squish(挤压), expansion(扩张), hug(拥抱), kiss(亲吻), heart_gesture(比心), fight(打斗)等\n */\n effect_scene: string;\n /**\n * 输入对象,必填参数,包含图像URL列表和视频时长\n */\n input: {\n /**\n * 图像URL列表,必填参数,每个URL必须是有效的HTTP或HTTPS地址\n */\n images: string[];\n /**\n * 视频时长(秒),必填参数,必须为正数\n */\n duration: number;\n };\n /**\n * 外部任务ID,可选参数,用于关联外部系统的任务\n */\n external_task_id?: string;\n}\n\nexport interface KlingEffectsSingleResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_effects_single\n *\n * Kling AI 单人视频特效生成接口,支持棒球、内心独白、记忆复活、蹦床、猜猜看等100多种单人互动特效场景。\n * \n * Model: kling-effects-single\n * Features:\n * - 100多种单人互动特效场景\n * - 支持人物与虚拟元素互动\n * - 自定义视频时长\n * - 高质量特效渲染\n * \n * API Documentation: https://app.klingai.com/cn/dev/document-api/apiReference/model/videoEffects\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingEffectsSingle } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingEffectsSingle(\n * {\n * \"effect_scene\": \"hug\",\n * \"input\": {\n * \"images\": [\n * \"https://example.com/person.jpg\"\n * ],\n * \"duration\": 5\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingEffectsSingleParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingEffectsSingle(\n params: KlingEffectsSingleParams,\n): Promise<KlingEffectsSingleResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_effects_single',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingEffectsSingleResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"input\": {\n * \"mode\": \"text2video\",\n * \"video_url\": \"https://example.com/input_video.mp4\",\n * \"text\": \"Hello, this is a lip sync test.\",\n * \"voice_id\": \"voice_001\",\n * \"voice_language\": \"en\",\n * \"voice_speed\": 1\n * }\n * }\n * ```\n */\nexport interface KlingLipsyncParams {\n /**\n * 输入参数对象(必填)\n */\n input: {\n /**\n * 生成模式(必填),支持: text2video(文本到视频), audio2video(音频到视频)\n * @values text2video | audio2video\n */\n mode: 'text2video' | 'audio2video';\n /**\n * 视频ID(与video_url二选一,不能同时指定)\n */\n video_id?: string;\n /**\n * 视频URL(与video_id二选一,不能同时指定),必须是有效的HTTP或HTTPS URL\n */\n video_url?: string;\n /**\n * 文本内容(text2video模式必填),最大长度120字符\n */\n text?: string;\n /**\n * 声音ID(text2video模式必填)\n */\n voice_id?: string;\n /**\n * 声音语言(text2video模式必填),支持: zh(中文), en(英文)\n * @values zh | en\n */\n voice_language?: 'zh' | 'en';\n /**\n * 声音速度(可选),范围0.8-2.0,默认1.0\n * @range 0.8 - 2\n */\n voice_speed?: number;\n /**\n * 音频类型(audio2video模式必填),支持: file(文件), url(URL)\n * @values file | url\n */\n audio_type?: 'file' | 'url';\n /**\n * 音频文件(audio_type为file时必填)\n */\n audio_file?: string;\n /**\n * 音频URL(audio_type为url时必填),必须是有效的HTTP或HTTPS URL\n */\n audio_url?: string;\n };\n}\n\nexport interface KlingLipsyncResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_lipsync\n *\n * Kling AI 唇形同步生成接口,支持文本到视频(text2video)和音频到视频(audio2video)两种模式。\n * \n * Model: kling-lipsync\n * Features:\n * - 文本到视频(text2video): 根据文本和声音ID生成唇形同步视频\n * - 支持中文和英文\n * - 文本长度最多120字符\n * - 支持调节声音速度(0.8-2.0倍)\n * - 音频到视频(audio2video): 根据音频文件或URL生成唇形同步视频\n * - 支持音频文件上传\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingLipsync } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingLipsync(\n * {\n * \"input\": {\n * \"mode\": \"text2video\",\n * \"video_url\": \"https://example.com/input_video.mp4\",\n * \"text\": \"Hello, this is a lip sync test.\",\n * \"voice_id\": \"voice_001\",\n * \"voice_language\": \"en\",\n * \"voice_speed\": 1\n * }\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingLipsyncParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingLipsync(\n params: KlingLipsyncParams,\n): Promise<KlingLipsyncResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_lipsync',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingLipsyncResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingOmniImageParams {\n /**\n * 图片生成提示词,最多2500字符\n * @length 0 - 2500\n */\n prompt: string;\n /**\n * 参考图片列表,支持URL或base64格式,URL会自动转换为base64\n */\n image_list?: Array<{\n /**\n * 图片URL或base64数据\n */\n image?: string;\n /**\n * 图片URL(兼容字段)\n */\n image_url?: string;\n }>;\n /**\n * 图片分辨率,可选值: 1k, 2k\n * @values 1k | 2k | 4k\n */\n resolution?: '1k' | '2k' | '4k';\n /**\n * 生成图片数量,范围1-9\n * @default 1\n * @range 1 - 9\n */\n n?: number;\n /**\n * 图片宽高比\n */\n aspect_ratio?: string;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingOmniImageResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_omni_image\n *\n * <p>Kling AI Omni Image 多模态图片生成接口,支持文本提示词和参考图片输入</p>\n * <p>API Documentation: <a href=\"https://docs.qingque.cn/d/home/eZQCRUy_LWt70n5Wz2sTiLV6J?identityId=2LKTadU2MSa#section=h.hhdxwtuxzvyf\">https://docs.qingque.cn/d/home/eZQCRUy_LWt70n5Wz2sTiLV6J?identityId=2LKTadU2MSa#section=h.hhdxwtuxzvyf</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingOmniImage } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingOmniImage({\n * // 参数见 KlingOmniImageParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingOmniImageParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingOmniImage(\n params: KlingOmniImageParams,\n): Promise<KlingOmniImageResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_omni_image',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingOmniImageResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingOmniVideoParams {\n /**\n * 视频生成提示词,最多2500字符\n * @length 0 - 2500\n */\n prompt: string;\n /**\n * 参考图片列表,支持URL或base64格式,URL会自动转换为base64\n */\n image_list?: Array<{\n /**\n * 图片URL或base64数据\n */\n image_url?: string;\n /**\n * 图片URL或base64数据(兼容字段)\n */\n image?: string;\n /**\n * 图片类型,如first_frame(首帧)或end_frame(尾帧)\n * @values first_frame | end_frame\n */\n type?: 'first_frame' | 'end_frame';\n }>;\n /**\n * 参考视频列表,通过URL方式获取 ● 可作为特征参考视频,也可作为待编辑视频,默认为待编辑视频 ● 通过refer_type参数区分参考视频类型: feature为特征参考视频,base为待编辑视频 ● 参考视频为待编辑视频时,不能定义视频首尾帧 ● 通过keep_original_sound参数选择是否保留视频原声,yes为保留,no为不保留(对feature和base类型均生效) ● 视频格式仅支持MP4/MOV ● 仅支持时长≥3秒且≤10秒的视频 ● 视频宽高尺寸需介于720px(含)和2160px(含)之间 ● 视频帧率基于24fps~60fps,生成视频时会输出为24fps ● 至多仅支持上传1段视频,视频大小不超过200MB\n */\n video_list?: Array<{\n /**\n * 视频URL地址,支持MP4/MOV格式\n */\n video_url: string;\n /**\n * 参考视频类型: feature(特征参考视频)或base(待编辑视频),默认为base\n * @default \"base\"\n * @values feature | base\n */\n refer_type?: 'feature' | 'base';\n /**\n * 是否保留视频原声: yes(保留)或no(不保留)\n * @values yes | no\n */\n keep_original_sound?: 'yes' | 'no';\n }>;\n /**\n * 自定义元素列表\n */\n element_list?: Array<{\n }>;\n /**\n * 生成模式,Omni仅支持pro模式\n * @values pro\n */\n mode?: 'pro';\n /**\n * 视频宽高比,除参考外,必填\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 视频时长(秒),Omni支持3-10秒\n * @range 3 - 10\n */\n duration?: number;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingOmniVideoResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_omni_video\n *\n * <p>Kling AI Omni Video 多模态视频生成接口,支持文本、图片、视频和自定义元素等多模态输入</p>\n * <p>API Documentation: <a href=\"https://docs.qingque.cn/d/home/eZQCRUy_LWt70n5Wz2sTiLV6J?identityId=2LKTadU2MSa#section=h.hhdxwtuxzvyf\">https://docs.qingque.cn/d/home/eZQCRUy_LWt70n5Wz2sTiLV6J?identityId=2LKTadU2MSa#section=h.hhdxwtuxzvyf</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingOmniVideo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingOmniVideo({\n * // 参数见 KlingOmniVideoParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingOmniVideoParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingOmniVideo(\n params: KlingOmniVideoParams,\n): Promise<KlingOmniVideoResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_omni_video',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingOmniVideoResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV1Params {\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt: string;\n /**\n * 视频时长(秒),可选值为5秒或10秒\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 负面提示词\n */\n negative_prompt?: string;\n /**\n * 提示词相关性强度\n */\n cfg_scale?: number;\n /**\n * 生成模式,标准(std)或专业(pro),默认std\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化。当type设置为simple时为必填,其他类型时应留空。要求6个参数中只能有一个非零,其余必须为零。字段包括:horizontal (水平移动)、vertical (垂直移动)、pan (平移)、tilt (俯仰)、roll (旋转)、zoom (缩放)\n */\n config?: Record<string, any>;\n };\n}\n\nexport interface KlingV1Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1\n *\n * 通过Kling AI V1 API创建视频生成任务。[API Documentation](https://api.klingai.com)\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV1 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV1({\n * // 参数见 KlingV1Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV1Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV1(\n params: KlingV1Params,\n): Promise<KlingV1Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV1Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV15Params {\n /**\n * 文本提示词,必填参数。长度范围: 1-2500字符\n */\n prompt: string;\n /**\n * 视频时长,必填参数。可选值: \"5\"(5秒)、\"10\"(10秒),也支持整数格式5或10\n * @values 5 | 10\n */\n duration: '5' | '10';\n /**\n * 视频宽高比,可选参数。支持: \"16:9\", \"9:16\", \"1:1\"\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 负面提示词,可选参数。用于指定不希望出现在生成视频中的内容\n */\n negative_prompt?: string;\n /**\n * CFG比例参数,可选参数。用于控制生成内容与提示词的匹配程度\n */\n cfg_scale?: number;\n /**\n * 相机控制参数,可选参数。用于控制视频中的镜头运动和角度\n */\n camera_control?: Record<string, any>;\n /**\n * 外部任务ID,可选参数。用于关联外部系统的任务\n */\n external_task_id?: string;\n}\n\nexport interface KlingV15Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1_5\n *\n * API Documentation: https://app.klingai.com/global/dev/document-api/apiReference/model/textToVideo\n * \n * Kling AI V1.5 视频生成实现。支持从文本提示词生成视频。\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV15 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV15({\n * // 参数见 KlingV15Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV15Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV15(\n params: KlingV15Params,\n): Promise<KlingV15Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1_5',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV15Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV15I2vParams {\n data?: {\n /**\n * 输入图像URL或Base64编码\n */\n image: string;\n /**\n * 尾帧图像URL或Base64编码\n */\n image_tail?: string;\n /**\n * 视频生成提示词,长度不超过2500字符\n */\n prompt?: string;\n /**\n * 视频时长,可选值:'5'、'10'\n * @values 5 | 10\n */\n duration?: '5' | '10';\n /**\n * 视频宽高比,可选值:'16:9'、'9:16'、'1:1'\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动强度/CFG缩放,默认值为0.5\n */\n cfg_scale?: number;\n /**\n * 随机种子\n */\n seed?: number;\n /**\n * 负面提示词\n */\n negative_prompt?: string;\n /**\n * 生成模式,可选值:'std'、'pro',默认为'std'\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 回调URL\n */\n callback?: string;\n };\n}\n\nexport interface KlingV15I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1_5_i2v\n *\n * Kling AI V1-5 Image-to-Video Generator\n * \n * Image-to-video generation implementation for Kling AI V1-5 API.\n * \n * API Documentation: https://app.klingai.com/global/dev/document-api/apiReference/model/imageToVideo\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV15I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV15I2v({\n * // 参数见 KlingV15I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV15I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV15I2v(\n params: KlingV15I2vParams,\n): Promise<KlingV15I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1_5_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV15I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV16Params {\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt: string;\n /**\n * 负面提示词\n */\n negative_prompt?: string;\n /**\n * 提示词相关性强度\n */\n cfg_scale?: number;\n /**\n * 生成模式,标准(std)或专业(pro)\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: Record<string, any>;\n };\n /**\n * 视频时长(秒),支持5-10秒\n */\n duration?: number;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV16Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1_6\n *\n * Kling AI V1.6 Video Generator\n * \n * Model: kling-v1-6\n * Features: 文本生成视频 (Text-to-Video)\n * Duration: 5-10秒\n * Aspect Ratios: 16:9, 9:16, 1:1\n * Modes: std(标准), pro(专业)\n * \n * API Documentation: https://app.klingai.com/global/dev/document-api/apiReference/model/textToVideo\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV16 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV16({\n * // 参数见 KlingV16Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV16Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV16(\n params: KlingV16Params,\n): Promise<KlingV16Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1_6',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV16Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV16I2vParams {\n /**\n * 输入图像URL\n */\n image: string;\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt?: string;\n /**\n * 生成模式,标准(std)或专业(pro)\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: Record<string, any>;\n };\n /**\n * 尾帧图像\n */\n image_tail?: string;\n /**\n * 静态遮罩\n */\n static_mask?: string;\n /**\n * 动态遮罩列表\n */\n dynamic_masks?: Record<string, any>[];\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n /**\n * 回调URL\n */\n callback?: string;\n}\n\nexport interface KlingV16I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1_6_i2v\n *\n * <p>通过Kling AI V1.6 API创建图像到视频生成任务。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV16I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV16I2v({\n * // 参数见 KlingV16I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV16I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV16I2v(\n params: KlingV16I2vParams,\n): Promise<KlingV16I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1_6_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV16I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV1I2vParams {\n /**\n * 输入图像URL\n */\n image: string;\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt?: string;\n /**\n * 生成模式,标准(std)或专业(pro),默认为std\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频时长(秒),支持5秒或10秒\n * @values 5 | 10\n */\n duration?: '5' | '10';\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动强度/CFG比例,默认为0.5\n * @default 0.5\n */\n cfg_scale?: number;\n /**\n * 负面提示词,用于指定不希望出现在视频中的内容\n */\n negative_prompt?: string;\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: {\n /**\n * 水平运动\n */\n horizontal?: number;\n /**\n * 垂直运动\n */\n vertical?: number;\n /**\n * 平移\n */\n pan?: number;\n /**\n * 倾斜\n */\n tilt?: number;\n /**\n * 滚转\n */\n roll?: number;\n /**\n * 缩放\n */\n zoom?: number;\n };\n };\n /**\n * 随机种子\n */\n seed?: number;\n /**\n * 尾帧图像\n */\n image_tail?: string;\n /**\n * 静态遮罩\n */\n static_mask?: string;\n /**\n * 动态遮罩列表\n */\n dynamic_masks?: Record<string, any>[];\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV1I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v1_i2v\n *\n * 通过Kling AI V1 API创建图像到视频生成任务。\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV1I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV1I2v({\n * // 参数见 KlingV1I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV1I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV1I2v(\n params: KlingV1I2vParams,\n): Promise<KlingV1I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v1_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV1I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"image\": \"https://example.com/input_image.jpg\",\n * \"prompt\": \"A beautiful sunset scene with gentle waves\",\n * \"duration\": \"5\",\n * \"mode\": \"std\",\n * \"aspect_ratio\": \"16:9\"\n * }\n * ```\n */\nexport interface KlingV21I2vParams {\n /**\n * 输入图像(必填),支持URL或Base64格式,URL会自动转换为Base64\n */\n image: string;\n /**\n * 视频生成提示词(可选),长度最大2500字符\n */\n prompt?: string;\n /**\n * 视频时长(必填),支持: \"5\"(5秒)或 \"10\"(10秒),也可以是整数 5 或 10\n */\n duration: string | any;\n /**\n * 生成模式(可选),标准(std)或专业(pro),默认std\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比(可选),支持: 16:9(横屏)、9:16(竖屏)、1:1(方形)\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(可选)。如果未指定,模型将根据输入文本/图像智能匹配\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 摄像机配置参数。当type设置为simple时为必填,包含6个字段用于指定摄像机在不同方向上的运动或变化。要求6个参数中只能有一个非零,其余必须为零\n */\n config?: Record<string, any>;\n };\n /**\n * 尾帧图像(可选),支持URL或Base64格式\n */\n image_tail?: string;\n /**\n * 静态遮罩(可选)\n */\n static_mask?: string;\n /**\n * 动态遮罩列表(可选)\n */\n dynamic_masks?: Record<string, any>[];\n}\n\nexport interface KlingV21I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_1_i2v\n *\n * Kling AI V2.1 图像生成视频接口,支持将静态图像转换为动态视频。\n * \n * Model: kling-v2-1\n * Features:\n * - 支持图像到视频生成(I2V)\n * - 支持5秒或10秒视频时长\n * - 支持三种宽高比:16:9(横屏)、9:16(竖屏)、1:1(方形)\n * - 支持标准模式(std)和专业模式(pro)\n * - 支持预定义摄像机运动控制(simple、down_back、forward_up、right_turn_forward、left_turn_forward)\n * - 支持尾帧图像、静态遮罩和动态遮罩\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV21I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV21I2v(\n * {\n * \"image\": \"https://example.com/input_image.jpg\",\n * \"prompt\": \"A beautiful sunset scene with gentle waves\",\n * \"duration\": \"5\",\n * \"mode\": \"std\",\n * \"aspect_ratio\": \"16:9\"\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV21I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV21I2v(\n params: KlingV21I2vParams,\n): Promise<KlingV21I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_1_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV21I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV21MasterParams {\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt: string;\n /**\n * 生成模式,标准(std)或专业(pro)\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: Record<string, any>;\n };\n /**\n * 视频时长(秒),支持5-10秒\n */\n duration?: number;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV21MasterResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_1_master\n *\n * Kling AI V2.1 Master 文本生成视频接口\n * \n * Model: kling-v2-1-master (固定模型)\n * Features: 文本生成视频功能\n * Duration: 5秒或10秒(必须指定)\n * Aspect Ratio: 16:9、9:16、1:1(可选)\n * Mode: std(标准,默认)、pro(专业)\n * Advanced: 支持摄像机控制、负向提示词、回调URL通知\n * \n * API Documentation: https://app.klingai.com/global/dev/document-api/apiReference/model/textToVideo\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV21Master } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV21Master({\n * // 参数见 KlingV21MasterParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV21MasterParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV21Master(\n params: KlingV21MasterParams,\n): Promise<KlingV21MasterResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_1_master',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV21MasterResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV21MasterI2vParams {\n /**\n * 输入图像URL\n */\n image: string;\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt?: string;\n /**\n * 生成模式,标准(std)或专业(pro)\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: {\n };\n };\n /**\n * 尾帧图像\n */\n image_tail?: string;\n /**\n * 静态遮罩\n */\n static_mask?: string;\n /**\n * 动态遮罩列表\n */\n dynamic_masks?: Array<{\n }>;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n /**\n * 回调URL\n */\n callback?: string;\n}\n\nexport interface KlingV21MasterI2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_1_master_i2v\n *\n * <p>通过Kling AI V2.1 Master API创建图像到视频生成任务。<a href=\"https://api.klingai.com\">API Documentation</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV21MasterI2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV21MasterI2v({\n * // 参数见 KlingV21MasterI2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV21MasterI2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV21MasterI2v(\n params: KlingV21MasterI2vParams,\n): Promise<KlingV21MasterI2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_1_master_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV21MasterI2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV25TurboParams {\n /**\n * 视频生成提示词,长度1-2500字符\n */\n prompt: string;\n /**\n * 视频时长,支持: 5(5秒), 10(10秒)\n */\n duration: string;\n /**\n * 视频宽高比,支持: 16:9, 9:16, 1:1\n */\n aspect_ratio?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * CFG缩放比例\n */\n cfg_scale?: number;\n /**\n * 生成模式,支持: std(标准), pro(专业)\n */\n mode?: string;\n /**\n * 相机控制参数\n */\n camera_control?: Record<string, any>;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV25TurboResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_5_turbo\n *\n * Kling AI V2.5 Turbo Video Generator\n * \n * Model: kling-v2-5-turbo\n * Features: 文本生成视频 (Text-to-Video)\n * Duration: 5-10秒\n * Aspect Ratios: 16:9, 9:16, 1:1\n * Modes: std(标准), pro(专业)\n * \n * API Documentation: https://app.klingai.com/cn/dev/document-api/apiReference/model/textToVideo\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV25Turbo } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV25Turbo({\n * // 参数见 KlingV25TurboParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV25TurboParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV25Turbo(\n params: KlingV25TurboParams,\n): Promise<KlingV25TurboResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_5_turbo',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV25TurboResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV25TurboI2vParams {\n /**\n * 输入图像,支持URL(http://或https://开头)或Base64格式,与image_tail至少提供一个\n */\n image?: string;\n /**\n * 视频生成提示词,可选参数,最大长度2500字符\n */\n prompt?: string;\n /**\n * 视频时长,必填参数,支持: \"5\"(5秒)或 \"10\"(10秒),也支持整数5或10\n * @values 5 | 10\n */\n duration: '5' | '10';\n /**\n * 视频宽高比,可选参数,支持: 16:9, 9:16, 1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 生成模式,可选参数,支持: std(标准), pro(专业)\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 尾帧图像,可选参数,支持URL或Base64格式,与image至少提供一个\n */\n image_tail?: string;\n /**\n * 静态遮罩,可选参数\n */\n static_mask?: string;\n /**\n * 动态遮罩列表,可选参数\n */\n dynamic_masks?: string[];\n /**\n * 相机控制参数,可选参数\n */\n camera_control?: Record<string, any>;\n /**\n * 外部任务ID,可选参数\n */\n external_task_id?: string;\n}\n\nexport interface KlingV25TurboI2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_5_turbo_i2v\n *\n * Kling AI V2.5 Turbo Image-to-Video Generator\n * \n * Image-to-video generation implementation for Kling AI V2.5 Turbo API.\n * \n * Model: kling-v2-5-turbo\n * Features: 图像到视频生成,支持首尾帧控制、静态遮罩、动态遮罩、相机控制\n * Duration: 5秒或10秒\n * Aspect Ratio: 16:9, 9:16, 1:1\n * Mode: std(标准), pro(专业)\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV25TurboI2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV25TurboI2v({\n * // 参数见 KlingV25TurboI2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV25TurboI2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV25TurboI2v(\n params: KlingV25TurboI2vParams,\n): Promise<KlingV25TurboI2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_5_turbo_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV25TurboI2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV26Params {\n /**\n * 视频生成提示词,最多2500字符\n * @length 0 - 2500\n */\n prompt: string;\n /**\n * 音频开关,可选值: on/off\n * @values on | off\n */\n sound?: 'on' | 'off';\n /**\n * 生成模式,V2.6仅支持pro模式\n * @values pro\n */\n mode: 'pro';\n /**\n * 视频宽高比\n * @values 16:9 | 9:16 | 1:1 | \n */\n aspect_ratio?: '16:9' | '9:16' | '1:1' | '';\n /**\n * 视频时长(秒)\n * @values 5 | 10\n */\n duration?: '5' | '10';\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV26Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_6\n *\n * <p>Kling AI V2.6 文本生成视频接口</p>\n * <p>API Documentation: <a href=\"https://docs.qingque.cn/d/home/eZQB6Bbl5WgW8eIVN--duPVl1?identityId=2Cn18n4EIHT\">https://docs.qingque.cn/d/home/eZQB6Bbl5WgW8eIVN--duPVl1?identityId=2Cn18n4EIHT</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV26 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV26({\n * // 参数见 KlingV26Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV26Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV26(\n params: KlingV26Params,\n): Promise<KlingV26Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_6',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV26Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV26I2vParams {\n /**\n * 输入图片,支持URL或base64格式,URL会自动转换为base64\n */\n image: string;\n /**\n * 视频生成提示词,可选,最多2500字符\n * @length 0 - 2500\n */\n prompt?: string;\n /**\n * 生成模式,V2.6仅支持pro模式\n * @values pro\n */\n mode: 'pro';\n /**\n * 音频开关,可选值: on/off\n * @values on | off\n */\n sound?: 'on' | 'off';\n /**\n * 视频时长(秒)\n * @values 5 | 10\n */\n duration?: '5' | '10';\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n /**\n * 静态遮罩\n */\n static_mask?: string;\n /**\n * 动态遮罩列表\n */\n dynamic_masks?: Array<{\n }>;\n}\n\nexport interface KlingV26I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_6_i2v\n *\n * <p>Kling AI V2.6 图片生成视频接口</p>\n * <p>API Documentation: <a href=\"https://docs.qingque.cn/d/home/eZQB6Bbl5WgW8eIVN--duPVl1?identityId=2Cn18n4EIHT\">https://docs.qingque.cn/d/home/eZQB6Bbl5WgW8eIVN--duPVl1?identityId=2Cn18n4EIHT</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV26I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV26I2v({\n * // 参数见 KlingV26I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV26I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV26I2v(\n params: KlingV26I2vParams,\n): Promise<KlingV26I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_6_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV26I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV2MasterParams {\n /**\n * 视频生成提示词,必须提供且长度在1-2500字符之间\n */\n prompt: string;\n /**\n * 生成模式,标准(std)或专业(pro),默认std\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 负面提示词,用于指定不希望在生成视频中出现的内容\n */\n negative_prompt?: string;\n /**\n * 视频宽高比,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: {\n /**\n * 水平移动,范围-10到10\n */\n horizontal?: number;\n /**\n * 垂直移动,范围-10到10\n */\n vertical?: number;\n /**\n * 水平旋转,范围-10到10\n */\n pan?: number;\n /**\n * 垂直旋转,范围-10到10\n */\n tilt?: number;\n /**\n * 旋转角度,范围-10到10\n */\n roll?: number;\n /**\n * 缩放,范围-10到10\n */\n zoom?: number;\n };\n };\n /**\n * 视频时长(秒),可选5秒或10秒\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 外部任务ID\n */\n external_task_id?: string;\n}\n\nexport interface KlingV2MasterResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_master\n *\n * 通过Kling AI V2 Master API创建视频生成任务。[API Documentation](https://api.klingai.com)\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV2Master } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV2Master({\n * // 参数见 KlingV2MasterParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV2MasterParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV2Master(\n params: KlingV2MasterParams,\n): Promise<KlingV2MasterResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_master',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV2MasterResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface KlingV2MasterI2vParams {\n /**\n * 输入图像URL或Base64编码,与image_tail二选一(至少提供其中一个)\n */\n image?: string;\n /**\n * 视频生成提示词,可选,最大长度2500字符\n */\n prompt?: string;\n /**\n * 视频时长,必填参数,可选值:'5'或'10'秒\n * @values 5 | 10\n */\n duration: '5' | '10';\n /**\n * 生成模式,标准(std)或专业(pro),默认std\n * @default \"std\"\n * @values std | pro\n */\n mode?: 'std' | 'pro';\n /**\n * 视频宽高比,可选,支持16:9、9:16、1:1\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 控制摄像机运动的参数(如果未指定,模型将根据输入文本/图像智能匹配)\n */\n camera_control?: {\n /**\n * 预定义摄像机运动类型 - simple: 基础摄像机运动,在此类型下可在config中选择6个选项之一 - down_back: 摄像机下降并向后移动(向下平移并缩小) - forward_up: 摄像机向前移动并向上倾斜(放大并向上平移) - right_turn_forward: 向右旋转并向前移动 - left_turn_forward: 向左旋转并向前移动\n * @values simple | down_back | forward_up | right_turn_forward | left_turn_forward\n */\n type?: 'simple' | 'down_back' | 'forward_up' | 'right_turn_forward' | 'left_turn_forward';\n /**\n * 包含6个字段,用于指定摄像机在不同方向上的运动或变化 当type设置为simple时为必填,其他类型时应留空 要求6个参数中只能有一个非零,其余必须为零\n */\n config?: Record<string, any>;\n };\n /**\n * 尾帧图像URL或Base64编码,与image二选一(至少提供其中一个)\n */\n image_tail?: string;\n /**\n * 静态遮罩,可选\n */\n static_mask?: string;\n /**\n * 动态遮罩列表,可选\n */\n dynamic_masks?: Record<string, any>[];\n /**\n * 外部任务ID,可选\n */\n external_task_id?: string;\n}\n\nexport interface KlingV2MasterI2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * kling_v2_master_i2v\n *\n * Kling AI V2 Master 图像到视频生成API\n * \n * Model: kling-v2-master\n * Features: 图像到视频生成,支持标准和专业模式\n * Duration: 5秒或10秒(必填)\n * Aspect Ratio: 16:9、9:16、1:1(可选)\n * Camera Control: 支持多种摄像机运动控制(可选)\n * \n * API Documentation: https://app.klingai.com/global/dev/document-api/apiReference/model/imageToVideo\n *\n * @example\n * ```typescript\n * import { initSeacloud, klingV2MasterI2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await klingV2MasterI2v({\n * // 参数见 KlingV2MasterI2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 KlingV2MasterI2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function klingV2MasterI2v(\n params: KlingV2MasterI2vParams,\n): Promise<KlingV2MasterI2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'kling_v2_master_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: KlingV2MasterI2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A serene landscape with mountains and a lake at sunset\",\n * \"size\": \"1024x1024\",\n * \"n\": 1,\n * \"quality\": \"high\",\n * \"output_compression\": 100\n * }\n * ```\n */\nexport interface MicrosoftGptImage1Params {\n /**\n * 图像生成提示词(必填),描述要生成的图像内容\n */\n prompt: string;\n /**\n * 图像尺寸(可选),支持: 1024x1024(方形,默认), 1024x1536(竖屏), 1536x1024(横屏)\n * @default \"1024x1024\"\n * @values 1024x1024 | 1024x1536 | 1536x1024\n */\n size?: '1024x1024' | '1024x1536' | '1536x1024';\n /**\n * 生成图像数量(可选),范围: 1-10,默认: 1\n * @default 1\n * @range 1 - 10\n */\n n?: number;\n /**\n * 图像质量(可选),支持: low(低), medium(中), high(高,默认)\n * @default \"high\"\n * @values low | medium | high\n */\n quality?: 'low' | 'medium' | 'high';\n /**\n * 输出压缩级别(可选),范围: 0-100,默认: 100(无压缩)\n * @default 100\n * @range 0 - 100\n */\n output_compression?: number;\n}\n\nexport interface MicrosoftGptImage1Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * microsoft_gpt_image_1\n *\n * Microsoft Azure OpenAI GPT-Image-1 文本生成图像接口,支持生成高质量图像。\n * \n * Model: gpt-image-1\n * Features:\n * - 支持三种图像尺寸:1024x1024(方形)、1024x1536(竖屏)、1536x1024(横屏)\n * - 支持三种质量级别:low(低)、medium(中)、high(高)\n * - 支持批量生成(1-10张)\n * - 支持压缩级别控制(0-100)\n * - API返回Base64格式,系统自动处理并上传到云存储\n * - 同步生成,立即返回结果\n *\n * @example\n * ```typescript\n * import { initSeacloud, microsoftGptImage1 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await microsoftGptImage1(\n * {\n * \"prompt\": \"A serene landscape with mountains and a lake at sunset\",\n * \"size\": \"1024x1024\",\n * \"n\": 1,\n * \"quality\": \"high\",\n * \"output_compression\": 100\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MicrosoftGptImage1Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function microsoftGptImage1(\n params: MicrosoftGptImage1Params,\n): Promise<MicrosoftGptImage1Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'microsoft_gpt_image_1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MicrosoftGptImage1Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MicrosoftGptImage15Params {\n /**\n * 图片生成提示词\n */\n prompt: string;\n /**\n * 生成图片尺寸\n * @default \"1024x1024\"\n * @values 1024×1024 | 1024×1536 | 1536×1024\n */\n size?: '1024×1024' | '1024×1536' | '1536×1024';\n /**\n * 图片质量\n * @default \"medium\"\n * @values low | medium | high\n */\n quality?: 'low' | 'medium' | 'high';\n /**\n * 生成图片数量\n * @default 1\n * @range 1 - 10\n */\n n?: number;\n /**\n * 输出压缩格式(可选)\n */\n output_compression?: number;\n}\n\nexport interface MicrosoftGptImage15Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * microsoft_gpt_image_15\n *\n * <p>Microsoft GPT-Image-1.5 文本生成图片</p>\n * <p>API 文档: https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/dall-e<br>\n * <a href=\"https://platform.openai.com/docs/api-reference/images/create\">https://platform.openai.com/docs/api-reference/images/create</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, microsoftGptImage15 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await microsoftGptImage15({\n * // 参数见 MicrosoftGptImage15Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MicrosoftGptImage15Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function microsoftGptImage15(\n params: MicrosoftGptImage15Params,\n): Promise<MicrosoftGptImage15Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'microsoft_gpt_image_15',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MicrosoftGptImage15Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A serene beach at sunset with gentle waves rolling onto the shore\",\n * \"size\": \"1280x720\",\n * \"seconds\": 4\n * }\n * ```\n */\nexport interface MicrosoftSora2Params {\n /**\n * 视频生成提示词,描述要生成的视频内容,长度必须在1-1000字符之间\n */\n prompt: string;\n /**\n * 视频尺寸,格式为'宽x高'。支持分辨率包括: '720x1280', '1280x720', '1024x1792', and '1792x1024\n */\n size?: string;\n /**\n * 视频时长(秒),支持的值为: 4, 8, 12\n * @values 4 | 8 | 12\n */\n seconds?: 4 | 8 | 12;\n /**\n * 输入参考图像URL,用于图像到视频(I2V)生成。如提供,系统会基于此图像生成视频\n */\n input_reference?: string;\n}\n\nexport interface MicrosoftSora2Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * microsoft_sora2\n *\n * <p>API Documentation: https://apim-onc5zkda5mp7w.azure-api.net</p>\n * <p>Microsoft Sora2 视频生成实现。支持文本到视频和图像到视频的生成。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, microsoftSora2 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await microsoftSora2(\n * {\n * \"prompt\": \"A serene beach at sunset with gentle waves rolling onto the shore\",\n * \"size\": \"1280x720\",\n * \"seconds\": 4\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MicrosoftSora2Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function microsoftSora2(\n params: MicrosoftSora2Params,\n): Promise<MicrosoftSora2Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'microsoft_sora2',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MicrosoftSora2Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxHailuo02Params {\n /**\n * 视频生成提示词,长度必须在1-2000个字符之间\n */\n prompt: string;\n /**\n * 视频时长,支持6秒(所有分辨率)或10秒(仅512P/768P)\n * @values 6 | 10\n */\n duration?: 6 | 10;\n /**\n * 视频分辨率,默认为768P\n * @values 512P | 768P | 1080P\n */\n resolution?: '512P' | '768P' | '1080P';\n /**\n * 是否启用提示词优化器,默认为true\n */\n prompt_optimizer?: boolean;\n /**\n * 是否启用快速预处理,默认为false\n */\n fast_pretreatment?: boolean;\n}\n\nexport interface MinimaxHailuo02Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_hailuo_02\n *\n * MiniMax Hailuo-02 文本生成视频接口\n * \n * Model: MiniMax-Hailuo-02 (固定模型)\n * Features: 文本生成视频功能,支持摄像机控制\n * Duration: 6秒(所有分辨率)或10秒(仅512P/768P)\n * Resolution: 512P、768P(默认)、1080P\n * Advanced: 支持提示词优化器(默认开启)、快速预处理、回调URL通知\n * \n * API Documentation: https://www.minimax.io/platform/document/text_to_video?key=68abdfffd08627aad9674bff\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxHailuo02 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxHailuo02({\n * // 参数见 MinimaxHailuo02Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxHailuo02Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxHailuo02(\n params: MinimaxHailuo02Params,\n): Promise<MinimaxHailuo02Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_hailuo_02',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxHailuo02Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxHailuo02I2vParams {\n /**\n * 输入图像URL或Base64编码\n */\n first_frame_image: string;\n /**\n * 视频生成提示词,长度必须在0-2000个字符之间\n */\n prompt?: string;\n /**\n * 视频时长,支持6秒(所有分辨率)或10秒(仅512P/768P),默认6秒\n * @default 6\n * @values 6 | 10\n */\n duration?: 6 | 10;\n /**\n * 视频分辨率,默认为768P\n * @default \"768P\"\n * @values 512P | 768P | 1080P\n */\n resolution?: '512P' | '768P' | '1080P';\n /**\n * 是否启用提示词优化器,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n /**\n * 是否启用快速预处理,默认为false\n * @default false\n */\n fast_pretreatment?: boolean;\n}\n\nexport interface MinimaxHailuo02I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_hailuo_02_i2v\n *\n * MiniMax Hailuo-02 Image-to-Video Generator\n * \n * Image-to-video generation implementation for MiniMax Hailuo-02 model with camera control support.\n * \n * Model: MiniMax-Hailuo-02\n * Features: 图像生成视频 (Image-to-Video)\n * Duration: 6秒(所有分辨率)或10秒(512P/768P)\n * Resolution: 512P, 768P (默认), 1080P\n * Camera Control: 支持摄像机运动控制\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxHailuo02I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxHailuo02I2v({\n * // 参数见 MinimaxHailuo02I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxHailuo02I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxHailuo02I2v(\n params: MinimaxHailuo02I2vParams,\n): Promise<MinimaxHailuo02I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_hailuo_02_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxHailuo02I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxHailuo23FastI2vParams {\n /**\n * 输入图像URL或Base64编码(data:image/jpeg;base64,xxx格式)\n */\n first_frame_image?: string;\n /**\n * 视频生成提示词,可包含摄像机运动指令如[Pan left]、[Zoom in]等\n */\n prompt?: string;\n /**\n * 视频时长(秒),默认6秒\n * @default 6\n */\n duration?: number;\n /**\n * 视频分辨率,默认为768P\n * @default \"768P\"\n * @values 512P | 768P | 1080P\n */\n resolution?: '512P' | '768P' | '1080P';\n /**\n * 是否启用提示词优化器,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n /**\n * 是否启用快速预处理,默认为false\n * @default false\n */\n fast_pretreatment?: boolean;\n}\n\nexport interface MinimaxHailuo23FastI2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_hailuo_23_fast_i2v\n *\n * MiniMax Hailuo-2.3-Fast Image-to-Video Generator\n * \n * Image-to-video generation implementation for MiniMax Hailuo-2.3-Fast model with camera control support.\n * \n * Model: MiniMax-Hailuo-2.3-Fast\n * Features: 图像生成视频 (Image-to-Video) - 快速模式\n * Duration: 6秒(默认)\n * Resolution: 512P, 768P (默认), 1080P\n * Camera Control: 支持摄像机运动控制(Truck, Pan, Push, Pedestal, Tilt, Zoom, Shake, Tracking, Static)\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxHailuo23FastI2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxHailuo23FastI2v({\n * // 参数见 MinimaxHailuo23FastI2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxHailuo23FastI2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxHailuo23FastI2v(\n params: MinimaxHailuo23FastI2vParams,\n): Promise<MinimaxHailuo23FastI2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_hailuo_23_fast_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxHailuo23FastI2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxHailuo23I2vParams {\n /**\n * 输入图像URL或Base64编码(data:image/jpeg;base64,xxx格式)\n */\n first_frame_image: string;\n /**\n * 视频生成提示词,可包含摄像机运动指令如[Pan left]、[Zoom in]等\n */\n prompt?: string;\n /**\n * 视频时长(秒),默认6秒\n * @default 6\n */\n duration?: number;\n /**\n * 视频分辨率,默认为768P\n * @default \"768P\"\n * @values 512P | 768P | 1080P\n */\n resolution?: '512P' | '768P' | '1080P';\n /**\n * 是否启用提示词优化器,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n /**\n * 是否启用快速预处理,默认为false\n * @default false\n */\n fast_pretreatment?: boolean;\n}\n\nexport interface MinimaxHailuo23I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_hailuo_23_i2v\n *\n * MiniMax Hailuo-2.3 Image-to-Video Generator\n * \n * Image-to-video generation implementation for MiniMax Hailuo-2.3 model with camera control support.\n * \n * Model: MiniMax-Hailuo-2.3\n * Features: 图像生成视频 (Image-to-Video)\n * Duration: 6秒(默认)\n * Resolution: 512P, 768P (默认), 1080P\n * Camera Control: 支持摄像机运动控制(Truck, Pan, Push, Pedestal, Tilt, Zoom, Shake, Tracking, Static)\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxHailuo23I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxHailuo23I2v({\n * // 参数见 MinimaxHailuo23I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxHailuo23I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxHailuo23I2v(\n params: MinimaxHailuo23I2vParams,\n): Promise<MinimaxHailuo23I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_hailuo_23_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxHailuo23I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxI2v01Params {\n /**\n * 输入图像URL或Base64编码\n */\n first_frame_image: string;\n /**\n * 视频生成提示词(可选),长度必须在0-2000个字符之间\n */\n prompt?: string;\n /**\n * 视频时长(秒),I2V-01固定为6秒\n * @default 6\n * @values 6\n */\n duration?: 6;\n /**\n * 视频分辨率,I2V-01固定为720P\n * @default \"720P\"\n * @values 720P\n */\n resolution?: '720P';\n /**\n * 是否启用提示词优化器,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n}\n\nexport interface MinimaxI2v01Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_i2v_01\n *\n * 通过MiniMax I2V-01 API创建图像到视频生成任务。\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxI2v01 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxI2v01({\n * // 参数见 MinimaxI2v01Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxI2v01Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxI2v01(\n params: MinimaxI2v01Params,\n): Promise<MinimaxI2v01Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_i2v_01',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxI2v01Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxI2v01DirectorParams {\n /**\n * 输入图像URL或Base64编码\n */\n first_frame_image: string;\n /**\n * 视频生成提示词,长度必须在0-2000个字符之间\n */\n prompt?: string;\n /**\n * 是否启用提示词优化器,默认为true\n */\n prompt_optimizer?: boolean;\n}\n\nexport interface MinimaxI2v01DirectorResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_i2v_01_director\n *\n * MiniMax I2V-01-Director Image-to-Video Generator\n * \n * Model: I2V-01-Director\n * Features: 图像生成视频 (Image-to-Video), 摄像机控制 (Camera Control)\n * Duration: 固定6秒\n * Resolution: 固定720P\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxI2v01Director } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxI2v01Director({\n * // 参数见 MinimaxI2v01DirectorParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxI2v01DirectorParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxI2v01Director(\n params: MinimaxI2v01DirectorParams,\n): Promise<MinimaxI2v01DirectorResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_i2v_01_director',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxI2v01DirectorResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxI2v01LiveParams {\n /**\n * 输入图像URL或Base64编码,必填参数。支持JPG/JPEG/PNG/WebP格式,文件大小<20MB,短边>300px\n */\n first_frame_image: string;\n /**\n * 视频生成提示词,可选参数。长度必须在0-2000个字符之间\n */\n prompt?: string;\n /**\n * 视频时长(秒),固定为6秒\n * @default 6\n * @values 6\n */\n duration?: 6;\n /**\n * 视频分辨率,固定为720P\n * @default \"720P\"\n * @values 720P\n */\n resolution?: '720P';\n /**\n * 是否启用提示词优化器,可选参数,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n}\n\nexport interface MinimaxI2v01LiveResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_i2v_01_live\n *\n * 通过Minimax API创建图像到视频生成任务。[API Documentation](https://api.minimax.chat)\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxI2v01Live } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxI2v01Live({\n * // 参数见 MinimaxI2v01LiveParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxI2v01LiveParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxI2v01Live(\n params: MinimaxI2v01LiveParams,\n): Promise<MinimaxI2v01LiveResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_i2v_01_live',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxI2v01LiveResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxT2aParams {\n /**\n * 语音模型名称,默认为 speech-2.5-hd-preview\n */\n model?: string;\n /**\n * 要转换为语音的文本内容,必填\n */\n text: string;\n /**\n * 是否启用流式输出,默认为 false\n */\n stream?: boolean;\n /**\n * 音频输出格式:url(返回音频文件URL)或 hex(返回十六进制音频数据),默认为 url\n * @values url | hex\n */\n output_format?: 'url' | 'hex';\n /**\n * 语音设置,包括语音ID、语速、音量、音调\n */\n voice_setting?: {\n /**\n * 语音ID,如 English_Graceful_Lady、Chinese_Female_01 等\n */\n voice_id?: string;\n /**\n * 语速,范围 0.5-2.0,默认为 1.0\n */\n speed?: number;\n /**\n * 音量,范围 0-10,默认为 1.0\n */\n vol?: number;\n /**\n * 音调,范围 -12 到 12,默认为 0\n */\n pitch?: number;\n };\n /**\n * 语言增强,如 zh(中文)、en(英文)等\n */\n language_boost?: string;\n /**\n * 音频设置\n */\n audio_setting?: Record<string, any>;\n /**\n * 发音字典,用于自定义特定词语的发音\n */\n pronunciation_dict?: Record<string, any>;\n /**\n * 语音变调设置\n */\n voice_modify?: Record<string, any>;\n /**\n * 是否启用字幕\n */\n subtitle_enable?: boolean;\n /**\n * 流式输出选项\n */\n stream_options?: Record<string, any>;\n}\n\nexport interface MinimaxT2aResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_t2a\n *\n * MiniMax 文本转语音生成接口\n * \n * Model: speech-2.5-hd-preview (默认模型)\n * Features: 文本转语音生成功能\n * Output Formats: url(返回音频文件URL)或 hex(返回十六进制音频数据)\n * Stream: 支持流式输出(用于实时语音生成)和非流式输出\n * Advanced: 支持多种语音ID选择、语速调节(0.5-2.0)、音量控制(0-10)、音调调整(-12到12)、语言增强、发音字典、语音变调\n * \n * API Documentation: https://platform.minimax.io/docs/api-reference/speech-t2a-http\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxT2a } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxT2a({\n * // 参数见 MinimaxT2aParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxT2aParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxT2a(\n params: MinimaxT2aParams,\n): Promise<MinimaxT2aResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_t2a',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxT2aResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxT2v01Params {\n /**\n * 视频生成提示词,必填,长度必须在1-2000个字符之间\n */\n prompt: string;\n /**\n * 视频时长(秒),T2V-01模型固定为6秒,不可更改\n * @default 6\n * @values 6\n */\n duration?: 6;\n /**\n * 视频分辨率,T2V-01模型固定为720P,不可更改\n * @default \"720P\"\n * @values 720P\n */\n resolution?: '720P';\n /**\n * 是否启用提示词优化器,可选,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n}\n\nexport interface MinimaxT2v01Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_t2v_01\n *\n * MiniMax T2V-01 文本到视频生成API\n * \n * Model: T2V-01\n * Features: 基础视频生成功能\n * Duration: 6秒(固定参数,不可更改)\n * Resolution: 720P(固定参数,不可更改)\n * Prompt Optimizer: 支持提示词优化,默认启用\n * \n * API Documentation: https://www.minimax.io/platform/document/text_to_video?key=68abdfffd08627aad9674bff\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxT2v01 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxT2v01({\n * // 参数见 MinimaxT2v01Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxT2v01Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxT2v01(\n params: MinimaxT2v01Params,\n): Promise<MinimaxT2v01Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_t2v_01',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxT2v01Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface MinimaxT2v01DirectorParams {\n /**\n * 视频生成提示词,长度必须在1-2000个字符之间\n */\n prompt: string;\n /**\n * 视频时长(秒),T2V-01-Director固定为6秒\n * @default 6\n * @values 6\n */\n duration?: 6;\n /**\n * 视频分辨率,T2V-01-Director固定为720P\n * @default \"720P\"\n * @values 720P\n */\n resolution?: '720P';\n /**\n * 是否启用提示词优化器,默认为true\n * @default true\n */\n prompt_optimizer?: boolean;\n}\n\nexport interface MinimaxT2v01DirectorResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * minimax_t2v_01_director\n *\n * 通过Minimax API创建文本到视频生成任务(导演模式)。[API Documentation](https://www.minimax.io/platform/document/text_to_video?key=68abdfffd08627aad9674bff)\n *\n * @example\n * ```typescript\n * import { initSeacloud, minimaxT2v01Director } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await minimaxT2v01Director({\n * // 参数见 MinimaxT2v01DirectorParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 MinimaxT2v01DirectorParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function minimaxT2v01Director(\n params: MinimaxT2v01DirectorParams,\n): Promise<MinimaxT2v01DirectorResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'minimax_t2v_01_director',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: MinimaxT2v01DirectorResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV35TransitionParams {\n /**\n * 视频生成提示词,必填参数\n */\n prompt?: string;\n /**\n * 首帧图像,必填参数。支持URL或Base64格式,与first_frame_image二选一\n */\n first_frame_img?: string | string[];\n /**\n * 首帧图像,必填参数。支持URL或Base64格式,与first_frame_img二选一\n */\n first_frame_image?: string | string[];\n /**\n * 尾帧图像,必填参数。支持URL或Base64格式,与last_frame_image二选一\n */\n last_frame_img?: string | string[];\n /**\n * 尾帧图像,必填参数。支持URL或Base64格式,与last_frame_img二选一\n */\n last_frame_image?: string | string[];\n /**\n * 视频时长(秒)。支持: 3, 4, 5。默认: 5\n */\n duration?: number;\n /**\n * 视频质量。支持: 270p, 540p, 720p, 1080p。默认: 540p\n */\n quality?: string;\n /**\n * 运动模式。支持: normal(标准), fast(快速)。默认: normal\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 随机种子\n */\n seed?: number;\n /**\n * 音效开关\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 唇形同步TTS开关\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV35TransitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v35_transition\n *\n * PixVerse V3.5 Transition Generator\n * \n * Model: v3.5\n * Features: 首尾帧过渡视频生成 (First-Last Frame Transition)\n * Duration: 3, 4, 5秒\n * Quality: 270p, 540p, 720p, 1080p\n * Motion Modes: normal, fast\n * \n * API Documentation: https://docs.platform.pixverse.ai/transitionfirst-last-frame-generation-15123014e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV35Transition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV35Transition({\n * // 参数见 PixverseV35TransitionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV35TransitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV35Transition(\n params: PixverseV35TransitionParams,\n): Promise<PixverseV35TransitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v35_transition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV35TransitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV35I2vParams {\n /**\n * 输入图像ID或URL(单张图像),必填参数。图像会被自动上传到PixVerse服务器\n */\n img_id?: string;\n /**\n * 输入图像ID或URL列表(多张图像),与img_id二选一,必填参数\n */\n img_ids?: string[];\n /**\n * 视频时长,5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式,可选参数\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 正向提示词\n */\n prompt?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 摄像机运动\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n /**\n * 是否开启音效\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 是否开启唇形同步TTS\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV35I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v3_5_i2v\n *\n * PixVerse V3.5 Image-to-Video Generator\n * \n * Image-to-video generation implementation for PixVerse V3.5 API.\n * \n * API Documentation: https://docs.platform.pixverse.ai/image-to-video-generation-13016633e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV35I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV35I2v({\n * // 参数见 PixverseV35I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV35I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV35I2v(\n params: PixverseV35I2vParams,\n): Promise<PixverseV35I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v3_5_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV35I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV35T2vParams {\n /**\n * 正向提示词\n */\n prompt?: string;\n /**\n * 视频宽高比\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1 | 4:3 | 3:4\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1' | '4:3' | '3:4';\n /**\n * 视频时长,5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 运动模式\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 摄像机运动\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n}\n\nexport interface PixverseV35T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v3_5_t2v\n *\n * PixVerse V3.5 文本生成视频接口\n * \n * Model: v3.5 (固定模型)\n * Features: 文本生成视频功能\n * Duration: 5秒或10秒(默认5秒)\n * Quality: 270p、540p(默认)、720p、1080p\n * Aspect Ratio: 16:9(默认)、9:16、1:1、4:3、3:4\n * Motion Mode: normal、fast(快速)\n * Advanced: 支持摄像机运动控制、负向提示词\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV35T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV35T2v({\n * // 参数见 PixverseV35T2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV35T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV35T2v(\n params: PixverseV35T2vParams,\n): Promise<PixverseV35T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v3_5_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV35T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"Smooth transition between two scenes\",\n * \"first_frame_img\": \"https://example.com/first_frame.jpg\",\n * \"last_frame_img\": \"https://example.com/last_frame.jpg\",\n * \"duration\": 5,\n * \"quality\": \"720p\",\n * \"motion_mode\": \"normal\"\n * }\n * ```\n */\nexport interface PixverseV45TransitionParams {\n /**\n * 视频生成提示词(可选),描述过渡效果的内容\n */\n prompt?: string;\n /**\n * 首帧图像(与first_frame_image二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n first_frame_img?: string | string[];\n /**\n * 首帧图像(与first_frame_img二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n first_frame_image?: string | string[];\n /**\n * 尾帧图像(与last_frame_image二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n last_frame_img?: string | string[];\n /**\n * 尾帧图像(与last_frame_img二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n last_frame_image?: string | string[];\n /**\n * 视频时长(秒),V4.5支持5秒、8秒、10秒,默认5秒\n * @default 5\n * @values 5 | 8 | 10\n */\n duration?: 5 | 8 | 10;\n /**\n * 视频质量(可选),支持: 270p, 540p(默认), 720p, 1080p\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式(可选),支持: normal(标准), fast(快速),默认normal\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 随机种子(可选),用于可重现的生成结果\n */\n seed?: number;\n /**\n * 音效开关(可选)\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容(可选)\n */\n sound_effect_content?: string;\n /**\n * 唇形同步TTS开关(可选)\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容(可选)\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID(可选)\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV45TransitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v45_transition\n *\n * PixVerse V4.5 过渡(首尾帧)视频生成接口,支持通过首帧和尾帧图像生成过渡视频。\n * \n * Model: v4.5\n * Features:\n * - 通过首尾两帧图像生成平滑过渡视频\n * - 支持5秒、8秒、10秒视频时长\n * - 支持四种质量等级:270p、540p(默认)、720p、1080p\n * - 支持两种运动模式:normal(标准)、fast(快速)\n * - 支持音效和唇形同步TTS功能\n * - 图片自动上传到PixVerse\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV45Transition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV45Transition(\n * {\n * \"prompt\": \"Smooth transition between two scenes\",\n * \"first_frame_img\": \"https://example.com/first_frame.jpg\",\n * \"last_frame_img\": \"https://example.com/last_frame.jpg\",\n * \"duration\": 5,\n * \"quality\": \"720p\",\n * \"motion_mode\": \"normal\"\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV45TransitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV45Transition(\n params: PixverseV45TransitionParams,\n): Promise<PixverseV45TransitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v45_transition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV45TransitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV45I2vParams {\n /**\n * 输入图像,支持URL或Base64编码,单张图像使用此参数\n */\n img_id?: string;\n /**\n * 输入图像数组,支持URL或Base64编码,多张图像使用此参数\n */\n img_ids?: string[];\n /**\n * 视频时长,5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式,可选normal(标准)、fast(快速),默认normal\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 正向提示词\n */\n prompt?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 摄像机运动\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n /**\n * 是否开启音效\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 是否开启唇形同步TTS\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV45I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v4_5_i2v\n *\n * PixVerse V4.5 Image-to-Video Generator\n * \n * Image-to-video generation implementation for PixVerse V4.5 API.\n * \n * API Documentation: https://docs.platform.pixverse.ai/image-to-video-generation-13016633e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV45I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV45I2v({\n * // 参数见 PixverseV45I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV45I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV45I2v(\n params: PixverseV45I2vParams,\n): Promise<PixverseV45I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v4_5_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV45I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset\",\n * \"aspect_ratio\": \"16:9\",\n * \"duration\": 5,\n * \"quality\": \"540p\",\n * \"motion_mode\": \"normal\",\n * \"seed\": 12345\n * }\n * ```\n */\nexport interface PixverseV45T2vParams {\n /**\n * 正向提示词,描述要生成的视频内容,必填参数\n */\n prompt: string;\n /**\n * 视频宽高比,可选参数,默认16:9\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1 | 4:3 | 3:4\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1' | '4:3' | '3:4';\n /**\n * 视频时长(秒),可选参数,支持5或10秒,默认5秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量,可选参数,默认540p\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 负向提示词,描述不希望在视频中出现的内容,可选参数\n */\n negative_prompt?: string;\n /**\n * 运动模式,可选参数。normal(普通速度)或 fast(快速运动)\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 摄像机运动,可选参数。控制视频中的摄像机运动方向\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,可选参数,用于生成可重复的结果\n */\n seed?: number;\n /**\n * 模板ID,可选参数,用于使用预定义模板\n */\n template_id?: number;\n}\n\nexport interface PixverseV45T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v4_5_t2v\n *\n * PixVerse V4.5 文本到视频生成接口,将文本提示词转换为视频。\n * \n * Model: v4.5\n * Features:\n * - 文本到视频生成\n * - 支持5种宽高比\n * - 支持5或10秒时长\n * - 支持4种质量级别\n * - 支持运动模式控制\n * - 支持摄像机运动控制\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV45T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV45T2v(\n * {\n * \"prompt\": \"A beautiful landscape with mountains and a lake at sunset\",\n * \"aspect_ratio\": \"16:9\",\n * \"duration\": 5,\n * \"quality\": \"540p\",\n * \"motion_mode\": \"normal\",\n * \"seed\": 12345\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV45T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV45T2v(\n params: PixverseV45T2vParams,\n): Promise<PixverseV45T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v4_5_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV45T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV4I2vParams {\n /**\n * 单个图像URL或Base64编码\n */\n img_id?: string;\n /**\n * 多个图像URL或Base64编码的数组\n */\n img_ids?: string[];\n /**\n * 视频时长,5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 正向提示词\n */\n prompt?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 摄像机运动\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n /**\n * 是否开启音效\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 是否开启唇形同步TTS\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV4I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v4_i2v\n *\n * PixVerse V4 图像生成视频接口\n * \n * Model: v4 (固定模型)\n * Features: 图像生成视频功能\n * Duration: 5秒或10秒(默认5秒)\n * Quality: 270p、540p(默认)、720p、1080p\n * Motion Mode: normal(默认)、fast(快速)\n * Advanced: 支持摄像机运动控制、正向/负向提示词、音效、唇形同步TTS\n * \n * API Documentation: https://docs.platform.pixverse.ai/image-to-video-generation-13016633e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV4I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV4I2v({\n * // 参数见 PixverseV4I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV4I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV4I2v(\n params: PixverseV4I2vParams,\n): Promise<PixverseV4I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v4_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV4I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV4T2vParams {\n /**\n * 视频生成提示词\n */\n prompt: string;\n /**\n * 视频宽高比,支持: 16:9, 9:16, 1:1, 4:3, 3:4,默认16:9\n */\n aspect_ratio?: string;\n /**\n * 视频时长(秒),支持5或10秒,默认5秒\n */\n duration?: number;\n /**\n * 视频质量,支持: 270p, 540p, 720p, 1080p,默认540p\n */\n quality?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 运动模式,支持: normal, fast\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 相机运动,支持: zoom_in, zoom_out, pan_left, pan_right, tilt_up, tilt_down\n */\n camera_movement?: string;\n /**\n * 随机种子\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n}\n\nexport interface PixverseV4T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v4_t2v\n *\n * PixVerse V4 Text-to-Video Generator\n * \n * Model: v4\n * Features: 文本生成视频 (Text-to-Video)\n * Aspect Ratios: 16:9, 9:16, 1:1, 4:3, 3:4\n * Duration: 5或10秒\n * Quality: 270p, 540p, 720p, 1080p\n * Motion Modes: normal, fast\n * \n * API Documentation: https://docs.platform.pixverse.ai/text-to-video-generation-13016634e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV4T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV4T2v({\n * // 参数见 PixverseV4T2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV4T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV4T2v(\n params: PixverseV4T2vParams,\n): Promise<PixverseV4T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v4_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV4T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV4TransitionParams {\n /**\n * 视频生成提示词,必填参数\n */\n prompt: string;\n /**\n * 首帧图像,必填参数。支持URL或Base64格式,与first_frame_image二选一\n */\n first_frame_img?: string | string[];\n /**\n * 首帧图像,必填参数。支持URL或Base64格式,与first_frame_img二选一\n */\n first_frame_image?: string | string[];\n /**\n * 尾帧图像,必填参数。支持URL或Base64格式,与last_frame_image二选一\n */\n last_frame_img?: string | string[];\n /**\n * 尾帧图像,必填参数。支持URL或Base64格式,与last_frame_img二选一\n */\n last_frame_image?: string | string[];\n /**\n * 视频时长(秒),可选5秒或10秒,默认5秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量,可选270p、540p、720p、1080p,默认540p\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式,可选normal(标准)、fast(快速),默认normal\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 随机种子\n */\n seed?: number;\n /**\n * 音效开关\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 唇形同步TTS开关\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV4TransitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v4_transition\n *\n * API Documentation: https://docs.platform.pixverse.ai/transitionfirst-last-frame-generation-15123014e0\n * \n * PixVerse V4 过渡(首尾帧)视频生成实现。支持通过首帧和尾帧图像生成过渡视频。\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV4Transition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV4Transition({\n * // 参数见 PixverseV4TransitionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV4TransitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV4Transition(\n params: PixverseV4TransitionParams,\n): Promise<PixverseV4TransitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v4_transition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV4TransitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV55I2vParams {\n /**\n * 单张图片的URL或Base64数据,会自动上传至PixVerse并转换为img_id\n */\n img_id?: string;\n /**\n * 多张图片列表,每个元素为图片URL或Base64数据,会自动上传至PixVerse并转换为img_ids\n */\n img_ids?: string[];\n /**\n * 视频时长(秒),默认5秒\n * @default 5\n */\n duration?: number;\n /**\n * 视频质量,默认540p\n * @default \"540p\"\n * @values 540p | 720p | 1080p\n */\n quality?: '540p' | '720p' | '1080p';\n /**\n * 视频生成提示词\n */\n prompt: string;\n /**\n * 负向提示词,描述不希望出现的内容(可选)\n */\n negative_prompt?: string;\n /**\n * 随机种子,用于生成可复现的结果(可选)\n */\n seed?: number;\n /**\n * 视频风格\n * @values anime | 3d_animation | clay | comic | cyberpunk\n */\n style?: 'anime' | '3d_animation' | 'clay' | 'comic' | 'cyberpunk';\n /**\n * 模板ID(可选)\n */\n template_id?: number;\n /**\n * 音效内容描述\n */\n sound_effect_content?: string;\n /**\n * 口型同步TTS文本内容\n */\n lip_sync_tts_content?: string;\n /**\n * 口型同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n /**\n * 是否生成音频开关(V5.5特有)\n */\n generate_audio_switch?: boolean;\n /**\n * 是否生成多片段视频开关(V5.5特有)\n */\n generate_multi_clip_switch?: boolean;\n /**\n * 思考类型(V5.5特有)\n */\n thinking_type?: string;\n}\n\nexport interface PixverseV55I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_5_i2v\n *\n * <p>PixVerse V5.5 图生视频生成接口,支持将图片转换为视频</p>\n * <p>API Documentation: https://docs.platform.pixverse.ai/image-to-video-generation-13016633e0</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV55I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV55I2v({\n * // 参数见 PixverseV55I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV55I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV55I2v(\n params: PixverseV55I2vParams,\n): Promise<PixverseV55I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_5_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV55I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV55T2vParams {\n /**\n * 视频生成提示词\n */\n prompt: string;\n /**\n * 视频宽高比,默认16:9\n * @default \"16:9\"\n */\n aspect_ratio?: string;\n /**\n * 视频时长(秒),默认5秒\n * @default 5\n */\n duration?: number;\n /**\n * 视频质量,默认540p\n * @default \"540p\"\n * @values 540p | 720p | 1080p\n */\n quality?: '540p' | '720p' | '1080p';\n /**\n * 负向提示词,描述不希望出现的内容(可选)\n */\n negative_prompt?: string;\n /**\n * 随机种子,用于生成可复现的结果(可选)\n */\n seed?: number;\n /**\n * 视频风格\n * @values anime | 3d_animation | clay | comic | cyberpunk\n */\n style?: 'anime' | '3d_animation' | 'clay' | 'comic' | 'cyberpunk';\n /**\n * 模板ID(可选)\n */\n template_id?: number;\n /**\n * 音效内容描述\n */\n sound_effect_content?: string;\n /**\n * 口型同步TTS文本内容\n */\n lip_sync_tts_content?: string;\n /**\n * 口型同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n /**\n * 是否生成音频开关(V5.5特有)\n */\n generate_audio_switch?: boolean;\n /**\n * 是否生成多片段视频开关(V5.5特有)\n */\n generate_multi_clip_switch?: boolean;\n /**\n * 思考类型(V5.5特有)\n */\n thinking_type?: string;\n}\n\nexport interface PixverseV55T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_5_t2v\n *\n * <p>PixVerse V5.5 文生视频生成接口,支持通过文本提示词生成视频</p>\n * <p>API Documentation: https://docs.platform.pixverse.ai/text-to-video-generation-13016634e0</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV55T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV55T2v({\n * // 参数见 PixverseV55T2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV55T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV55T2v(\n params: PixverseV55T2vParams,\n): Promise<PixverseV55T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_5_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV55T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV55TransitionParams {\n /**\n * 视频生成提示词\n */\n prompt: string;\n /**\n * 首帧图片URL或Base64数据,会自动上传至PixVerse并转换为img_id\n */\n first_frame_img: string;\n /**\n * 首帧图片URL或Base64数据(兼容字段),会自动上传至PixVerse并转换为img_id\n */\n first_frame_image?: string;\n /**\n * 尾帧图片URL或Base64数据,会自动上传至PixVerse并转换为img_id\n */\n last_frame_img: string;\n /**\n * 尾帧图片URL或Base64数据(兼容字段),会自动上传至PixVerse并转换为img_id\n */\n last_frame_image?: string;\n /**\n * 视频时长(秒),V5.5支持5秒,默认5秒\n * @default 5\n */\n duration?: number;\n /**\n * 视频质量,默认540p\n * @default \"540p\"\n * @values 540p | 720p | 1080p\n */\n quality?: '540p' | '720p' | '1080p';\n /**\n * 随机种子,用于生成可复现的结果(可选)\n */\n seed?: number;\n /**\n * 音效内容描述\n */\n sound_effect_content?: string;\n /**\n * 口型同步TTS文本内容\n */\n lip_sync_tts_content?: string;\n /**\n * 口型同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n /**\n * 是否生成音频开关(V5.5特有)\n */\n generate_audio_switch?: boolean;\n}\n\nexport interface PixverseV55TransitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_5_transition\n *\n * <p>PixVerse V5.5 首尾帧过渡视频生成接口,通过提供首帧和尾帧图片生成过渡视频</p>\n * <p>API Documentation: https://docs.platform.pixverse.ai/transitionfirst-last-frame-generation-15123014e0</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV55Transition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV55Transition({\n * // 参数见 PixverseV55TransitionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV55TransitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV55Transition(\n params: PixverseV55TransitionParams,\n): Promise<PixverseV55TransitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_5_transition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV55TransitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV5I2vParams {\n /**\n * 输入图像URL或Base64编码(单个图像)\n */\n img_id?: string;\n /**\n * 输入图像URL或Base64编码列表(多个图像)\n */\n img_ids?: string[];\n /**\n * 视频时长,5或10秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 正向提示词\n */\n prompt?: string;\n /**\n * 负向提示词\n */\n negative_prompt?: string;\n /**\n * 摄像机运动\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID\n */\n template_id?: number;\n /**\n * 是否开启音效\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容\n */\n sound_effect_content?: string;\n /**\n * 是否开启唇形同步TTS\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV5I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_i2v\n *\n * PixVerse V5 Image-to-Video Generator\n * \n * Image-to-video generation implementation for PixVerse V5 API.\n * \n * API Documentation: https://docs.platform.pixverse.ai/image-to-video-generation-13016633e0\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV5I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV5I2v({\n * // 参数见 PixverseV5I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV5I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV5I2v(\n params: PixverseV5I2vParams,\n): Promise<PixverseV5I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV5I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface PixverseV5T2vParams {\n /**\n * 正向提示词,必填\n */\n prompt: string;\n /**\n * 视频宽高比,可选,默认16:9\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1 | 4:3 | 3:4\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1' | '4:3' | '3:4';\n /**\n * 视频时长(秒),可选,5或10秒,默认5秒\n * @default 5\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频质量,可选,默认540p\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 负向提示词,可选\n */\n negative_prompt?: string;\n /**\n * 运动模式,可选,支持normal(正常)、fast(快速)\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 摄像机运动,可选\n * @values zoom_in | zoom_out | pan_left | pan_right | tilt_up | tilt_down\n */\n camera_movement?: 'zoom_in' | 'zoom_out' | 'pan_left' | 'pan_right' | 'tilt_up' | 'tilt_down';\n /**\n * 随机种子,可选,用于可重现的生成结果\n */\n seed?: number;\n /**\n * 模板ID,可选\n */\n template_id?: number;\n}\n\nexport interface PixverseV5T2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_t2v\n *\n * PixVerse V5 文本到视频生成API\n * \n * Model: v5\n * Features: 文本到视频生成功能\n * Duration: 5秒或10秒(默认5秒)\n * Aspect Ratio: 16:9、9:16、1:1、4:3、3:4(默认16:9)\n * Quality: 270p、540p、720p、1080p(默认540p)\n * Motion Mode: normal、fast\n * Camera Movement: zoom_in、zoom_out、pan_left、pan_right、tilt_up、tilt_down\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV5T2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV5T2v({\n * // 参数见 PixverseV5T2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV5T2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV5T2v(\n params: PixverseV5T2vParams,\n): Promise<PixverseV5T2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_t2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV5T2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"Smooth transition between two scenes\",\n * \"first_frame_img\": \"https://example.com/first_frame.jpg\",\n * \"last_frame_img\": \"https://example.com/last_frame.jpg\",\n * \"duration\": 5,\n * \"quality\": \"720p\",\n * \"motion_mode\": \"normal\"\n * }\n * ```\n */\nexport interface PixverseV5TransitionParams {\n /**\n * 视频生成提示词(可选),描述过渡效果的内容\n */\n prompt?: string;\n /**\n * 首帧图像(与first_frame_image二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n first_frame_img?: string | string[];\n /**\n * 首帧图像(与first_frame_img二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n first_frame_image?: string | string[];\n /**\n * 尾帧图像(与last_frame_image二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n last_frame_img?: string | string[];\n /**\n * 尾帧图像(与last_frame_img二选一,必填),支持URL或Base64格式,会自动上传到PixVerse\n */\n last_frame_image?: string | string[];\n /**\n * 视频时长(秒),V5仅支持5秒,设置其他值会导致验证失败\n * @default 5\n * @values 5\n */\n duration?: 5;\n /**\n * 视频质量(可选),支持: 270p, 540p(默认), 720p, 1080p\n * @default \"540p\"\n * @values 270p | 540p | 720p | 1080p\n */\n quality?: '270p' | '540p' | '720p' | '1080p';\n /**\n * 运动模式(可选),支持: normal(标准), fast(快速),默认normal\n * @default \"normal\"\n * @values normal | fast\n */\n motion_mode?: 'normal' | 'fast';\n /**\n * 随机种子(可选),用于可重现的生成结果\n */\n seed?: number;\n /**\n * 音效开关(可选)\n */\n sound_effect_switch?: boolean;\n /**\n * 音效内容(可选)\n */\n sound_effect_content?: string;\n /**\n * 唇形同步TTS开关(可选)\n */\n lip_sync_tts_switch?: boolean;\n /**\n * 唇形同步TTS内容(可选)\n */\n lip_sync_tts_content?: string;\n /**\n * 唇形同步TTS说话人ID(可选)\n */\n lip_sync_tts_speaker_id?: string;\n}\n\nexport interface PixverseV5TransitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * pixverse_v5_transition\n *\n * PixVerse V5 过渡(首尾帧)视频生成接口,支持通过首帧和尾帧图像生成过渡视频。\n * \n * Model: v5\n * Features:\n * - 通过首尾两帧图像生成平滑过渡视频\n * - 固定5秒视频时长\n * - 支持四种质量等级:270p、540p(默认)、720p、1080p\n * - 支持两种运动模式:normal(标准)、fast(快速)\n * - 支持音效和唇形同步TTS功能\n * - 图片自动上传到PixVerse\n *\n * @example\n * ```typescript\n * import { initSeacloud, pixverseV5Transition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await pixverseV5Transition(\n * {\n * \"prompt\": \"Smooth transition between two scenes\",\n * \"first_frame_img\": \"https://example.com/first_frame.jpg\",\n * \"last_frame_img\": \"https://example.com/last_frame.jpg\",\n * \"duration\": 5,\n * \"quality\": \"720p\",\n * \"motion_mode\": \"normal\"\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 PixverseV5TransitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function pixverseV5Transition(\n params: PixverseV5TransitionParams,\n): Promise<PixverseV5TransitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'pixverse_v5_transition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: PixverseV5TransitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"promptText\": \"A beautiful sunset scene with gentle ocean waves\",\n * \"promptImage\": \"https://example.com/input_image.jpg\",\n * \"duration\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"resolution\": \"720p\",\n * \"seed\": 12345,\n * \"watermark\": false\n * }\n * ```\n */\nexport interface RunwayGen3aTurboI2vParams {\n /**\n * 视频生成提示词(可选),最长1000个字符(UTF-16编码单元计数),详细描述视频中应出现的内容\n * @length 0 - 1000\n */\n promptText?: string;\n /**\n * 输入图像,可以是单个图像URL或包含位置信息的图像数组\n */\n promptImage?: string | string[];\n /**\n * 视频时长(可选),单位:秒。支持: 5(5秒)或 10(10秒)\n * @values 5 | 10\n */\n duration?: 5 | 10;\n /**\n * 视频宽高比(可选),常见选项包括: 16:9(横屏)、9:16(竖屏)、1:1(方形)等\n * @example \"16:9\"\n */\n aspectRatio?: string;\n /**\n * 视频分辨率(可选),例如: 720p、1080p 等\n * @example \"720p\"\n */\n resolution?: string;\n /**\n * 随机种子(可选),范围: 0-4294967295。如果未指定,将随机选择。使用相同的seed和其他参数可以生成相似的结果\n * @range 0 - 4294967295\n */\n seed?: number;\n /**\n * 是否添加水印(可选),true表示添加水印,false表示不添加\n */\n watermark?: boolean;\n /**\n * 内容审核设置(可选)\n */\n contentModeration?: {\n /**\n * 公众人物识别阈值:auto(自动)或 low(较低,内容审核系统对包含可识别公众人物的生成内容限制较少)\n * @default \"auto\"\n * @values auto | low\n */\n publicFigureThreshold?: 'auto' | 'low';\n };\n}\n\nexport interface RunwayGen3aTurboI2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * runway_gen3a_turbo_i2v\n *\n * Runway Gen-3 Alpha Turbo 图像生成视频接口,支持将静态图像转换为动态视频。\n * \n * Model: gen3a_turbo\n * Features:\n * - 支持图像到视频生成(I2V)\n * - 支持5秒或10秒视频时长\n * - 支持多种宽高比:16:9、9:16、1:1等\n * - 支持不同分辨率:720p、1080p等\n * - 支持首帧和尾帧图像输入\n * - 支持种子值(seed)控制生成结果\n *\n * @example\n * ```typescript\n * import { initSeacloud, runwayGen3aTurboI2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await runwayGen3aTurboI2v(\n * {\n * \"promptText\": \"A beautiful sunset scene with gentle ocean waves\",\n * \"promptImage\": \"https://example.com/input_image.jpg\",\n * \"duration\": 5,\n * \"aspectRatio\": \"16:9\",\n * \"resolution\": \"720p\",\n * \"seed\": 12345,\n * \"watermark\": false\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 RunwayGen3aTurboI2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function runwayGen3aTurboI2v(\n params: RunwayGen3aTurboI2vParams,\n): Promise<RunwayGen3aTurboI2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'runway_gen3a_turbo_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: RunwayGen3aTurboI2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface TencentHunyuan3dParams {\n /**\n * 文本提示词,与图像输入二选一,不超过1024 UTF-8字符\n * @length 0 - 1024\n */\n prompt?: string;\n /**\n * Base64编码的图像,与提示词二选一。支持格式: jpg, png, jpeg, webp,大小不超过8MB,分辨率128-5000px\n */\n image_base64?: string;\n /**\n * 图像URL,与提示词二选一。支持格式: jpg, png, jpeg, webp,大小不超过8MB,分辨率128-5000px\n */\n image_url?: string;\n /**\n * 输出3D模型格式,可选参数\n * @values OBJ | GLB | STL | USDZ | FBX | MP4\n */\n result_format?: 'OBJ' | 'GLB' | 'STL' | 'USDZ' | 'FBX' | 'MP4';\n /**\n * 是否启用PBR材质,可选参数\n */\n enable_pbr?: boolean;\n /**\n * 多视角图像数组,可选参数\n */\n multi_view_images?: Array<{\n /**\n * 视角\n * @values left | right | back\n */\n View?: 'left' | 'right' | 'back';\n /**\n * 该视角的Base64编码图像\n */\n ImageBase64?: string;\n /**\n * 该视角的图像URL\n */\n ImageUrl?: string;\n }>;\n}\n\nexport interface TencentHunyuan3dResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * tencent_hunyuan_3d\n *\n * 腾讯混元3D生成接口\n * \n * Model: Hunyuan 3D (固定模型)\n * Features: 文本生成3D模型、图像生成3D模型功能\n * Output Formats: OBJ、GLB、STL、USDZ、FBX、MP4(支持多种3D格式)\n * Advanced: 支持PBR材质渲染、多视角图像输入(左、右、后视角)\n * \n * API Documentation: https://cloud.tencent.com/document/product/1804/120826\n * Status Query: https://cloud.tencent.com/document/product/1804/120827\n *\n * @example\n * ```typescript\n * import { initSeacloud, tencentHunyuan3d } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await tencentHunyuan3d({\n * // 参数见 TencentHunyuan3dParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 TencentHunyuan3dParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function tencentHunyuan3d(\n params: TencentHunyuan3dParams,\n): Promise<TencentHunyuan3dResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 4000,\n maxAttempts: 90,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'tencent_hunyuan_3d',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: TencentHunyuan3dResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\n/**\n * 参数示例:\n * ```typescript\n * {\n * \"prompt\": \"A detailed medieval castle with towers and walls\",\n * \"face_count\": 100000,\n * \"generate_type\": \"Normal\",\n * \"polygon_type\": \"triangle\",\n * \"enable_pbr\": true\n * }\n * ```\n */\nexport interface TencentHunyuan3dProParams {\n /**\n * 文本提示词,可选参数(与image_base64/image_url二选一,不能同时使用)。用于描述要生成的3D模型。长度不超过1024个UTF-8字符\n * @length 0 - 1024\n */\n prompt?: string;\n /**\n * Base64编码的图片,可选参数(与prompt二选一,不能同时使用)。图片格式支持jpg、png、jpeg、webp。图片大小不超过8MB,分辨率在128-5000px之间\n */\n image_base64?: string;\n /**\n * 图片URL地址,可选参数(与prompt二选一,不能同时使用)。图片格式支持jpg、png、jpeg、webp。图片大小不超过8MB,分辨率在128-5000px之间\n */\n image_url?: string;\n /**\n * 模型面数,可选参数。取值范围:40000-1500000。默认值根据模型复杂度自动确定\n * @range 40000 - 1500000\n */\n face_count?: number;\n /**\n * 生成类型,可选参数。控制生成的3D模型风格\n * @values Normal | LowPoly | Geometry | Sketch\n */\n generate_type?: 'Normal' | 'LowPoly' | 'Geometry' | 'Sketch';\n /**\n * 多边形类型,可选参数。控制模型的多边形结构\n * @values triangle | quadrilateral\n */\n polygon_type?: 'triangle' | 'quadrilateral';\n /**\n * 是否启用PBR材质,可选参数。启用后会生成更真实的材质效果(基于物理的渲染)\n */\n enable_pbr?: boolean;\n /**\n * 多视图图片列表,可选参数。用于提供物体的多个角度视图以提升生成质量\n */\n multi_view_images?: string[];\n}\n\nexport interface TencentHunyuan3dProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * tencent_hunyuan_3d_pro\n *\n * 腾讯混元3D Pro模型生成接口,支持通过文本描述或图片生成高质量3D模型。\n * \n * Model: Hunyuan-3D-Pro\n * Features:\n * - 文本到3D生成(T2-3D)\n * - 图像到3D生成(I2-3D)\n * - 多种模型格式输出(OBJ、GLB、STL、USDZ、FBX)\n * - 支持预览视频生成(MP4)\n * - 支持PBR材质\n * - 支持低多边形、几何体、草图等多种风格\n *\n * @example\n * ```typescript\n * import { initSeacloud, tencentHunyuan3dPro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await tencentHunyuan3dPro(\n * {\n * \"prompt\": \"A detailed medieval castle with towers and walls\",\n * \"face_count\": 100000,\n * \"generate_type\": \"Normal\",\n * \"polygon_type\": \"triangle\",\n * \"enable_pbr\": true\n * }\n * );\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 TencentHunyuan3dProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function tencentHunyuan3dPro(\n params: TencentHunyuan3dProParams,\n): Promise<TencentHunyuan3dProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 4000,\n maxAttempts: 90,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'tencent_hunyuan_3d_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: TencentHunyuan3dProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface TencentHunyuan3dRapidParams {\n /**\n * 文本提示词,可选参数(与image_base64、image_url三选一,且只能提供一个)。用于描述要生成的3D模型。长度不超过200个字符\n * @length 0 - 200\n */\n prompt?: string;\n /**\n * Base64编码的图片,可选参数(与prompt、image_url三选一,且只能提供一个)。图片格式支持jpg、png、jpeg、webp。图片尺寸在128x128到5000x5000像素之间\n */\n image_base64?: string;\n /**\n * 图片URL地址,可选参数(与prompt、image_base64三选一,且只能提供一个)。图片格式支持jpg、png、jpeg、webp。图片尺寸在128x128到5000x5000像素之间\n */\n image_url?: string;\n /**\n * 结果格式,可选参数。指定生成的3D模型文件格式\n * @values OBJ | GLB | STL | USDZ | FBX | MP4\n */\n result_format?: 'OBJ' | 'GLB' | 'STL' | 'USDZ' | 'FBX' | 'MP4';\n /**\n * 是否启用PBR材质,可选参数。启用后会生成更真实的材质效果\n */\n enable_pbr?: boolean;\n}\n\nexport interface TencentHunyuan3dRapidResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * tencent_hunyuan_3d_rapid\n *\n * 腾讯云混元生3D极速版生成器\n * \n * Model: hunyuan-3d-rapid\n * Features: 文本生成3D模型 (Text-to-3D) / 图像生成3D模型 (Image-to-3D)\n * Input: 文本描述或图片(三选一:prompt/image_base64/image_url)\n * Output Formats: OBJ, GLB, STL, USDZ, FBX, MP4\n * Image Requirements: 128x128至5000x5000像素,支持jpg/png/jpeg/webp\n * Prompt Length: 最多200字符\n * PBR Support: 支持PBR材质生成\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, tencentHunyuan3dRapid } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await tencentHunyuan3dRapid({\n * // 参数见 TencentHunyuan3dRapidParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 TencentHunyuan3dRapidParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function tencentHunyuan3dRapid(\n params: TencentHunyuan3dRapidParams,\n): Promise<TencentHunyuan3dRapidResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 4000,\n maxAttempts: 90,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'tencent_hunyuan_3d_rapid',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: TencentHunyuan3dRapidResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface TencentImageCreation3Params {\n /**\n * 文本描述,算法将根据输入的文本智能生成与之相关的图像。不能为空,推荐使用中文。最多可传1024个 utf-8 字符。\n * @length 0 - 1024\n * @example \"一只可爱的橘猫在阳光下睡觉,照片风格,高清画质\"\n */\n prompt: string;\n /**\n * 生成图分辨率,支持以下尺寸:640:1408, 704:1344, 768:1280, 832:1216, 896:1152, 960:1088, 1024:1024, 1088:960, 1152:896, 1216:832, 1280:768, 1344:704, 1408:640\n * @default \"1024:1024\"\n * @values 640:1408 | 704:1344 | 768:1280 | 832:1216 | 896:1152 | 960:1088 | 1024:1024 | 1088:960 | 1152:896 | 1216:832 | 1280:768 | 1344:704 | 1408:640\n * @example \"1024:1024\"\n */\n resolution?: '640:1408' | '704:1344' | '768:1280' | '832:1216' | '896:1152' | '960:1088' | '1024:1024' | '1088:960' | '1152:896' | '1216:832' | '1280:768' | '1344:704' | '1408:640';\n /**\n * 随机种子,默认随机。不传:随机种子生成。正数:固定种子生成。注意:改写开启时固定种子不生效,将保持随机。\n * @example 12345\n */\n seed?: number;\n /**\n * 为生成结果图添加显式水印标识的开关,默认为1。1:添加。0:不添加。建议使用显著标识来提示结果图使用了 AI 绘画技术,是 AI 生成的图片。\n * @default 1\n * @values 0 | 1\n * @example 1\n */\n logo_add?: 0 | 1;\n /**\n * 标识内容设置。默认在生成结果图右下角添加'图片由 AI 生成'字样,您可根据自身需要替换为其他的标识图片。\n */\n logo_param?: {\n };\n /**\n * 是否开启prompt改写,默认开启。1:开启(改写预计会增加20s左右耗时)。0:关闭(如果关闭改写,需要调用方自己优化prompt,否则对生图效果有较大影响)。\n * @default 1\n * @values 0 | 1\n */\n revise?: 0 | 1;\n}\n\nexport interface TencentImageCreation3Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * tencent_image_creation_3\n *\n * <p>使用腾讯智能创作服务生成图片,支持多种分辨率和自定义水印</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, tencentImageCreation3 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await tencentImageCreation3({\n * // 参数见 TencentImageCreation3Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 TencentImageCreation3Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function tencentImageCreation3(\n params: TencentImageCreation3Params,\n): Promise<TencentImageCreation3Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'tencent_image_creation_3',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: TencentImageCreation3Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface TencentMpsSuperResolutionParams {\n /**\n * 输入视频URL\n */\n input_url: string;\n /**\n * 输入类型,默认为URL\n * @default \"URL\"\n */\n input_type?: string;\n /**\n * 输出存储桶名称\n * @default \"top-rank-cos-1350346443\"\n */\n output_bucket?: string;\n /**\n * 输出存储区域\n * @default \"na-siliconvalley\"\n */\n output_region?: string;\n /**\n * 输出存储类型\n * @default \"COS\"\n */\n output_storage_type?: string;\n /**\n * 输出目录\n * @default \"/super_resolution\"\n */\n output_dir?: string;\n /**\n * 转码模板定义,可选值:1560240(720p)、1581780(1080p)、其他(1440p) 也可输入\"720p\"、\"1080p\"、\"2k\"\n * @default 1560242\n */\n definition?: number;\n short?: number;\n /**\n * 会话ID\n */\n session_id?: string;\n /**\n * 会话上下文\n */\n session_context?: string;\n /**\n * 任务通知配置\n */\n task_notify_config?: {\n };\n /**\n * 任务优先级\n * @default 0\n */\n task_priority?: number;\n}\n\nexport interface TencentMpsSuperResolutionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * tencent_mps_super_resolution\n *\n * <p>Tencent MPS Super Resolution implementation.</p>\n * <p>API Documentation: https://cloud.tencent.com/document/product/862/37578</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, tencentMpsSuperResolution } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await tencentMpsSuperResolution({\n * // 参数见 TencentMpsSuperResolutionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 TencentMpsSuperResolutionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function tencentMpsSuperResolution(\n params: TencentMpsSuperResolutionParams,\n): Promise<TencentMpsSuperResolutionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'tencent_mps_super_resolution',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: TencentMpsSuperResolutionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface Vidu15Params {\n /**\n * 文本提示词,必填,不能超过1500个字符\n */\n prompt: string;\n /**\n * 风格,默认值为'general'\n * @values general | anime\n */\n style?: 'general' | 'anime';\n /**\n * 时长,vidu1.5模型必须是4或8秒\n * @values 4 | 8\n */\n duration?: 4 | 8;\n /**\n * 分辨率,根据时长动态调整默认值\n */\n resolution?: string;\n /**\n * 随机种子,0表示使用随机数\n */\n seed?: number;\n /**\n * 比例,默认值为'16:9'\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,默认值为'auto'\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐,默认值为False\n */\n bgm?: boolean;\n /**\n * 透传参数,最多1048576个字符\n */\n payload?: string;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n}\n\nexport interface Vidu15Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_15\n *\n * <p>通过Vidu 1.5 API创建视频生成任务。<a href=\"https://platform.vidu.com/docs/text-to-video\">API Documentation</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, vidu15 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await vidu15({\n * // 参数见 Vidu15Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 Vidu15Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function vidu15(\n params: Vidu15Params,\n): Promise<Vidu15Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_15',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: Vidu15Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface Vidu15I2vParams {\n /**\n * 输入图像列表,支持URL或base64格式\n */\n images: string[];\n /**\n * 首帧图像,支持URL或base64格式\n */\n first_frame_image?: string;\n /**\n * 提示词,长度不超过1500字符\n */\n prompt?: string;\n /**\n * 风格,可选值:'general'、'anime'\n * @default \"general\"\n * @values general | anime\n */\n style?: 'general' | 'anime';\n /**\n * 视频时长(秒),可选值:4、8\n * @values 4 | 8\n */\n duration?: 4 | 8;\n /**\n * 分辨率,4秒时可选'360p'、'720p'、'1080p',8秒时固定'720p'\n */\n resolution?: string;\n /**\n * 随机种子,0表示使用随机数\n * @default 0\n */\n seed?: number;\n /**\n * 宽高比,可选值:'16:9'、'9:16'、'1:1'\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,可选值:'auto'、'small'、'medium'、'large'\n * @default \"auto\"\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐\n * @default false\n */\n bgm?: boolean;\n /**\n * 透传参数,最多1048576个字符\n */\n payload?: string;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n /**\n * 是否在非高峰时段处理\n * @default false\n */\n off_peak?: boolean;\n}\n\nexport interface Vidu15I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_15_i2v\n *\n * Vidu 1.5 Image-to-Video generation implementation.\n * \n * API Documentation: https://platform.vidu.com/docs/image-to-video\n * Status API: https://platform.vidu.com/docs/get-generation\n *\n * @example\n * ```typescript\n * import { initSeacloud, vidu15I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await vidu15I2v({\n * // 参数见 Vidu15I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 Vidu15I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function vidu15I2v(\n params: Vidu15I2vParams,\n): Promise<Vidu15I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_15_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: Vidu15I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface Vidu20I2vParams {\n /**\n * 输入图像列表,支持URL或base64格式\n */\n images: string[];\n /**\n * 首帧图像,支持URL或base64格式\n */\n first_frame_image?: string;\n /**\n * 提示词,长度不超过1500字符\n */\n prompt?: string;\n /**\n * 风格,可选值:'general'、'anime'\n * @default \"general\"\n * @values general | anime\n */\n style?: 'general' | 'anime';\n /**\n * 视频时长(秒),可选值:4、8\n * @values 4 | 8\n */\n duration?: 4 | 8;\n /**\n * 分辨率,4秒时可选'360p'、'720p'、'1080p',8秒时固定'720p'\n */\n resolution?: string;\n /**\n * 随机种子,0表示使用随机数\n * @default 0\n */\n seed?: number;\n /**\n * 宽高比,可选值:'16:9'、'9:16'、'1:1'\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,可选值:'auto'、'small'、'medium'、'large'\n * @default \"auto\"\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐\n * @default false\n */\n bgm?: boolean;\n /**\n * 透传参数,最多1048576个字符\n */\n payload?: string;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n /**\n * 是否在非高峰时段处理\n * @default false\n */\n off_peak?: boolean;\n}\n\nexport interface Vidu20I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_20_i2v\n *\n * Vidu 2.0 Image-to-Video generation implementation.\n * \n * API Documentation: https://platform.vidu.com/docs/image-to-video\n * Status API: https://platform.vidu.com/docs/get-generation\n *\n * @example\n * ```typescript\n * import { initSeacloud, vidu20I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await vidu20I2v({\n * // 参数见 Vidu20I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 Vidu20I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function vidu20I2v(\n params: Vidu20I2vParams,\n): Promise<Vidu20I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_20_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: Vidu20I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ViduQ1Params {\n /**\n * 文本提示词,必填,不能超过1500个字符\n */\n prompt: string;\n /**\n * 风格,默认值为'general'\n * @values general | anime\n */\n style?: 'general' | 'anime';\n /**\n * 随机种子,0表示使用随机数\n */\n seed?: number;\n /**\n * 比例,默认值为'16:9'\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,默认值为'auto'\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐,默认值为False\n */\n bgm?: boolean;\n /**\n * 透传参数,最多1048576个字符\n */\n payload?: string;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n}\n\nexport interface ViduQ1Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_q1\n *\n * <p>通过Vidu Q1 API创建视频生成任务。<a href=\"https://platform.vidu.com/docs/text-to-video\">API Documentation</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, viduQ1 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await viduQ1({\n * // 参数见 ViduQ1Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ViduQ1Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function viduQ1(\n params: ViduQ1Params,\n): Promise<ViduQ1Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_q1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ViduQ1Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ViduQ1I2vParams {\n /**\n * 输入图像URL或Base64编码,可以是单个图像或图像列表\n */\n images: any;\n /**\n * 首帧图像URL或Base64编码\n */\n first_frame_image?: string;\n /**\n * 视频生成提示词,不能超过1500个字符\n */\n prompt?: string;\n /**\n * 风格,默认值为'general'\n * @values general | anime\n */\n style?: 'general' | 'anime';\n /**\n * 随机种子,0表示使用随机数\n */\n seed?: number;\n /**\n * 比例,默认值为'16:9'\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,默认值为'auto'\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐,默认值为False\n */\n bgm?: boolean;\n /**\n * 透传参数,最多1048576个字符\n */\n payload?: string;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n}\n\nexport interface ViduQ1I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_q1_i2v\n *\n * <p>通过Vidu Q1 API创建图像到视频生成任务。<a href=\"https://platform.vidu.com/docs/image-to-video\">API Documentation</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, viduQ1I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await viduQ1I2v({\n * // 参数见 ViduQ1I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ViduQ1I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function viduQ1I2v(\n params: ViduQ1I2vParams,\n): Promise<ViduQ1I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_q1_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ViduQ1I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ViduQ2Params {\n /**\n * 文本提示词,必填,长度不超过1500字符\n */\n prompt: string;\n /**\n * 视频时长(秒),默认5秒,可选1-8秒\n * @default 5\n * @range 1 - 8\n */\n duration?: number;\n /**\n * 视频分辨率,默认720p,可选值:360p、540p、720p、1080p\n * @default \"720p\"\n * @values 360p | 540p | 720p | 1080p\n */\n resolution?: '360p' | '540p' | '720p' | '1080p';\n /**\n * 随机种子,默认0(随机)\n * @default 0\n */\n seed?: number;\n /**\n * 宽高比,默认16:9,可选值:16:9、9:16、1:1\n * @default \"16:9\"\n * @values 16:9 | 9:16 | 1:1\n */\n aspect_ratio?: '16:9' | '9:16' | '1:1';\n /**\n * 运动幅度,默认auto,可选值:auto、small、medium、large\n * @default \"auto\"\n * @values auto | small | medium | large\n */\n movement_amplitude?: 'auto' | 'small' | 'medium' | 'large';\n /**\n * 是否添加背景音乐,默认false\n * @default false\n */\n bgm?: boolean;\n /**\n * 透传参数,最大1048576字符\n */\n payload?: string;\n /**\n * 低峰模式,默认false\n * @default false\n */\n off_peak?: boolean;\n /**\n * 是否添加水印,默认false\n * @default false\n */\n wartermark?: boolean;\n /**\n * 回调URL,必须以http://或https://开头\n */\n callback_url?: string;\n}\n\nexport interface ViduQ2Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_q2\n *\n * Vidu Q2 Text-to-Video generation implementation.\n * \n * API Documentation: https://platform.vidu.com/docs/text-to-video\n * Status API: https://platform.vidu.com/docs/get-generation\n *\n * @example\n * ```typescript\n * import { initSeacloud, viduQ2 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await viduQ2({\n * // 参数见 ViduQ2Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ViduQ2Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function viduQ2(\n params: ViduQ2Params,\n): Promise<ViduQ2Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_q2',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ViduQ2Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ViduTemplateParams {\n /**\n * 模板名称,必填参数。支持的模板: turn_into_zombie (变成僵尸效果), head_to_balloon (头部变气球效果), wednesdays_vibe (星期三氛围效果), covered_liquid_metal (液态金属覆盖效果)\n * @values turn_into_zombie | head_to_balloon | wednesdays_vibe | covered_liquid_metal\n */\n template: 'turn_into_zombie' | 'head_to_balloon' | 'wednesdays_vibe' | 'covered_liquid_metal';\n /**\n * 输入图片,必填参数。至少需要1张图片。支持URL (http://或https://开头) 或base64编码 (data:image/开头)\n */\n images: string | string[];\n /**\n * 文本提示词,可选参数。用于指导视频生成效果。长度不超过2000字符\n * @length 0 - 2000\n */\n prompt?: string;\n /**\n * 随机种子,可选参数。用于控制生成结果的随机性,相同种子会生成相似结果\n */\n seed?: number;\n /**\n * 是否添加背景音乐,可选参数。默认为false\n */\n bgm?: boolean;\n /**\n * 额外参数,可选参数。用于传递模板特定的扩展配置\n */\n extra_params?: Record<string, any>;\n}\n\nexport interface ViduTemplateResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_template\n *\n * API Documentation: https://api.vidu.com/ent/v2/template\n * \n * Vidu 模板视频生成实现。支持变成僵尸、头部变气球、星期三氛围、液态金属覆盖等多种模板效果。固定4秒时长,720p分辨率。\n *\n * @example\n * ```typescript\n * import { initSeacloud, viduTemplate } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await viduTemplate({\n * // 参数见 ViduTemplateParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ViduTemplateParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function viduTemplate(\n params: ViduTemplateParams,\n): Promise<ViduTemplateResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_template',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ViduTemplateResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface ViduTemplateV2Params {\n /**\n * 模板名称,必填参数。支持的模板: turn_into_zombie (变成僵尸效果), head_to_balloon (头部变气球效果), wednesdays_vibe (星期三氛围效果), covered_liquid_metal (液态金属覆盖效果)\n * @values turn_into_zombie | head_to_balloon | wednesdays_vibe | covered_liquid_metal\n */\n template: 'turn_into_zombie' | 'head_to_balloon' | 'wednesdays_vibe' | 'covered_liquid_metal';\n /**\n * 输入图片,必填参数。至少需要1张图片。支持URL (http://或https://开头) 或base64编码 (data:image/开头)\n */\n images: string | string[];\n /**\n * 文本提示词,可选参数。用于指导视频生成效果。长度不超过2000字符\n * @length 0 - 2000\n */\n prompt?: string;\n /**\n * 随机种子,可选参数。用于控制生成结果的随机性,相同种子会生成相似结果\n */\n seed?: number;\n /**\n * 是否添加背景音乐,可选参数。默认为false\n */\n bgm?: boolean;\n /**\n * 额外参数,可选参数。用于传递模板特定的扩展配置\n */\n extra_params?: Record<string, any>;\n}\n\nexport interface ViduTemplateV2Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * vidu_template_v2\n *\n * API Documentation: https://platform.vidu.com/docs/template\n * \n * Vidu 模板视频生成实现(V2版本)。支持变成僵尸、头部变气球、星期三氛围、液态金属覆盖等多种模板效果。固定4秒时长,720p分辨率。\n *\n * @example\n * ```typescript\n * import { initSeacloud, viduTemplateV2 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await viduTemplateV2({\n * // 参数见 ViduTemplateV2Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 ViduTemplateV2Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function viduTemplateV2(\n params: ViduTemplateV2Params,\n): Promise<ViduTemplateV2Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'vidu_template_v2',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: ViduTemplateV2Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesJimeng30Params {\n /**\n * 提示词,必填,长度必须在1-800个字符之间\n */\n prompt: string;\n /**\n * 是否使用预处理LLM,默认值为true\n * @default true\n */\n use_pre_llm?: boolean;\n /**\n * 随机种子,-1或正整数,默认值为-1\n * @default -1\n */\n seed?: number;\n /**\n * 图像宽度,范围512-2048,默认值为1328\n * @default 1328\n */\n width?: number;\n /**\n * 图像高度,范围512-2048,默认值为1328\n * @default 1328\n */\n height?: number;\n}\n\nexport interface VolcesJimeng30Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_jimeng_3_0\n *\n * 通过火山即梦3.0 API创建图像生成任务。[API Documentation](https://www.volcengine.com/docs/85621/1616429)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesJimeng30 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesJimeng30({\n * // 参数见 VolcesJimeng30Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesJimeng30Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesJimeng30(\n params: VolcesJimeng30Params,\n): Promise<VolcesJimeng30Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_jimeng_3_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesJimeng30Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesJimeng31Params {\n /**\n * 提示词,必填,长度必须在1-800个字符之间\n */\n prompt: string;\n /**\n * 是否使用预处理LLM,默认值为true\n * @default true\n */\n use_pre_llm?: boolean;\n /**\n * 随机种子,-1或正整数,默认值为-1\n * @default -1\n */\n seed?: number;\n /**\n * 图像宽度,范围512-2048,必须与height同时提供\n */\n width?: number;\n /**\n * 图像高度,范围512-2048,必须与width同时提供\n */\n height?: number;\n}\n\nexport interface VolcesJimeng31Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_jimeng_3_1\n *\n * Volces Jimeng 3.1 Image Generator implementation.\n * \n * Model: 即梦3.1 (Jimeng 3.1)\n * Features: 文本生成图像功能\n * Prompt Length: 1-800字符\n * Image Dimensions: 512-2048像素(宽高必须同时提供)\n * Aspect Ratio: 1:3 到 3:1\n * Seed: -1(随机) 或正整数\n * Pre-LLM: 默认启用\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesJimeng31 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesJimeng31({\n * // 参数见 VolcesJimeng31Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesJimeng31Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesJimeng31(\n params: VolcesJimeng31Params,\n): Promise<VolcesJimeng31Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_jimeng_3_1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesJimeng31Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesJimengDreamActorM1Params {\n /**\n * 参考视频URL\n */\n video_url: string;\n /**\n * 图像URL\n */\n image_url: string;\n /**\n * 随机种子,必须是-1或正整数\n * @default -1\n */\n seed?: number;\n /**\n * 视频质量,可选值:'normal'(普通)、'high'(高质量)\n * @values normal | high\n */\n video_quality?: 'normal' | 'high';\n /**\n * 水印信息配置\n */\n logo_info?: {\n /**\n * 是否添加水印\n * @default false\n */\n add_logo?: boolean;\n /**\n * 水印位置\n * @default 0\n */\n position?: number;\n /**\n * 水印语言\n * @default 0\n */\n language?: number;\n /**\n * 水印不透明度\n * @default 1\n */\n opacity?: number;\n /**\n * 水印文本内容\n * @default \"\"\n */\n logo_text_content?: string;\n };\n /**\n * 是否返回URL\n * @default true\n */\n return_url?: boolean;\n /**\n * AIGC元数据\n */\n aigc_meta?: {\n /**\n * 内容生产者\n * @default \"unifygen-api\"\n */\n content_producer?: string;\n /**\n * 生产者ID\n * @default \"unifygen-api\"\n */\n producer_id?: string;\n /**\n * 水印文本内容\n * @default \"\"\n */\n logo_text_content?: string;\n };\n}\n\nexport interface VolcesJimengDreamActorM1Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_jimeng_dream_actor_m1\n *\n * Volces Jimeng Dream Actor M1 Video Generator\n * \n * Video generation with reference video and image (即梦造梦演员M1视频生成).\n * \n * Model: dream_actor_m1\n * Features: 视频生成(参考视频+图像融合)\n * Quality: normal(普通), high(高质量)\n * Supports: 随机种子控制、视频质量选择\n * \n * API Documentation: https://www.volcengine.com/docs/85621/1798351\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesJimengDreamActorM1 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesJimengDreamActorM1({\n * // 参数见 VolcesJimengDreamActorM1Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesJimengDreamActorM1Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesJimengDreamActorM1(\n params: VolcesJimengDreamActorM1Params,\n): Promise<VolcesJimengDreamActorM1Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_jimeng_dream_actor_m1',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesJimengDreamActorM1Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesJimengI2i30Params {\n /**\n * 图像生成提示词,长度必须在1-800字符之间\n */\n prompt: string;\n /**\n * 输入图像的Base64编码列表,必须包含 exactly one 图像\n */\n binary_data_base64?: string[];\n /**\n * 输入图像URL列表,必须包含 exactly one 图像\n */\n image_urls?: string[];\n /**\n * 随机种子,必须是-1或正整数\n * @default -1\n */\n seed?: number;\n /**\n * 缩放因子,必须是0到1之间的浮点数\n * @default 0.5\n */\n scale?: number;\n /**\n * 图像宽度,必须在512-2016之间,需要与height同时提供\n */\n width?: number;\n /**\n * 图像高度,必须在512-2016之间,需要与width同时提供\n */\n height?: number;\n}\n\nexport interface VolcesJimengI2i30Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_jimeng_i2i_3_0\n *\n * Volces Jimeng I2I 3.0 Image Generator\n * \n * Image-to-image generation implementation for Volces Jimeng I2I 3.0 (火山即梦图生图3.0).\n * API Documentation: https://www.volcengine.com/docs/85621/1747301\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesJimengI2i30 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesJimengI2i30({\n * // 参数见 VolcesJimengI2i30Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesJimengI2i30Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesJimengI2i30(\n params: VolcesJimengI2i30Params,\n): Promise<VolcesJimengI2i30Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_jimeng_i2i_3_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesJimengI2i30Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesRealmanAvatarImitatorV2vParams {\n /**\n * 人物图片URL,必填参数。用于指定要生成数字人的人物形象\n */\n image_url: string;\n /**\n * 驱动视频信息,必填参数。包含驱动视频的URL和存储类型\n */\n driving_video_info: {\n /**\n * 驱动视频URL,必填参数。用于指定驱动数字人动作的视频\n */\n video_url: string;\n /**\n * 存储类型,必填参数。必须为0\n * @values 0\n */\n store_type: 0;\n };\n /**\n * 随机种子,可选参数。必须为-1或正整数,用于控制生成结果的随机性\n */\n seed?: number;\n /**\n * 分辨率,可选参数。指定输出视频的分辨率\n */\n resolution?: string;\n /**\n * 帧率,可选参数。必须为正整数,推荐值为25或30\n */\n fps?: number;\n /**\n * 比特率,可选参数。必须为正整数,用于控制视频质量\n */\n bitrate?: number;\n /**\n * 水印信息,可选参数\n */\n logo_info?: {\n /**\n * 是否添加水印\n */\n add_logo?: boolean;\n /**\n * 水印位置\n */\n position?: number;\n /**\n * 水印语言\n */\n language?: number;\n /**\n * 水印透明度\n */\n opacity?: number;\n /**\n * 水印文字内容\n */\n logo_text_content?: string;\n };\n /**\n * 是否返回视频URL,可选参数。默认为true\n */\n return_url?: boolean;\n}\n\nexport interface VolcesRealmanAvatarImitatorV2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_realman_avatar_imitator_v2v\n *\n * API Documentation: https://www.volcengine.com/docs/86081/1804525\n * \n * Volces RealMan Avatar Imitator V2V 视频生成实现(火山引擎)。支持视频到视频的数字人模仿生成,根据输入的人物图片和驱动视频生成数字人模仿视频。\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesRealmanAvatarImitatorV2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesRealmanAvatarImitatorV2v({\n * // 参数见 VolcesRealmanAvatarImitatorV2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesRealmanAvatarImitatorV2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesRealmanAvatarImitatorV2v(\n params: VolcesRealmanAvatarImitatorV2vParams,\n): Promise<VolcesRealmanAvatarImitatorV2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_realman_avatar_imitator_v2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesRealmanAvatarImitatorV2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesRealmanAvatarPictureOmniV15Params {\n /**\n * 人物肖像图片URL地址\n */\n image_url: string;\n /**\n * 音频URL地址,音频时长必须小于35秒\n */\n audio_url: string;\n /**\n * 遮罩图片URL列表(来自主体检测步骤2)\n */\n mask_url?: string[];\n /**\n * 随机种子,-1表示随机生成(默认值)\n */\n seed?: number;\n /**\n * 文本提示词,支持中文、英文、日文、韩文、西班牙文、印尼文\n */\n prompt?: string;\n /**\n * 是否启用快速模式(默认值:false)\n */\n pe_fast_mode?: boolean;\n}\n\nexport interface VolcesRealmanAvatarPictureOmniV15Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_realman_avatar_picture_omni_v15\n *\n * API Documentation: https://www.volcengine.com/docs/85621/1829013\n * \n * Volces RealMan Avatar Picture Omni V1.5 (OmniHuman1.5) 数字人生成接口,支持单张图片+音频生成数字人视频。支持任意宽高比图片,可处理人物、宠物、动漫等多种主体类型。\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesRealmanAvatarPictureOmniV15 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesRealmanAvatarPictureOmniV15({\n * // 参数见 VolcesRealmanAvatarPictureOmniV15Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesRealmanAvatarPictureOmniV15Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesRealmanAvatarPictureOmniV15(\n params: VolcesRealmanAvatarPictureOmniV15Params,\n): Promise<VolcesRealmanAvatarPictureOmniV15Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_realman_avatar_picture_omni_v15',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesRealmanAvatarPictureOmniV15Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesRealmanAvatarPictureOmniV2Params {\n /**\n * 输入图像URL\n */\n image_url: string;\n /**\n * 音频URL,用于数字人动画\n */\n audio_url: string;\n /**\n * 视频分辨率,可选参数\n */\n resolution?: string;\n /**\n * 帧率,可选参数,必须是正整数,推荐值为25或30\n */\n fps?: number;\n /**\n * 比特率,可选参数,必须是正整数\n */\n bitrate?: number;\n}\n\nexport interface VolcesRealmanAvatarPictureOmniV2Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_realman_avatar_picture_omni_v2\n *\n * Volces RealMan Avatar Picture Omni V2 Generator\n * \n * Digital human avatar picture generation with audio-driven animation (数字人口型驱动生成).\n * API Documentation: https://www.volcengine.com/docs/85128/1580770\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesRealmanAvatarPictureOmniV2 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesRealmanAvatarPictureOmniV2({\n * // 参数见 VolcesRealmanAvatarPictureOmniV2Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesRealmanAvatarPictureOmniV2Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesRealmanAvatarPictureOmniV2(\n params: VolcesRealmanAvatarPictureOmniV2Params,\n): Promise<VolcesRealmanAvatarPictureOmniV2Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_realman_avatar_picture_omni_v2',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesRealmanAvatarPictureOmniV2Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeed3dParams {\n /**\n * 内容数组,必填参数。必须同时包含文本内容(type为text)和图片内容(type为image_url)\n */\n content: Record<string, any>[];\n}\n\nexport interface VolcesSeed3dResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seed3d\n *\n * Volces Seed3D 1.0 3D Model Generator\n * \n * 3D model generation implementation for Volces Seed3D 1.0 (火山引擎).\n * \n * Model: ep-20251022222630-dg2jk\n * Features: 从单张图片和文本描述生成3D模型文件\n * Supported Formats: GLB, OBJ, PLY, STL\n * Subdivision Levels: low, medium, high\n * \n * API Documentation: https://www.volcengine.com/docs/82379/1856293\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeed3d } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeed3d({\n * // 参数见 VolcesSeed3dParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeed3dParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeed3d(\n params: VolcesSeed3dParams,\n): Promise<VolcesSeed3dResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 4000,\n maxAttempts: 90,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seed3d',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeed3dResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedance30I2vParams {\n /**\n * 内容数组,必填参数。使用OpenAI协议格式,包含text和image_url类型的对象\n */\n content: Array<{\n /**\n * 内容类型\n * @values text | image_url\n */\n type: 'text' | 'image_url';\n /**\n * 文本内容(当type为text时)\n */\n text?: string;\n /**\n * 图像URL对象(当type为image_url时)\n */\n image_url?: {\n /**\n * 图像URL或Base64数据URI\n */\n url?: string;\n };\n /**\n * 角色类型,reference_image表示参考图像(可选,1-4张)\n * @values reference_image\n */\n role?: 'reference_image';\n }>;\n /**\n * 模型ID,可选参数。默认为ep-20250507154154-ss6wk\n */\n model?: string;\n /**\n * 分辨率,可选参数。作为文本命令附加到prompt中(--rs)\n * @values 480p | 720p | 1080p\n */\n resolution?: '480p' | '720p' | '1080p';\n /**\n * 宽高比,可选参数。作为文本命令附加到prompt中(--rt)\n * @values 21:9 | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 | 9:21 | keep_ratio | adaptive\n */\n ratio?: '21:9' | '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | '9:21' | 'keep_ratio' | 'adaptive';\n /**\n * 视频时长,可选参数。范围3-12秒,作为文本命令附加到prompt中(--dur)\n * @range 3 - 12\n */\n duration?: number;\n /**\n * 帧率,可选参数。支持16或24fps,作为文本命令附加到prompt中(--fps)\n * @values 16 | 24\n */\n framespersecond?: 16 | 24;\n /**\n * 随机种子,可选参数。范围-1到2^32-1,-1表示随机\n * @range -1 - 4294967295\n */\n seed?: number;\n /**\n * 是否添加水印,可选参数。作为文本命令附加到prompt中(--wm)\n */\n watermark?: boolean;\n /**\n * 是否固定摄像机,可选参数。作为文本命令附加到prompt中(--cf)\n */\n camerafixed?: boolean;\n /**\n * 是否返回最后一帧图像,可选参数\n */\n return_last_frame?: boolean;\n}\n\nexport interface VolcesSeedance30I2vResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedance_30_i2v\n *\n * Volces SeeDance 3.0 I2V Video Generator\n * \n * Image-to-video generation using OpenAI protocol. Converts images to videos with optional text prompts.\n * Model: doubao-seedance-1-0-lite-i2v\n * Duration: 3-12 seconds\n * Resolution: 480p, 720p, 1080p\n * \n * API Documentation: https://www.volcengine.com/docs/82379/1520757\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedance30I2v } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedance30I2v({\n * // 参数见 VolcesSeedance30I2vParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedance30I2vParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedance30I2v(\n params: VolcesSeedance30I2vParams,\n): Promise<VolcesSeedance30I2vResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 5000,\n maxAttempts: 120,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedance_30_i2v',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedance30I2vResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedance30Params {\n /**\n * 内容数组,必填\n */\n content: Array<{\n /**\n * 内容类型,必须为text\n */\n type: string;\n /**\n * 文本内容\n */\n text: string;\n }>;\n /**\n * 分辨率\n * @values 480p | 720p | 1080p\n */\n resolution?: '480p' | '720p' | '1080p';\n /**\n * 宽高比\n * @values 21:9 | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 | 9:21 | keep_ratio | adaptive\n */\n ratio?: '21:9' | '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | '9:21' | 'keep_ratio' | 'adaptive';\n /**\n * 视频时长,范围3-12秒\n */\n duration?: number;\n /**\n * 帧率\n * @values 16 | 24\n */\n framespersecond?: 16 | 24;\n /**\n * 随机种子,范围-1到2^32-1\n */\n seed?: number;\n /**\n * 是否添加水印\n */\n watermark?: boolean;\n /**\n * 是否固定摄像机\n */\n camerafixed?: boolean;\n /**\n * 是否返回最后一帧图像,默认false\n */\n return_last_frame?: boolean;\n}\n\nexport interface VolcesSeedance30Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedance_3_0\n *\n * 通过火山引擎SeeDance 3.0 API创建视频生成任务。[API Documentation](https://www.volcengine.com/docs/82379/1520757)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedance30 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedance30({\n * // 参数见 VolcesSeedance30Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedance30Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedance30(\n params: VolcesSeedance30Params,\n): Promise<VolcesSeedance30Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedance_3_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedance30Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedance30ProParams {\n /**\n * 内容数组,支持文本到视频、图像到视频(首帧)和图像到视频(首尾帧)三种模式\n */\n content: Array<{\n /**\n * 内容类型,可以是text或image_url\n */\n type: string;\n /**\n * 文本内容(仅当type为text时需要)\n */\n text?: string;\n /**\n * 图像信息(仅当type为image_url时需要)\n */\n image_url?: {\n /**\n * 图像URL或Base64数据URI\n */\n url: string;\n };\n }>;\n /**\n * 分辨率\n * @values 480p | 720p | 1080p\n */\n resolution?: '480p' | '720p' | '1080p';\n /**\n * 宽高比\n * @values 21:9 | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 | 9:21 | keep_ratio | adaptive\n */\n ratio?: '21:9' | '16:9' | '4:3' | '1:1' | '3:4' | '9:16' | '9:21' | 'keep_ratio' | 'adaptive';\n /**\n * 视频时长(秒),范围3-12秒\n * @range 3 - 12\n */\n duration?: number;\n /**\n * 帧率,可选16fps或24fps\n * @values 16 | 24\n */\n framespersecond?: 16 | 24;\n /**\n * 随机种子,范围-1到2^32-1,-1表示随机\n * @range -1 - ∞\n */\n seed?: number;\n /**\n * 是否添加水印,默认false\n * @default false\n */\n watermark?: boolean;\n /**\n * 是否固定摄像机\n */\n camerafixed?: boolean;\n /**\n * 是否返回最后一帧图像,默认false\n * @default false\n */\n return_last_frame?: boolean;\n}\n\nexport interface VolcesSeedance30ProResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedance_3_0_pro\n *\n * 通过火山引擎SeeDance 3.0 Pro API创建视频生成任务。[API Documentation](https://www.volcengine.com/docs/82379/1520757)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedance30Pro } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedance30Pro({\n * // 参数见 VolcesSeedance30ProParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedance30ProParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedance30Pro(\n params: VolcesSeedance30ProParams,\n): Promise<VolcesSeedance30ProResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedance_3_0_pro',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedance30ProResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedanceProFastParams {\n /**\n * 内容列表,支持文本到视频或图像到视频(首帧)\n */\n content: Array<{\n /**\n * 内容类型,如text或image_url\n */\n type?: string;\n /**\n * 文本内容\n */\n text?: string;\n image_url?: {\n /**\n * 图像URL\n */\n url?: string;\n };\n }>;\n /**\n * 视频分辨率,必须是支持的分辨率之一,默认480p\n * @default \"480p\"\n * @values 480p | 720p | 1080p\n */\n resolution?: '480p' | '720p' | '1080p';\n /**\n * 宽高比参数\n */\n ratio?: string;\n /**\n * 视频时长参数\n */\n duration?: number;\n /**\n * 帧率参数\n */\n framespersecond?: number;\n /**\n * 是否添加水印\n */\n watermark?: boolean;\n /**\n * 随机种子,-1表示随机\n */\n seed?: number;\n /**\n * 是否固定摄像机\n */\n camerafixed?: boolean;\n /**\n * 是否返回最后一帧\n * @default false\n */\n return_last_frame?: boolean;\n}\n\nexport interface VolcesSeedanceProFastResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedance_pro_fast\n *\n * <p>Volces SeeDance Pro Fast Video Generator</p>\n * <p>Video generation implementation for Volces SeeDance Pro Fast (火山引擎SeeDance Pro Fast).<br>\n * Supports two modes:</p>\n * <ol>\n * <li>Text-to-video: Generate video from text prompt</li>\n * <li>Image-to-video (first frame): Generate video from first frame image + optional text prompt</li>\n * </ol>\n * <p>API Documentation: https://www.volcengine.com/docs/82379/1520757</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedanceProFast } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedanceProFast({\n * // 参数见 VolcesSeedanceProFastParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedanceProFastParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedanceProFast(\n params: VolcesSeedanceProFastParams,\n): Promise<VolcesSeedanceProFastResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedance_pro_fast',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedanceProFastResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededit20Params {\n /** 编辑提示词,必填,长度必须在1-800个字符之间 */\n prompt: string;\n /** Base64编码的图像数据数组,必须包含 exactly 1 个图像 */\n binary_data_base64?: string[];\n /** 图像URL数组,必须包含 exactly 1 个图像 */\n image_urls?: string[];\n /** 随机种子,-1或正整数,默认值为-1 */\n seed?: number;\n /** 编辑强度,范围0-1,默认值为0.5 */\n scale?: number;\n /** 是否返回图像URL */\n return_url?: boolean;\n /** 水印信息 */\n logo_info?: any;\n}\n\nexport interface VolcesSeededit20Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n}\n\n/**\n * Volces SeedEdit 2.0 Image Editor\n *\n * 通过火山引擎SeedEdit 2.0 API创建图像编辑任务\n *\n * API Documentation: https://www.volcengine.com/docs/86081/1804470\n * @param params 请求参数\n * @returns 生成的资源列表\n */\nexport async function volcesSeededit20(\n params: VolcesSeededit20Params,\n): Promise<VolcesSeededit20Resource[]> {\n const client = getClient();\n\n // 该 API 的特定轮询配置\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_2_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededit20Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'image',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededit30Params {\n /**\n * 编辑提示词,长度必须在1-800个字符之间(建议≤120字符)\n */\n prompt: string;\n /**\n * Base64编码的图像数据数组,必须包含恰好1个图像,与image_urls二选一\n */\n binary_data_base64?: string[];\n /**\n * 图像URL数组,必须包含恰好1个图像,与binary_data_base64二选一\n */\n image_urls?: string[];\n /**\n * 随机种子,-1表示随机或使用正整数,默认值为-1\n * @default -1\n */\n seed?: number;\n /**\n * 编辑强度,取值范围:0-1,默认值为0.5\n * @default 0.5\n */\n scale?: number;\n}\n\nexport interface VolcesSeededit30Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_3_0\n *\n * Volces SeedEdit 3.0 Image Generator - 火山引擎图像编辑实现\n * \n * Model: SeedEdit 3.0\n * Features: 图像编辑\n * Input: 1张参考图像\n * Prompt Length: 1-800字符(建议≤120)\n * \n * API Documentation: https://www.volcengine.com/docs/85128/1602254\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededit30 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededit30({\n * // 参数见 VolcesSeededit30Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededit30Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededit30(\n params: VolcesSeededit30Params,\n): Promise<VolcesSeededit30Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_3_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededit30Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededit30I2iParams {\n /**\n * 编辑提示词,可选,不超过300个中文字符或600个英文单词,默认为空字符串\n * @default \"\"\n */\n prompt?: string;\n /**\n * 输入图像,必填,支持JPEG或PNG格式的Base64编码或可访问的URL\n */\n image: string;\n /**\n * 输出图像尺寸,格式如'1024x1024'\n */\n size?: string;\n /**\n * 随机种子,范围-1到2147483647\n */\n seed?: number;\n /**\n * 引导强度,范围1-10\n */\n guidance_scale?: number;\n /**\n * 响应格式\n * @values url | b64_json\n */\n response_format?: 'url' | 'b64_json';\n /**\n * 是否添加水印\n */\n watermark?: boolean;\n /**\n * 是否启用流式输出\n */\n stream?: boolean;\n}\n\nexport interface VolcesSeededit30I2iResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_3_0_i2i\n *\n * Volces SeedEdit 3.0 I2I Image-to-Image Editing Generator\n * \n * Model: doubao-seededit-3-0-i2i-250628\n * Features: 图像到图像编辑,支持基于提示词的图像内容修改\n * Format Support: JPEG, PNG (Base64编码或URL)\n * Size Limit: 最大10MB, 最大6000x6000像素, 最小14px\n * Aspect Ratio: 1:3 到 3:1\n * \n * API Documentation: https://www.volcengine.com/docs/82379/1541523\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededit30I2i } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededit30I2i({\n * // 参数见 VolcesSeededit30I2iParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededit30I2iParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededit30I2i(\n params: VolcesSeededit30I2iParams,\n): Promise<VolcesSeededit30I2iResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_3_0_i2i',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededit30I2iResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededit3dStyleParams {\n /**\n * 请求键,必填,指定要使用的3D风格\n */\n req_key: string;\n /**\n * 子请求键,某些req_key需要此参数来指定具体子风格\n */\n sub_req_key?: string;\n /**\n * Base64编码的图像数据数组,必须包含 exactly 1 个图像\n */\n binary_data_base64?: string[];\n /**\n * 图像URL数组,必须包含 exactly 1 个图像\n */\n image_urls?: string[];\n /**\n * 是否返回图像URL,默认值为true\n */\n return_url?: boolean;\n /**\n * 水印信息\n */\n logo_info?: {\n /**\n * 是否添加水印\n */\n add_logo?: boolean;\n /**\n * 水印位置\n */\n position?: number;\n /**\n * 水印语言\n */\n language?: number;\n /**\n * 水印透明度\n */\n opacity?: number;\n /**\n * 水印文字内容\n */\n logo_text_content?: string;\n };\n}\n\nexport interface VolcesSeededit3dStyleResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_3d_style\n *\n * 通过火山引擎SeedEdit 3D Style API创建3D风格生成任务。[API Documentation](https://www.volcengine.com/docs/86081/1660199)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededit3dStyle } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededit3dStyle({\n * // 参数见 VolcesSeededit3dStyleParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededit3dStyleParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededit3dStyle(\n params: VolcesSeededit3dStyleParams,\n): Promise<VolcesSeededit3dStyleResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 4000,\n maxAttempts: 90,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_3d_style',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededit3dStyleResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededitMultiIpParams {\n /**\n * 编辑提示词,必填,建议长度约300个字符,最大500个字符\n */\n prompt?: string;\n /**\n * Base64编码的图像数据数组,支持1-5张图像\n */\n binary_data_base64?: string[];\n /**\n * 图像URL数组,支持1-5张图像\n */\n image_urls?: string[];\n /**\n * 随机种子,-1或正整数,默认值为-1\n * @default -1\n */\n seed?: number;\n /**\n * 是否使用改写器,默认值为true\n * @default true\n */\n use_rephraser?: boolean;\n /**\n * 输出图像宽度,范围512-2048,默认值为1328\n * @default 1328\n * @range 512 - 2048\n */\n width?: number;\n /**\n * 输出图像高度,范围512-2048,默认值为1328\n * @default 1328\n * @range 512 - 2048\n */\n height?: number;\n}\n\nexport interface VolcesSeededitMultiIpResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_multi_ip\n *\n * Volces SeedEdit Multi IP Generator\n * \n * Multi IP image editing implementation for Volces SeedEdit Multi IP (火山引擎SeedEdit多IP).\n * API Documentation: https://www.volcengine.com/docs/85128/1798096\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededitMultiIp } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededitMultiIp({\n * // 参数见 VolcesSeededitMultiIpParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededitMultiIpParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededitMultiIp(\n params: VolcesSeededitMultiIpParams,\n): Promise<VolcesSeededitMultiIpResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_multi_ip',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededitMultiIpResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededitMultiStyleParams {\n /**\n * 输入图像URL,必须是有效的HTTP或HTTPS URL,支持格式:JPG、JPEG、PNG\n */\n image_input1: string;\n /**\n * 模板ID,可选值:23种风格模板(如felt_3d_polaroid、my_world等)\n * @values felt_3d_polaroid | my_world | my_world_universal | plastic_bubble_figure | plastic_bubble_figure_cartoon_text | furry_dream_doll | micro_landscape_mini_world | micro_landscape_mini_world_professional | acrylic_ornaments | felt_keychain | lofi_pixel_character_mini_card | angel_figurine | lying_in_fluffy_belly | glass_ball | earphone_case_style | electronic_pet_egg_style | patchwork_collage_style | claw_machine_style | car_miniature_ornaments | Mid-Autumn_Festival_new_chinese_style | Mid-Autumn_Festival_individual | Christmas_green_background | Christmas_tree | Spring_Festival_traditional_Chinese_architecture | birthday_photo_gorgeous | birthday_photo_red | birthday_photo_party\n */\n template_id: 'felt_3d_polaroid' | 'my_world' | 'my_world_universal' | 'plastic_bubble_figure' | 'plastic_bubble_figure_cartoon_text' | 'furry_dream_doll' | 'micro_landscape_mini_world' | 'micro_landscape_mini_world_professional' | 'acrylic_ornaments' | 'felt_keychain' | 'lofi_pixel_character_mini_card' | 'angel_figurine' | 'lying_in_fluffy_belly' | 'glass_ball' | 'earphone_case_style' | 'electronic_pet_egg_style' | 'patchwork_collage_style' | 'claw_machine_style' | 'car_miniature_ornaments' | 'Mid-Autumn_Festival_new_chinese_style' | 'Mid-Autumn_Festival_individual' | 'Christmas_green_background' | 'Christmas_tree' | 'Spring_Festival_traditional_Chinese_architecture' | 'birthday_photo_gorgeous' | 'birthday_photo_red' | 'birthday_photo_party';\n /**\n * 输出图像宽度,取值范围:512-2048,默认值为1328\n * @default 1328\n */\n width?: number;\n /**\n * 输出图像高度,取值范围:512-2048,默认值为1328\n * @default 1328\n */\n height?: number;\n}\n\nexport interface VolcesSeededitMultiStyleResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_multi_style\n *\n * Volces SeedEdit Multi Style Generator - 火山引擎SeedEdit多风格生成实现\n * \n * Model: SeedEdit Multi Style\n * Features: 多风格图像生成\n * Input: 1张参考图像 + 模板ID\n * Output Dimensions: 512-2048像素(默认1328x1328)\n * Templates: 支持23种风格模板\n * \n * API Documentation: https://www.volcengine.com/docs/86081/1804566\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededitMultiStyle } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededitMultiStyle({\n * // 参数见 VolcesSeededitMultiStyleParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededitMultiStyleParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededitMultiStyle(\n params: VolcesSeededitMultiStyleParams,\n): Promise<VolcesSeededitMultiStyleResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_multi_style',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededitMultiStyleResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededitPortraitParams {\n /**\n * 输入图像URL,必填参数。支持JPG、JPEG、PNG格式\n */\n image_input: string;\n /**\n * 提示词,可选参数。默认为空字符串\n * @default \"\"\n */\n prompt?: string;\n /**\n * 输出图像宽度,可选参数。范围512-2048,默认1328\n * @default 1328\n * @range 512 - 2048\n */\n width?: number;\n /**\n * 输出图像高度,可选参数。范围512-2048,默认1328\n * @default 1328\n * @range 512 - 2048\n */\n height?: number;\n /**\n * 人脸增强参数,可选参数。范围0-1,默认0.4\n * @default 0.4\n * @values 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1\n */\n gpen?: 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1;\n /**\n * 皮肤美化参数,可选参数。范围0-1,默认0.3\n * @default 0.3\n * @values 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1\n */\n skin?: 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1;\n /**\n * 肤色统一参数,可选参数。范围0-1,默认0\n * @default 0\n * @values 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1\n */\n skin_unifi?: 0 | 0.1 | 0.2 | 0.3 | 0.4 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1;\n /**\n * 生成模式,可选参数。creative(创意模式)、reference(参考模式)、reference_char(参考角色模式)\n * @values creative | reference | reference_char\n */\n gen_mode?: 'creative' | 'reference' | 'reference_char';\n /**\n * 随机种子,可选参数。字符串类型,默认'-1'(随机)\n * @default \"-1\"\n */\n seed?: string;\n}\n\nexport interface VolcesSeededitPortraitResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_portrait\n *\n * Volces SeedEdit Portrait Photo Generator\n * \n * Portrait photo generation implementation for Volces SeedEdit Portrait Photo (火山引擎SeedEdit人像摄影).\n * Model: SeedEdit Portrait Photo\n * Features: Portrait photo generation with face enhancement, skin beautification, and style control\n * Output: JPG, JPEG, PNG formats\n * Resolution: 512-2048px (default 1328x1328)\n * \n * API Documentation: https://www.volcengine.com/docs/85128/1602212\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededitPortrait } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededitPortrait({\n * // 参数见 VolcesSeededitPortraitParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededitPortraitParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededitPortrait(\n params: VolcesSeededitPortraitParams,\n): Promise<VolcesSeededitPortraitResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_portrait',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededitPortraitResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeededitSingleIpParams {\n /**\n * 编辑提示词,必填,建议长度约300个字符,最大500个字符\n */\n prompt: string;\n /**\n * Base64编码的图像数据数组,必须包含 exactly 1 个图像\n */\n binary_data_base64?: string[];\n /**\n * 图像URL数组,必须包含 exactly 1 个图像\n */\n image_urls?: string[];\n /**\n * 随机种子,-1或正整数,默认值为-1\n */\n seed?: number;\n /**\n * 是否使用改写器,默认值为true\n */\n use_rephraser?: boolean;\n /**\n * 输出图像宽度,范围512-2048,默认值为1328\n */\n width?: number;\n /**\n * 输出图像高度,范围512-2048,默认值为1328\n */\n height?: number;\n}\n\nexport interface VolcesSeededitSingleIpResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seededit_single_ip\n *\n * 通过火山引擎SeedEdit Single IP API创建单图像编辑任务。[API Documentation](https://www.volcengine.com/docs/85128/1722713)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeededitSingleIp } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeededitSingleIp({\n * // 参数见 VolcesSeededitSingleIpParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeededitSingleIpParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeededitSingleIp(\n params: VolcesSeededitSingleIpParams,\n): Promise<VolcesSeededitSingleIpResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seededit_single_ip',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeededitSingleIpResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedream30Params {\n /**\n * 提示词,必填,长度必须在1-800个字符之间\n */\n prompt: string;\n /**\n * 是否使用预处理LLM,默认值为false\n * @default false\n */\n use_pre_llm?: boolean;\n /**\n * 随机种子,-1或正整数,默认值为-1\n * @default -1\n */\n seed?: number;\n /**\n * 引导强度,范围1-10,默认值为2.5\n * @default 2.5\n */\n scale?: number;\n /**\n * 图像宽度,范围512-2048,默认值为1328\n * @default 1328\n */\n width?: number;\n /**\n * 图像高度,范围512-2048,默认值为1328\n * @default 1328\n */\n height?: number;\n}\n\nexport interface VolcesSeedream30Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedream_3_0\n *\n * 通过火山引擎Seedream 3.0 API创建图像生成任务。[API Documentation](https://www.volcengine.com/docs/86081/1804549)\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedream30 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedream30({\n * // 参数见 VolcesSeedream30Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedream30Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedream30(\n params: VolcesSeedream30Params,\n): Promise<VolcesSeedream30Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedream_3_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedream30Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedream40Params {\n /**\n * 提示词,必填,不超过300个中文字符或600个英文单词\n */\n prompt: string;\n /**\n * 参考图像,支持JPEG或PNG格式的Base64编码或可访问的URL\n */\n image?: string | string[];\n /**\n * 连续图像生成模式,默认值为disabled\n * @default \"disabled\"\n * @values auto | disabled\n */\n sequential_image_generation?: 'auto' | 'disabled';\n /**\n * 连续图像生成选项,仅当sequential_image_generation为auto时生效\n */\n sequential_image_generation_options?: {\n max_images: number;\n };\n /**\n * 是否启用流式输出,默认值为false\n * @default false\n */\n stream?: boolean;\n /**\n * 响应格式,默认值为url\n * @default \"url\"\n * @values url | b64_json\n */\n response_format?: 'url' | 'b64_json';\n /**\n * 是否添加水印,默认值为false\n * @default false\n */\n watermark?: boolean;\n /**\n * 图片尺寸,支持分辨率选项(1K, 2K, 4K)或像素尺寸(如: 2048x2048)\n */\n size?: string;\n /**\n * 提示词优化选项\n */\n optimize_prompt_options?: {\n /**\n * 提示词优化模式\n * @values standard | fast\n */\n mode?: 'standard' | 'fast';\n };\n}\n\nexport interface VolcesSeedream40Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedream_4_0\n *\n * <p>通过火山引擎Seedream 4.0 API创建图像生成任务。<a href=\"https://www.volcengine.com/docs/82379/1541523\">API Documentation</a></p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedream40 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedream40({\n * // 参数见 VolcesSeedream40Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedream40Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedream40(\n params: VolcesSeedream40Params,\n): Promise<VolcesSeedream40Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedream_4_0',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedream40Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedream45Params {\n /**\n * 文本提示词,用于描述要生成的图片内容\n */\n prompt: string;\n /**\n * 输入图片,支持 URL 地址或 Base64 编码的图片数据。字符串格式用于图生图,数组格式用于批量生成(最多14张)\n */\n image?: string | string[];\n /**\n * 序列图片生成模式。可选值:\"disabled\"(生成单张图片,默认)或 \"auto\"(生成多张相关图片)\n * @default \"disabled\"\n * @values disabled | auto\n */\n sequential_image_generation?: 'disabled' | 'auto';\n /**\n * 序列图片生成选项,仅当 sequential_image_generation 为 \"auto\" 时生效\n */\n sequential_image_generation_options?: {\n };\n /**\n * 是否使用流式传输,默认值为 false(在批量生成时有用)\n * @default false\n */\n stream?: boolean;\n /**\n * 图片尺寸,例如:\"2K\"、\"1024x1024\" 等\n * @values 2K | 4K | 2048x2048 | 2304x1728 | 1728x2304 | 2560x1440 | 1440x2560 | 2496x1664 | 1664x2496 | 3024x1296\n */\n size?: '2K' | '4K' | '2048x2048' | '2304x1728' | '1728x2304' | '2560x1440' | '1440x2560' | '2496x1664' | '1664x2496' | '3024x1296';\n /**\n * 是否添加水印,默认值为 false\n * @default false\n */\n watermark?: boolean;\n /**\n * 提示词优化选项\n */\n optimize_prompt_options?: {\n /**\n * 提示词优化模式\n * @values standard | fast\n */\n mode: 'standard' | 'fast';\n };\n}\n\nexport interface VolcesSeedream45Resource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedream_4_5\n *\n * <p>API Documentation: https://docs.byteplus.com/en/docs/ModelArk/1541523</p>\n * <p>Volces Seedream 4.5 支持文生图、图生图和批量生成三种模式。</p>\n * \n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedream45 } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedream45({\n * // 参数见 VolcesSeedream45Params 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedream45Params 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedream45(\n params: VolcesSeedream45Params,\n): Promise<VolcesSeedream45Resource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedream_4_5',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedream45Resource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedream45I2iParams {\n /** 文本提示词,用于描述融合后的图片内容 */\n prompt: string;\n /** 输入图片列表,支持 URL 地址或 Base64 编码的图片数据(必须为列表格式,至少2张,最多14张图片) */\n image: string[];\n /** 图片尺寸,例如:\"2K\"、\"1024x1024\" 等 */\n size?: string;\n /** 是否添加水印,默认值为 false */\n watermark?: boolean;\n /** 响应格式,可选值:\"url\" 或 \"b64_json\",默认值为 \"url\" */\n response_format?: 'url' | 'b64_json';\n /** 提示词优化选项 */\n optimize_prompt_options?: any;\n}\n\nexport interface VolcesSeedream45I2iResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n}\n\n/**\n * Volces Seedream 4.5 Multi-Image Fusion\n *\n * 支持多张图片融合(2-14张),生成融合后的单张图片\n *\n * API Documentation: https://docs.byteplus.com/en/docs/ModelArk/1541523\n * @param params 请求参数\n * @returns 生成的资源列表\n */\nexport async function volcesSeedream45I2i(\n params: VolcesSeedream45I2iParams,\n): Promise<VolcesSeedream45I2iResource[]> {\n const client = getClient();\n\n // 该 API 的特定轮询配置\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedream_4_5_i2i',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedream45I2iResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'image',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSeedream45MultiBlendParams {\n /**\n * 文本提示词,用于描述融合后的图片内容\n */\n prompt: string;\n /**\n * 输入图片列表,支持 URL 地址或 Base64 编码的图片数据(必须为列表格式,至少2张,最多14张图片)\n */\n image: string[];\n /**\n * 图片尺寸,例如:\"2K\"、\"1024x1024\" 等\n */\n size?: string;\n /**\n * 是否添加水印,默认值为 false\n * @default false\n */\n watermark?: boolean;\n /**\n * 响应格式,可选值:\"url\" 或 \"b64_json\",默认值为 \"url\"\n * @default \"url\"\n * @values url | b64_json\n */\n response_format?: 'url' | 'b64_json';\n /**\n * 提示词优化选项\n */\n optimize_prompt_options?: Record<string, any>;\n}\n\nexport interface VolcesSeedream45MultiBlendResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_seedream_4_5_multi_blend\n *\n * API Documentation: https://docs.byteplus.com/en/docs/ModelArk/1541523\n * \n * Volces Seedream 4.5 多图融合接口,输入多张图片融合为单张输出图片(需要至少2张图片,最多支持14张)。自动启用融合模式 (sequential_image_generation=disabled)。\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSeedream45MultiBlend } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSeedream45MultiBlend({\n * // 参数见 VolcesSeedream45MultiBlendParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSeedream45MultiBlendParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSeedream45MultiBlend(\n params: VolcesSeedream45MultiBlendParams,\n): Promise<VolcesSeedream45MultiBlendResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_seedream_4_5_multi_blend',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSeedream45MultiBlendResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSubjectDetectionParams {\n /**\n * 待检测的图片URL地址\n */\n image_url: string;\n}\n\nexport interface VolcesSubjectDetectionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_subject_detection\n *\n * API Documentation: https://www.volcengine.com/docs/85621/1829011\n * \n * Volces 主体检测服务,用于检测图片中的主体并返回遮罩图URL。支持检测人物、宠物、动漫等多种主体类型。\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSubjectDetection } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSubjectDetection({\n * // 参数见 VolcesSubjectDetectionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSubjectDetectionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSubjectDetection(\n params: VolcesSubjectDetectionParams,\n): Promise<VolcesSubjectDetectionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_subject_detection',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSubjectDetectionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { createAndWaitTask } from '../core/index.js';\n\nexport interface VolcesSubjectRecognitionParams {\n /**\n * 待识别的图片URL地址\n */\n image_url: string;\n}\n\nexport interface VolcesSubjectRecognitionResource {\n type: string;\n url: string;\n size?: number;\n jobId?: string;\n [key: string]: any;\n}\n\n/**\n * volces_subject_recognition\n *\n * API Documentation: https://www.volcengine.com/docs/85621/1828975\n * \n * Volces 主体识别-创建角色服务,用于识别图片中是否包含人物主体。识别结果: 0=无人物主体, 1=有人物主体。\n *\n * @example\n * ```typescript\n * import { initSeacloud, volcesSubjectRecognition } from 'seacloud-sdk';\n *\n * initSeacloud('your-api-key');\n *\n * const result = await volcesSubjectRecognition({\n * // 参数见 VolcesSubjectRecognitionParams 接口定义\n * });\n *\n * console.log(result); // 返回生成的资源列表\n * ```\n *\n * @param params 请求参数,详见 VolcesSubjectRecognitionParams 接口定义\n * @returns 生成的资源列表\n */\nexport async function volcesSubjectRecognition(\n params: VolcesSubjectRecognitionParams,\n): Promise<VolcesSubjectRecognitionResource[]> {\n const client = getClient();\n\n const pollingOptions = {\n intervalMs: 3000,\n maxAttempts: 60,\n };\n\n const result = await createAndWaitTask(\n client,\n '/model/v1/generation',\n {\n model: 'volces_subject_recognition',\n input: [{ params }],\n },\n pollingOptions,\n );\n\n const resources: VolcesSubjectRecognitionResource[] = [];\n\n if (result.output) {\n for (const item of result.output) {\n if (item.content) {\n for (const resource of item.content) {\n resources.push({\n type: resource.type || 'unknown',\n url: resource.url || '',\n size: resource.size,\n jobId: resource.jobId,\n ...resource,\n });\n }\n }\n }\n }\n\n return resources;\n}\n","import { getClient } from '../core/global-config.js';\nimport { SeacloudError } from '../core/types.js';\n\n/**\n * Chat message role\n */\nexport type ChatMessageRole = 'system' | 'user' | 'assistant';\n\n/**\n * Chat message interface\n */\nexport interface ChatMessage {\n /**\n * Message role\n */\n role: ChatMessageRole;\n /**\n * Message content\n */\n content: string;\n}\n\n/**\n * LLM chat completions request parameters\n */\nexport interface LlmChatCompletionsParams {\n /**\n * Model name to use for chat completion\n * Supports 100+ models including:\n * - Claude: seaart-mix-sonnet-4-5, shaseng-claude-4.5, seacloud-claude-haiku-4.5, seacloud-claude-sonnet-4, seacloud-claude-opus-4.5\n * - Kimi: kimi-k2, kimi-k2-thinking, kimi-k2-250905\n * - Grok: grok-4, grok-code-fast-1\n * - DeepSeek: deepseek-v3.1, deepseek-v3-0324, deepseek-r1, deepseek-r1-0528\n * - Gemini: gemini-2.5-pro, gemini-2.5-flash, gemini-2.0-flash, gemini-3-pro-preview, gemini-3-flash-preview\n * - Qwen: qwen-plus, qwen-plus-character, qwen3-coder-plus\n * - GLM: glm-4.5-air, glm-4.5, glm-4.6, glm-4-plus\n * - GPT: gpt-4o, gpt-4o-mini, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-5, gpt-5.1, gpt-5.2\n * - Hunyuan: hunyuan-turbos-latest, hunyuan-large-role-20250822, hunyuan-large-role-plus-20250718\n * - Mistral: mistral-small-3.2-24b-instruct, mistral-small-3.1-24b-instruct, mistral-nemo\n * - Hermes: hermes-4-70b, hermes-4-405b, hermes-3-llama-3.1-405b\n * - Doubao: doubao-romantic, doubao-seed-1-6, doubao-seed-code-preview-251028\n * - Ernie: ernie-5.0-thinking-latest, ernie-5.0-thinking-preview\n * - WizardLM: wizardlm-2-8x22b\n * - O1/O3: o1-pre, o3-pre\n * - LongCat: LongCat-Flash-Chat, LongCat-Flash-Thinking\n * - And many more...\n *\n * @example \"seaart-mix-sonnet-4-5\"\n * @example \"kimi-k2\"\n * @example \"deepseek-v3.1\"\n */\n model: string;\n\n /**\n * Array of messages comprising the conversation so far\n */\n messages: ChatMessage[];\n\n /**\n * Maximum number of tokens to generate in the completion\n * @default undefined (model default)\n */\n max_tokens?: number;\n\n /**\n * Sampling temperature (0-2)\n * Higher values make output more random, lower values more deterministic\n * @default undefined (model default, usually 1.0)\n */\n temperature?: number;\n\n /**\n * Nucleus sampling parameter (0-1)\n * Alternative to temperature sampling\n * @default undefined (model default, usually 1.0)\n */\n top_p?: number;\n\n /**\n * Whether to stream the response\n * If true, returns an async iterator of chunks\n * If false, waits for complete response\n * @default false\n */\n stream?: boolean;\n\n /**\n * Number of completions to generate\n * @default 1\n */\n n?: number;\n\n /**\n * Sequences where the API will stop generating further tokens\n */\n stop?: string | string[];\n\n /**\n * Penalty for new tokens based on whether they appear in the text so far (-2.0 to 2.0)\n * @default 0\n */\n presence_penalty?: number;\n\n /**\n * Penalty for new tokens based on their existing frequency in the text so far (-2.0 to 2.0)\n * @default 0\n */\n frequency_penalty?: number;\n\n /**\n * A unique identifier representing your end-user\n */\n user?: string;\n}\n\n/**\n * Usage statistics for the completion\n */\nexport interface ChatCompletionUsage {\n /**\n * Number of tokens in the prompt\n */\n prompt_tokens: number;\n\n /**\n * Number of tokens in the generated completion\n */\n completion_tokens: number;\n\n /**\n * Total number of tokens used\n */\n total_tokens: number;\n\n /**\n * Cost in USD (if available)\n */\n cost?: number;\n\n /**\n * Additional usage details\n */\n [key: string]: any;\n}\n\n/**\n * A single chat completion choice\n */\nexport interface ChatCompletionChoice {\n /**\n * The index of this choice\n */\n index: number;\n\n /**\n * The message generated by the model\n */\n message: ChatMessage;\n\n /**\n * The reason the model stopped generating tokens\n * @values stop | length | content_filter | function_call\n */\n finish_reason: string | null;\n\n /**\n * Additional choice-specific fields\n */\n [key: string]: any;\n}\n\n/**\n * Chat completion response (non-streaming)\n */\nexport interface ChatCompletionResponse {\n /**\n * Unique identifier for the completion\n */\n id: string;\n\n /**\n * The object type, always \"chat.completion\"\n */\n object: string;\n\n /**\n * Unix timestamp of when the completion was created\n */\n created: number;\n\n /**\n * The model used for completion\n */\n model: string;\n\n /**\n * List of completion choices\n */\n choices: ChatCompletionChoice[];\n\n /**\n * Usage statistics for the completion\n */\n usage?: ChatCompletionUsage;\n\n /**\n * Additional response fields\n */\n [key: string]: any;\n}\n\n/**\n * Delta message for streaming chunks\n */\nexport interface ChatCompletionChunkDelta {\n /**\n * The role of the message (only in first chunk)\n */\n role?: ChatMessageRole;\n\n /**\n * The content delta for this chunk\n */\n content?: string;\n}\n\n/**\n * A single streaming chunk choice\n */\nexport interface ChatCompletionChunkChoice {\n /**\n * The index of this choice\n */\n index: number;\n\n /**\n * The delta message for this chunk\n */\n delta: ChatCompletionChunkDelta;\n\n /**\n * The reason the model stopped generating tokens (only in last chunk)\n */\n finish_reason: string | null;\n\n /**\n * Additional choice-specific fields\n */\n [key: string]: any;\n}\n\n/**\n * Chat completion streaming chunk\n */\nexport interface ChatCompletionChunk {\n /**\n * Unique identifier for the completion\n */\n id: string;\n\n /**\n * The object type, always \"chat.completion.chunk\"\n */\n object: string;\n\n /**\n * Unix timestamp of when the chunk was created\n */\n created: number;\n\n /**\n * The model used for completion\n */\n model: string;\n\n /**\n * List of chunk choices\n */\n choices: ChatCompletionChunkChoice[];\n\n /**\n * Additional chunk fields\n */\n [key: string]: any;\n}\n\n/**\n * Call LLM chat completions API (non-streaming)\n *\n * @example\n * ```typescript\n * import { initSeacloud, llmChatCompletions } from 'seacloud-sdk';\n *\n * initSeacloud({ apiKey: 'your-api-key' });\n *\n * const response = await llmChatCompletions({\n * model: 'seaart-mix-sonnet-4-5',\n * messages: [\n * { role: 'user', content: 'Hello!' }\n * ],\n * max_tokens: 100\n * });\n *\n * console.log(response.choices[0].message.content);\n * ```\n *\n * @param params Request parameters\n * @returns Chat completion response\n */\nexport async function llmChatCompletions(\n params: LlmChatCompletionsParams & { stream?: false }\n): Promise<ChatCompletionResponse>;\n\n/**\n * Call LLM chat completions API (streaming)\n *\n * @example\n * ```typescript\n * import { initSeacloud, llmChatCompletions } from 'seacloud-sdk';\n *\n * initSeacloud({ apiKey: 'your-api-key' });\n *\n * const stream = await llmChatCompletions({\n * model: 'seaart-mix-sonnet-4-5',\n * messages: [\n * { role: 'user', content: 'Tell me a story' }\n * ],\n * stream: true\n * });\n *\n * for await (const chunk of stream) {\n * const content = chunk.choices[0]?.delta?.content;\n * if (content) {\n * process.stdout.write(content);\n * }\n * }\n * ```\n *\n * @param params Request parameters with stream: true\n * @returns Async iterator of chat completion chunks\n */\nexport async function llmChatCompletions(\n params: LlmChatCompletionsParams & { stream: true }\n): Promise<AsyncIterable<ChatCompletionChunk>>;\n\n// Implementation\nexport async function llmChatCompletions(\n params: LlmChatCompletionsParams\n): Promise<ChatCompletionResponse | AsyncIterable<ChatCompletionChunk>> {\n const client = getClient();\n const config = client.getConfig();\n\n const url = `${config.baseUrl}/llm/chat/completions`;\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), config.timeout);\n\n try {\n const response = await config.fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${config.apiKey}`,\n },\n body: JSON.stringify(params),\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n if (!response.ok) {\n const errorBody = await response.text();\n throw new SeacloudError(\n `HTTP ${response.status}: ${errorBody}`,\n response.status,\n errorBody,\n );\n }\n\n // Streaming response\n if (params.stream) {\n return parseStreamingResponse(response);\n }\n\n // Non-streaming response\n const result = await response.json();\n return result as ChatCompletionResponse;\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error instanceof SeacloudError) {\n throw error;\n }\n\n if ((error as Error).name === 'AbortError') {\n throw new SeacloudError(`Request timeout after ${config.timeout}ms`);\n }\n\n throw new SeacloudError(\n `Request failed: ${(error as Error).message}`,\n undefined,\n error,\n );\n }\n}\n\n/**\n * Parse streaming response into async iterable\n */\nasync function* parseStreamingResponse(\n response: Response\n): AsyncIterable<ChatCompletionChunk> {\n const reader = response.body?.getReader();\n if (!reader) {\n throw new SeacloudError('Response body is not readable');\n }\n\n const decoder = new TextDecoder();\n let buffer = '';\n\n try {\n while (true) {\n const { done, value } = await reader.read();\n\n if (done) {\n break;\n }\n\n buffer += decoder.decode(value, { stream: true });\n const lines = buffer.split('\\n');\n\n // Keep the last incomplete line in buffer\n buffer = lines.pop() || '';\n\n for (const line of lines) {\n const trimmedLine = line.trim();\n\n if (!trimmedLine) continue;\n if (trimmedLine === 'data: [DONE]') continue;\n\n if (trimmedLine.startsWith('data: ')) {\n const jsonStr = trimmedLine.slice(6);\n try {\n const chunk = JSON.parse(jsonStr) as ChatCompletionChunk;\n yield chunk;\n } catch (error) {\n console.warn('Failed to parse SSE chunk:', jsonStr);\n }\n }\n }\n }\n } finally {\n reader.releaseLock();\n }\n}\n"]}
|