@henjicc/ai-sdk 0.8.0 → 0.10.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.
Files changed (704) hide show
  1. package/CHANGELOG.md +275 -211
  2. package/README.md +580 -577
  3. package/dist/capabilities/speech-recognition/bailian/module.js +40 -26
  4. package/dist/capabilities/speech-recognition/bailian/parse.js +9 -2
  5. package/dist/capabilities/speech-recognition/bailian/presets.d.ts +9 -1
  6. package/dist/capabilities/speech-recognition/bailian/presets.js +7 -2
  7. package/dist/capabilities/speech-recognition/bailian/realtime/presets.d.ts +2 -1
  8. package/dist/capabilities/speech-recognition/bailian/realtime/presets.js +2 -0
  9. package/dist/capabilities/speech-recognition/bailian/types.d.ts +2 -0
  10. package/dist/capabilities/speech-recognition/bailian/upload.js +11 -58
  11. package/dist/capabilities/speech-recognition/index.d.ts +5 -0
  12. package/dist/capabilities/speech-recognition/siliconflow/presets.d.ts +2 -3
  13. package/dist/capabilities/speech-recognition/siliconflow/presets.js +0 -2
  14. package/dist/capabilities/translation/bailian/types.d.ts +3 -0
  15. package/dist/capabilities/translation/bailian/types.js +6 -4
  16. package/dist/catalog/apimart/flux-3-image.model.d.ts +3 -0
  17. package/dist/catalog/apimart/flux-3-image.model.js +62 -0
  18. package/dist/catalog/apimart/flux-3-video.model.d.ts +3 -0
  19. package/dist/catalog/apimart/flux-3-video.model.js +120 -0
  20. package/dist/catalog/apimart/gemini-omni-1.2-flash.model.d.ts +3 -0
  21. package/dist/catalog/apimart/gemini-omni-1.2-flash.model.js +175 -0
  22. package/dist/catalog/apimart/gemini-omni-flash.model.js +30 -37
  23. package/dist/catalog/apimart/gpt-image-2.5.model.js +1 -1
  24. package/dist/catalog/apimart/gpt-image-2.6.model.d.ts +3 -0
  25. package/dist/catalog/apimart/gpt-image-2.6.model.js +103 -0
  26. package/dist/catalog/apimart/gpt-image-2.model.js +1 -1
  27. package/dist/catalog/apimart/grok-imagine-2.0.model.js +1 -1
  28. package/dist/catalog/apimart/grok-imagine-video-1.5.model.d.ts +3 -0
  29. package/dist/catalog/apimart/grok-imagine-video-1.5.model.js +85 -0
  30. package/dist/catalog/apimart/happyhorse-1.1.model.d.ts +3 -0
  31. package/dist/catalog/apimart/happyhorse-1.1.model.js +78 -0
  32. package/dist/catalog/apimart/kling-3.0-omni.model.js +12 -2
  33. package/dist/catalog/apimart/kling-3.0-turbo.model.js +5 -2
  34. package/dist/catalog/apimart/kling-3.0.model.js +1 -1
  35. package/dist/catalog/apimart/kling-4.0.model.d.ts +3 -0
  36. package/dist/catalog/apimart/kling-4.0.model.js +149 -0
  37. package/dist/catalog/apimart/midjourney-video.model.js +31 -32
  38. package/dist/catalog/apimart/midjourney.model.js +11 -1
  39. package/dist/catalog/apimart/minimax-h3-max.model.d.ts +3 -0
  40. package/dist/catalog/apimart/minimax-h3-max.model.js +101 -0
  41. package/dist/catalog/apimart/minimax-h3.model.js +8 -3
  42. package/dist/catalog/apimart/nano-banana-2-lite.model.js +1 -1
  43. package/dist/catalog/apimart/nano-banana-2.1.model.d.ts +2 -0
  44. package/dist/catalog/apimart/nano-banana-2.1.model.js +49 -0
  45. package/dist/catalog/apimart/nano-banana-2.model.js +1 -1
  46. package/dist/catalog/apimart/nano-banana-pro.model.js +1 -1
  47. package/dist/catalog/apimart/qwen-image-3.0.model.js +1 -1
  48. package/dist/catalog/apimart/seedance-2.0-fast.model.js +1 -1
  49. package/dist/catalog/apimart/seedance-2.0-mini.model.js +4 -4
  50. package/dist/catalog/apimart/seedance-2.0.model.js +1 -1
  51. package/dist/catalog/apimart/seedance-2.5.model.js +27 -5
  52. package/dist/catalog/apimart/seedream-5.0-flash.model.d.ts +3 -0
  53. package/dist/catalog/apimart/seedream-5.0-flash.model.js +52 -0
  54. package/dist/catalog/apimart/seedream-5.0-lite.model.js +4 -4
  55. package/dist/catalog/apimart/seedream-5.0-pro.model.js +1 -1
  56. package/dist/catalog/apimart/veo-3.1.model.d.ts +3 -0
  57. package/dist/catalog/apimart/veo-3.1.model.js +132 -0
  58. package/dist/catalog/apimart/wan-2.7-image.model.d.ts +3 -0
  59. package/dist/catalog/apimart/wan-2.7-image.model.js +80 -0
  60. package/dist/catalog/apimart/wan-3.0.model.d.ts +3 -0
  61. package/dist/catalog/apimart/wan-3.0.model.js +101 -0
  62. package/dist/catalog/apimart/z-image-turbo.model.js +1 -1
  63. package/dist/catalog/audio/tts-common.d.ts +2 -1
  64. package/dist/catalog/audio/tts-common.js +5 -1
  65. package/dist/catalog/bailian/cosyvoice-v3.5.model.js +1 -1
  66. package/dist/catalog/bailian/minimax-h3.model.d.ts +3 -0
  67. package/dist/catalog/bailian/minimax-h3.model.js +95 -0
  68. package/dist/catalog/bailian/minimax-speech-2.8.model.js +1 -1
  69. package/dist/catalog/bailian/qwen-audio-3.1-tts-flash.model.js +14 -3
  70. package/dist/catalog/bailian/qwen-audio-3.1-tts-plus.model.d.ts +2 -0
  71. package/dist/catalog/bailian/qwen-audio-3.1-tts-plus.model.js +44 -0
  72. package/dist/catalog/bailian/qwen-image-3.0.model.js +1 -1
  73. package/dist/catalog/bailian/wan-3.0.model.d.ts +3 -0
  74. package/dist/catalog/bailian/wan-3.0.model.js +104 -0
  75. package/dist/catalog/bailian/z-image-turbo.model.js +1 -1
  76. package/dist/catalog/consumer-contract.d.ts +16 -1
  77. package/dist/catalog/consumer-contract.js +31 -0
  78. package/dist/catalog/continuation.d.ts +20 -0
  79. package/dist/catalog/continuation.js +41 -0
  80. package/dist/catalog/fal/bria-creative-upscale.model.js +1 -1
  81. package/dist/catalog/fal/eleven-v3-tts.model.js +1 -1
  82. package/dist/catalog/fal/eleven-v4-tts.model.d.ts +2 -0
  83. package/dist/catalog/fal/eleven-v4-tts.model.js +38 -0
  84. package/dist/catalog/fal/flux-3-video.model.d.ts +2 -0
  85. package/dist/catalog/fal/flux-3-video.model.js +187 -0
  86. package/dist/catalog/fal/flux-3.model.d.ts +2 -0
  87. package/dist/catalog/fal/flux-3.model.js +69 -0
  88. package/dist/catalog/fal/gemini-omni-1.2-flash.model.d.ts +2 -0
  89. package/dist/catalog/fal/gemini-omni-1.2-flash.model.js +129 -0
  90. package/dist/catalog/fal/gemini-omni-flash.model.js +1 -1
  91. package/dist/catalog/fal/gpt-image-2.5.model.js +1 -1
  92. package/dist/catalog/fal/gpt-image-2.6.model.d.ts +2 -0
  93. package/dist/catalog/fal/gpt-image-2.6.model.js +97 -0
  94. package/dist/catalog/fal/gpt-image-2.model.js +1 -1
  95. package/dist/catalog/fal/grok-imagine-2.0.model.js +1 -1
  96. package/dist/catalog/fal/grok-imagine-video-1.5.model.d.ts +2 -0
  97. package/dist/catalog/fal/grok-imagine-video-1.5.model.js +121 -0
  98. package/dist/catalog/fal/hailuo-02.model.js +8 -4
  99. package/dist/catalog/fal/hailuo-2.3.model.js +1 -1
  100. package/dist/catalog/fal/ic-light-v2.model.js +1 -1
  101. package/dist/catalog/fal/ideogram-upscale.model.js +1 -1
  102. package/dist/catalog/fal/kling-3.0-omni.model.js +1 -1
  103. package/dist/catalog/fal/kling-3.0-turbo.model.js +5 -2
  104. package/dist/catalog/fal/kling-3.0.model.js +4 -1
  105. package/dist/catalog/fal/kling-4.0-flash.model.d.ts +2 -0
  106. package/dist/catalog/fal/kling-4.0-flash.model.js +132 -0
  107. package/dist/catalog/fal/kling-4.0.model.d.ts +2 -0
  108. package/dist/catalog/fal/kling-4.0.model.js +169 -0
  109. package/dist/catalog/fal/kling-image-o1.model.js +1 -1
  110. package/dist/catalog/fal/kling-video-o1.model.js +18 -7
  111. package/dist/catalog/fal/kling-video-v2.6-pro.model.js +3 -2
  112. package/dist/catalog/fal/ltx-2.3.model.d.ts +2 -0
  113. package/dist/catalog/fal/ltx-2.3.model.js +223 -0
  114. package/dist/catalog/fal/ltx-2.model.js +2 -1
  115. package/dist/catalog/fal/minimax-h3-max.model.d.ts +2 -0
  116. package/dist/catalog/fal/minimax-h3-max.model.js +132 -0
  117. package/dist/catalog/fal/minimax-h3.model.js +3 -4
  118. package/dist/catalog/fal/minimax-speech-2.8.model.js +1 -1
  119. package/dist/catalog/fal/nano-banana-2.1.model.d.ts +2 -0
  120. package/dist/catalog/fal/nano-banana-2.1.model.js +68 -0
  121. package/dist/catalog/fal/nano-banana-2.model.js +1 -1
  122. package/dist/catalog/fal/nano-banana-pro.model.js +1 -1
  123. package/dist/catalog/fal/nano-banana.model.js +1 -1
  124. package/dist/catalog/fal/pixverse-v5.5.model.js +9 -4
  125. package/dist/catalog/fal/qwen-image-3.0.model.js +2 -2
  126. package/dist/catalog/fal/qwen3-tts-1.7b.model.js +4 -3
  127. package/dist/catalog/fal/seedance-2.0-fast.model.js +1 -1
  128. package/dist/catalog/fal/seedance-2.0-mini.model.js +1 -1
  129. package/dist/catalog/fal/seedance-2.0.model.js +1 -1
  130. package/dist/catalog/fal/seedance-2.5.model.js +5 -2
  131. package/dist/catalog/fal/seedance.model.js +3 -2
  132. package/dist/catalog/fal/seedream-5.0-lite.model.js +1 -1
  133. package/dist/catalog/fal/seedream-5.0-pro.model.js +1 -1
  134. package/dist/catalog/fal/seedream-v4.5.model.js +1 -1
  135. package/dist/catalog/fal/seedream-v4.model.js +1 -1
  136. package/dist/catalog/fal/seedvr2-image-upscale.model.js +1 -1
  137. package/dist/catalog/fal/topaz-image-upscale.model.js +1 -1
  138. package/dist/catalog/fal/topaz-transparent-upscale.model.js +1 -1
  139. package/dist/catalog/fal/utils/klingV4.d.ts +17 -0
  140. package/dist/catalog/fal/utils/klingV4.js +33 -0
  141. package/dist/catalog/fal/veo-3.1.model.js +5 -2
  142. package/dist/catalog/fal/vidu-q2.model.js +20 -8
  143. package/dist/catalog/fal/wan-2.5-preview.model.js +4 -1
  144. package/dist/catalog/fal/wan-3.0.model.d.ts +2 -0
  145. package/dist/catalog/fal/wan-3.0.model.js +135 -0
  146. package/dist/catalog/fal/z-image-turbo.model.js +10 -9
  147. package/dist/catalog/grsai/gpt-image-2.5.model.js +13 -31
  148. package/dist/catalog/grsai/gpt-image-2.6.model.d.ts +2 -0
  149. package/dist/catalog/grsai/gpt-image-2.6.model.js +37 -0
  150. package/dist/catalog/grsai/gpt-image-2.model.js +5 -2
  151. package/dist/catalog/grsai/nano-banana-2-lite.model.js +1 -1
  152. package/dist/catalog/grsai/nano-banana-2.1.model.d.ts +2 -0
  153. package/dist/catalog/grsai/nano-banana-2.1.model.js +29 -0
  154. package/dist/catalog/grsai/nano-banana-2.model.js +1 -1
  155. package/dist/catalog/grsai/nano-banana-pro.model.js +1 -1
  156. package/dist/catalog/grsai/wan-3.0.model.d.ts +2 -0
  157. package/dist/catalog/grsai/wan-3.0.model.js +78 -0
  158. package/dist/catalog/index.d.ts +1 -0
  159. package/dist/catalog/index.js +205 -124
  160. package/dist/catalog/kie/eleven-v3-dialogue.model.js +1 -1
  161. package/dist/catalog/kie/flux-3-klein.model.d.ts +2 -0
  162. package/dist/catalog/kie/flux-3-klein.model.js +58 -0
  163. package/dist/catalog/kie/gemini-3.1-flash-tts.model.js +7 -4
  164. package/dist/catalog/kie/gemini-3.8-flash-lite-tts.model.d.ts +2 -0
  165. package/dist/catalog/kie/gemini-3.8-flash-lite-tts.model.js +11 -0
  166. package/dist/catalog/kie/gemini-3.8-flash-tts.model.d.ts +2 -0
  167. package/dist/catalog/kie/gemini-3.8-flash-tts.model.js +11 -0
  168. package/dist/catalog/kie/gemini-omni-video.model.js +8 -30
  169. package/dist/catalog/kie/gemini38Tts.d.ts +3 -0
  170. package/dist/catalog/kie/gemini38Tts.js +40 -0
  171. package/dist/catalog/kie/gpt-image-2.5.model.js +1 -1
  172. package/dist/catalog/kie/gpt-image-2.6.model.d.ts +2 -0
  173. package/dist/catalog/kie/gpt-image-2.6.model.js +87 -0
  174. package/dist/catalog/kie/gpt-image-2.model.js +8 -12
  175. package/dist/catalog/kie/grok-imagine-2.0.model.js +1 -1
  176. package/dist/catalog/kie/grok-imagine-video-1.5.model.d.ts +2 -0
  177. package/dist/catalog/kie/grok-imagine-video-1.5.model.js +52 -0
  178. package/dist/catalog/kie/grok-imagine-video.model.js +7 -3
  179. package/dist/catalog/kie/grok-imagine.model.js +4 -2
  180. package/dist/catalog/kie/hailuo-02.model.js +6 -4
  181. package/dist/catalog/kie/hailuo-2-3.model.js +1 -1
  182. package/dist/catalog/kie/happyhorse-1.1.model.js +5 -2
  183. package/dist/catalog/kie/kling-3.0-omni.model.js +51 -23
  184. package/dist/catalog/kie/kling-3.0-turbo.model.js +1 -1
  185. package/dist/catalog/kie/kling-3.0.model.js +1 -8
  186. package/dist/catalog/kie/kling-4.0-flash.model.d.ts +2 -0
  187. package/dist/catalog/kie/kling-4.0-flash.model.js +16 -0
  188. package/dist/catalog/kie/kling-4.0.model.d.ts +2 -0
  189. package/dist/catalog/kie/kling-4.0.model.js +17 -0
  190. package/dist/catalog/kie/kling-v2-6.model.js +1 -1
  191. package/dist/catalog/kie/kling40.d.ts +21 -0
  192. package/dist/catalog/kie/kling40.js +129 -0
  193. package/dist/catalog/kie/minimax-h3.model.js +16 -21
  194. package/dist/catalog/kie/nano-banana-2-lite.model.js +1 -1
  195. package/dist/catalog/kie/nano-banana-2.1.model.d.ts +2 -0
  196. package/dist/catalog/kie/nano-banana-2.1.model.js +34 -0
  197. package/dist/catalog/kie/nano-banana-2.model.js +2 -2
  198. package/dist/catalog/kie/nano-banana-pro.model.js +1 -1
  199. package/dist/catalog/kie/qwen-image-3.0.model.js +2 -10
  200. package/dist/catalog/kie/seedance-1.5-pro.model.js +2 -1
  201. package/dist/catalog/kie/seedance-2.0-fast.model.js +5 -1
  202. package/dist/catalog/kie/seedance-2.0-mini.model.js +5 -1
  203. package/dist/catalog/kie/seedance-2.0.model.js +5 -1
  204. package/dist/catalog/kie/seedance-2.5.model.js +10 -20
  205. package/dist/catalog/kie/seedance-v1.model.js +8 -4
  206. package/dist/catalog/kie/seedream-4.0.model.js +1 -1
  207. package/dist/catalog/kie/seedream-4.5.model.js +1 -1
  208. package/dist/catalog/kie/seedream-5.0-lite.model.js +1 -1
  209. package/dist/catalog/kie/seedream-5.0-pro.model.js +1 -1
  210. package/dist/catalog/kie/wan-3.0-prime.model.d.ts +2 -0
  211. package/dist/catalog/kie/wan-3.0-prime.model.js +15 -0
  212. package/dist/catalog/kie/wan-3.0.model.d.ts +2 -0
  213. package/dist/catalog/kie/wan-3.0.model.js +15 -0
  214. package/dist/catalog/kie/wan30.d.ts +10 -0
  215. package/dist/catalog/kie/wan30.js +78 -0
  216. package/dist/catalog/kie/z-image.model.js +1 -1
  217. package/dist/catalog/modelscope/flux-1-krea-dev.model.js +4 -2
  218. package/dist/catalog/modelscope/majicmix-realistic.model.js +3 -2
  219. package/dist/catalog/modelscope/modelscope-custom.model.js +3 -2
  220. package/dist/catalog/modelscope/qwen-image-2512.model.d.ts +5 -0
  221. package/dist/catalog/modelscope/{qwen-image.model.js → qwen-image-2512.model.js} +11 -8
  222. package/dist/catalog/modelscope/qwen-image-edit-2511.model.d.ts +5 -0
  223. package/dist/catalog/modelscope/{qwen-image-edit-2509.model.js → qwen-image-edit-2511.model.js} +9 -7
  224. package/dist/catalog/modelscope/sdxl-14-ckpt.model.js +3 -2
  225. package/dist/catalog/modelscope/utils.js +2 -2
  226. package/dist/catalog/modelscope/z-image-turbo.model.js +3 -2
  227. package/dist/catalog/ppio/kling-3.0.model.js +4 -1
  228. package/dist/catalog/ppio/minimax-speech.model.js +2 -1
  229. package/dist/catalog/shared/mediaPresence.d.ts +8 -1
  230. package/dist/catalog/shared/mediaPresence.js +21 -1
  231. package/dist/catalog/shared/nanoBanana21.d.ts +11 -0
  232. package/dist/catalog/shared/nanoBanana21.js +30 -0
  233. package/dist/catalog/shared/shotList.d.ts +31 -0
  234. package/dist/catalog/shared/shotList.js +48 -0
  235. package/dist/catalog/shared/subjectElements.d.ts +36 -0
  236. package/dist/catalog/shared/subjectElements.js +93 -0
  237. package/dist/catalog/siliconflow/moss-ttsd-0.5.model.js +1 -1
  238. package/dist/catalog/validate.js +14 -1
  239. package/dist/catalog/volcengine/seedance-2.0-fast.model.d.ts +2 -0
  240. package/dist/catalog/volcengine/seedance-2.0-fast.model.js +11 -0
  241. package/dist/catalog/volcengine/seedance-2.0-mini.model.d.ts +2 -0
  242. package/dist/catalog/volcengine/seedance-2.0-mini.model.js +11 -0
  243. package/dist/catalog/volcengine/seedance-2.0.model.d.ts +2 -0
  244. package/dist/catalog/volcengine/seedance-2.0.model.js +11 -0
  245. package/dist/catalog/volcengine/seedance-2.5.model.d.ts +2 -0
  246. package/dist/catalog/volcengine/seedance-2.5.model.js +11 -0
  247. package/dist/catalog/volcengine/seedance.d.ts +17 -0
  248. package/dist/catalog/volcengine/seedance.js +192 -0
  249. package/dist/catalog/volcengine/seedream-5.0-lite.model.js +2 -1
  250. package/dist/catalog/volcengine/seedream-5.0.js +1 -1
  251. package/dist/catalog/volcengine-speech/seed-icl-2.0.model.d.ts +1 -0
  252. package/dist/catalog/volcengine-speech/seed-icl-2.0.model.js +52 -10
  253. package/dist/catalog/volcengine-speech/seed-tts-2.0-voices.d.ts +2 -0
  254. package/dist/catalog/volcengine-speech/seed-tts-2.0-voices.js +438 -0
  255. package/dist/catalog/volcengine-speech/seed-tts-2.0.model.js +4 -4
  256. package/dist/discovery/index.js +13 -6
  257. package/dist/generation/core.d.ts +6 -0
  258. package/dist/generation/core.js +10 -2
  259. package/dist/index.d.ts +8 -0
  260. package/dist/index.js +9 -0
  261. package/dist/llm/bigmodel/preset.js +2 -1
  262. package/dist/llm/bigmodel/profiles.js +0 -6
  263. package/dist/llm/chat.d.ts +8 -0
  264. package/dist/llm/chat.js +18 -2
  265. package/dist/llm/chatTypes.d.ts +6 -0
  266. package/dist/llm/defaults.d.ts +2 -2
  267. package/dist/llm/defaults.js +3 -3
  268. package/dist/llm/groq/preset.js +18 -2
  269. package/dist/llm/modelCatalog.d.ts +9 -2
  270. package/dist/llm/modelCatalog.js +17 -4
  271. package/dist/llm/modelCatalogEntries.d.ts +2 -0
  272. package/dist/llm/modelCatalogEntries.js +197 -42
  273. package/dist/llm/providerPresets.d.ts +3 -0
  274. package/dist/llm/providerPresets.js +145 -32
  275. package/dist/llm/providerReasoningRequest.js +28 -11
  276. package/dist/llm/siliconflow/index.js +1 -1
  277. package/dist/llm/siliconflow/preset.js +30 -0
  278. package/dist/llm/types.d.ts +6 -0
  279. package/dist/packs/models/{ppio/wan-2.5-preview.d.ts → apimart/flux-3-image.d.ts} +1 -1
  280. package/dist/packs/models/apimart/flux-3-image.js +7 -0
  281. package/dist/packs/models/apimart/flux-3-video.d.ts +6 -0
  282. package/dist/packs/models/apimart/flux-3-video.js +7 -0
  283. package/dist/packs/models/apimart/gemini-omni-1.2-flash.d.ts +6 -0
  284. package/dist/packs/models/apimart/gemini-omni-1.2-flash.js +7 -0
  285. package/dist/packs/models/{modelscope/qwen-image.d.ts → apimart/gpt-image-2.6.d.ts} +1 -1
  286. package/dist/packs/models/apimart/gpt-image-2.6.js +7 -0
  287. package/dist/packs/models/apimart/grok-imagine-video-1.5.d.ts +6 -0
  288. package/dist/packs/models/apimart/grok-imagine-video-1.5.js +7 -0
  289. package/dist/packs/models/apimart/happyhorse-1.1.d.ts +6 -0
  290. package/dist/packs/models/apimart/happyhorse-1.1.js +7 -0
  291. package/dist/packs/models/apimart/kling-4.0.d.ts +6 -0
  292. package/dist/packs/models/apimart/kling-4.0.js +7 -0
  293. package/dist/packs/models/apimart/minimax-h3-max.d.ts +6 -0
  294. package/dist/packs/models/apimart/minimax-h3-max.js +7 -0
  295. package/dist/packs/models/{ppio/minimax-hailuo-2.3.d.ts → apimart/nano-banana-2.1.d.ts} +1 -1
  296. package/dist/packs/models/{ppio/minimax-hailuo-2.3.js → apimart/nano-banana-2.1.js} +4 -4
  297. package/dist/packs/models/apimart/seedream-5.0-flash.d.ts +6 -0
  298. package/dist/packs/models/apimart/seedream-5.0-flash.js +7 -0
  299. package/dist/packs/models/apimart/veo-3.1.d.ts +6 -0
  300. package/dist/packs/models/apimart/veo-3.1.js +7 -0
  301. package/dist/packs/models/apimart/wan-2.7-image.d.ts +6 -0
  302. package/dist/packs/models/apimart/wan-2.7-image.js +7 -0
  303. package/dist/packs/models/apimart/wan-3.0.d.ts +6 -0
  304. package/dist/packs/models/apimart/wan-3.0.js +7 -0
  305. package/dist/packs/models/bailian/cosyvoice-v3.5.js +1 -1
  306. package/dist/packs/models/bailian/minimax-h3.d.ts +6 -0
  307. package/dist/packs/models/bailian/minimax-h3.js +7 -0
  308. package/dist/packs/models/bailian/minimax-speech-2.8.js +1 -1
  309. package/dist/packs/models/bailian/qwen-audio-3.1-tts-flash.js +1 -1
  310. package/dist/packs/models/bailian/qwen-audio-3.1-tts-plus.d.ts +6 -0
  311. package/dist/packs/models/bailian/qwen-audio-3.1-tts-plus.js +7 -0
  312. package/dist/packs/models/bailian/qwen-image-3.0.js +1 -1
  313. package/dist/packs/models/bailian/wan-3.0.d.ts +6 -0
  314. package/dist/packs/models/bailian/wan-3.0.js +7 -0
  315. package/dist/packs/models/bailian/z-image-turbo.js +1 -1
  316. package/dist/packs/models/fal/eleven-v4-tts.d.ts +6 -0
  317. package/dist/packs/models/{ppio/wan-2.5-preview.js → fal/eleven-v4-tts.js} +4 -4
  318. package/dist/packs/models/fal/flux-3-video.d.ts +6 -0
  319. package/dist/packs/models/fal/flux-3-video.js +7 -0
  320. package/dist/packs/models/{ppio/wan-2.6.d.ts → fal/flux-3.d.ts} +1 -1
  321. package/dist/packs/models/{ppio/wan-2.6.js → fal/flux-3.js} +4 -4
  322. package/dist/packs/models/fal/gemini-omni-1.2-flash.d.ts +6 -0
  323. package/dist/packs/models/fal/gemini-omni-1.2-flash.js +7 -0
  324. package/dist/packs/models/fal/gpt-image-2.6.d.ts +6 -0
  325. package/dist/packs/models/fal/gpt-image-2.6.js +7 -0
  326. package/dist/packs/models/fal/grok-imagine-video-1.5.d.ts +6 -0
  327. package/dist/packs/models/fal/grok-imagine-video-1.5.js +7 -0
  328. package/dist/packs/models/fal/kling-4.0-flash.d.ts +6 -0
  329. package/dist/packs/models/fal/kling-4.0-flash.js +7 -0
  330. package/dist/packs/models/fal/kling-4.0.d.ts +6 -0
  331. package/dist/packs/models/{ppio/wan-2.7.js → fal/kling-4.0.js} +4 -4
  332. package/dist/packs/models/{ppio/wan-2.7.d.ts → fal/ltx-2.3.d.ts} +1 -1
  333. package/dist/packs/models/fal/ltx-2.3.js +7 -0
  334. package/dist/packs/models/fal/minimax-h3-max.d.ts +6 -0
  335. package/dist/packs/models/fal/minimax-h3-max.js +7 -0
  336. package/dist/packs/models/fal/nano-banana-2.1.d.ts +6 -0
  337. package/dist/packs/models/fal/nano-banana-2.1.js +7 -0
  338. package/dist/packs/models/fal/wan-3.0.d.ts +6 -0
  339. package/dist/packs/models/fal/wan-3.0.js +7 -0
  340. package/dist/packs/models/grsai/gpt-image-2.6.d.ts +6 -0
  341. package/dist/packs/models/grsai/gpt-image-2.6.js +7 -0
  342. package/dist/packs/models/grsai/nano-banana-2.1.d.ts +6 -0
  343. package/dist/packs/models/grsai/nano-banana-2.1.js +7 -0
  344. package/dist/packs/models/grsai/wan-3.0.d.ts +6 -0
  345. package/dist/packs/models/grsai/wan-3.0.js +7 -0
  346. package/dist/packs/models/kie/flux-3-klein.d.ts +6 -0
  347. package/dist/packs/models/kie/flux-3-klein.js +7 -0
  348. package/dist/packs/models/kie/gemini-3.8-flash-lite-tts.d.ts +6 -0
  349. package/dist/packs/models/kie/gemini-3.8-flash-lite-tts.js +7 -0
  350. package/dist/packs/models/kie/{eleven-turbo-2.5-tts.d.ts → gemini-3.8-flash-tts.d.ts} +1 -1
  351. package/dist/packs/models/kie/{eleven-turbo-2.5-tts.js → gemini-3.8-flash-tts.js} +1 -1
  352. package/dist/packs/models/kie/gpt-image-2.6.d.ts +6 -0
  353. package/dist/packs/models/kie/gpt-image-2.6.js +7 -0
  354. package/dist/packs/models/kie/grok-imagine-video-1.5.d.ts +6 -0
  355. package/dist/packs/models/kie/grok-imagine-video-1.5.js +7 -0
  356. package/dist/packs/models/kie/kling-4.0-flash.d.ts +6 -0
  357. package/dist/packs/models/kie/kling-4.0-flash.js +7 -0
  358. package/dist/packs/models/kie/kling-4.0.d.ts +6 -0
  359. package/dist/packs/models/kie/kling-4.0.js +7 -0
  360. package/dist/packs/models/kie/nano-banana-2.1.d.ts +6 -0
  361. package/dist/packs/models/kie/nano-banana-2.1.js +7 -0
  362. package/dist/packs/models/kie/wan-3.0-prime.d.ts +6 -0
  363. package/dist/packs/models/kie/wan-3.0-prime.js +7 -0
  364. package/dist/packs/models/kie/wan-3.0.d.ts +6 -0
  365. package/dist/packs/models/kie/wan-3.0.js +7 -0
  366. package/dist/packs/models/modelscope/flux-1-krea-dev.js +1 -1
  367. package/dist/packs/models/modelscope/majicmix-realistic.js +1 -1
  368. package/dist/packs/models/modelscope/modelscope-custom.js +1 -1
  369. package/dist/packs/models/modelscope/qwen-image-2512.d.ts +6 -0
  370. package/dist/packs/models/modelscope/{qwen-image.js → qwen-image-2512.js} +2 -2
  371. package/dist/packs/models/modelscope/{qwen-image-edit-2509.d.ts → qwen-image-edit-2511.d.ts} +1 -1
  372. package/dist/packs/models/modelscope/{qwen-image-edit-2509.js → qwen-image-edit-2511.js} +2 -2
  373. package/dist/packs/models/modelscope/sdxl-14-ckpt.js +1 -1
  374. package/dist/packs/models/modelscope/z-image-turbo.js +1 -1
  375. package/dist/packs/models/volcengine/seedance-2.0-fast.d.ts +6 -0
  376. package/dist/packs/models/volcengine/seedance-2.0-fast.js +7 -0
  377. package/dist/packs/models/volcengine/seedance-2.0-mini.d.ts +6 -0
  378. package/dist/packs/models/volcengine/seedance-2.0-mini.js +7 -0
  379. package/dist/packs/models/volcengine/seedance-2.0.d.ts +6 -0
  380. package/dist/packs/models/volcengine/seedance-2.0.js +7 -0
  381. package/dist/packs/models/volcengine/seedance-2.5.d.ts +6 -0
  382. package/dist/packs/models/volcengine/seedance-2.5.js +7 -0
  383. package/dist/packs/models/volcengine/seedream-5.0-flash.js +1 -1
  384. package/dist/packs/models/volcengine/seedream-5.0-lite.js +1 -1
  385. package/dist/packs/models/volcengine/seedream-5.0-pro.js +1 -1
  386. package/dist/packs/provider-adapters/bailian.js +1 -1
  387. package/dist/packs/provider-adapters/modelscope.js +1 -1
  388. package/dist/packs/provider-adapters/volcengine.js +1 -1
  389. package/dist/packs/provider-packs/apimart.d.ts +1 -1
  390. package/dist/packs/provider-packs/apimart.js +35 -22
  391. package/dist/packs/provider-packs/bailian.d.ts +1 -1
  392. package/dist/packs/provider-packs/bailian.js +8 -5
  393. package/dist/packs/provider-packs/fal.d.ts +1 -1
  394. package/dist/packs/provider-packs/fal.js +52 -40
  395. package/dist/packs/provider-packs/grsai.d.ts +1 -1
  396. package/dist/packs/provider-packs/grsai.js +8 -5
  397. package/dist/packs/provider-packs/kie.d.ts +1 -1
  398. package/dist/packs/provider-packs/kie.js +41 -32
  399. package/dist/packs/provider-packs/modelscope.js +2 -2
  400. package/dist/packs/provider-packs/ppio.d.ts +1 -1
  401. package/dist/packs/provider-packs/ppio.js +2 -6
  402. package/dist/packs/provider-packs/volcengine.d.ts +1 -1
  403. package/dist/packs/provider-packs/volcengine.js +8 -4
  404. package/dist/pricing/index.d.ts +1 -0
  405. package/dist/pricing/index.js +1 -0
  406. package/dist/pricing/mediaContext.d.ts +6 -1
  407. package/dist/pricing/mediaContext.js +12 -5
  408. package/dist/pricing/tokenPricing.d.ts +36 -0
  409. package/dist/pricing/tokenPricing.js +26 -0
  410. package/dist/providers/bailian.d.ts +1 -1
  411. package/dist/providers/bailian.js +71 -4
  412. package/dist/providers/fal.js +11 -1
  413. package/dist/providers/helpers.d.ts +1 -1
  414. package/dist/providers/helpers.js +17 -5
  415. package/dist/providers/kie.js +16 -5
  416. package/dist/providers/metadata.js +2 -2
  417. package/dist/providers/openai-speech.d.ts +6 -0
  418. package/dist/providers/openai-speech.js +31 -0
  419. package/dist/providers/providerAccessErrors.d.ts +3 -0
  420. package/dist/providers/providerAccessErrors.js +73 -0
  421. package/dist/providers/siliconflow.js +2 -27
  422. package/dist/providers/volcengine-speech.d.ts +1 -1
  423. package/dist/providers/volcengine-speech.js +31 -8
  424. package/dist/providers/volcengine-voice-clone.d.ts +3 -0
  425. package/dist/providers/volcengine-voice-clone.js +138 -0
  426. package/dist/providers/volcengine.d.ts +1 -1
  427. package/dist/providers/volcengine.js +89 -11
  428. package/dist/runtime/retry.js +3 -0
  429. package/dist/tool-packs/fal-erase/models/bria-eraser.model.js +1 -1
  430. package/dist/tool-packs/fal-erase/models/finegrain-eraser.model.js +1 -1
  431. package/dist/tool-packs/fal-erase/models/flux-pro-erase.model.js +1 -1
  432. package/dist/tool-packs/fal-image-utilities/models/control-light.model.js +1 -1
  433. package/dist/tool-packs/fal-image-utilities/models/outpaint.model.js +1 -1
  434. package/dist/tool-packs/fal-image-utilities/models/photo-restoration.model.js +1 -1
  435. package/dist/tool-packs/fal-image-utilities/models/pixelcut-background-removal.model.js +1 -1
  436. package/dist/tool-packs/fal-image-utilities/models/product-photography.model.js +1 -1
  437. package/dist/tool-packs/fal-image-utilities/models/relighting.model.js +1 -1
  438. package/dist/tool-packs/fal-multi-angle/models/flux-2-multiple-angles.model.js +1 -1
  439. package/dist/tool-packs/fal-multi-angle/models/perspective-change.model.js +1 -1
  440. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2511-multiple-angles.model.js +1 -1
  441. package/dist/types/model.d.ts +68 -12
  442. package/dist/types/model.js +3 -0
  443. package/dist/types/modelTags.d.ts +142 -0
  444. package/dist/types/modelTags.js +44 -0
  445. package/dist/types/runtime.d.ts +3 -0
  446. package/dist/types/speechTimings.d.ts +15 -0
  447. package/dist/types/speechTimings.js +1 -0
  448. package/dist/upload/apimart-upload.d.ts +1 -1
  449. package/dist/upload/apimart-upload.js +37 -15
  450. package/dist/upload/bailian-oss-upload.d.ts +32 -0
  451. package/dist/upload/bailian-oss-upload.js +74 -0
  452. package/dist/upload/{fal-legacy.js → fal-host-fetch.js} +2 -2
  453. package/dist/upload/fal-transport.d.ts +6 -0
  454. package/dist/upload/fal-transport.js +2 -1
  455. package/dist/upload/index.d.ts +2 -2
  456. package/dist/upload/index.js +4 -7
  457. package/dist/upload/kie-upload.d.ts +1 -1
  458. package/dist/upload/kie-upload.js +34 -12
  459. package/dist/upload/media-binary.js +1 -0
  460. package/dist/upload/media-fields.js +7 -2
  461. package/dist/upload/preprocess-core.d.ts +2 -0
  462. package/dist/upload/preprocess-core.js +2 -0
  463. package/dist/upload/preprocess.d.ts +1 -1
  464. package/dist/upload/preprocess.js +12 -3
  465. package/dist/upload/provider-preprocessors/apimart.d.ts +1 -1
  466. package/dist/upload/provider-preprocessors/apimart.js +13 -5
  467. package/dist/upload/provider-preprocessors/bailian.d.ts +8 -0
  468. package/dist/upload/provider-preprocessors/bailian.js +45 -0
  469. package/dist/upload/provider-preprocessors/kie.d.ts +1 -1
  470. package/dist/upload/provider-preprocessors/kie.js +26 -9
  471. package/dist/upload/provider-preprocessors/ppio.d.ts +1 -2
  472. package/dist/upload/provider-preprocessors/ppio.js +2 -29
  473. package/dist/upload/provider-preprocessors/public-host.d.ts +5 -0
  474. package/dist/upload/provider-preprocessors/public-host.js +7 -0
  475. package/dist/upload/provider-preprocessors/volcengine.d.ts +5 -0
  476. package/dist/upload/provider-preprocessors/volcengine.js +10 -0
  477. package/dist/upload/public-host-upload.d.ts +7 -0
  478. package/dist/upload/public-host-upload.js +55 -0
  479. package/dist/upload/upload-response.js +12 -7
  480. package/docs/README.md +26 -26
  481. package/docs/consumers.md +150 -124
  482. package/docs/llm-adaptation/README.md +180 -166
  483. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +108 -104
  484. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +94 -76
  485. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/MiniMax.md +89 -84
  486. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +126 -126
  487. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +238 -234
  488. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/201/253/345/261/261/345/274/225/346/223/216.md +131 -87
  489. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274Qwen.md +112 -84
  490. package/docs/llm-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +88 -88
  491. package/docs/model-adaptation/Bria-Eraser/Bria-Eraser_Fal.md +32 -32
  492. package/docs/model-adaptation/Bria-/345/210/233/346/204/217/346/224/276/345/244/247/Bria-/345/210/233/346/204/217/346/224/276/345/244/247_Fal.md +31 -31
  493. package/docs/model-adaptation/ControlLight/ControlLight_Fal.md +85 -85
  494. package/docs/model-adaptation/Eleven-v4/Eleven-v4_Fal.md +49 -0
  495. package/docs/model-adaptation/FLUX-2-/345/244/232/350/247/222/345/272/246/FLUX-2-/345/244/232/350/247/222/345/272/246_Fal.md +107 -107
  496. package/docs/model-adaptation/FLUX-3/FLUX-3_APIMart.md +65 -0
  497. package/docs/model-adaptation/FLUX-3/FLUX-3_Fal.md +48 -0
  498. package/docs/model-adaptation/FLUX-3-Klein/FLUX-3-Klein_KIE.md +38 -0
  499. package/docs/model-adaptation/FLUX-3-Video/FLUX-3-Video_APIMart.md +84 -0
  500. package/docs/model-adaptation/FLUX-3-Video/FLUX-3-Video_Fal.md +80 -0
  501. package/docs/model-adaptation/Finegrain-Eraser/Finegrain-Eraser_Fal.md +31 -31
  502. package/docs/model-adaptation/Flux-Pro-Erase/Flux-Pro-Erase_Fal.md +34 -34
  503. package/docs/model-adaptation/Fun-ASR/Fun-ASR_/347/231/276/347/202/274.md +47 -47
  504. package/docs/model-adaptation/Fun-ASR-Flash-2026-06-15/Fun-ASR-Flash-2026-06-15_/347/231/276/347/202/274.md +45 -45
  505. package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +57 -57
  506. package/docs/model-adaptation/Fun-ASR-Realtime-2026-02-28/Fun-ASR-Realtime-2026-02-28_/347/231/276/347/202/274.md +39 -39
  507. package/docs/model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_/346/231/272/350/260/261.md +217 -213
  508. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_APIMart.md +173 -173
  509. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Fal.md +94 -94
  510. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Grsai.md +138 -137
  511. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_KIE.md +97 -93
  512. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_APIMart.md +66 -66
  513. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Fal.md +55 -55
  514. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Grsai.md +59 -53
  515. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_KIE.md +55 -55
  516. package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_APIMart.md +101 -0
  517. package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_Fal.md +55 -0
  518. package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_Grsai.md +32 -0
  519. package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_KIE.md +51 -0
  520. package/docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md +62 -62
  521. package/docs/model-adaptation/Gemini-3.8-Flash-Lite-TTS/Gemini-3.8-Flash-Lite-TTS_KIE.md +22 -0
  522. package/docs/model-adaptation/Gemini-3.8-Flash-TTS/Gemini-3.8-Flash-TTS_KIE.md +38 -0
  523. package/docs/model-adaptation/Gemini-Omni-1.2-Flash/Gemini-Omni-1.2-Flash_APIMart.md +79 -0
  524. package/docs/model-adaptation/Gemini-Omni-1.2-Flash/Gemini-Omni-1.2-Flash_Fal.md +60 -0
  525. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_APIMart.md +131 -124
  526. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_Fal.md +84 -84
  527. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_KIE.md +132 -129
  528. package/docs/model-adaptation/Grok-Imagine/Grok-Imagine_KIE.md +38 -36
  529. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_APIMart.md +250 -250
  530. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_Fal.md +84 -84
  531. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_KIE.md +105 -105
  532. package/docs/model-adaptation/Grok-Imagine-Video-1.5/Grok-Imagine-Video-1.5_APIMart.md +68 -0
  533. package/docs/model-adaptation/Grok-Imagine-Video-1.5/Grok-Imagine-Video-1.5_Fal.md +47 -0
  534. package/docs/model-adaptation/Grok-Imagine-Video-1.5/Grok-Imagine-Video-1.5_KIE.md +37 -0
  535. package/docs/model-adaptation/Hailuo-02/Hailuo-02_Fal.md +95 -93
  536. package/docs/model-adaptation/Hailuo-02/Hailuo-02_KIE.md +58 -56
  537. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_Fal.md +88 -88
  538. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_KIE.md +51 -51
  539. package/docs/model-adaptation/HappyHorse-1.1/HappyHorse-1.1_APIMart.md +66 -0
  540. package/docs/model-adaptation/HappyHorse-1.1/HappyHorse-1.1_KIE.md +31 -27
  541. package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +99 -99
  542. package/docs/model-adaptation/Ideogram-/345/233/276/347/211/207/346/224/276/345/244/247/Ideogram-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +41 -41
  543. package/docs/model-adaptation/Image-Apps-v2-/345/225/206/345/223/201/346/221/204/345/275/261/Image-Apps-v2-/345/225/206/345/223/201/346/221/204/345/275/261_Fal.md +72 -72
  544. package/docs/model-adaptation/Image-Apps-v2-/346/211/251/345/233/276/Image-Apps-v2-/346/211/251/345/233/276_Fal.md +93 -93
  545. package/docs/model-adaptation/Image-Apps-v2-/347/205/247/347/211/207/344/277/256/345/244/215/Image-Apps-v2-/347/205/247/347/211/207/344/277/256/345/244/215_Fal.md +86 -86
  546. package/docs/model-adaptation/Image-Apps-v2-/351/207/215/346/211/223/345/205/211/Image-Apps-v2-/351/207/215/346/211/223/345/205/211_Fal.md +84 -84
  547. package/docs/model-adaptation/Kling-3.0/Kling-3.0_APIMart.md +112 -112
  548. package/docs/model-adaptation/Kling-3.0/Kling-3.0_Fal.md +91 -89
  549. package/docs/model-adaptation/Kling-3.0/Kling-3.0_KIE.md +106 -106
  550. package/docs/model-adaptation/Kling-3.0/Kling-3.0_/346/264/276/346/254/247/344/272/221.md +120 -119
  551. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_APIMart.md +130 -125
  552. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_Fal.md +107 -107
  553. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_KIE.md +148 -143
  554. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_APIMart.md +88 -85
  555. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_Fal.md +86 -83
  556. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_KIE.md +84 -84
  557. package/docs/model-adaptation/Kling-4.0/Kling-4.0_APIMart.md +76 -0
  558. package/docs/model-adaptation/Kling-4.0/Kling-4.0_Fal.md +115 -0
  559. package/docs/model-adaptation/Kling-4.0/Kling-4.0_KIE.md +61 -0
  560. package/docs/model-adaptation/Kling-4.0-Flash/Kling-4.0-Flash_Fal.md +55 -0
  561. package/docs/model-adaptation/Kling-4.0-Flash/Kling-4.0-Flash_KIE.md +33 -0
  562. package/docs/model-adaptation/LTX-2.3/LTX-2.3_Fal.md +121 -0
  563. package/docs/model-adaptation/Midjourney/Midjourney_APIMart.md +402 -396
  564. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_APIMart.md +237 -234
  565. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_Fal.md +112 -108
  566. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_KIE.md +118 -111
  567. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_/347/231/276/347/202/274.md +65 -0
  568. package/docs/model-adaptation/MiniMax-H3-Max/MiniMax-H3-Max_APIMart.md +78 -0
  569. package/docs/model-adaptation/MiniMax-H3-Max/MiniMax-H3-Max_Fal.md +62 -0
  570. package/docs/model-adaptation/MiniMax-Speech/MiniMax-Speech_/346/264/276/346/254/247/344/272/221.md +170 -170
  571. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_APIMart.md +89 -89
  572. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Fal.md +99 -99
  573. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Grsai.md +82 -82
  574. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_KIE.md +72 -70
  575. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_APIMart.md +79 -79
  576. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_Grsai.md +65 -65
  577. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_KIE.md +64 -64
  578. package/docs/model-adaptation/Nano-Banana-2.1/Nano-Banana-2.1_APIMart.md +35 -0
  579. package/docs/model-adaptation/Nano-Banana-2.1/Nano-Banana-2.1_Fal.md +37 -0
  580. package/docs/model-adaptation/Nano-Banana-2.1/Nano-Banana-2.1_Grsai.md +35 -0
  581. package/docs/model-adaptation/Nano-Banana-2.1/Nano-Banana-2.1_KIE.md +36 -0
  582. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_APIMart.md +83 -83
  583. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Fal.md +89 -89
  584. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Grsai.md +82 -82
  585. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_KIE.md +64 -64
  586. package/docs/model-adaptation/Pixelcut-/350/203/214/346/231/257/347/247/273/351/231/244/Pixelcut-/350/203/214/346/231/257/347/247/273/351/231/244_Fal.md +79 -79
  587. package/docs/model-adaptation/Qwen-Audio-3.1-TTS-Plus/Qwen-Audio-3.1-TTS-Plus_/347/231/276/347/202/274.md +59 -0
  588. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_APIMart.md +117 -117
  589. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_Fal.md +85 -84
  590. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_KIE.md +103 -103
  591. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_/347/231/276/347/202/274.md +138 -138
  592. package/docs/model-adaptation/Qwen-Image-Edit-2511-/345/244/232/350/247/222/345/272/246/Qwen-Image-Edit-2511-/345/244/232/350/247/222/345/272/246_Fal.md +57 -57
  593. package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +68 -68
  594. package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +40 -40
  595. package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +40 -40
  596. package/docs/model-adaptation/Qwen3-ASR-Flash/Qwen3-ASR-Flash_/347/231/276/347/202/274.md +44 -44
  597. package/docs/model-adaptation/Qwen3-ASR-Flash-2026-02-10/Qwen3-ASR-Flash-2026-02-10_/347/231/276/347/202/274.md +37 -37
  598. package/docs/model-adaptation/Qwen3-ASR-Flash-Filetrans/Qwen3-ASR-Flash-Filetrans_/347/231/276/347/202/274.md +45 -45
  599. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +58 -58
  600. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime-2026-02-10/Qwen3-ASR-Flash-Realtime-2026-02-10_/347/231/276/347/202/274.md +37 -37
  601. package/docs/model-adaptation/README.md +371 -328
  602. package/docs/model-adaptation/Seed-ICL-2.0/Seed-ICL-2.0_/347/201/253/345/261/261/345/274/225/346/223/216.md +65 -0
  603. package/docs/model-adaptation/SeedASR-2.0-File/SeedASR-2.0-File_/347/201/253/345/261/261/345/274/225/346/223/216.md +115 -115
  604. package/docs/model-adaptation/SeedASR-2.0-Realtime/SeedASR-2.0-Realtime_/347/201/253/345/261/261/345/274/225/346/223/216.md +147 -147
  605. package/docs/model-adaptation/SeedVR2-/345/233/276/347/211/207/346/224/276/345/244/247/SeedVR2-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +45 -45
  606. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_APIMart.md +121 -121
  607. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_Fal.md +97 -97
  608. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_KIE.md +87 -86
  609. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_/347/201/253/345/261/261/345/274/225/346/223/216.md +101 -0
  610. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_APIMart.md +89 -89
  611. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_Fal.md +95 -95
  612. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_KIE.md +79 -78
  613. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_/347/201/253/345/261/261/345/274/225/346/223/216.md +98 -0
  614. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_APIMart.md +93 -89
  615. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_Fal.md +96 -96
  616. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_KIE.md +79 -78
  617. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_/347/201/253/345/261/261/345/274/225/346/223/216.md +98 -0
  618. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_APIMart.md +217 -212
  619. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_Fal.md +98 -94
  620. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_KIE.md +94 -89
  621. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_/347/201/253/345/261/261/345/274/225/346/223/216.md +102 -0
  622. package/docs/model-adaptation/Seedream-5.0-Flash/Seedream-5.0-Flash_APIMart.md +64 -0
  623. package/docs/model-adaptation/Seedream-5.0-Flash/Seedream-5.0-Flash_/347/201/253/345/261/261/345/274/225/346/223/216.md +18 -18
  624. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_APIMart.md +113 -106
  625. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_Fal.md +91 -91
  626. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_KIE.md +89 -89
  627. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_/347/201/253/345/261/261/345/274/225/346/223/216.md +110 -108
  628. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_APIMart.md +194 -194
  629. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_Fal.md +100 -100
  630. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_KIE.md +141 -141
  631. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_/347/201/253/345/261/261/345/274/225/346/223/216.md +137 -137
  632. package/docs/model-adaptation/SenseVoiceSmall/SenseVoiceSmall_/347/241/205/345/237/272/346/265/201/345/212/250.md +73 -73
  633. package/docs/model-adaptation/TTS-/345/244/232/344/276/233/345/272/224/345/225/206-2026-09.md +52 -6
  634. package/docs/model-adaptation/TTS-/346/227/266/351/227/264/346/210/263-2026-10.md +36 -0
  635. package/docs/model-adaptation/Topaz-/345/233/276/347/211/207/346/224/276/345/244/247/Topaz-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +87 -87
  636. package/docs/model-adaptation/Topaz-/351/200/217/346/230/216/345/233/276/346/224/276/345/244/247/Topaz-/351/200/217/346/230/216/345/233/276/346/224/276/345/244/247_Fal.md +34 -34
  637. package/docs/model-adaptation/Veo-3.1/Veo-3.1_APIMart.md +90 -0
  638. package/docs/model-adaptation/Wan-2.7-Image/Wan-2.7-Image_APIMart.md +81 -0
  639. package/docs/model-adaptation/Wan-3.0/Wan-3.0_APIMart.md +74 -0
  640. package/docs/model-adaptation/Wan-3.0/Wan-3.0_Fal.md +60 -0
  641. package/docs/model-adaptation/Wan-3.0/Wan-3.0_Grsai.md +35 -0
  642. package/docs/model-adaptation/Wan-3.0/Wan-3.0_KIE.md +38 -0
  643. package/docs/model-adaptation/Wan-3.0/Wan-3.0_/347/231/276/347/202/274.md +96 -0
  644. package/docs/model-adaptation/Wan-3.0-Prime/Wan-3.0-Prime_KIE.md +20 -0
  645. package/docs/model-adaptation/Whisper-Large-v3/Whisper-Large-v3_Groq.md +80 -80
  646. package/docs/model-adaptation/Whisper-Large-v3-Turbo/Whisper-Large-v3-Turbo_Groq.md +79 -79
  647. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_APIMart.md +88 -88
  648. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_Fal.md +103 -95
  649. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_KIE.md +71 -71
  650. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/347/231/276/347/202/274.md +122 -122
  651. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/351/255/224/346/220/255.md +99 -97
  652. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/APIMart.md +240 -240
  653. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Fal.md +190 -172
  654. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Groq.md +136 -121
  655. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Grsai.md +217 -217
  656. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/KIE.md +159 -131
  657. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//345/200/231/351/200/211/344/276/233/345/272/224/345/225/206/350/260/203/347/240/224-/345/233/276/347/211/207/345/267/245/345/205/267.md +151 -151
  658. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//345/277/253/351/200/237/351/200/202/351/205/215/344/276/233/345/272/224/345/225/206.md +65 -65
  659. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//346/264/276/346/254/247/344/272/221.md +170 -147
  660. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/201/253/345/261/261/345/274/225/346/223/216.md +191 -183
  661. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +339 -282
  662. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/241/205/345/237/272/346/265/201/345/212/250.md +180 -153
  663. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md +205 -207
  664. package/docs/model-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +339 -338
  665. package/docs/model-adaptation//351/200/217/350/247/206/345/217/230/346/215/242//351/200/217/350/247/206/345/217/230/346/215/242_Fal.md +59 -59
  666. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Electron.md +77 -77
  667. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Tauri.md +81 -81
  668. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/UXP.md +169 -169
  669. package/docs//346/216/245/345/205/245/346/214/207/345/215/227//344/276/233/345/272/224/345/225/206/345/237/237/345/220/215.md +83 -83
  670. package/docs//346/216/245/345/205/245/346/214/207/345/215/227//351/224/231/350/257/257/345/244/204/347/220/206.md +72 -72
  671. package/examples/form-renderer/README.md +17 -17
  672. package/examples/form-renderer/cli.ts +32 -32
  673. package/examples/form-renderer/index.ts +144 -144
  674. package/examples/form-renderer/package.json +16 -16
  675. package/examples/form-renderer/tsconfig.json +14 -14
  676. package/examples/llm-chat/README.md +38 -38
  677. package/examples/llm-chat/index.ts +100 -100
  678. package/examples/llm-chat/package.json +19 -19
  679. package/examples/llm-chat/tsconfig.json +14 -14
  680. package/examples/minimal-node/README.md +31 -31
  681. package/examples/minimal-node/index.ts +138 -138
  682. package/examples/minimal-node/package.json +17 -17
  683. package/examples/minimal-node/tsconfig.json +14 -14
  684. package/package.json +259 -258
  685. package/dist/catalog/grsai/gptImage25Sizes.d.ts +0 -1
  686. package/dist/catalog/grsai/gptImage25Sizes.js +0 -76
  687. package/dist/catalog/kie/eleven-turbo-2.5-tts.model.d.ts +0 -2
  688. package/dist/catalog/kie/eleven-turbo-2.5-tts.model.js +0 -29
  689. package/dist/catalog/modelscope/qwen-image-edit-2509.model.d.ts +0 -5
  690. package/dist/catalog/modelscope/qwen-image.model.d.ts +0 -5
  691. package/dist/catalog/ppio/minimax-hailuo-2.3.model.d.ts +0 -7
  692. package/dist/catalog/ppio/minimax-hailuo-2.3.model.js +0 -114
  693. package/dist/catalog/ppio/wan-2.5-preview.model.d.ts +0 -7
  694. package/dist/catalog/ppio/wan-2.5-preview.model.js +0 -198
  695. package/dist/catalog/ppio/wan-2.6.model.d.ts +0 -7
  696. package/dist/catalog/ppio/wan-2.6.model.js +0 -206
  697. package/dist/catalog/ppio/wan-2.7.model.d.ts +0 -2
  698. package/dist/catalog/ppio/wan-2.7.model.js +0 -373
  699. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_/346/264/276/346/254/247/344/272/221.md +0 -70
  700. package/docs/model-adaptation/TeleSpeechASR/TeleSpeechASR_/347/241/205/345/237/272/346/265/201/345/212/250.md +0 -76
  701. package/docs/model-adaptation/Wan-2.5-Preview/Wan-2.5-Preview_/346/264/276/346/254/247/344/272/221.md +0 -82
  702. package/docs/model-adaptation/Wan-2.6/Wan-2.6_/346/264/276/346/254/247/344/272/221.md +0 -84
  703. package/docs/model-adaptation/Wan-2.7/Wan-2.7_/346/264/276/346/254/247/344/272/221.md +0 -122
  704. /package/dist/upload/{fal-legacy.d.ts → fal-host-fetch.d.ts} +0 -0
