@henjicc/ai-sdk 0.9.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 (694) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +580 -577
  3. package/dist/capabilities/speech-recognition/bailian/module.js +12 -13
  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/upload.js +11 -58
  10. package/dist/capabilities/speech-recognition/index.d.ts +5 -0
  11. package/dist/capabilities/speech-recognition/siliconflow/presets.d.ts +2 -3
  12. package/dist/capabilities/speech-recognition/siliconflow/presets.js +0 -2
  13. package/dist/capabilities/translation/bailian/types.d.ts +3 -0
  14. package/dist/capabilities/translation/bailian/types.js +6 -4
  15. package/dist/catalog/apimart/flux-3-image.model.d.ts +3 -0
  16. package/dist/catalog/apimart/flux-3-image.model.js +62 -0
  17. package/dist/catalog/apimart/flux-3-video.model.d.ts +3 -0
  18. package/dist/catalog/apimart/flux-3-video.model.js +120 -0
  19. package/dist/catalog/apimart/gemini-omni-1.2-flash.model.d.ts +3 -0
  20. package/dist/catalog/apimart/gemini-omni-1.2-flash.model.js +175 -0
  21. package/dist/catalog/apimart/gemini-omni-flash.model.js +27 -23
  22. package/dist/catalog/apimart/gpt-image-2.5.model.js +1 -1
  23. package/dist/catalog/apimart/gpt-image-2.6.model.d.ts +3 -0
  24. package/dist/catalog/apimart/gpt-image-2.6.model.js +103 -0
  25. package/dist/catalog/apimart/gpt-image-2.model.js +1 -1
  26. package/dist/catalog/apimart/grok-imagine-2.0.model.js +1 -1
  27. package/dist/catalog/apimart/grok-imagine-video-1.5.model.d.ts +3 -0
  28. package/dist/catalog/apimart/grok-imagine-video-1.5.model.js +85 -0
  29. package/dist/catalog/apimart/happyhorse-1.1.model.d.ts +3 -0
  30. package/dist/catalog/apimart/happyhorse-1.1.model.js +78 -0
  31. package/dist/catalog/apimart/kling-3.0-omni.model.js +12 -2
  32. package/dist/catalog/apimart/kling-3.0-turbo.model.js +5 -2
  33. package/dist/catalog/apimart/kling-3.0.model.js +1 -1
  34. package/dist/catalog/apimart/kling-4.0.model.d.ts +3 -0
  35. package/dist/catalog/apimart/kling-4.0.model.js +149 -0
  36. package/dist/catalog/apimart/midjourney-video.model.js +31 -32
  37. package/dist/catalog/apimart/midjourney.model.js +11 -1
  38. package/dist/catalog/apimart/minimax-h3-max.model.d.ts +3 -0
  39. package/dist/catalog/apimart/minimax-h3-max.model.js +101 -0
  40. package/dist/catalog/apimart/minimax-h3.model.js +8 -3
  41. package/dist/catalog/apimart/nano-banana-2-lite.model.js +1 -1
  42. package/dist/catalog/apimart/nano-banana-2.1.model.d.ts +2 -0
  43. package/dist/catalog/apimart/nano-banana-2.1.model.js +49 -0
  44. package/dist/catalog/apimart/nano-banana-2.model.js +1 -1
  45. package/dist/catalog/apimart/nano-banana-pro.model.js +1 -1
  46. package/dist/catalog/apimart/qwen-image-3.0.model.js +1 -1
  47. package/dist/catalog/apimart/seedance-2.0-fast.model.js +1 -1
  48. package/dist/catalog/apimart/seedance-2.0-mini.model.js +4 -4
  49. package/dist/catalog/apimart/seedance-2.0.model.js +1 -1
  50. package/dist/catalog/apimart/seedance-2.5.model.js +27 -5
  51. package/dist/catalog/apimart/seedream-5.0-flash.model.d.ts +3 -0
  52. package/dist/catalog/apimart/seedream-5.0-flash.model.js +52 -0
  53. package/dist/catalog/apimart/seedream-5.0-lite.model.js +4 -4
  54. package/dist/catalog/apimart/seedream-5.0-pro.model.js +1 -1
  55. package/dist/catalog/apimart/veo-3.1.model.d.ts +3 -0
  56. package/dist/catalog/apimart/veo-3.1.model.js +132 -0
  57. package/dist/catalog/apimart/wan-2.7-image.model.d.ts +3 -0
  58. package/dist/catalog/apimart/wan-2.7-image.model.js +80 -0
  59. package/dist/catalog/apimart/wan-3.0.model.d.ts +3 -0
  60. package/dist/catalog/apimart/wan-3.0.model.js +101 -0
  61. package/dist/catalog/apimart/z-image-turbo.model.js +1 -1
  62. package/dist/catalog/audio/tts-common.d.ts +2 -1
  63. package/dist/catalog/audio/tts-common.js +5 -1
  64. package/dist/catalog/bailian/cosyvoice-v3.5.model.js +1 -1
  65. package/dist/catalog/bailian/minimax-h3.model.d.ts +3 -0
  66. package/dist/catalog/bailian/minimax-h3.model.js +95 -0
  67. package/dist/catalog/bailian/minimax-speech-2.8.model.js +1 -1
  68. package/dist/catalog/bailian/qwen-audio-3.1-tts-flash.model.js +14 -3
  69. package/dist/catalog/bailian/qwen-audio-3.1-tts-plus.model.d.ts +2 -0
  70. package/dist/catalog/bailian/qwen-audio-3.1-tts-plus.model.js +44 -0
  71. package/dist/catalog/bailian/qwen-image-3.0.model.js +1 -1
  72. package/dist/catalog/bailian/wan-3.0.model.d.ts +3 -0
  73. package/dist/catalog/bailian/wan-3.0.model.js +104 -0
  74. package/dist/catalog/bailian/z-image-turbo.model.js +1 -1
  75. package/dist/catalog/consumer-contract.d.ts +16 -1
  76. package/dist/catalog/consumer-contract.js +31 -0
  77. package/dist/catalog/continuation.d.ts +20 -0
  78. package/dist/catalog/continuation.js +41 -0
  79. package/dist/catalog/fal/bria-creative-upscale.model.js +1 -1
  80. package/dist/catalog/fal/eleven-v3-tts.model.js +1 -1
  81. package/dist/catalog/fal/eleven-v4-tts.model.d.ts +2 -0
  82. package/dist/catalog/fal/eleven-v4-tts.model.js +38 -0
  83. package/dist/catalog/fal/flux-3-video.model.d.ts +2 -0
  84. package/dist/catalog/fal/flux-3-video.model.js +187 -0
  85. package/dist/catalog/fal/flux-3.model.d.ts +2 -0
  86. package/dist/catalog/fal/flux-3.model.js +69 -0
  87. package/dist/catalog/fal/gemini-omni-1.2-flash.model.d.ts +2 -0
  88. package/dist/catalog/fal/gemini-omni-1.2-flash.model.js +129 -0
  89. package/dist/catalog/fal/gemini-omni-flash.model.js +1 -1
  90. package/dist/catalog/fal/gpt-image-2.5.model.js +1 -1
  91. package/dist/catalog/fal/gpt-image-2.6.model.d.ts +2 -0
  92. package/dist/catalog/fal/gpt-image-2.6.model.js +97 -0
  93. package/dist/catalog/fal/gpt-image-2.model.js +1 -1
  94. package/dist/catalog/fal/grok-imagine-2.0.model.js +1 -1
  95. package/dist/catalog/fal/grok-imagine-video-1.5.model.d.ts +2 -0
  96. package/dist/catalog/fal/grok-imagine-video-1.5.model.js +121 -0
  97. package/dist/catalog/fal/hailuo-02.model.js +8 -4
  98. package/dist/catalog/fal/hailuo-2.3.model.js +1 -1
  99. package/dist/catalog/fal/ic-light-v2.model.js +1 -1
  100. package/dist/catalog/fal/ideogram-upscale.model.js +1 -1
  101. package/dist/catalog/fal/kling-3.0-omni.model.js +1 -1
  102. package/dist/catalog/fal/kling-3.0-turbo.model.js +5 -2
  103. package/dist/catalog/fal/kling-3.0.model.js +4 -1
  104. package/dist/catalog/fal/kling-4.0-flash.model.d.ts +2 -0
  105. package/dist/catalog/fal/kling-4.0-flash.model.js +132 -0
  106. package/dist/catalog/fal/kling-4.0.model.d.ts +2 -0
  107. package/dist/catalog/fal/kling-4.0.model.js +169 -0
  108. package/dist/catalog/fal/kling-image-o1.model.js +1 -1
  109. package/dist/catalog/fal/kling-video-o1.model.js +18 -7
  110. package/dist/catalog/fal/kling-video-v2.6-pro.model.js +3 -2
  111. package/dist/catalog/fal/ltx-2.3.model.d.ts +2 -0
  112. package/dist/catalog/fal/ltx-2.3.model.js +223 -0
  113. package/dist/catalog/fal/ltx-2.model.js +2 -1
  114. package/dist/catalog/fal/minimax-h3-max.model.d.ts +2 -0
  115. package/dist/catalog/fal/minimax-h3-max.model.js +132 -0
  116. package/dist/catalog/fal/minimax-h3.model.js +3 -4
  117. package/dist/catalog/fal/minimax-speech-2.8.model.js +1 -1
  118. package/dist/catalog/fal/nano-banana-2.1.model.d.ts +2 -0
  119. package/dist/catalog/fal/nano-banana-2.1.model.js +68 -0
  120. package/dist/catalog/fal/nano-banana-2.model.js +1 -1
  121. package/dist/catalog/fal/nano-banana-pro.model.js +1 -1
  122. package/dist/catalog/fal/nano-banana.model.js +1 -1
  123. package/dist/catalog/fal/pixverse-v5.5.model.js +9 -4
  124. package/dist/catalog/fal/qwen-image-3.0.model.js +2 -2
  125. package/dist/catalog/fal/qwen3-tts-1.7b.model.js +4 -3
  126. package/dist/catalog/fal/seedance-2.0-fast.model.js +1 -1
  127. package/dist/catalog/fal/seedance-2.0-mini.model.js +1 -1
  128. package/dist/catalog/fal/seedance-2.0.model.js +1 -1
  129. package/dist/catalog/fal/seedance-2.5.model.js +5 -2
  130. package/dist/catalog/fal/seedance.model.js +3 -2
  131. package/dist/catalog/fal/seedream-5.0-lite.model.js +1 -1
  132. package/dist/catalog/fal/seedream-5.0-pro.model.js +1 -1
  133. package/dist/catalog/fal/seedream-v4.5.model.js +1 -1
  134. package/dist/catalog/fal/seedream-v4.model.js +1 -1
  135. package/dist/catalog/fal/seedvr2-image-upscale.model.js +1 -1
  136. package/dist/catalog/fal/topaz-image-upscale.model.js +1 -1
  137. package/dist/catalog/fal/topaz-transparent-upscale.model.js +1 -1
  138. package/dist/catalog/fal/utils/klingV4.d.ts +17 -0
  139. package/dist/catalog/fal/utils/klingV4.js +33 -0
  140. package/dist/catalog/fal/veo-3.1.model.js +5 -2
  141. package/dist/catalog/fal/vidu-q2.model.js +20 -8
  142. package/dist/catalog/fal/wan-2.5-preview.model.js +4 -1
  143. package/dist/catalog/fal/wan-3.0.model.d.ts +2 -0
  144. package/dist/catalog/fal/wan-3.0.model.js +135 -0
  145. package/dist/catalog/fal/z-image-turbo.model.js +10 -9
  146. package/dist/catalog/grsai/gpt-image-2.5.model.js +13 -31
  147. package/dist/catalog/grsai/gpt-image-2.6.model.d.ts +2 -0
  148. package/dist/catalog/grsai/gpt-image-2.6.model.js +37 -0
  149. package/dist/catalog/grsai/gpt-image-2.model.js +5 -2
  150. package/dist/catalog/grsai/nano-banana-2-lite.model.js +1 -1
  151. package/dist/catalog/grsai/nano-banana-2.1.model.d.ts +2 -0
  152. package/dist/catalog/grsai/nano-banana-2.1.model.js +29 -0
  153. package/dist/catalog/grsai/nano-banana-2.model.js +1 -1
  154. package/dist/catalog/grsai/nano-banana-pro.model.js +1 -1
  155. package/dist/catalog/grsai/wan-3.0.model.d.ts +2 -0
  156. package/dist/catalog/grsai/wan-3.0.model.js +78 -0
  157. package/dist/catalog/index.d.ts +1 -0
  158. package/dist/catalog/index.js +205 -124
  159. package/dist/catalog/kie/eleven-v3-dialogue.model.js +1 -1
  160. package/dist/catalog/kie/flux-3-klein.model.d.ts +2 -0
  161. package/dist/catalog/kie/flux-3-klein.model.js +58 -0
  162. package/dist/catalog/kie/gemini-3.1-flash-tts.model.js +7 -4
  163. package/dist/catalog/kie/gemini-3.8-flash-lite-tts.model.d.ts +2 -0
  164. package/dist/catalog/kie/gemini-3.8-flash-lite-tts.model.js +11 -0
  165. package/dist/catalog/kie/gemini-3.8-flash-tts.model.d.ts +2 -0
  166. package/dist/catalog/kie/gemini-3.8-flash-tts.model.js +11 -0
  167. package/dist/catalog/kie/gemini-omni-video.model.js +3 -4
  168. package/dist/catalog/kie/gemini38Tts.d.ts +3 -0
  169. package/dist/catalog/kie/gemini38Tts.js +40 -0
  170. package/dist/catalog/kie/gpt-image-2.5.model.js +1 -1
  171. package/dist/catalog/kie/gpt-image-2.6.model.d.ts +2 -0
  172. package/dist/catalog/kie/gpt-image-2.6.model.js +87 -0
  173. package/dist/catalog/kie/gpt-image-2.model.js +8 -12
  174. package/dist/catalog/kie/grok-imagine-2.0.model.js +1 -1
  175. package/dist/catalog/kie/grok-imagine-video-1.5.model.d.ts +2 -0
  176. package/dist/catalog/kie/grok-imagine-video-1.5.model.js +52 -0
  177. package/dist/catalog/kie/grok-imagine-video.model.js +7 -3
  178. package/dist/catalog/kie/grok-imagine.model.js +4 -2
  179. package/dist/catalog/kie/hailuo-02.model.js +6 -4
  180. package/dist/catalog/kie/hailuo-2-3.model.js +1 -1
  181. package/dist/catalog/kie/happyhorse-1.1.model.js +5 -2
  182. package/dist/catalog/kie/kling-3.0-omni.model.js +51 -23
  183. package/dist/catalog/kie/kling-3.0-turbo.model.js +1 -1
  184. package/dist/catalog/kie/kling-3.0.model.js +1 -8
  185. package/dist/catalog/kie/kling-4.0-flash.model.d.ts +2 -0
  186. package/dist/catalog/kie/kling-4.0-flash.model.js +16 -0
  187. package/dist/catalog/kie/kling-4.0.model.d.ts +2 -0
  188. package/dist/catalog/kie/kling-4.0.model.js +17 -0
  189. package/dist/catalog/kie/kling-v2-6.model.js +1 -1
  190. package/dist/catalog/kie/kling40.d.ts +21 -0
  191. package/dist/catalog/kie/kling40.js +129 -0
  192. package/dist/catalog/kie/minimax-h3.model.js +16 -21
  193. package/dist/catalog/kie/nano-banana-2-lite.model.js +1 -1
  194. package/dist/catalog/kie/nano-banana-2.1.model.d.ts +2 -0
  195. package/dist/catalog/kie/nano-banana-2.1.model.js +34 -0
  196. package/dist/catalog/kie/nano-banana-2.model.js +2 -2
  197. package/dist/catalog/kie/nano-banana-pro.model.js +1 -1
  198. package/dist/catalog/kie/qwen-image-3.0.model.js +2 -10
  199. package/dist/catalog/kie/seedance-1.5-pro.model.js +2 -1
  200. package/dist/catalog/kie/seedance-2.0-fast.model.js +5 -1
  201. package/dist/catalog/kie/seedance-2.0-mini.model.js +5 -1
  202. package/dist/catalog/kie/seedance-2.0.model.js +5 -1
  203. package/dist/catalog/kie/seedance-2.5.model.js +10 -20
  204. package/dist/catalog/kie/seedance-v1.model.js +8 -4
  205. package/dist/catalog/kie/seedream-4.0.model.js +1 -1
  206. package/dist/catalog/kie/seedream-4.5.model.js +1 -1
  207. package/dist/catalog/kie/seedream-5.0-lite.model.js +1 -1
  208. package/dist/catalog/kie/seedream-5.0-pro.model.js +1 -1
  209. package/dist/catalog/kie/wan-3.0-prime.model.d.ts +2 -0
  210. package/dist/catalog/kie/wan-3.0-prime.model.js +15 -0
  211. package/dist/catalog/kie/wan-3.0.model.d.ts +2 -0
  212. package/dist/catalog/kie/wan-3.0.model.js +15 -0
  213. package/dist/catalog/kie/wan30.d.ts +10 -0
  214. package/dist/catalog/kie/wan30.js +78 -0
  215. package/dist/catalog/kie/z-image.model.js +1 -1
  216. package/dist/catalog/modelscope/flux-1-krea-dev.model.js +4 -2
  217. package/dist/catalog/modelscope/majicmix-realistic.model.js +3 -2
  218. package/dist/catalog/modelscope/modelscope-custom.model.js +3 -2
  219. package/dist/catalog/modelscope/qwen-image-2512.model.d.ts +5 -0
  220. package/dist/catalog/modelscope/{qwen-image.model.js → qwen-image-2512.model.js} +11 -8
  221. package/dist/catalog/modelscope/qwen-image-edit-2511.model.d.ts +5 -0
  222. package/dist/catalog/modelscope/{qwen-image-edit-2509.model.js → qwen-image-edit-2511.model.js} +9 -7
  223. package/dist/catalog/modelscope/sdxl-14-ckpt.model.js +3 -2
  224. package/dist/catalog/modelscope/utils.js +2 -2
  225. package/dist/catalog/modelscope/z-image-turbo.model.js +3 -2
  226. package/dist/catalog/ppio/kling-3.0.model.js +4 -1
  227. package/dist/catalog/ppio/minimax-speech.model.js +2 -1
  228. package/dist/catalog/shared/mediaPresence.d.ts +8 -1
  229. package/dist/catalog/shared/mediaPresence.js +21 -1
  230. package/dist/catalog/shared/nanoBanana21.d.ts +11 -0
  231. package/dist/catalog/shared/nanoBanana21.js +30 -0
  232. package/dist/catalog/shared/shotList.d.ts +31 -0
  233. package/dist/catalog/shared/shotList.js +48 -0
  234. package/dist/catalog/shared/subjectElements.d.ts +36 -0
  235. package/dist/catalog/shared/subjectElements.js +93 -0
  236. package/dist/catalog/siliconflow/moss-ttsd-0.5.model.js +1 -1
  237. package/dist/catalog/validate.js +14 -1
  238. package/dist/catalog/volcengine/seedance-2.0-fast.model.d.ts +2 -0
  239. package/dist/catalog/volcengine/seedance-2.0-fast.model.js +11 -0
  240. package/dist/catalog/volcengine/seedance-2.0-mini.model.d.ts +2 -0
  241. package/dist/catalog/volcengine/seedance-2.0-mini.model.js +11 -0
  242. package/dist/catalog/volcengine/seedance-2.0.model.d.ts +2 -0
  243. package/dist/catalog/volcengine/seedance-2.0.model.js +11 -0
  244. package/dist/catalog/volcengine/seedance-2.5.model.d.ts +2 -0
  245. package/dist/catalog/volcengine/seedance-2.5.model.js +11 -0
  246. package/dist/catalog/volcengine/seedance.d.ts +17 -0
  247. package/dist/catalog/volcengine/seedance.js +192 -0
  248. package/dist/catalog/volcengine/seedream-5.0-lite.model.js +2 -1
  249. package/dist/catalog/volcengine/seedream-5.0.js +1 -1
  250. package/dist/catalog/volcengine-speech/seed-icl-2.0.model.js +2 -2
  251. package/dist/catalog/volcengine-speech/seed-tts-2.0.model.js +2 -2
  252. package/dist/discovery/index.js +13 -6
  253. package/dist/index.d.ts +3 -0
  254. package/dist/index.js +2 -0
  255. package/dist/llm/bigmodel/preset.js +2 -1
  256. package/dist/llm/bigmodel/profiles.js +0 -6
  257. package/dist/llm/chat.d.ts +8 -0
  258. package/dist/llm/chat.js +18 -2
  259. package/dist/llm/chatTypes.d.ts +6 -0
  260. package/dist/llm/defaults.d.ts +2 -2
  261. package/dist/llm/defaults.js +3 -3
  262. package/dist/llm/groq/preset.js +18 -2
  263. package/dist/llm/modelCatalog.d.ts +9 -2
  264. package/dist/llm/modelCatalog.js +17 -4
  265. package/dist/llm/modelCatalogEntries.d.ts +2 -0
  266. package/dist/llm/modelCatalogEntries.js +197 -42
  267. package/dist/llm/providerPresets.d.ts +3 -0
  268. package/dist/llm/providerPresets.js +145 -32
  269. package/dist/llm/providerReasoningRequest.js +28 -11
  270. package/dist/llm/siliconflow/index.js +1 -1
  271. package/dist/llm/siliconflow/preset.js +30 -0
  272. package/dist/llm/types.d.ts +6 -0
  273. package/dist/packs/models/{ppio/wan-2.5-preview.d.ts → apimart/flux-3-image.d.ts} +1 -1
  274. package/dist/packs/models/apimart/flux-3-image.js +7 -0
  275. package/dist/packs/models/apimart/flux-3-video.d.ts +6 -0
  276. package/dist/packs/models/apimart/flux-3-video.js +7 -0
  277. package/dist/packs/models/apimart/gemini-omni-1.2-flash.d.ts +6 -0
  278. package/dist/packs/models/apimart/gemini-omni-1.2-flash.js +7 -0
  279. package/dist/packs/models/{modelscope/qwen-image.d.ts → apimart/gpt-image-2.6.d.ts} +1 -1
  280. package/dist/packs/models/apimart/gpt-image-2.6.js +7 -0
  281. package/dist/packs/models/apimart/grok-imagine-video-1.5.d.ts +6 -0
  282. package/dist/packs/models/apimart/grok-imagine-video-1.5.js +7 -0
  283. package/dist/packs/models/apimart/happyhorse-1.1.d.ts +6 -0
  284. package/dist/packs/models/apimart/happyhorse-1.1.js +7 -0
  285. package/dist/packs/models/apimart/kling-4.0.d.ts +6 -0
  286. package/dist/packs/models/apimart/kling-4.0.js +7 -0
  287. package/dist/packs/models/apimart/minimax-h3-max.d.ts +6 -0
  288. package/dist/packs/models/apimart/minimax-h3-max.js +7 -0
  289. package/dist/packs/models/{ppio/minimax-hailuo-2.3.d.ts → apimart/nano-banana-2.1.d.ts} +1 -1
  290. package/dist/packs/models/{ppio/minimax-hailuo-2.3.js → apimart/nano-banana-2.1.js} +4 -4
  291. package/dist/packs/models/apimart/seedream-5.0-flash.d.ts +6 -0
  292. package/dist/packs/models/apimart/seedream-5.0-flash.js +7 -0
  293. package/dist/packs/models/apimart/veo-3.1.d.ts +6 -0
  294. package/dist/packs/models/apimart/veo-3.1.js +7 -0
  295. package/dist/packs/models/apimart/wan-2.7-image.d.ts +6 -0
  296. package/dist/packs/models/apimart/wan-2.7-image.js +7 -0
  297. package/dist/packs/models/apimart/wan-3.0.d.ts +6 -0
  298. package/dist/packs/models/apimart/wan-3.0.js +7 -0
  299. package/dist/packs/models/bailian/cosyvoice-v3.5.js +1 -1
  300. package/dist/packs/models/bailian/minimax-h3.d.ts +6 -0
  301. package/dist/packs/models/bailian/minimax-h3.js +7 -0
  302. package/dist/packs/models/bailian/minimax-speech-2.8.js +1 -1
  303. package/dist/packs/models/bailian/qwen-audio-3.1-tts-flash.js +1 -1
  304. package/dist/packs/models/bailian/qwen-audio-3.1-tts-plus.d.ts +6 -0
  305. package/dist/packs/models/bailian/qwen-audio-3.1-tts-plus.js +7 -0
  306. package/dist/packs/models/bailian/qwen-image-3.0.js +1 -1
  307. package/dist/packs/models/bailian/wan-3.0.d.ts +6 -0
  308. package/dist/packs/models/bailian/wan-3.0.js +7 -0
  309. package/dist/packs/models/bailian/z-image-turbo.js +1 -1
  310. package/dist/packs/models/fal/eleven-v4-tts.d.ts +6 -0
  311. package/dist/packs/models/{ppio/wan-2.5-preview.js → fal/eleven-v4-tts.js} +4 -4
  312. package/dist/packs/models/fal/flux-3-video.d.ts +6 -0
  313. package/dist/packs/models/fal/flux-3-video.js +7 -0
  314. package/dist/packs/models/{ppio/wan-2.6.d.ts → fal/flux-3.d.ts} +1 -1
  315. package/dist/packs/models/{ppio/wan-2.6.js → fal/flux-3.js} +4 -4
  316. package/dist/packs/models/fal/gemini-omni-1.2-flash.d.ts +6 -0
  317. package/dist/packs/models/fal/gemini-omni-1.2-flash.js +7 -0
  318. package/dist/packs/models/fal/gpt-image-2.6.d.ts +6 -0
  319. package/dist/packs/models/fal/gpt-image-2.6.js +7 -0
  320. package/dist/packs/models/fal/grok-imagine-video-1.5.d.ts +6 -0
  321. package/dist/packs/models/fal/grok-imagine-video-1.5.js +7 -0
  322. package/dist/packs/models/fal/kling-4.0-flash.d.ts +6 -0
  323. package/dist/packs/models/fal/kling-4.0-flash.js +7 -0
  324. package/dist/packs/models/fal/kling-4.0.d.ts +6 -0
  325. package/dist/packs/models/{ppio/wan-2.7.js → fal/kling-4.0.js} +4 -4
  326. package/dist/packs/models/{ppio/wan-2.7.d.ts → fal/ltx-2.3.d.ts} +1 -1
  327. package/dist/packs/models/fal/ltx-2.3.js +7 -0
  328. package/dist/packs/models/fal/minimax-h3-max.d.ts +6 -0
  329. package/dist/packs/models/fal/minimax-h3-max.js +7 -0
  330. package/dist/packs/models/fal/nano-banana-2.1.d.ts +6 -0
  331. package/dist/packs/models/fal/nano-banana-2.1.js +7 -0
  332. package/dist/packs/models/fal/wan-3.0.d.ts +6 -0
  333. package/dist/packs/models/fal/wan-3.0.js +7 -0
  334. package/dist/packs/models/grsai/gpt-image-2.6.d.ts +6 -0
  335. package/dist/packs/models/grsai/gpt-image-2.6.js +7 -0
  336. package/dist/packs/models/grsai/nano-banana-2.1.d.ts +6 -0
  337. package/dist/packs/models/grsai/nano-banana-2.1.js +7 -0
  338. package/dist/packs/models/grsai/wan-3.0.d.ts +6 -0
  339. package/dist/packs/models/grsai/wan-3.0.js +7 -0
  340. package/dist/packs/models/kie/flux-3-klein.d.ts +6 -0
  341. package/dist/packs/models/kie/flux-3-klein.js +7 -0
  342. package/dist/packs/models/kie/gemini-3.8-flash-lite-tts.d.ts +6 -0
  343. package/dist/packs/models/kie/gemini-3.8-flash-lite-tts.js +7 -0
  344. package/dist/packs/models/kie/{eleven-turbo-2.5-tts.d.ts → gemini-3.8-flash-tts.d.ts} +1 -1
  345. package/dist/packs/models/kie/{eleven-turbo-2.5-tts.js → gemini-3.8-flash-tts.js} +1 -1
  346. package/dist/packs/models/kie/gpt-image-2.6.d.ts +6 -0
  347. package/dist/packs/models/kie/gpt-image-2.6.js +7 -0
  348. package/dist/packs/models/kie/grok-imagine-video-1.5.d.ts +6 -0
  349. package/dist/packs/models/kie/grok-imagine-video-1.5.js +7 -0
  350. package/dist/packs/models/kie/kling-4.0-flash.d.ts +6 -0
  351. package/dist/packs/models/kie/kling-4.0-flash.js +7 -0
  352. package/dist/packs/models/kie/kling-4.0.d.ts +6 -0
  353. package/dist/packs/models/kie/kling-4.0.js +7 -0
  354. package/dist/packs/models/kie/nano-banana-2.1.d.ts +6 -0
  355. package/dist/packs/models/kie/nano-banana-2.1.js +7 -0
  356. package/dist/packs/models/kie/wan-3.0-prime.d.ts +6 -0
  357. package/dist/packs/models/kie/wan-3.0-prime.js +7 -0
  358. package/dist/packs/models/kie/wan-3.0.d.ts +6 -0
  359. package/dist/packs/models/kie/wan-3.0.js +7 -0
  360. package/dist/packs/models/modelscope/flux-1-krea-dev.js +1 -1
  361. package/dist/packs/models/modelscope/majicmix-realistic.js +1 -1
  362. package/dist/packs/models/modelscope/modelscope-custom.js +1 -1
  363. package/dist/packs/models/modelscope/qwen-image-2512.d.ts +6 -0
  364. package/dist/packs/models/modelscope/{qwen-image.js → qwen-image-2512.js} +2 -2
  365. package/dist/packs/models/modelscope/{qwen-image-edit-2509.d.ts → qwen-image-edit-2511.d.ts} +1 -1
  366. package/dist/packs/models/modelscope/{qwen-image-edit-2509.js → qwen-image-edit-2511.js} +2 -2
  367. package/dist/packs/models/modelscope/sdxl-14-ckpt.js +1 -1
  368. package/dist/packs/models/modelscope/z-image-turbo.js +1 -1
  369. package/dist/packs/models/volcengine/seedance-2.0-fast.d.ts +6 -0
  370. package/dist/packs/models/volcengine/seedance-2.0-fast.js +7 -0
  371. package/dist/packs/models/volcengine/seedance-2.0-mini.d.ts +6 -0
  372. package/dist/packs/models/volcengine/seedance-2.0-mini.js +7 -0
  373. package/dist/packs/models/volcengine/seedance-2.0.d.ts +6 -0
  374. package/dist/packs/models/volcengine/seedance-2.0.js +7 -0
  375. package/dist/packs/models/volcengine/seedance-2.5.d.ts +6 -0
  376. package/dist/packs/models/volcengine/seedance-2.5.js +7 -0
  377. package/dist/packs/models/volcengine/seedream-5.0-flash.js +1 -1
  378. package/dist/packs/models/volcengine/seedream-5.0-lite.js +1 -1
  379. package/dist/packs/models/volcengine/seedream-5.0-pro.js +1 -1
  380. package/dist/packs/provider-adapters/bailian.js +1 -1
  381. package/dist/packs/provider-adapters/modelscope.js +1 -1
  382. package/dist/packs/provider-adapters/volcengine.js +1 -1
  383. package/dist/packs/provider-packs/apimart.d.ts +1 -1
  384. package/dist/packs/provider-packs/apimart.js +35 -22
  385. package/dist/packs/provider-packs/bailian.d.ts +1 -1
  386. package/dist/packs/provider-packs/bailian.js +8 -5
  387. package/dist/packs/provider-packs/fal.d.ts +1 -1
  388. package/dist/packs/provider-packs/fal.js +52 -40
  389. package/dist/packs/provider-packs/grsai.d.ts +1 -1
  390. package/dist/packs/provider-packs/grsai.js +8 -5
  391. package/dist/packs/provider-packs/kie.d.ts +1 -1
  392. package/dist/packs/provider-packs/kie.js +41 -32
  393. package/dist/packs/provider-packs/modelscope.js +2 -2
  394. package/dist/packs/provider-packs/ppio.d.ts +1 -1
  395. package/dist/packs/provider-packs/ppio.js +2 -6
  396. package/dist/packs/provider-packs/volcengine.d.ts +1 -1
  397. package/dist/packs/provider-packs/volcengine.js +8 -4
  398. package/dist/pricing/index.d.ts +1 -0
  399. package/dist/pricing/index.js +1 -0
  400. package/dist/pricing/mediaContext.d.ts +6 -1
  401. package/dist/pricing/mediaContext.js +12 -5
  402. package/dist/pricing/tokenPricing.d.ts +36 -0
  403. package/dist/pricing/tokenPricing.js +26 -0
  404. package/dist/providers/bailian.d.ts +1 -1
  405. package/dist/providers/bailian.js +71 -4
  406. package/dist/providers/fal.js +11 -1
  407. package/dist/providers/helpers.d.ts +1 -1
  408. package/dist/providers/helpers.js +17 -5
  409. package/dist/providers/kie.js +16 -5
  410. package/dist/providers/metadata.js +2 -2
  411. package/dist/providers/openai-speech.d.ts +6 -0
  412. package/dist/providers/openai-speech.js +31 -0
  413. package/dist/providers/providerAccessErrors.d.ts +3 -0
  414. package/dist/providers/providerAccessErrors.js +73 -0
  415. package/dist/providers/siliconflow.js +2 -27
  416. package/dist/providers/volcengine-speech.js +22 -5
  417. package/dist/providers/volcengine-voice-clone.js +13 -4
  418. package/dist/providers/volcengine.d.ts +1 -1
  419. package/dist/providers/volcengine.js +89 -11
  420. package/dist/runtime/retry.js +3 -0
  421. package/dist/tool-packs/fal-erase/models/bria-eraser.model.js +1 -1
  422. package/dist/tool-packs/fal-erase/models/finegrain-eraser.model.js +1 -1
  423. package/dist/tool-packs/fal-erase/models/flux-pro-erase.model.js +1 -1
  424. package/dist/tool-packs/fal-image-utilities/models/control-light.model.js +1 -1
  425. package/dist/tool-packs/fal-image-utilities/models/outpaint.model.js +1 -1
  426. package/dist/tool-packs/fal-image-utilities/models/photo-restoration.model.js +1 -1
  427. package/dist/tool-packs/fal-image-utilities/models/pixelcut-background-removal.model.js +1 -1
  428. package/dist/tool-packs/fal-image-utilities/models/product-photography.model.js +1 -1
  429. package/dist/tool-packs/fal-image-utilities/models/relighting.model.js +1 -1
  430. package/dist/tool-packs/fal-multi-angle/models/flux-2-multiple-angles.model.js +1 -1
  431. package/dist/tool-packs/fal-multi-angle/models/perspective-change.model.js +1 -1
  432. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2511-multiple-angles.model.js +1 -1
  433. package/dist/types/model.d.ts +68 -12
  434. package/dist/types/model.js +3 -0
  435. package/dist/types/modelTags.d.ts +142 -0
  436. package/dist/types/modelTags.js +44 -0
  437. package/dist/types/speechTimings.d.ts +15 -0
  438. package/dist/types/speechTimings.js +1 -0
  439. package/dist/upload/apimart-upload.d.ts +1 -1
  440. package/dist/upload/apimart-upload.js +37 -15
  441. package/dist/upload/bailian-oss-upload.d.ts +32 -0
  442. package/dist/upload/bailian-oss-upload.js +74 -0
  443. package/dist/upload/{fal-legacy.js → fal-host-fetch.js} +2 -2
  444. package/dist/upload/fal-transport.d.ts +6 -0
  445. package/dist/upload/fal-transport.js +2 -1
  446. package/dist/upload/index.d.ts +2 -2
  447. package/dist/upload/index.js +4 -7
  448. package/dist/upload/kie-upload.d.ts +1 -1
  449. package/dist/upload/kie-upload.js +34 -12
  450. package/dist/upload/media-fields.js +7 -2
  451. package/dist/upload/preprocess-core.d.ts +2 -0
  452. package/dist/upload/preprocess-core.js +2 -0
  453. package/dist/upload/preprocess.d.ts +1 -1
  454. package/dist/upload/preprocess.js +12 -3
  455. package/dist/upload/provider-preprocessors/apimart.d.ts +1 -1
  456. package/dist/upload/provider-preprocessors/apimart.js +13 -5
  457. package/dist/upload/provider-preprocessors/bailian.d.ts +8 -0
  458. package/dist/upload/provider-preprocessors/bailian.js +45 -0
  459. package/dist/upload/provider-preprocessors/kie.d.ts +1 -1
  460. package/dist/upload/provider-preprocessors/kie.js +26 -9
  461. package/dist/upload/provider-preprocessors/ppio.d.ts +1 -2
  462. package/dist/upload/provider-preprocessors/ppio.js +2 -29
  463. package/dist/upload/provider-preprocessors/public-host.d.ts +5 -0
  464. package/dist/upload/provider-preprocessors/public-host.js +7 -0
  465. package/dist/upload/provider-preprocessors/volcengine.d.ts +5 -0
  466. package/dist/upload/provider-preprocessors/volcengine.js +10 -0
  467. package/dist/upload/public-host-upload.d.ts +7 -0
  468. package/dist/upload/public-host-upload.js +55 -0
  469. package/dist/upload/upload-response.js +12 -7
  470. package/docs/README.md +26 -26
  471. package/docs/consumers.md +156 -148
  472. package/docs/llm-adaptation/README.md +180 -166
  473. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +108 -104
  474. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +94 -76
  475. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/MiniMax.md +89 -84
  476. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +126 -126
  477. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +238 -234
  478. 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
  479. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274Qwen.md +112 -84
  480. 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
  481. package/docs/model-adaptation/Bria-Eraser/Bria-Eraser_Fal.md +32 -32
  482. 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
  483. package/docs/model-adaptation/ControlLight/ControlLight_Fal.md +85 -85
  484. package/docs/model-adaptation/Eleven-v4/Eleven-v4_Fal.md +49 -0
  485. 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
  486. package/docs/model-adaptation/FLUX-3/FLUX-3_APIMart.md +65 -0
  487. package/docs/model-adaptation/FLUX-3/FLUX-3_Fal.md +48 -0
  488. package/docs/model-adaptation/FLUX-3-Klein/FLUX-3-Klein_KIE.md +38 -0
  489. package/docs/model-adaptation/FLUX-3-Video/FLUX-3-Video_APIMart.md +84 -0
  490. package/docs/model-adaptation/FLUX-3-Video/FLUX-3-Video_Fal.md +80 -0
  491. package/docs/model-adaptation/Finegrain-Eraser/Finegrain-Eraser_Fal.md +31 -31
  492. package/docs/model-adaptation/Flux-Pro-Erase/Flux-Pro-Erase_Fal.md +34 -34
  493. package/docs/model-adaptation/Fun-ASR/Fun-ASR_/347/231/276/347/202/274.md +47 -47
  494. 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
  495. package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +57 -57
  496. 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
  497. package/docs/model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_/346/231/272/350/260/261.md +217 -213
  498. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_APIMart.md +173 -173
  499. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Fal.md +94 -94
  500. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Grsai.md +138 -137
  501. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_KIE.md +97 -93
  502. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_APIMart.md +66 -66
  503. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Fal.md +55 -55
  504. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Grsai.md +59 -53
  505. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_KIE.md +55 -55
  506. package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_APIMart.md +101 -0
  507. package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_Fal.md +55 -0
  508. package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_Grsai.md +32 -0
  509. package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_KIE.md +51 -0
  510. package/docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md +62 -62
  511. package/docs/model-adaptation/Gemini-3.8-Flash-Lite-TTS/Gemini-3.8-Flash-Lite-TTS_KIE.md +22 -0
  512. package/docs/model-adaptation/Gemini-3.8-Flash-TTS/Gemini-3.8-Flash-TTS_KIE.md +38 -0
  513. package/docs/model-adaptation/Gemini-Omni-1.2-Flash/Gemini-Omni-1.2-Flash_APIMart.md +79 -0
  514. package/docs/model-adaptation/Gemini-Omni-1.2-Flash/Gemini-Omni-1.2-Flash_Fal.md +60 -0
  515. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_APIMart.md +131 -125
  516. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_Fal.md +84 -84
  517. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_KIE.md +132 -130
  518. package/docs/model-adaptation/Grok-Imagine/Grok-Imagine_KIE.md +38 -36
  519. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_APIMart.md +250 -250
  520. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_Fal.md +84 -84
  521. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_KIE.md +105 -105
  522. package/docs/model-adaptation/Grok-Imagine-Video-1.5/Grok-Imagine-Video-1.5_APIMart.md +68 -0
  523. package/docs/model-adaptation/Grok-Imagine-Video-1.5/Grok-Imagine-Video-1.5_Fal.md +47 -0
  524. package/docs/model-adaptation/Grok-Imagine-Video-1.5/Grok-Imagine-Video-1.5_KIE.md +37 -0
  525. package/docs/model-adaptation/Hailuo-02/Hailuo-02_Fal.md +95 -93
  526. package/docs/model-adaptation/Hailuo-02/Hailuo-02_KIE.md +58 -56
  527. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_Fal.md +88 -88
  528. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_KIE.md +51 -51
  529. package/docs/model-adaptation/HappyHorse-1.1/HappyHorse-1.1_APIMart.md +66 -0
  530. package/docs/model-adaptation/HappyHorse-1.1/HappyHorse-1.1_KIE.md +31 -27
  531. package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +99 -99
  532. 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
  533. 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
  534. 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
  535. 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
  536. 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
  537. package/docs/model-adaptation/Kling-3.0/Kling-3.0_APIMart.md +112 -112
  538. package/docs/model-adaptation/Kling-3.0/Kling-3.0_Fal.md +91 -89
  539. package/docs/model-adaptation/Kling-3.0/Kling-3.0_KIE.md +106 -106
  540. package/docs/model-adaptation/Kling-3.0/Kling-3.0_/346/264/276/346/254/247/344/272/221.md +120 -119
  541. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_APIMart.md +130 -125
  542. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_Fal.md +107 -107
  543. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_KIE.md +148 -143
  544. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_APIMart.md +88 -85
  545. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_Fal.md +86 -83
  546. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_KIE.md +84 -84
  547. package/docs/model-adaptation/Kling-4.0/Kling-4.0_APIMart.md +76 -0
  548. package/docs/model-adaptation/Kling-4.0/Kling-4.0_Fal.md +115 -0
  549. package/docs/model-adaptation/Kling-4.0/Kling-4.0_KIE.md +61 -0
  550. package/docs/model-adaptation/Kling-4.0-Flash/Kling-4.0-Flash_Fal.md +55 -0
  551. package/docs/model-adaptation/Kling-4.0-Flash/Kling-4.0-Flash_KIE.md +33 -0
  552. package/docs/model-adaptation/LTX-2.3/LTX-2.3_Fal.md +121 -0
  553. package/docs/model-adaptation/Midjourney/Midjourney_APIMart.md +402 -396
  554. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_APIMart.md +237 -234
  555. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_Fal.md +112 -108
  556. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_KIE.md +118 -111
  557. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_/347/231/276/347/202/274.md +65 -0
  558. package/docs/model-adaptation/MiniMax-H3-Max/MiniMax-H3-Max_APIMart.md +78 -0
  559. package/docs/model-adaptation/MiniMax-H3-Max/MiniMax-H3-Max_Fal.md +62 -0
  560. package/docs/model-adaptation/MiniMax-Speech/MiniMax-Speech_/346/264/276/346/254/247/344/272/221.md +170 -170
  561. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_APIMart.md +89 -89
  562. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Fal.md +99 -99
  563. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Grsai.md +82 -82
  564. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_KIE.md +72 -70
  565. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_APIMart.md +79 -79
  566. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_Grsai.md +65 -65
  567. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_KIE.md +64 -64
  568. package/docs/model-adaptation/Nano-Banana-2.1/Nano-Banana-2.1_APIMart.md +35 -0
  569. package/docs/model-adaptation/Nano-Banana-2.1/Nano-Banana-2.1_Fal.md +37 -0
  570. package/docs/model-adaptation/Nano-Banana-2.1/Nano-Banana-2.1_Grsai.md +35 -0
  571. package/docs/model-adaptation/Nano-Banana-2.1/Nano-Banana-2.1_KIE.md +36 -0
  572. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_APIMart.md +83 -83
  573. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Fal.md +89 -89
  574. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Grsai.md +82 -82
  575. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_KIE.md +64 -64
  576. 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
  577. 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
  578. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_APIMart.md +117 -117
  579. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_Fal.md +85 -84
  580. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_KIE.md +103 -103
  581. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_/347/231/276/347/202/274.md +138 -138
  582. 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
  583. package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +68 -68
  584. package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +40 -40
  585. package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +40 -40
  586. package/docs/model-adaptation/Qwen3-ASR-Flash/Qwen3-ASR-Flash_/347/231/276/347/202/274.md +44 -44
  587. 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
  588. package/docs/model-adaptation/Qwen3-ASR-Flash-Filetrans/Qwen3-ASR-Flash-Filetrans_/347/231/276/347/202/274.md +45 -45
  589. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +58 -58
  590. 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
  591. package/docs/model-adaptation/README.md +379 -338
  592. 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 -65
  593. 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
  594. 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
  595. 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
  596. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_APIMart.md +121 -121
  597. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_Fal.md +97 -97
  598. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_KIE.md +87 -86
  599. 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
  600. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_APIMart.md +89 -89
  601. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_Fal.md +95 -95
  602. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_KIE.md +79 -78
  603. 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
  604. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_APIMart.md +93 -89
  605. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_Fal.md +96 -96
  606. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_KIE.md +79 -78
  607. 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
  608. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_APIMart.md +217 -212
  609. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_Fal.md +98 -94
  610. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_KIE.md +94 -89
  611. 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
  612. package/docs/model-adaptation/Seedream-5.0-Flash/Seedream-5.0-Flash_APIMart.md +64 -0
  613. 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
  614. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_APIMart.md +113 -106
  615. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_Fal.md +91 -91
  616. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_KIE.md +89 -89
  617. 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
  618. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_APIMart.md +194 -194
  619. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_Fal.md +100 -100
  620. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_KIE.md +141 -141
  621. 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
  622. package/docs/model-adaptation/SenseVoiceSmall/SenseVoiceSmall_/347/241/205/345/237/272/346/265/201/345/212/250.md +73 -73
  623. package/docs/model-adaptation/TTS-/345/244/232/344/276/233/345/272/224/345/225/206-2026-09.md +115 -69
  624. package/docs/model-adaptation/TTS-/346/227/266/351/227/264/346/210/263-2026-10.md +36 -0
  625. 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
  626. 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
  627. package/docs/model-adaptation/Veo-3.1/Veo-3.1_APIMart.md +90 -0
  628. package/docs/model-adaptation/Wan-2.7-Image/Wan-2.7-Image_APIMart.md +81 -0
  629. package/docs/model-adaptation/Wan-3.0/Wan-3.0_APIMart.md +74 -0
  630. package/docs/model-adaptation/Wan-3.0/Wan-3.0_Fal.md +60 -0
  631. package/docs/model-adaptation/Wan-3.0/Wan-3.0_Grsai.md +35 -0
  632. package/docs/model-adaptation/Wan-3.0/Wan-3.0_KIE.md +38 -0
  633. package/docs/model-adaptation/Wan-3.0/Wan-3.0_/347/231/276/347/202/274.md +96 -0
  634. package/docs/model-adaptation/Wan-3.0-Prime/Wan-3.0-Prime_KIE.md +20 -0
  635. package/docs/model-adaptation/Whisper-Large-v3/Whisper-Large-v3_Groq.md +80 -80
  636. package/docs/model-adaptation/Whisper-Large-v3-Turbo/Whisper-Large-v3-Turbo_Groq.md +79 -79
  637. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_APIMart.md +88 -88
  638. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_Fal.md +103 -95
  639. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_KIE.md +71 -71
  640. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/347/231/276/347/202/274.md +122 -122
  641. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/351/255/224/346/220/255.md +99 -97
  642. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/APIMart.md +240 -240
  643. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Fal.md +190 -172
  644. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Groq.md +136 -121
  645. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Grsai.md +217 -217
  646. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/KIE.md +159 -131
  647. 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
  648. 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
  649. 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
  650. 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
  651. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +339 -288
  652. 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
  653. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md +205 -207
  654. package/docs/model-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +339 -339
  655. 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
  656. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Electron.md +77 -77
  657. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Tauri.md +81 -81
  658. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/UXP.md +169 -169
  659. 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
  660. 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
  661. package/examples/form-renderer/README.md +17 -17
  662. package/examples/form-renderer/cli.ts +32 -32
  663. package/examples/form-renderer/index.ts +144 -144
  664. package/examples/form-renderer/package.json +16 -16
  665. package/examples/form-renderer/tsconfig.json +14 -14
  666. package/examples/llm-chat/README.md +38 -38
  667. package/examples/llm-chat/index.ts +100 -100
  668. package/examples/llm-chat/package.json +19 -19
  669. package/examples/llm-chat/tsconfig.json +14 -14
  670. package/examples/minimal-node/README.md +31 -31
  671. package/examples/minimal-node/index.ts +138 -138
  672. package/examples/minimal-node/package.json +17 -17
  673. package/examples/minimal-node/tsconfig.json +14 -14
  674. package/package.json +259 -258
  675. package/dist/catalog/grsai/gptImage25Sizes.d.ts +0 -1
  676. package/dist/catalog/grsai/gptImage25Sizes.js +0 -76
  677. package/dist/catalog/kie/eleven-turbo-2.5-tts.model.d.ts +0 -2
  678. package/dist/catalog/kie/eleven-turbo-2.5-tts.model.js +0 -29
  679. package/dist/catalog/modelscope/qwen-image-edit-2509.model.d.ts +0 -5
  680. package/dist/catalog/modelscope/qwen-image.model.d.ts +0 -5
  681. package/dist/catalog/ppio/minimax-hailuo-2.3.model.d.ts +0 -7
  682. package/dist/catalog/ppio/minimax-hailuo-2.3.model.js +0 -114
  683. package/dist/catalog/ppio/wan-2.5-preview.model.d.ts +0 -7
  684. package/dist/catalog/ppio/wan-2.5-preview.model.js +0 -198
  685. package/dist/catalog/ppio/wan-2.6.model.d.ts +0 -7
  686. package/dist/catalog/ppio/wan-2.6.model.js +0 -206
  687. package/dist/catalog/ppio/wan-2.7.model.d.ts +0 -2
  688. package/dist/catalog/ppio/wan-2.7.model.js +0 -373
  689. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_/346/264/276/346/254/247/344/272/221.md +0 -70
  690. package/docs/model-adaptation/TeleSpeechASR/TeleSpeechASR_/347/241/205/345/237/272/346/265/201/345/212/250.md +0 -76
  691. package/docs/model-adaptation/Wan-2.5-Preview/Wan-2.5-Preview_/346/264/276/346/254/247/344/272/221.md +0 -82
  692. package/docs/model-adaptation/Wan-2.6/Wan-2.6_/346/264/276/346/254/247/344/272/221.md +0 -84
  693. package/docs/model-adaptation/Wan-2.7/Wan-2.7_/346/264/276/346/254/247/344/272/221.md +0 -122
  694. /package/dist/upload/{fal-legacy.d.ts → fal-host-fetch.d.ts} +0 -0