@@ -1,26 +1,68 @@
1
1
  import { defineModel } from '../defineModel.js';
2
- import { speechString, speechText } from '../audio/tts-common.js';
2
+ import { speechCharacterPrice, speechString, speechText } from '../audio/tts-common.js';
3
+ import { DEFAULT_SEED_TTS_20_VOICE, isSeedTts20SystemVoice } from './seed-tts-2.0-voices.js';
4
+ const cloning = (params) => params.volcIclMode === 'clone';
5
+ const synth = (params) => !cloning(params);
6
+ export const VOLC_CLONE_LANGUAGES = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21];
3
7
  export const volcengineSeedIcl20Model = defineModel({
4
8
  meta: {
5
9
  id: 'volcengine-seed-icl-2.0', canonicalModelId: 'seed-icl-2.0', provider: 'volcengine-speech', type: 'audio',
6
- tags: ['text-to-audio', 'provider-volcengine'],
10
+ tags: ['text-to-audio', 'voice-clone', 'timestamps'],
11
+ polling: { interval: 3000, maxAttempts: 120 },
7
12
  },
8
13
  inputLimits: { images: { max: 0 }, videos: { max: 0 } },
9
14
  params: [
10
- { id: 'volcSeedIclSpeaker', type: 'composite', valueType: 'string', required: true, order: 1, default: '' },
15
+ { id: 'volcIclMode', type: 'dropdown', order: 1, default: 'speech', options: [{ value: 'speech' }, { value: 'clone' }] },
16
+ { id: 'volcSeedIclSpeaker', type: 'composite', valueType: 'string', required: true, order: 2, default: DEFAULT_SEED_TTS_20_VOICE, visible: { condition: synth } },
17
+ { id: 'volcIclActivationConsent', type: 'switch', order: 3, default: false, visible: { condition: p => synth(p) && Boolean(p.volcSeedIclSpeaker) && !isSeedTts20SystemVoice(String(p.volcSeedIclSpeaker)) && !/^S_/i.test(String(p.volcSeedIclSpeaker)) } },
18
+ { id: 'volcCloneName', type: 'text', order: 4, default: '', maxLength: 80, required: true, visible: { condition: cloning } },
19
+ { id: 'volcCloneAudio', type: 'file-upload', order: 5, default: [], maxCount: 1, maxSize: 10_000_000, accept: ['audio/wav', 'audio/x-wav', 'audio/mpeg', 'audio/ogg', 'audio/mp4', 'audio/x-m4a', 'audio/aac'], required: true, visible: { condition: cloning } },
20
+ { id: 'volcCloneLanguage', type: 'dropdown', order: 6, default: 0, options: VOLC_CLONE_LANGUAGES.map(value => ({ value })), visible: { condition: cloning } },
21
+ { id: 'volcCloneTranscript', type: 'textarea', order: 7, default: '', visible: { condition: cloning } },
22
+ { id: 'volcCloneDenoise', type: 'switch', order: 8, default: false, visible: { condition: cloning } },
23
+ { id: 'volcClonePreserveVolume', type: 'switch', order: 9, default: false, visible: { condition: cloning } },
24
+ { id: 'volcCloneExistingSlot', type: 'text', order: 10, default: '', visible: { condition: cloning } },
25
+ { id: 'volcCloneCustomId', type: 'text', order: 11, default: '', visible: { condition: () => false } },
11
26
  ],
12
- endpoints: '/api/v3/tts/unidirectional',
27
+ runtimeConstraints: { mediaFields: [{ field: 'clone_audio', kind: 'audio' }] },
28
+ endpoints: { selector: params => cloning(params) ? '/api/v3/tts/voice_clone' : '/api/v3/tts/unidirectional' },
13
29
  request: {
14
30
  builder: (params) => {
15
- const speaker = speechString(params.volcSeedIclSpeaker);
16
- if (!speaker)
17
- throw new Error('Seed-ICL 2.0 需要已创建的复刻音色 ID');
31
+ if (cloning(params)) {
32
+ const name = speechString(params.volcCloneName);
33
+ const source = Array.isArray(params.volcCloneAudio) ? params.volcCloneAudio[0] : params.volcCloneAudio;
34
+ const audio = typeof source === 'string' ? source : source && typeof source === 'object' && !Array.isArray(source) ? source.path ?? source.url : undefined;
35
+ const demo = speechText(params).trim();
36
+ if (!name)
37
+ throw new Error('请填写音色名称');
38
+ if (typeof audio !== 'string' || !audio)
39
+ throw new Error('请上传声音样本');
40
+ if (Array.from(demo).length < 4 || Array.from(demo).length > 300)
41
+ throw new Error('克隆试听文本须为 4–300 字');
42
+ const language = params.volcCloneLanguage ?? 0;
43
+ if (!VOLC_CLONE_LANGUAGES.includes(language))
44
+ throw new Error('请选择有效的录音语言');
45
+ const custom = speechString(params.volcCloneCustomId);
46
+ if (custom && !/^henji[a-zA-Z0-9]{8,64}$/.test(custom))
47
+ throw new Error('克隆音色代号无效');
48
+ return {
49
+ clone_audio: audio, voice_name: name, language,
50
+ ...(speechString(params.volcCloneExistingSlot) ? { speaker_id: speechString(params.volcCloneExistingSlot) } : {}),
51
+ ...(custom ? { custom_speaker_id: custom } : {}),
52
+ ...(speechString(params.volcCloneTranscript) ? { text: speechString(params.volcCloneTranscript) } : {}),
53
+ extra_params: { demo_text: demo, enable_audio_denoise: params.volcCloneDenoise === true, disable_volume_normalization: params.volcClonePreserveVolume === true },
54
+ };
55
+ }
56
+ const speaker = speechString(params.volcSeedIclSpeaker) ?? DEFAULT_SEED_TTS_20_VOICE;
57
+ const systemVoice = isSeedTts20SystemVoice(speaker);
58
+ if (!systemVoice && !/^S_/i.test(speaker) && params.volcIclActivationConsent !== true)
59
+ throw new Error('后付费音色首次正式合成将收取 138 元槽位费并锁定音色,请先确认费用');
18
60
  return {
19
- resource_id: 'seed-icl-2.0',
20
- req_params: { text: speechText(params), model: 'seed-tts-2.0-standard', speaker, audio_params: { format: 'mp3', sample_rate: 24000 } },
61
+ resource_id: systemVoice ? 'seed-tts-2.0' : 'seed-icl-2.0',
62
+ req_params: { text: speechText(params), ...(!systemVoice ? { model: 'seed-tts-2.0-standard' } : {}), speaker, audio_params: { format: 'mp3', sample_rate: 24000, enable_subtitle: true } },
21
63
  };
22
64
  },
23
65
  },
24
- pricing: { currency: '¥', calculator: () => Number.NaN, description: '火山语音按量计费单价未核实;不显示费用预估' },
66
+ pricing: { currency: '¥', calculator: params => speechCharacterPrice(params, 0.3), description: '3 元/万字符;后付费音色首次正式合成另收 138 元槽位费,训练试听按字符计费' },
25
67
  });