package/dist/llm/chat.js CHANGED
@@ -59,15 +59,27 @@ export async function runLlmChatStream(request, taskId, emit, runtime, hooks = {
59
59
  requestPayload: cloneJsonObject(requestPayload),
60
60
  processedRequest,
61
61
  });
62
+ // 首字时间从真正发出请求算起,不含前面的媒体预处理
63
+ const requestSentAtMs = Date.now();
64
+ let firstTokenAtMs = null;
62
65
  const output = await streamOpenAiCompatibleChat({
63
66
  endpoint,
64
67
  apiKey,
65
68
  providerId: identity.providerFamilyId,
66
69
  payload: requestPayload,
67
70
  signal: controller.signal,
68
- emit,
71
+ emit: (event) => {
72
+ if (firstTokenAtMs === null && (event.type === 'Token' || event.type === 'ReasoningToken') && event.data)
73
+ firstTokenAtMs = Date.now();
74
+ emit(event);
75
+ },
69
76
  transport: runtime.transport,
70
77
  });
78
+ const finishedAtMs = Date.now();
79
+ const firstTokenMs = firstTokenAtMs === null ? null : firstTokenAtMs - requestSentAtMs;
80
+ const streamingSeconds = firstTokenAtMs === null ? 0 : (finishedAtMs - firstTokenAtMs) / 1000;
81
+ const outputTokens = output.usage?.outputTokens ?? null;
82
+ const outputTokensPerSecond = outputTokens !== null && streamingSeconds > 0 ? outputTokens / streamingSeconds : null;
71
83
  if (isCancelled('llm', taskId)) {
72
84
  throw new Error(`[task_cancelled] LLM task cancelled: ${taskId}`);
73
85
  }