26
68
  export default volcengineSeedIcl20Model;
@@ -0,0 +1,2 @@
1
+ export declare const DEFAULT_SEED_TTS_20_VOICE = "zh_female_vv_uranus_bigtts";
2
+ export declare const isSeedTts20SystemVoice: (id: string) => boolean;
@@ -0,0 +1,438 @@
1
+ // Official Seed-TTS 2.0 system voice IDs, verified 2026-09-28.
2
+ // https://docs.volcengine.com/docs/DoubaoVoice/Tonelist-1?lang=zh
3
+ // Includes official ICL_uranus_* voices; those are NOT user-created clone slots.
4
+ const systemVoiceIds = new Set([
5
+ 'zh_female_vv_uranus_bigtts',
6
+ 'zh_female_xiaohe_uranus_bigtts',
7
+ 'zh_male_m191_uranus_bigtts',
8
+ 'zh_male_taocheng_uranus_bigtts',
9
+ 'zh_male_liufei_uranus_bigtts',
10
+ 'zh_female_sophie_uranus_bigtts',
11
+ 'zh_female_qingxinnvsheng_uranus_bigtts',
12
+ 'zh_female_cancan_uranus_bigtts',
13
+ 'zh_female_sajiaoxuemei_uranus_bigtts',
14
+ 'zh_female_tianmeixiaoyuan_uranus_bigtts',
15
+ 'zh_female_tianmeitaozi_uranus_bigtts',
16
+ 'zh_female_shuangkuaisisi_uranus_bigtts',
17
+ 'zh_female_peiqi_uranus_bigtts',
18
+ 'zh_female_linjianvhai_uranus_bigtts',
19
+ 'zh_male_shaonianzixin_uranus_bigtts',
20
+ 'zh_male_sunwukong_uranus_bigtts',
21
+ 'zh_female_yingyujiaoxue_uranus_bigtts',
22
+ 'zh_female_kefunvsheng_uranus_bigtts',
23
+ 'zh_female_xiaoxue_uranus_bigtts',
24
+ 'zh_male_dayi_uranus_bigtts',
25
+ 'zh_female_mizai_uranus_bigtts',
26
+ 'zh_female_jitangnv_uranus_bigtts',
27
+ 'zh_female_meilinvyou_uranus_bigtts',
28
+ 'zh_female_liuchangnv_uranus_bigtts',
29
+ 'zh_male_ruyayichen_uranus_bigtts',
30
+ 'en_male_tim_uranus_bigtts',
31
+ 'en_female_dacey_uranus_bigtts',
32
+ 'en_female_stokie_uranus_bigtts',
33
+ 'zh_female_wenroumama_uranus_bigtts',
34
+ 'zh_male_jieshuoxiaoming_uranus_bigtts',
35
+ 'zh_female_tvbnv_uranus_bigtts',
36
+ 'zh_male_yizhipiannan_uranus_bigtts',
37
+ 'zh_female_qiaopinv_uranus_bigtts',
38
+ 'zh_female_zhishuaiyingzi_uranus_bigtts',
39
+ 'zh_male_linjiananhai_uranus_bigtts',
40
+ 'zh_male_silang_uranus_bigtts',
41
+ 'zh_male_ruyaqingnian_uranus_bigtts',
42
+ 'zh_male_qingcang_uranus_bigtts',
43
+ 'zh_male_xionger_uranus_bigtts',
44
+ 'zh_female_yingtaowanzi_uranus_bigtts',
45
+ 'zh_male_wennuanahu_uranus_bigtts',
46
+ 'zh_male_naiqimengwa_uranus_bigtts',
47
+ 'zh_female_popo_uranus_bigtts',
48
+ 'zh_female_gaolengyujie_uranus_bigtts',
49
+ 'zh_male_aojiaobazong_uranus_bigtts',
50
+ 'zh_male_lanyinmianbao_uranus_bigtts',
51
+ 'zh_male_fanjuanqingnian_uranus_bigtts',
52
+ 'zh_female_wenroushunv_uranus_bigtts',
53
+ 'zh_female_gufengshaoyu_uranus_bigtts',
54
+ 'zh_male_huolixiaoge_uranus_bigtts',
55
+ 'zh_male_baqiqingshu_uranus_bigtts',
56
+ 'zh_male_xuanyijieshuo_uranus_bigtts',
57
+ 'zh_female_mengyatou_uranus_bigtts',
58
+ 'zh_female_tiexinnvsheng_uranus_bigtts',
59
+ 'zh_female_jitangmei_uranus_bigtts',
60
+ 'zh_male_cixingjieshuonan_uranus_bigtts',
61
+ 'zh_male_liangsangmengzai_uranus_bigtts',
62
+ 'zh_female_kailangjiejie_uranus_bigtts',
63
+ 'zh_male_gaolengchenwen_uranus_bigtts',
64
+ 'zh_male_shenyeboke_uranus_bigtts',
65
+ 'zh_male_lubanqihao_uranus_bigtts',
66
+ 'zh_female_jiaochuannv_uranus_bigtts',
67
+ 'zh_female_linxiao_uranus_bigtts',
68
+ 'zh_female_lingling_uranus_bigtts',
69
+ 'zh_female_chunribu_uranus_bigtts',
70
+ 'zh_male_tangseng_uranus_bigtts',
71
+ 'zh_male_zhuangzhou_uranus_bigtts',
72
+ 'zh_male_kailangdidi_uranus_bigtts',
73
+ 'zh_male_zhubajie_uranus_bigtts',
74
+ 'zh_female_ganmaodianyin_uranus_bigtts',
75
+ 'zh_female_chanmeinv_uranus_bigtts',
76
+ 'zh_female_nvleishen_uranus_bigtts',
77
+ 'zh_female_qinqienv_uranus_bigtts',
78
+ 'zh_male_kuailexiaodong_uranus_bigtts',
79
+ 'zh_male_kailangxuezhang_uranus_bigtts',
80
+ 'zh_male_youyoujunzi_uranus_bigtts',
81
+ 'zh_female_wenjingmaomao_uranus_bigtts',
82
+ 'zh_female_zhixingnv_uranus_bigtts',
83
+ 'zh_male_qingshuangnanda_uranus_bigtts',
84
+ 'zh_male_yuanboxiaoshu_uranus_bigtts',
85
+ 'zh_male_yangguangqingnian_uranus_bigtts',
86
+ 'zh_female_qingchezizi_uranus_bigtts',
87
+ 'zh_female_tianmeiyueyue_uranus_bigtts',
88
+ 'zh_female_xinlingjitang_uranus_bigtts',
89
+ 'zh_male_wenrouxiaoge_uranus_bigtts',
90
+ 'zh_female_roumeinvyou_uranus_bigtts',
91
+ 'zh_male_dongfanghaoran_uranus_bigtts',
92
+ 'zh_female_wenrouxiaoya_uranus_bigtts',
93
+ 'zh_male_tiancaitongsheng_uranus_bigtts',
94
+ 'zh_female_wuzetian_uranus_bigtts',
95
+ 'zh_female_gujie_uranus_bigtts',
96
+ 'zh_male_guanggaojieshuo_uranus_bigtts',
97
+ 'zh_female_shaoergushi_uranus_bigtts',
98
+ 'ICL_uranus_en_female_charlie_tob',
99
+ 'ICL_uranus_en_male_ethan_tob',
100
+ 'ICL_uranus_en_male_alastor_tob',
101
+ 'ICL_uranus_en_male_chucky_tob',
102
+ 'ICL_uranus_en_male_noah_tob',
103
+ 'ICL_uranus_en_male_jigsaw_tob',
104
+ 'ICL_uranus_en_male_clown_man_tob',
105
+ 'ICL_uranus_en_male_cartoon_chef_tob',
106
+ 'ICL_uranus_en_male_frosty_man_tob',
107
+ 'ICL_uranus_en_male_the_grinch_tob',
108
+ 'ICL_uranus_en_male_kevin_mccallister_tob',
109
+ 'ICL_uranus_en_male_michael_tob',
110
+ 'ICL_uranus_en_male_big_boogie_tob',
111
+ 'ICL_uranus_en_male_xavier_tob',
112
+ 'ICL_uranus_en_male_zayne_tob',
113
+ 'ICL_uranus_zh_female_kefuwanjun_tob',
114
+ 'ICL_uranus_zh_female_yingxiaokefu_v2_tob',
115
+ 'ICL_uranus_zh_female_aojiaonvyou_tob',
116
+ 'ICL_uranus_zh_female_aomanjiaosheng_tob',
117
+ 'ICL_uranus_zh_female_xiemeinvwang_tob',
118
+ 'ICL_uranus_zh_female_bingjiaojiejie_tob',
119
+ 'ICL_uranus_zh_female_bingjiaomengmei_tob',
120
+ 'ICL_uranus_zh_female_bingruoshaonv_tob',
121
+ 'ICL_uranus_zh_female_chengshuwenrou_tob',
122
+ 'ICL_uranus_zh_female_chengshujiejie_tob',
123
+ 'ICL_uranus_zh_female_chunzhenshaonv_tob',
124
+ 'ICL_uranus_zh_female_chunchenvsheng_tob',
125
+ 'ICL_uranus_zh_female_wumeikeren_tob',
126
+ 'ICL_uranus_zh_female_guaiqiaokeer_tob',
127
+ 'ICL_uranus_zh_female_heainainai_tob',
128
+ 'ICL_uranus_zh_female_huopodiaoman_tob',
129
+ 'ICL_uranus_zh_female_huoponvhai_tob',
130
+ 'ICL_uranus_zh_female_jiaohannvwang_tob',
131
+ 'ICL_uranus_zh_female_jiaoruoluoli_tob',
132
+ 'ICL_uranus_zh_female_jiaxiaozi_tob',
133
+ 'ICL_uranus_zh_female_jinglingxiangdao_tob',
134
+ 'ICL_uranus_zh_female_kailangtingting_tob',
135
+ 'ICL_uranus_zh_female_kefunvshengwenhecuishou_tob',
136
+ 'ICL_uranus_zh_female_kaixinxiaohong_tob',
137
+ 'ICL_uranus_zh_female_keainvsheng_tob',
138
+ 'ICL_uranus_zh_female_lingdongxinxin_tob',
139
+ 'ICL_uranus_zh_female_linjuayi_tob',
140
+ 'ICL_uranus_zh_female_tianmeijiaoqiao_tob',
141
+ 'ICL_uranus_zh_female_qinglenggaoya_tob',
142
+ 'ICL_uranus_zh_female_lixingyuanzi_tob',
143
+ 'ICL_uranus_zh_female_xingganmeihuo_tob',
144
+ 'ICL_uranus_zh_female_nuanxinqianqian_tob',
145
+ 'ICL_uranus_zh_female_nuanxinxuejie_tob',
146
+ 'ICL_uranus_zh_female_qingtianmeimei_tob',
147
+ 'ICL_uranus_zh_female_qingtiantaotao_tob',
148
+ 'ICL_uranus_zh_female_qingxixiaoxue_tob',
149
+ 'ICL_uranus_zh_female_qingxinshaonv_tob',
150
+ 'ICL_uranus_zh_female_rouguhunshi_tob',
151
+ 'ICL_uranus_zh_female_ruanmengtangtang_tob',
152
+ 'ICL_uranus_zh_female_ruanmengtuanzi_tob',
153
+ 'ICL_uranus_zh_female_tianmeihuopo_tob',
154
+ 'ICL_uranus_zh_female_tianmeixiaoju_tob',
155
+ 'ICL_uranus_zh_female_tianmeixiaoyu_tob',
156
+ 'ICL_uranus_zh_female_tiaopigongzhu_tob',
157
+ 'ICL_uranus_zh_female_tiexinnvyou_tob',
158
+ 'ICL_uranus_zh_female_wenrounvshen_tob',
159
+ 'ICL_uranus_zh_female_wenrouwenya_tob',
160
+ 'ICL_uranus_zh_female_zhixinjiejie_tob',
161
+ 'ICL_uranus_zh_female_wumeiyujie_tob',
162
+ 'ICL_uranus_zh_female_yuanqitianmei_tob',
163
+ 'ICL_uranus_zh_female_xiemeiyujie_tob',
164
+ 'ICL_uranus_zh_female_xingganyujie_tob',
165
+ 'ICL_uranus_zh_female_xiuliqianqian_tob',
166
+ 'ICL_uranus_zh_female_tiexinguimi_tob',
167
+ 'ICL_uranus_zh_female_tiexinmeimei_tob',
168
+ 'ICL_uranus_zh_female_wenroubaiyueguang_tob',
169
+ 'ICL_uranus_zh_female_chuliannvyou_tob',
170
+ 'ICL_uranus_zh_female_zhixingwenwan_tob',
171
+ 'ICL_uranus_zh_male_aoqilingren_tob',
172
+ 'ICL_uranus_zh_male_anrenqinzhu_tob',
173
+ 'ICL_uranus_zh_male_aojiaogongzi_tob',
174
+ 'ICL_uranus_zh_male_aojiaojingying_tob',
175
+ 'ICL_uranus_zh_male_aomanqingnian_tob',
176
+ 'ICL_uranus_zh_male_aomanshaoye_tob',
177
+ 'ICL_uranus_zh_male_zhenbiandiyu_tob',
178
+ 'ICL_uranus_zh_male_badaoshaoye_tob',
179
+ 'ICL_uranus_zh_male_badaozongcai_tob',
180
+ 'ICL_uranus_zh_male_bingjiaobailian_tob',
181
+ 'ICL_uranus_zh_male_bingjiaodidi_tob',
182
+ 'ICL_uranus_zh_male_bingjiaogege_tob',
183
+ 'ICL_uranus_zh_male_bingjiaonanyou_tob',
184
+ 'ICL_uranus_zh_male_bingjiaoshaonian_tob',
185
+ 'ICL_uranus_zh_male_bingruogongzi_tob',
186
+ 'ICL_uranus_zh_male_bingruoshaonian_tob',
187
+ 'ICL_uranus_zh_male_bujiqingnian_tob',
188
+ 'ICL_uranus_zh_male_chunhoudiyin_tob',
189
+ 'ICL_uranus_zh_male_paoxiaoxiaoge_tob',
190
+ 'ICL_uranus_zh_male_yangyang_tob',
191
+ 'ICL_uranus_zh_male_chanruoshaoye_tob',
192
+ 'ICL_uranus_zh_male_chengshuzongcai_tob',
193
+ 'ICL_uranus_zh_male_chenwenmingzai_tob',
194
+ 'ICL_uranus_zh_male_qingyisugan_tob',
195
+ 'ICL_uranus_zh_male_chunzhenxuedi_tob',
196
+ 'ICL_uranus_zh_male_cixingnansang_tob',
197
+ 'ICL_uranus_zh_male_cujingnansheng_tob',
198
+ 'ICL_uranus_zh_male_cujingnanyou_tob',
199
+ 'ICL_uranus_zh_male_diyinchenyu_tob',
200
+ 'ICL_uranus_zh_male_fengfashaonian_tob',
201
+ 'ICL_uranus_zh_male_ruyagongzi_tob',
202
+ 'ICL_uranus_zh_male_fuheigongzi_tob',
203
+ 'ICL_uranus_zh_male_ganjingshaonian_tob',
204
+ 'ICL_uranus_zh_male_gaolengzongcai_tob',
205
+ 'ICL_uranus_zh_male_guaogongzi_tob',
206
+ 'ICL_uranus_zh_male_gugaogongzi_tob',
207
+ 'ICL_uranus_zh_male_guiyishenmi_tob',
208
+ 'ICL_uranus_zh_male_guzhibingjiao_tob',
209
+ 'ICL_uranus_zh_male_hanhoudunshi_tob',
210
+ 'ICL_uranus_zh_male_huoliqingnian_tob',
211
+ 'ICL_uranus_zh_male_huoponanyou_tob',
212
+ 'ICL_uranus_zh_male_huoposhuanglang_tob',
213
+ 'ICL_uranus_zh_male_huzishushu_tob',
214
+ 'ICL_uranus_zh_male_jijiazhineng_tob',
215
+ 'ICL_uranus_zh_male_jingyingqingnian_tob',
216
+ 'ICL_uranus_zh_male_junyigongzi_tob',
217
+ 'ICL_uranus_zh_male_kailangqingkuai_tob',
218
+ 'ICL_uranus_zh_male_kailangqingnian_tob',
219
+ 'ICL_uranus_zh_male_lanyincaohunshi_tob',
220
+ 'ICL_uranus_zh_male_lengaozongcai_tob',
221
+ 'ICL_uranus_zh_male_lengdanshuli_tob',
222
+ 'ICL_uranus_zh_male_lengjungaozhi_tob',
223
+ 'ICL_uranus_zh_male_lengjunshangsi_tob',
224
+ 'ICL_uranus_zh_male_lengkugege_tob',
225
+ 'ICL_uranus_zh_male_lenglianxiongzhang_tob',
226
+ 'ICL_uranus_zh_male_lenglianxueba_tob',
227
+ 'ICL_uranus_zh_male_lengmonanyou_tob',
228
+ 'ICL_uranus_zh_male_lengmoxiongzhang_tob',
229
+ 'ICL_uranus_zh_male_lingyunqingnian_tob',
230
+ 'ICL_uranus_zh_male_qinglengjingui_tob',
231
+ 'ICL_uranus_zh_male_lvchaxiaoge_tob',
232
+ 'ICL_uranus_zh_male_mengdongqingnian_tob',
233
+ 'ICL_uranus_zh_male_menyoupingxiaoge_tob',
234
+ 'ICL_uranus_zh_male_xiaozhangxiaoge_tob',
235
+ 'ICL_uranus_zh_male_nianrennanyou_tob',
236
+ 'ICL_uranus_zh_male_neiliancaijun_tob',
237
+ 'ICL_uranus_zh_male_nuanxintitie_tob',
238
+ 'ICL_uranus_zh_male_pianpiangongzi_tob',
239
+ 'ICL_uranus_zh_male_chenwenyouya_tob',
240
+ 'ICL_uranus_zh_male_qingsexiaosheng_tob',
241
+ 'ICL_uranus_zh_male_qingseqingnian_tob',
242
+ 'ICL_uranus_zh_male_qingshuangshaonian_tob',
243
+ 'ICL_uranus_zh_male_qingxinbobo_tob',
244
+ 'ICL_uranus_zh_male_qinqieqingnian_tob',
245
+ 'ICL_uranus_zh_male_qinqiexiaozhuo_tob',
246
+ 'ICL_uranus_zh_male_qinglangwenrun_tob',
247
+ 'ICL_uranus_zh_male_rexueshaonian_tob',
248
+ 'ICL_uranus_zh_male_ruyacaijun_tob',
249
+ 'ICL_uranus_zh_male_ruyajunzi_tob',
250
+ 'ICL_uranus_zh_male_ruyazongcai_tob',
251
+ 'ICL_uranus_zh_male_sajiaonansheng_tob',
252
+ 'ICL_uranus_zh_male_sajiaonanyou_tob',
253
+ 'ICL_uranus_zh_male_sajiaonianren_tob',
254
+ 'ICL_uranus_zh_male_satuoqingnian_tob',
255
+ 'ICL_uranus_zh_male_shaonianjiangjun_tob',
256
+ 'ICL_uranus_zh_male_shenchenzongcai_tob',
257
+ 'ICL_uranus_zh_male_jilingxiaohuo_tob',
258
+ 'ICL_uranus_zh_male_shenmifashi_tob',
259
+ 'ICL_uranus_zh_male_shuaizhenxiaohuo_tob',
260
+ 'ICL_uranus_zh_male_shuanglangxiaoyang_tob',
261
+ 'ICL_uranus_zh_male_dichenqianquan_tob',
262
+ 'ICL_uranus_zh_male_siwenqingnian_tob',
263
+ 'ICL_uranus_zh_male_tianxinanyou_tob',
264
+ 'ICL_uranus_zh_male_tiexinnanyou_tob',
265
+ 'ICL_uranus_zh_male_wenrounantongzhuo_tob',
266
+ 'ICL_uranus_zh_male_wenrounanyou_tob',
267
+ 'ICL_uranus_zh_male_wenrouxuezhang_tob',
268
+ 'ICL_uranus_zh_male_wenrunxuezhe_tob',
269
+ 'ICL_uranus_zh_male_wenshunshaonian_tob',
270
+ 'ICL_uranus_zh_male_guayanxiaoge_tob',
271
+ 'ICL_uranus_zh_male_xiaohouye_tob',
272
+ 'ICL_uranus_zh_male_naiqixiaosheng_tob',
273
+ 'ICL_uranus_zh_male_xiaosasuixing_tob',
274
+ 'ICL_uranus_zh_male_wenrouneilian_tob',
275
+ 'ICL_uranus_zh_male_xuebanantongzhuo_tob',
276
+ 'ICL_uranus_zh_male_xuebatongzhuo_tob',
277
+ 'ICL_uranus_zh_male_yangguangyangyang_tob',
278
+ 'ICL_uranus_zh_male_wennuanshaonian_tob',
279
+ 'ICL_uranus_zh_male_yiqishaonian_tob',
280
+ 'ICL_uranus_zh_male_younidashu_tob',
281
+ 'ICL_uranus_zh_male_youmodaye_tob',
282
+ 'ICL_uranus_zh_male_youmoshushu_tob',
283
+ 'ICL_uranus_zh_male_youroubangzhu_tob',
284
+ 'ICL_uranus_zh_male_yourougongzi_tob',
285
+ 'ICL_uranus_zh_male_yuanqishaonian_tob',
286
+ 'ICL_uranus_zh_male_zhangjianjunzi_tob',
287
+ 'ICL_uranus_zh_male_zhangjianxiake_tob',
288
+ 'ICL_uranus_zh_male_zhengzhiqingnian_tob',
289
+ 'ICL_uranus_zh_male_zhishuaiqingnian_tob',
290
+ 'ICL_uranus_zh_male_zhongerqingnian_tob',
291
+ 'ICL_uranus_zh_male_zifuqingnian_tob',
292
+ 'ICL_uranus_zh_male_zixinqingnian_tob',
293
+ 'ICL_uranus_zh_male_tiancaitongzhuo_tob',
294
+ 'ICL_uranus_zh_male_qingxinmumu_tob',
295
+ 'ICL_uranus_zh_female_wenwanshanshan_tob',
296
+ 'ICL_uranus_zh_female_reqingaina_tob',
297
+ 'ICL_uranus_zh_male_shuanglangshaonian_tob',
298
+ 'ICL_uranus_zh_female_qingyingduoduo_tob',
299
+ 'ar_female_dina_uranus_bigtts',
300
+ 'ar_female_fatma_uranus_bigtts',
301
+ 'ar_male_youssef_uranus_bigtts',
302
+ 'de_female_bv081_uranus_bigtts',
303
+ 'de_male_sven_uranus_bigtts',
304
+ 'en_male_alberto_uranus_bigtts',
305
+ 'en_male_alex_uranus_bigtts',
306
+ 'en_female_allison_uranus_bigtts',
307
+ 'en_male_bill_jones_corey_uranus_bigtts',
308
+ 'en_male_brad_pitt_p1_uranus_bigtts',
309
+ 'en_female_brittney_uranus_bigtts',
310
+ 'en_female_brittney_pimintel_uranus_bigtts',
311
+ 'en_male_bruce_uranus_bigtts',
312
+ 'en_male_chandler_p1_uranus_bigtts',
313
+ 'en_male_cowboy_john_b_uranus_bigtts',
314
+ 'en_male_david_uranus_bigtts',
315
+ 'en_male_diyuwenrounan_uranus_bigtts',
316
+ 'en_male_godfather_uranus_bigtts',
317
+ 'en_male_gollum_uranus_bigtts',
318
+ 'en_male_hades_uranus_bigtts',
319
+ 'en_female_hayley_uranus_bigtts',
320
+ 'en_male_jamie_uranus_bigtts',
321
+ 'en_female_jane_uranus_bigtts',
322
+ 'en_female_jenny_uranus_bigtts',
323
+ 'en_male_jidongchuanjiaoshi_uranus_bigtts',
324
+ 'en_male_jimmy_uranus_bigtts',
325
+ 'en_female_joanne_uranus_bigtts',
326
+ 'en_male_joker_uranus_bigtts',
327
+ 'en_male_josh_uranus_bigtts',
328
+ 'en_male_josh_coery_uranus_bigtts',
329
+ 'en_male_kevin_uranus_bigtts',
330
+ 'en_male_knightley_uranus_bigtts',
331
+ 'en_female_lana_del_rey_kelley_d_p1_uranus_bigtts',
332
+ 'en_female_lana_del_rey_parky_s_p1_uranus_bigtts',
333
+ 'en_male_marcus_uranus_bigtts',
334
+ 'en_female_mel_uranus_bigtts',
335
+ 'en_male_michael_uranus_bigtts',
336
+ 'en_male_michael_kevin_uranus_bigtts',
337
+ 'en_female_myra_uranus_bigtts',
338
+ 'en_female_myra_cmb_uranus_bigtts',
339
+ 'en_female_nadia_uranus_bigtts',
340
+ 'en_female_natasha_uranus_bigtts',
341
+ 'en_female_rachel_p1_uranus_bigtts',
342
+ 'en_male_ronald_uranus_bigtts',
343
+ 'en_male_russell_uranus_bigtts',
344
+ 'en_female_scarlet_p1_uranus_bigtts',
345
+ 'en_female_sharron_uranus_bigtts',
346
+ 'en_male_simba_p1_uranus_bigtts',
347
+ 'en_female_skye_uranus_bigtts',
348
+ 'en_male_tom_hiddleston_p1_uranus_bigtts',
349
+ 'en_male_valentino_uranus_bigtts',
350
+ 'en_male_valentino_corey_uranus_bigtts',
351
+ 'en_female_wenrouzhishijieshuonv_uranus_bigtts',
352
+ 'en_female_xinwenjieshuonv_uranus_bigtts',
353
+ 'en_male_yangguangjieshuonan_uranus_bigtts',
354
+ 'en_female_zendaya_p1_uranus_bigtts',
355
+ 'es_female_bv084_uranus_bigtts',
356
+ 'es_male_dani_uranus_bigtts',
357
+ 'es_male_guillem_uranus_bigtts',
358
+ 'es_female_ht_mx_f6_uranus_bigtts',
359
+ 'fr_female_fr_bv078_uranus_bigtts',
360
+ 'fr_female_fr_f47_uranus_bigtts',
361
+ 'fr_male_fr_m29_uranus_bigtts',
362
+ 'fr_male_usseau_uranus_bigtts',
363
+ 'id_male_bv160_uranus_bigtts',
364
+ 'id_male_bv160dialogue_uranus_bigtts',
365
+ 'id_male_bv160narration_uranus_bigtts',
366
+ 'id_female_bv161_uranus_bigtts',
367
+ 'id_female_bv161dialogue_uranus_bigtts',
368
+ 'id_female_bv161narration_uranus_bigtts',
369
+ 'id_female_bv164_uranus_bigtts',
370
+ 'id_male_bv164dialogue_uranus_bigtts',
371
+ 'id_male_bv164narration_uranus_bigtts',
372
+ 'id_female_f20_uranus_bigtts',
373
+ 'id_male_han_uranus_bigtts',
374
+ 'id_male_m08_uranus_bigtts',
375
+ 'id_female_phulia_uranus_bigtts',
376
+ 'ja_female_bv024_uranus_bigtts',
377
+ 'ja_female_bv520_uranus_bigtts',
378
+ 'ja_female_bv521_uranus_bigtts',
379
+ 'ja_female_bv522_uranus_bigtts',
380
+ 'ja_female_bv523_uranus_bigtts',
381
+ 'ja_male_bv524_uranus_bigtts',
382
+ 'ja_female_minimi_uranus_bigtts',
383
+ 'ja_female_shirou_uranus_bigtts',
384
+ 'ko_male_bv545_uranus_bigtts',
385
+ 'ko_female_bv546_uranus_bigtts',
386
+ 'ko_male_m03_uranus_bigtts',
387
+ 'ko_male_shane_uranus_bigtts',
388
+ 'ms_male_ham_uranus_bigtts',
389
+ 'ms_male_naim_uranus_bigtts',
390
+ 'mx_female_bv065_uranus_bigtts',
391
+ 'mx_male_bv165dialogue_uranus_bigtts',
392
+ 'mx_male_bv165narrator_uranus_bigtts',
393
+ 'mx_female_bv166dialogue_uranus_bigtts',
394
+ 'mx_female_bv166emotion_uranus_bigtts',
395
+ 'mx_female_bv166narrator_uranus_bigtts',
396
+ 'mx_male_felipe_uranus_bigtts',
397
+ 'mx_male_ht_mx_m012_uranus_bigtts',
398
+ 'mx_female_leslie_uranus_bigtts',
399
+ 'mx_male_marcelo_uranus_bigtts',
400
+ 'pt_male_bv172_uranus_bigtts',
401
+ 'pt_male_bv172dialogue_uranus_bigtts',
402
+ 'pt_male_bv172emotion_uranus_bigtts',
403
+ 'pt_male_bv172narrator_uranus_bigtts',
404
+ 'pt_female_bv173_uranus_bigtts',
405
+ 'pt_female_bv173dialogue_uranus_bigtts',
406
+ 'pt_female_bv173emotion_uranus_bigtts',
407
+ 'pt_female_bv173narrator_uranus_bigtts',
408
+ 'pt_female_bv530_uranus_bigtts',
409
+ 'pt_male_bv531_uranus_bigtts',
410
+ 'pt_female_mari_uranus_bigtts',
411
+ 'pt_male_martins_uranus_bigtts',
412
+ 'pt_male_rael_uranus_bigtts',
413
+ 'ru_female_af07_uranus_bigtts',
414
+ 'ru_female_irinae_uranus_bigtts',
415
+ 'ru_male_pavel_uranus_bigtts',
416
+ 'ru_female_sophie_uranus_bigtts',
417
+ 'ru_male_vlad_uranus_bigtts',
418
+ 'th_female_bv568_angry_uranus_bigtts',
419
+ 'th_female_bv568_fear_uranus_bigtts',
420
+ 'th_female_bv568_happy_uranus_bigtts',
421
+ 'th_female_bv568_hate_uranus_bigtts',
422
+ 'th_female_bv568_neutral_uranus_bigtts',
423
+ 'th_female_bv568_sad_uranus_bigtts',
424
+ 'th_female_bv568_suprise_uranus_bigtts',
425
+ 'tl_female_annika_uranus_bigtts',
426
+ 'tl_male_ed_uranus_bigtts',
427
+ 'tl_female_hervie_uranus_bigtts',
428
+ 'vi_female_hong_uranus_bigtts',
429
+ 'vi_female_ling_uranus_bigtts',
430
+ 'vi_female_linh_uranus_bigtts',
431
+ 'vi_female_partner_uranus_bigtts',
432
+ 'vi_female_ruan_uranus_bigtts',
433
+ 'vi_female_wu_uranus_bigtts',
434
+ 'vi_male_wumg_uranus_bigtts',
435
+ 'it_male_enzo_uranus_bigtts',
436
+ ]);
437
+ export const DEFAULT_SEED_TTS_20_VOICE = 'zh_female_vv_uranus_bigtts';
438
+ export const isSeedTts20SystemVoice = (id) => systemVoiceIds.has(id);
@@ -1,9 +1,9 @@
1
1
  import { defineModel } from '../defineModel.js';
2
- import { speechString, speechText } from '../audio/tts-common.js';
2
+ import { speechCharacterPrice, speechString, speechText } from '../audio/tts-common.js';
3
3
  export const volcengineSeedTts20Model = defineModel({
4
4
  meta: {
5
5
  id: 'volcengine-seed-tts-2.0', canonicalModelId: 'seed-tts-2.0', provider: 'volcengine-speech', type: 'audio',
6
- tags: ['text-to-audio', 'provider-volcengine'],
6
+ tags: ['text-to-audio', 'timestamps'],
7
7
  },
8
8
  inputLimits: { images: { max: 0 }, videos: { max: 0 } },
9
9
  params: [
@@ -16,10 +16,10 @@ export const volcengineSeedTts20Model = defineModel({
16
16
  req_params: {
17
17
  text: speechText(params),
18
18
  speaker: speechString(params.volcSeedTtsSpeaker) ?? 'zh_female_vv_uranus_bigtts',
19
- audio_params: { format: 'mp3', sample_rate: 24000 },
19
+ audio_params: { format: 'mp3', sample_rate: 24000, enable_subtitle: true },
20
20
  },
21
21
  }),
22
22
  },
23
- pricing: { currency: '¥', calculator: () => Number.NaN, description: '火山语音按量计费单价未核实;不显示费用预估' },
23
+ pricing: { currency: '¥', calculator: params => speechCharacterPrice(params, 0.3), description: '3 元/万字符(公开后付费刊例价)' },
24
24
  });