@@ -82,6 +94,8 @@ export async function runLlmChatStream(request, taskId, emit, runtime, hooks = {
82
94
  output: output.output,
83
95
  reasoningOutput: output.reasoningOutput,
84
96
  usage: output.usage,
97
+ firstTokenMs,
98
+ outputTokensPerSecond,
85
99
  finishReason: output.finishReason,
86
100
  truncated: output.truncated,
87
101
  toolCalls: output.toolCalls,
@@ -97,6 +111,8 @@ export async function runLlmChatStream(request, taskId, emit, runtime, hooks = {
97
111
  output: output.output,
98
112
  reasoningOutput: output.reasoningOutput,
99
113
  usage: output.usage,
114
+ firstTokenMs,
115
+ outputTokensPerSecond,
100
116
  finishReason: output.finishReason,
101
117
  truncated: output.truncated,
102
118
  toolCalls: output.toolCalls,
@@ -130,7 +146,7 @@ export async function runLlmChatStream(request, taskId, emit, runtime, hooks = {
130
146
  async function preprocessLlmRequest(request, runtime) {
131
147
  const body = { messages: request.messages };
132
148
  const params = request.metadata ?? {};
133
- const processed = await preprocessRequestBody(request.providerFamilyId ?? request.providerId, '/v1/chat/completions', body, runtime, params);
149
+ const processed = await preprocessRequestBody(request.providerFamilyId ?? request.providerId, '/v1/chat/completions', body, runtime, params, undefined, undefined, undefined, 'llm');
134
150
  const processedBody = isJsonObject(processed) ? processed : body;
135
151
  const processedMessages = Array.isArray(processedBody.messages)
136
152
  ? processedBody.messages
@@ -51,6 +51,12 @@ export interface LlmTraceDto {
51
51
  elapsedMs: number;
52
52
  inputChars: number;
53
53
  outputChars: number;
54
+ /** 发出请求到第一个字的毫秒数(含思考内容) */
55
+ firstTokenMs?: number | null;
56
+ /** 首字之后的输出 token 速度(个/秒) */
57
+ outputTokensPerSecond?: number | null;
58
+ inputTokens?: number | null;
59
+ outputTokens?: number | null;
54
60
  }
55
61
  export type LlmStreamEventDto = {
56
62
  type: 'Token';
@@ -13,7 +13,7 @@ export declare const DEFAULT_DEEPSEEK_BASE_URL = "https://api.deepseek.com";
13
13
  export declare const DEFAULT_DEEPSEEK_MODEL_ID = "deepseek-flash";
14
14
  export declare const DEFAULT_PPIO_PROVIDER_ID = "ppio";
15
15
  export declare const DEFAULT_PPIO_BASE_URL = "https://api.ppio.com/openai";
16
- export declare const DEFAULT_PPIO_MODEL_ID = "deepseek/deepseek-v4-flash";
16
+ export declare const DEFAULT_PPIO_MODEL_ID = "deepseek/deepseek-v4.1-flash";
17
17
  export declare const DEFAULT_LLM_REASONING_EFFORT: LlmReasoningEffort;
18
18
  export declare const DEEPSEEK_V4_CONTEXT_WINDOW = 1000000;
19
19
  export declare const DEEPSEEK_V4_MAX_OUTPUT_TOKENS = 384000;
@@ -24,6 +24,6 @@ export declare const DEFAULT_LLM_CAPABILITIES: LlmCapabilities;
24
24
  * 添加模型的两个入口(手动添加、获取模型列表)和内置模型清单都走这里,保证"同一个模型 ID
25
25
  * 无论从哪个入口进来,标出来的能力一致"。
26
26
  */
27
- export declare function createLlmCapabilitiesForModel(modelId: string): LlmCapabilities;
27
+ export declare function createLlmCapabilitiesForModel(modelId: string, providerId?: string): LlmCapabilities;
28
28
  /** DeepSeek 官方要求思考模式默认开启,其余供应商默认关闭;具体档位见 `DEFAULT_LLM_REASONING_EFFORT`。 */
29
29
  export declare function createDefaultProviderReasoning(adapter?: string): LlmReasoningConfig;
@@ -13,7 +13,7 @@ export const DEFAULT_DEEPSEEK_BASE_URL = 'https://api.deepseek.com';
13
13
  export const DEFAULT_DEEPSEEK_MODEL_ID = 'deepseek-flash';
14
14
  export const DEFAULT_PPIO_PROVIDER_ID = 'ppio';
15
15
  export const DEFAULT_PPIO_BASE_URL = 'https://api.ppio.com/openai';
16
- export const DEFAULT_PPIO_MODEL_ID = 'deepseek/deepseek-v4-flash';
16
+ export const DEFAULT_PPIO_MODEL_ID = 'deepseek/deepseek-v4.1-flash';
17
17
  export const DEFAULT_LLM_REASONING_EFFORT = 'high';
18
18
  export const DEEPSEEK_V4_CONTEXT_WINDOW = 1_000_000;
19
19
  export const DEEPSEEK_V4_MAX_OUTPUT_TOKENS = 384_000;
@@ -41,8 +41,8 @@ export const DEFAULT_LLM_CAPABILITIES = {
41
41
  * 添加模型的两个入口(手动添加、获取模型列表)和内置模型清单都走这里,保证"同一个模型 ID
42
42
  * 无论从哪个入口进来,标出来的能力一致"。
43
43
  */
44
- export function createLlmCapabilitiesForModel(modelId) {
45
- const entry = findLlmModelCatalogEntry(modelId);
44
+ export function createLlmCapabilitiesForModel(modelId, providerId) {
45
+ const entry = findLlmModelCatalogEntry(modelId, providerId);
46
46
  return entry
47
47
  ? applyLlmModelCatalogEntry(DEFAULT_LLM_CAPABILITIES, entry)
48
48
  : { ...DEFAULT_LLM_CAPABILITIES };
@@ -1,3 +1,4 @@
1
+ import { tokenListPrice } from '../../pricing/tokenPricing.js';
1
2
  import { findProviderMetadata } from '../../providers/metadata.js';
2
3
  export const GROQ_PROVIDER_ID = 'groq';
3
4
  export const GROQ_BASE_URL = 'https://api.groq.com/openai/v1';
@@ -14,11 +15,26 @@ export const GROQ_PROVIDER_PRESET = {
14
15
  baseUrl: GROQ_BASE_URL,
15
16
  reasoning: { enabled: true, effort: 'medium' },
16
17
  reasoningConfigurable: true,
17
- modelIds: [GROQ_DEFAULT_MODEL_ID],
18
+ // 2026-11-07 按官方模型页核对:自助账号可用的对话模型只有 GPT-OSS 两款正式版与 Qwen3.8-27B 预览版;
19
+ // Llama 系列为企业版,Prompt Guard / Safeguard 是安全分类器,Orpheus 是语音合成,均不进对话预设。
20
+ modelIds: [GROQ_DEFAULT_MODEL_ID, 'openai/gpt-oss-120b', 'qwen/qwen3.8-27b'],
21
+ // 托管限制以 Groq 模型页为准:Qwen3.8-27B 上下文 131,072、最大输出 16,384、每次最多 3 张图,支持 JSON Schema。
22
+ modelCapabilities: {
23
+ 'qwen/qwen3.8-27b': {
24
+ image: true, video: false, audio: false, file: false,
25
+ toolCall: true, jsonOutput: true, structuredOutputMode: 'schema', reasoning: true,
26
+ contextWindow: 131_072, maxOutputTokens: 16_384,
27
+ },
28
+ },
29
+ modelPricing: {
30
+ [GROQ_DEFAULT_MODEL_ID]: tokenListPrice('USD', 0.075, 0.3),
31
+ 'openai/gpt-oss-120b': tokenListPrice('USD', 0.15, 0.6),
32
+ 'qwen/qwen3.8-27b': tokenListPrice('USD', 0.8, 4),
33
+ },
18
34
  websiteUrl: GROQ_PROVIDER_METADATA.websiteUrl,
19
35
  apiKeyUrl: GROQ_PROVIDER_METADATA.apiKeyUrl,
20
36
  docs: 'docs/model-adaptation/供应商/Groq.md',
21
- note: 'GroqCloud(providerId=groq)不是 xAI Grok;GPT-OSS 不支持 reasoning_format。',
37
+ note: 'GroqCloud(providerId=groq)不是 xAI Grok;GPT-OSS 不支持 reasoning_format;Qwen3.8-27B 为预览模型,可能随时下线。',
22
38
  };
23
39
  /** 可直接交给统一能力发现器的默认模型;不会触发模型列表网络请求。 */
24
40
  export const GROQ_DEFAULT_MODEL_CONFIG = {
@@ -18,6 +18,11 @@ export interface LlmModelCatalogEntry {
18
18
  vendor: string;
19
19
  /** 规范化后仍与 `id` 不同的其他写法(例如同能力的价格变体) */
20
20
  aliases?: readonly string[];
21
+ /**
22
+ * 同一模型的不同快照能力不同时,按完整 Model ID(去掉厂商前缀与档位标记、小写)覆盖的字段。
23
+ * 例:方舟 doubao-seed-2-1-pro 的 260915 快照上下文 1024K,旧快照 260628 只有 256K。
24
+ */
25
+ snapshots?: Readonly<Record<string, Partial<Pick<LlmModelCatalogEntry, 'contextWindow' | 'maxOutputTokens' | 'input' | 'reasoning' | 'structuredOutputMode'>>>>;
21
26
  /** 本项目当前请求路径下真实可用的输入模态,取值依据见 `modelCatalogEntries.ts` 顶部注释 */
22
27
  input: {
23
28
  image: boolean;
@@ -38,6 +43,8 @@ export interface LlmModelCatalogEntry {
38
43
  /** 模型原厂已确认支持的协议;最终使用协议还要与接入供应商的端点能力取交集。 */
39
44
  apiProtocols?: readonly LlmApiProtocol[];
40
45
  note?: string;
46
+ /** 已过时的原因;填写后预设不再自动添加、能力发现不再列出,已有配置不受影响。 */
47
+ deprecated?: string;
41
48
  /** 该条目的资料出处,仓库内相对路径 */
42
49
  docs: string;
43
50
  }
@@ -47,10 +54,10 @@ export declare function modelSupportsLlmApiProtocol(entry: LlmModelCatalogEntry,
47
54
  *
48
55
  * 同一个模型经不同渠道进来写法不同:聚合网关带厂商前缀(`deepseek/deepseek-v4-flash`、
49
56
  * `xiaomimimo/mimo-v2.5-pro`),官方渠道带快照日期后缀(`doubao-seed-2-1-pro-260628`),
50
- * 部分网关还带 `:free` 之类的档位标记。这些都指向同一份能力。
57
+ * 部分网关还带 `:free` 之类的档位标记。规范化只收敛名称,原厂重定向等渠道差异仍按供应商查表。
51
58
  */
52
59
  export declare function normalizeCatalogModelId(modelId: string): string;
53
- export declare function findLlmModelCatalogEntry(modelId: string): LlmModelCatalogEntry | null;
60
+ export declare function findLlmModelCatalogEntry(modelId: string, providerId?: string): LlmModelCatalogEntry | null;
54
61
  /**
55
62
  * 把目录条目盖到一份基础能力上。
56
63
  *
@@ -1,4 +1,4 @@
1
- import { LLM_MODEL_CATALOG_ENTRIES } from './modelCatalogEntries.js';
1
+ import { DEEPSEEK_OFFICIAL_FLASH_ALIASES, LLM_MODEL_CATALOG_ENTRIES } from './modelCatalogEntries.js';
2
2
  export function modelSupportsLlmApiProtocol(entry, protocol) {
3
3
  return (entry.apiProtocols ?? ['openai-compatible']).includes(protocol);
4
4
  }
@@ -7,7 +7,7 @@ export function modelSupportsLlmApiProtocol(entry, protocol) {
7
7
  *
8
8
  * 同一个模型经不同渠道进来写法不同:聚合网关带厂商前缀(`deepseek/deepseek-v4-flash`、
9
9
  * `xiaomimimo/mimo-v2.5-pro`),官方渠道带快照日期后缀(`doubao-seed-2-1-pro-260628`),
10
- * 部分网关还带 `:free` 之类的档位标记。这些都指向同一份能力。
10
+ * 部分网关还带 `:free` 之类的档位标记。规范化只收敛名称,原厂重定向等渠道差异仍按供应商查表。
11
11
  */
12
12
  export function normalizeCatalogModelId(modelId) {
13
13
  const trimmed = modelId.trim().toLowerCase();
@@ -23,9 +23,22 @@ const CATALOG_BY_KEY = new Map(LLM_MODEL_CATALOG_ENTRIES.flatMap(entry => [
23
23
  [entry.id, entry],
24
24
  ...(entry.aliases ?? []).map(alias => [normalizeCatalogModelId(alias), entry]),
25
25
  ]));
26
- export function findLlmModelCatalogEntry(modelId) {
26
+ export function findLlmModelCatalogEntry(modelId, providerId) {
27
27
  const key = normalizeCatalogModelId(modelId);
28
- return key ? CATALOG_BY_KEY.get(key) ?? null : null;
28
+ const provider = providerId?.trim().toLowerCase();
29
+ // 无前缀的旧名默认指原厂;显式供应商优先,聚合前缀不能继承原厂重定向。
30
+ if (provider === 'deepseek' || (!provider && !modelId.includes('/'))) {
31
+ const official = DEEPSEEK_OFFICIAL_FLASH_ALIASES.find(entry => entry.id === key);
32
+ if (official)
33
+ return official;
34
+ }
35
+ const entry = key ? CATALOG_BY_KEY.get(key) ?? null : null;
36
+ const snapshot = entry?.snapshots?.[withoutRouting(modelId)];
37
+ return entry && snapshot ? { ...entry, ...snapshot } : entry;
38
+ }
39
+ function withoutRouting(modelId) {
40
+ const trimmed = modelId.trim().toLowerCase();
41
+ return trimmed.slice(trimmed.lastIndexOf('/') + 1).split(':')[0];
29
42
  }
30
43
  /**
31
44
  * 把目录条目盖到一份基础能力上。
@@ -13,3 +13,5 @@ import type { LlmModelCatalogEntry } from './modelCatalog.js';
13
13
  * 否则用户会得到"勾了但发过去没反应"的静默失效。
14
14
  */
15
15
  export declare const LLM_MODEL_CATALOG_ENTRIES: readonly LlmModelCatalogEntry[];
16
+ /** 原厂旧名已转到新 Flash;网关同名仍保留上方的独立旧契约。 */
17
+ export declare const DEEPSEEK_OFFICIAL_FLASH_ALIASES: readonly LlmModelCatalogEntry[];
@@ -12,9 +12,27 @@
12
12
  * 否则用户会得到"勾了但发过去没反应"的静默失效。
13
13
  */
14
14
  export const LLM_MODEL_CATALOG_ENTRIES = [
15
+ {
16
+ id: 'deepseek-v4.1-flash',
17
+ displayName: 'DeepSeek V4.1 Flash',
18
+ vendor: 'DeepSeek',
19
+ // 方舟写作 deepseek-v4-1-flash-<快照>(含经济版),百炼另有四位快照 -1017。
20
+ aliases: ['deepseek-v4-1-flash', 'deepseek-v4-1-flash-economy', 'deepseek-v4.1-flash-1017'],
21
+ input: { image: true, video: false, audio: false },
22
+ toolCall: true,
23
+ parallelTools: false,
24
+ structuredOutputMode: 'json',
25
+ reasoning: true,
26
+ sampling: true,
27
+ contextWindow: 1_000_000,
28
+ maxOutputTokens: 384_000,
29
+ apiProtocols: ['openai-responses', 'openai-compatible'],
30
+ note: '能力按 DeepSeek 官方 V4.1 Flash(与原厂 deepseek-flash 一致):图片理解、函数工具、JSON、思考,上下文 1,000,000、最大输出 384,000。派欧云与方舟走 Chat;百炼官方列入 Responses 支持清单。各平台价格见对应供应商资料。',
31
+ docs: 'docs/model-adaptation/供应商/派欧云.md',
32
+ },
15
33
  // 硅基流动模型页与 Chat VLM 契约;未确认的视频字段和输出上限不猜测。
16
34
  ...[
17
- { id: 'kimi-k2.7-code', displayName: 'Kimi K2.7 Code', vendor: 'Moonshot' },
35
+ { id: 'kimi-k2.7-code', displayName: 'Kimi K2.7 Code', vendor: 'Moonshot', deprecated: 'Kimi 于 2026 年底下线全部 K2 系列,10-31 起不再对新用户开放;请改用 K3 / K3.1 Pro' },
18
36
  { id: 'qwen3.8-27b', displayName: 'Qwen3.8-27B', vendor: 'Qwen' },
19
37
  ].map(model => ({
20
38
  ...model,
@@ -45,6 +63,22 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
45
63
  note: 'Groq Production 模型;reasoning_effort 仅支持 low / medium / high,且不支持 reasoning_format。',
46
64
  docs: 'docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md',
47
65
  },
66
+ {
67
+ id: 'gpt-oss-120b',
68
+ displayName: 'GPT-OSS 120B',
69
+ vendor: 'OpenAI',
70
+ input: { image: false, video: false, audio: false },
71
+ toolCall: true,
72
+ parallelTools: false,
73
+ structuredOutputMode: 'json',
74
+ structuredOutputWithReasoning: true,
75
+ reasoning: true,
76
+ sampling: true,
77
+ contextWindow: 131_072,
78
+ maxOutputTokens: 65_536,
79
+ note: 'Groq Production 模型,参数约定与 20B 相同;reasoning_effort 仅支持 low / medium / high,且不支持 reasoning_format。',
80
+ docs: 'docs/model-adaptation/供应商/Groq.md',
81
+ },
48
82
  // ---------------- DeepSeek ----------------
49
83
  {
50
84
  id: 'deepseek-flash',
@@ -66,6 +100,7 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
66
100
  id: 'deepseek-v4-flash',
67
101
  displayName: 'DeepSeek V4 Flash',
68
102
  vendor: 'DeepSeek',
103
+ aliases: ['deepseek-v4-flash-ga', 'deepseek-v4-flash-0731'],
69
104
  input: { image: false, video: false, audio: false },
70
105
  toolCall: true,
71
106
  parallelTools: false,
@@ -82,6 +117,7 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
82
117
  id: 'deepseek-v4-pro',
83
118
  displayName: 'DeepSeek V4 Pro',
84
119
  vendor: 'DeepSeek',
120
+ aliases: ['deepseek-v4-pro-ga', 'deepseek-v4-pro-0813'],
85
121
  input: { image: false, video: false, audio: false },
86
122
  toolCall: true,
87
123
  parallelTools: false,
@@ -93,22 +129,6 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
93
129
  apiProtocols: ['openai-responses', 'openai-compatible'],
94
130
  docs: 'docs/llm-adaptation/供应商/DeepSeek.md',
95
131
  },
96
- {
97
- id: 'deepseek-v4-flash-vision-exp',
98
- displayName: 'DeepSeek V4 Flash Vision (实验)',
99
- vendor: 'DeepSeek',
100
- input: { image: true, video: false, audio: false },
101
- toolCall: true,
102
- parallelTools: false,
103
- structuredOutputMode: 'json',
104
- reasoning: true,
105
- sampling: true,
106
- contextWindow: 1_000_000,
107
- maxOutputTokens: 384_000,
108
- apiProtocols: ['openai-responses', 'openai-compatible'],
109
- note: '图片输入只在 Responses API 下可用;SDK 会在直连 DeepSeek 时自动选择 Responses。',
110
- docs: 'docs/llm-adaptation/供应商/DeepSeek.md',
111
- },
112
132
  // ---------------- Kimi(Moonshot) ----------------
113
133
  {
114
134
  id: 'kimi-k3',
@@ -128,6 +148,40 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
128
148
  note: '思考模式始终开启无法关闭;图片必须用 base64 data URL,不接受公网直链;视频要先经 Files API 上传再用 ms://<file-id> 引用。',
129
149
  docs: 'docs/llm-adaptation/供应商/Kimi.md',
130
150
  },
151
+ {
152
+ id: 'kimi-k3.1-pro',
153
+ displayName: 'Kimi K3.1 Pro',
154
+ vendor: 'Moonshot',
155
+ aliases: ['kimi-k3-1-pro'],
156
+ // 方舟把它列在视觉理解能力里,但没写明是否收视频,视频保守不开。
157
+ input: { image: true, video: false, audio: false },
158
+ toolCall: true,
159
+ parallelTools: false,
160
+ structuredOutputMode: 'json',
161
+ reasoning: true,
162
+ // 原厂文档写明 K3 系列采样参数固定、必须省略。
163
+ sampling: false,
164
+ contextWindow: 1_048_576,
165
+ maxOutputTokens: null,
166
+ note: '经方舟与百炼托管调用:思考默认开启,可关闭;百炼标注结构化输出为 JSON Mode,内置工具只在 Responses 下可用(项目走 Chat)。原厂直连的能力见 Kimi 供应商预设。',
167
+ docs: 'docs/llm-adaptation/供应商/火山引擎.md',
168
+ },
169
+ {
170
+ id: 'kimi-k3.1-pro-highspeed',
171
+ displayName: 'Kimi K3.1 Pro Highspeed',
172
+ vendor: 'Moonshot',
173
+ input: { image: true, video: false, audio: false },
174
+ toolCall: true,
175
+ parallelTools: false,
176
+ structuredOutputMode: 'schema',
177
+ structuredOutputWithReasoning: true,
178
+ reasoning: true,
179
+ sampling: false,
180
+ contextWindow: 1_048_576,
181
+ maxOutputTokens: 131_072,
182
+ note: 'K3.1 Pro 的高速版,速度约 2~3 倍,只在 Kimi 原厂提供;思考无法关闭。',
183
+ docs: 'docs/llm-adaptation/供应商/Kimi.md',
184
+ },
131
185
  {
132
186
  id: 'kimi-k2.6',
133
187
  displayName: 'Kimi K2.6',
@@ -141,6 +195,7 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
141
195
  contextWindow: null,
142
196
  maxOutputTokens: null,
143
197
  note: '沿用项目既有内置配置的模态标注,未逐项核对官方文档;上下文与输出上限留空由动态验证或用户补齐。',
198
+ deprecated: 'Kimi 于 2026 年底下线全部 K2 系列,10-31 起不再对新用户开放;请改用 K3 / K3.1 Pro',
144
199
  docs: 'docs/llm-adaptation/供应商/Kimi.md',
145
200
  },
146
201
  // ---------------- 智谱 GLM ----------------
@@ -149,6 +204,8 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
149
204
  { id: 'glm-5.3-flashx', displayName: 'GLM-5.3-FlashX' },
150
205
  ].map(model => ({
151
206
  ...model,
207
+ // 方舟托管写作 glm-5-3-flash-<快照>。
208
+ ...(model.id === 'glm-5.3-flash' ? { aliases: ['glm-5-3-flash'] } : {}),
152
209
  vendor: '智谱',
153
210
  input: { image: true, video: true, audio: false, file: true },
154
211
  toolCall: true,
@@ -179,6 +236,24 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
179
236
  note: '始终开启思考且无法关闭;官方明确只支持文本模态,需要看图看视频请改用 GLM-5V-Turbo。',
180
237
  docs: 'docs/llm-adaptation/供应商/智谱GLM.md',
181
238
  },
239
+ {
240
+ id: 'glm-5.2',
241
+ displayName: 'GLM-5.2',
242
+ vendor: '智谱',
243
+ aliases: ['glm-5-2'],
244
+ input: { image: false, video: false, audio: false },
245
+ toolCall: true,
246
+ parallelTools: false,
247
+ // 方舟与百炼都没有给 GLM-5.2 标结构化输出,保守不开。
248
+ structuredOutputMode: 'none',
249
+ reasoning: true,
250
+ sampling: true,
251
+ contextWindow: 1_048_576,
252
+ maxOutputTokens: 131_072,
253
+ apiProtocols: ['openai-responses', 'openai-compatible'],
254
+ note: '经方舟与百炼托管调用;纯文本。百炼列入 Responses 支持清单。',
255
+ docs: 'docs/llm-adaptation/供应商/火山引擎.md',
256
+ },
182
257
  {
183
258
  id: 'glm-5v-turbo',
184
259
  displayName: 'GLM-5V-Turbo',
@@ -221,8 +296,9 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
221
296
  structuredOutputMode: 'json',
222
297
  reasoning: true,
223
298
  sampling: true,
224
- contextWindow: 262_144,
299
+ contextWindow: 1_048_576,
225
300
  maxOutputTokens: 262_144,
301
+ snapshots: { 'doubao-seed-2-1-pro-260628': { contextWindow: 262_144 } },
226
302
  apiProtocols: ['openai-responses', 'openai-compatible'],
227
303
  docs: 'docs/llm-adaptation/供应商/火山引擎.md',
228
304
  },
@@ -241,6 +317,58 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
241
317
  apiProtocols: ['openai-responses', 'openai-compatible'],
242
318
  docs: 'docs/llm-adaptation/供应商/火山引擎.md',
243
319
  },
320
+ {
321
+ id: 'doubao-seed-2-1-lite',
322
+ displayName: 'Doubao-Seed-2.1-Lite',
323
+ vendor: '火山引擎',
324
+ // 官方另支持音频理解,但项目还没核对方舟的音频内容块写法,先不开。
325
+ input: { image: true, video: true, audio: false },
326
+ toolCall: true,
327
+ parallelTools: false,
328
+ structuredOutputMode: 'json',
329
+ reasoning: true,
330
+ sampling: true,
331
+ contextWindow: 1_048_576,
332
+ maxOutputTokens: 262_144,
333
+ apiProtocols: ['openai-responses', 'openai-compatible'],
334
+ docs: 'docs/llm-adaptation/供应商/火山引擎.md',
335
+ },
336
+ ...[
337
+ { id: 'doubao-seed-2-0-lite', displayName: 'Doubao-Seed-2.0-Lite' },
338
+ { id: 'doubao-seed-2-0-mini', displayName: 'Doubao-Seed-2.0-Mini' },
339
+ ].map(model => ({
340
+ ...model,
341
+ vendor: '火山引擎',
342
+ input: { image: true, video: true, audio: false },
343
+ toolCall: true,
344
+ parallelTools: false,
345
+ structuredOutputMode: 'json',
346
+ reasoning: true,
347
+ sampling: true,
348
+ // 上下文 256K,单次最大输入 224K。
349
+ contextWindow: 262_144,
350
+ maxOutputTokens: 131_072,
351
+ apiProtocols: ['openai-responses', 'openai-compatible'],
352
+ note: '长期支持版(LTS)快照 260428;260215 快照即将下线。官方另支持音频理解,项目暂未开放。',
353
+ docs: 'docs/llm-adaptation/供应商/火山引擎.md',
354
+ })),
355
+ {
356
+ id: 'doubao-seed-character',
357
+ displayName: 'Doubao-Seed-Character',
358
+ vendor: '火山引擎',
359
+ input: { image: true, video: true, audio: false },
360
+ toolCall: true,
361
+ parallelTools: false,
362
+ structuredOutputMode: 'json',
363
+ reasoning: true,
364
+ sampling: true,
365
+ contextWindow: 131_072,
366
+ maxOutputTokens: 32_768,
367
+ apiProtocols: ['openai-responses', 'openai-compatible'],
368
+ note: '角色扮演模型;能力按 260628 快照,旧快照 251128 不支持思考与多模态。',
369
+ snapshots: { 'doubao-seed-character-251128': { input: { image: false, video: false, audio: false }, reasoning: false, structuredOutputMode: 'none' } },
370
+ docs: 'docs/llm-adaptation/供应商/火山引擎.md',
371
+ },
244
372
  // ---------------- 小米 MiMo ----------------
245
373
  ...[
246
374
  { id: 'mimo-v2.6-pro', displayName: 'MiMo-V2.6-Pro' },
@@ -261,11 +389,13 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
261
389
  note: '支持 Chat Completions 与 Responses;思考只有开关,无强度分级。UltraSpeed 需要联系供应商开通。',
262
390
  docs: 'docs/llm-adaptation/供应商/小米MiMo.md',
263
391
  })),
392
+ // ---------------- 阿里云百炼 Qwen ----------------
264
393
  {
265
- id: 'mimo-v2.5-pro',
266
- displayName: 'MiMo-V2.5-Pro',
267
- vendor: '小米',
268
- input: { image: false, video: false, audio: false },
394
+ id: 'qwen3.8-max',
395
+ displayName: 'Qwen3.8-Max',
396
+ vendor: '阿里云百炼',
397
+ aliases: ['qwen3.8-max-prime', 'qwen3.8-max-0902'],
398
+ input: { image: true, video: true, audio: false },
269
399
  toolCall: true,
270
400
  parallelTools: false,
271
401
  structuredOutputMode: 'json',
@@ -273,14 +403,17 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
273
403
  sampling: true,
274
404
  contextWindow: 1_000_000,
275
405
  maxOutputTokens: 131_072,
276
- note: '多轮工具调用时官方建议把历史轮次的 reasoning_content 一并回传。',
277
- docs: 'docs/llm-adaptation/供应商/小米MiMo.md',
406
+ apiProtocols: ['openai-responses', 'openai-compatible'],
407
+ note: '必须走多模态接口:即使是纯文字对话,content 也要写成内容块数组,直接传字符串会报 url error。',
408
+ docs: 'docs/llm-adaptation/供应商/百炼Qwen.md',
278
409
  },
279
- {
280
- id: 'mimo-v2.5',
281
- displayName: 'MiMo-V2.5',
282
- vendor: '小米',
283
- input: { image: true, video: true, audio: true },
410
+ ...[
411
+ { id: 'qwen3.8-flash', displayName: 'Qwen3.8-Flash' },
412
+ { id: 'qwen3.7-plus', displayName: 'Qwen3.7-Plus' },
413
+ ].map(model => ({
414
+ ...model,
415
+ vendor: '阿里云百炼',
416
+ input: { image: true, video: true, audio: false },
284
417
  toolCall: true,
285
418
  parallelTools: false,
286
419
  structuredOutputMode: 'json',
@@ -288,29 +421,42 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
288
421
  sampling: true,
289
422
  contextWindow: 1_000_000,
290
423
  maxOutputTokens: 131_072,
291
- note: '官方标注全模态理解,图片 / 音频 / 视频均可作为输入。',
292
- docs: 'docs/llm-adaptation/供应商/小米MiMo.md',
293
- },
294
- // ---------------- 阿里云百炼 Qwen ----------------
424
+ apiProtocols: ['openai-responses', 'openai-compatible'],
425
+ docs: 'docs/llm-adaptation/供应商/百炼Qwen.md',
426
+ })),
295
427
  {
296
- id: 'qwen3.8-max',
297
- displayName: 'Qwen3.8-Max',
298
- vendor: '阿里云百炼',
299
- aliases: ['qwen3.8-max-prime'],
300
- input: { image: true, video: true, audio: false },
428
+ id: 'step-5-preview',
429
+ displayName: 'Step-5-Preview',
430
+ vendor: '阶跃星辰',
431
+ // 只在百炼三方直供核对过:未写明输入模态,按纯文本处理。
432
+ input: { image: false, video: false, audio: false },
301
433
  toolCall: true,
302
434
  parallelTools: false,
303
435
  structuredOutputMode: 'json',
304
436
  reasoning: true,
305
437
  sampling: true,
306
- // 官方文档只写"超长文档与长视频",没有给出可引用的上下文 token 数,留空走回退预算。
307
- contextWindow: null,
438
+ contextWindow: 1_000_000,
308
439
  maxOutputTokens: null,
309
- apiProtocols: ['openai-responses', 'openai-compatible'],
310
- note: '必须走多模态接口:即使是纯文字对话,content 也要写成内容块数组,直接传字符串会报 url error。',
311
440
  docs: 'docs/llm-adaptation/供应商/百炼Qwen.md',
312
441
  },
313
442
  // ---------------- MiniMax ----------------
443
+ {
444
+ id: 'minimax-m3.1-flash',
445
+ displayName: 'MiniMax-M3.1-Flash',
446
+ vendor: 'MiniMax',
447
+ // 百炼资料没写输入模态,按纯文本处理。
448
+ input: { image: false, video: false, audio: false },
449
+ toolCall: true,
450
+ parallelTools: false,
451
+ // 百炼标注不支持结构化输出、仅思考模式。
452
+ structuredOutputMode: 'none',
453
+ reasoning: true,
454
+ sampling: true,
455
+ contextWindow: 1_000_000,
456
+ maxOutputTokens: null,
457
+ note: '经百炼三方直供调用,只有思考模式;不支持结构化输出与内置工具。',
458
+ docs: 'docs/llm-adaptation/供应商/百炼Qwen.md',
459
+ },
314
460
  {
315
461
  id: 'minimax-m3',
316
462
  displayName: 'MiniMax-M3',
@@ -328,3 +474,12 @@ export const LLM_MODEL_CATALOG_ENTRIES = [
328
474
  docs: 'docs/llm-adaptation/供应商/MiniMax.md',
329
475
  },
330
476
  ];
477
+ /** 原厂旧名已转到新 Flash;网关同名仍保留上方的独立旧契约。 */
478
+ export const DEEPSEEK_OFFICIAL_FLASH_ALIASES = [
479
+ 'deepseek-v4-flash', 'deepseek-v4-flash-vision-exp',
480
+ ].map(id => ({
481
+ ...LLM_MODEL_CATALOG_ENTRIES.find(entry => entry.id === 'deepseek-flash'),
482
+ id,
483
+ displayName: 'DeepSeek V4.1 Flash(原厂旧别名)',
484
+ note: '原厂旧实体已下线,旧名称重定向到 deepseek-flash;支持图片及 Chat / Responses API。网关同名条目不使用此覆盖。',
485
+ }));
@@ -1,4 +1,5 @@
1
1
  import type { LlmApiProtocol } from './providerProtocol.js';
2
+ import { type TokenListPricing } from '../pricing/tokenPricing.js';
2
3
  import type { LlmCapabilities, LlmModelConfig, LlmProviderConfig, LlmReasoningEffort } from './types.js';
3
4
  /**
4
5
  * 内置供应商预设。
@@ -29,6 +30,8 @@ export interface LlmProviderPreset {
29
30
  modelCapabilities?: Readonly<Record<string, Partial<LlmCapabilities>>>;
30
31
  /** 这家供应商已确认可走 Responses 的具体模型;未列出的模型继续走 Chat Completions。 */
31
32
  responsesModelIds?: readonly string[];
33
+ /** 这家供应商对推荐模型公布的按量标准价,出处写在 docs 指向的资料里;没查到的模型不登记。 */
34
+ modelPricing?: Readonly<Record<string, TokenListPricing>>;
32
35
  websiteUrl: string;
33
36
  apiKeyUrl: string;
34
37
  /** 该预设的资料出处,仓库内相对路径 */