25
25
  export default volcengineSeedTts20Model;
@@ -1,3 +1,4 @@
1
+ import { getModelTagDefinition, isModelTag } from '../types/modelTags.js';
1
2
  import { AiRuntimeError } from '../runtime/AiRuntimeError.js';
2
3
  import { normalizeCapabilityStableId, validateCapabilityDescriptor, } from '../capabilities/validation.js';
3
4
  import { validateLlmModuleDescriptor } from '../llm/modules/validation.js';
@@ -20,9 +21,13 @@ export function createModelCapabilityDiscovery(input) {
20
21
  ...(input.generationPacks ?? []).flatMap((pack) => pack.models),
21
22
  ]);
22
23
  for (const model of generation) {
24
+ if (model.meta.deprecated)
25
+ continue;
23
26
  add({ sourceKind: 'generation-model', id: model.meta.id, profile: profileGenerationModel(model), source: model });
24
27
  }
25
28
  for (const entry of input.llmEntries ?? []) {
29
+ if (entry.deprecated)
30
+ continue;
26
31
  add({ sourceKind: 'llm-model', id: entry.id, profile: profileLlmCatalogEntry(entry), source: entry });
27
32
  }
28
33
  for (const model of input.llmModels ?? []) {
@@ -48,7 +53,8 @@ export function createModelCapabilityDiscovery(input) {
48
53
  }
49
54
  export function profileGenerationModel(model) {
50
55
  const tags = [...new Set(model.meta.tags ?? [])];
51
- const operations = deriveGenerationOperations(model.meta.type, tags);
56
+ // 未经 defineModel 校验的模型可能带词表外的旧标签:照样留在 tags 里,只是不参与推导操作
57
+ const operations = deriveGenerationOperations(model.meta.type, tags.filter(isModelTag));
52
58
  const inputs = new Set();
53
59
  if (model.acceptsPrompt !== false)
54
60
  inputs.add('text');
@@ -64,7 +70,7 @@ export function profileGenerationModel(model) {
64
70
  operations,
65
71
  acceptedInputContentKinds: [...inputs],
66
72
  outputContentKinds: [output],
67
- features: tags.filter((tag) => !tag.startsWith('provider-') && !operations.includes(tag)),
73
+ features: tags.filter((tag) => !operations.includes(tag)),
68
74
  tags,
69
75
  };
70
76
  }
@@ -143,18 +149,19 @@ function deriveGenerationOperations(type, tags) {
143
149
  operations.add('image-generation');
144
150
  if (tags.includes('text-to-image'))
145
151
  operations.add('text-to-image');
146
- if (tags.some((tag) => ['image-to-image', 'supports-image-editing', 'image-edit'].includes(tag)))
152
+ // 发现接口的图片操作只分生成与编辑,专项都归入编辑。
153
+ if (tags.some((tag) => tag === 'image-to-image' || getModelTagDefinition(tag).layer === 'specialty'))
147
154
  operations.add('image-edit');
148
155
  }
149
156
  else if (type === 'video') {
150
157
  operations.add('video-generation');
151
158
  if (tags.includes('text-to-video'))
152
159
  operations.add('text-to-video');
153
- if (tags.some((tag) => ['image-to-video', 'start-end-frame'].includes(tag)))
160
+ if (tags.includes('image-to-video'))
154
161
  operations.add('image-to-video');
155
- if (tags.some((tag) => ['reference-mode', 'video-reference', 'multi-image-reference'].includes(tag)))
162
+ if (tags.includes('reference-mode'))
156
163
  operations.add('reference-to-video');
157
- if (tags.some((tag) => ['supports-video-editing', 'video-to-video', 'video-extension'].includes(tag)))
164
+ if (tags.some((tag) => tag === 'video-to-video' || tag === 'video-extension'))
158
165
  operations.add('video-edit');
159
166
  }
160
167
  else if (type === 'audio') {
@@ -32,7 +32,10 @@ export interface CreateModularGenerationClientConfig {
32
32
  }
33
33
  export interface GenerationClientResult {
34
34
  status: ProviderExecutionResult['status'];
35
+ /** 兼容字段:多个输出时用 `|||` 拼接;新代码请读 `urls`。 */
35
36
  url: string;
37
+ /** 全部输出地址,按供应商输出顺序;没有输出时为空数组。 */
38
+ urls: string[];
36
39
  taskId?: string;
37
40
  metadata: JsonValue;
38
41
  structuredOutput?: ProviderExecutionResult['structuredOutput'];
@@ -93,4 +96,7 @@ interface CreateGenerationClientCoreConfig {
93
96
  }
94
97
  /** @internal 默认全量入口也委托这一份生成内核。 */
95
98
  export declare function createGenerationClientCore(config: CreateGenerationClientCoreConfig): GenerationClient;
99
+ /** 供应商把多个输出地址用 `|||` 拼进 `url`;公共结果在这里统一给出数组。 */
100
+ export declare const GENERATION_OUTPUT_URL_SEPARATOR = "|||";
101
+ export declare function splitGenerationOutputUrls(url: string | undefined): string[];
96
102
  export {};
@@ -206,7 +206,7 @@ async function executeGeneration(modelIndex, providers, runtime, request, hooks)
206
206
  signal: controller.signal,
207
207
  runtime,
208
208
  });
209
- const result = attachStructuredOutput(providerResult, model, effectiveParams);
209
+ const result = finalizeResult(providerResult, model, effectiveParams);
210
210
  hooks.onCompleted?.({ ...info, result });
211
211
  span.end();
212
212
  return result;
@@ -256,7 +256,7 @@ async function executePolling(modelIndex, providers, runtime, request, hooks) {
256
256
  signal: controller.signal,
257
257
  runtime,
258
258
  });
259
- const result = attachStructuredOutput(providerResult, model, effectiveParams);
259
+ const result = finalizeResult(providerResult, model, effectiveParams);
260
260
  hooks.onCompleted?.({ ...info, result });
261
261
  span.end();
262
262
  return result;
@@ -269,6 +269,14 @@ async function executePolling(modelIndex, providers, runtime, request, hooks) {
269
269
  clearCancelFlag('generation', taskId);
270
270
  }
271
271
  }
272
+ /** 供应商把多个输出地址用 `|||` 拼进 `url`;公共结果在这里统一给出数组。 */
273
+ export const GENERATION_OUTPUT_URL_SEPARATOR = '|||';
274
+ export function splitGenerationOutputUrls(url) {
275
+ return (url ?? '').split(GENERATION_OUTPUT_URL_SEPARATOR).map((item) => item.trim()).filter(Boolean);
276
+ }
277
+ function finalizeResult(result, model, params) {
278
+ return { ...attachStructuredOutput(result, model, params), urls: splitGenerationOutputUrls(result.url) };
279
+ }
272
280
  function attachStructuredOutput(result, model, params) {
273
281
  const parser = model.response?.structuredOutput;
274
282
  if (!parser || result.status !== 'completed')