@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,282 +1,339 @@
1
- # 阿里云百炼 · 供应商基础文档
2
-
3
- | 项目 | 内容 |
4
- |---|---|
5
- | 最后更新 | 2026-08-28 |
6
- | 供应商类型 | 模型原厂/云平台(Alibaba Cloud Model Studio) |
7
- | 项目内 `providerId` | `bailian` |
8
- | 鉴权 | `Authorization: Bearer <DashScope API Key>` |
9
- | 本次资料范围 | 图片生成/编辑、在线 ASR(实时/短音频/文件)、Qwen-MT 文本翻译 |
10
- | 文档/价格可见性 | 公开,无需登录;API Key、空间和账单需登录 |
11
-
12
- ## 1. Base URL 和区域
13
-
14
- 百炼的 API Key、业务空间和 Base URL 有区域绑定,不能混用。
15
-
16
- | 区域 | 推荐 DashScope Base URL | 历史公共地址 |
17
- |---|---|---|
18
- | 华北2(北京) | `https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1` | `https://dashscope.aliyuncs.com/api/v1` |
19
- | 新加坡 | `https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1` | `https://dashscope-intl.aliyuncs.com/api/v1` |
20
- | 美国(弗吉尼亚) | `https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1` | 按当前官方地域文档 |
21
-
22
- `WorkspaceId` 需从百炼控制台的业务空间详情获取。官方目前仍保证历史地址可用,但推荐迁移到空间专属域名以获得更稳定的访问。
23
-
24
- 实时 WebSocket 同样受地域约束:
25
-
26
- ```text
27
- Fun-ASR-Realtime: wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/inference
28
- Qwen3-ASR-Realtime: wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/realtime?model=<model_id>
29
- ```
30
-
31
- 新加坡使用 `{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com`。API Key、Workspace、地域必须一致。
32
-
33
- ## 2. 生成端点
34
-
35
- ### 2.1 同步多模态生成(当前项目使用)
36
-
37
- ```text
38
- POST /api/v1/services/aigc/multimodal-generation/generation
39
- ```
40
-
41
- 该契约适用于当前 Qwen Image 3.0 等同步图片模型。主要结果路径:
42
-
43
- ```text
44
- output.choices[].message.content[].image
45
- ```
46
-
47
- 图片 URL 通常仅保留 **24 小时**,需及时转存。
48
-
49
- ### 2.2 异步生成(按模型支持)
50
-
51
- 百炼的异步接口并非所有模型共用同一个提交路由。以历史 Qwen Image 异步文生图为例:
52
-
53
- ```text
54
- POST /api/v1/services/aigc/text2image/image-synthesis
55
- X-DashScope-Async: enable
56
- ```
57
-
58
- 查询任务:
59
-
60
- ```text
61
- GET /api/v1/tasks/{task_id}
62
- ```
63
-
64
- 通用状态包括 `PENDING`、`RUNNING`、`SUCCEEDED`、`FAILED`、`CANCELED`、`UNKNOWN`。但每个模型是否支持异步、提交路由与结果结构必须查询单模型文档,不得仅因为供应商有 tasks API 就强行切换。
65
-
66
- ## 3. 上传本地文件
67
-
68
- 百炼提供免费临时存储,用于将本地图片、视频或音频转为 `oss://` 地址。
69
-
70
- ### 3.1 获取上传凭证
71
-
72
- ```text
73
- GET https://dashscope.aliyuncs.com/api/v1/uploads?action=getPolicy&model=<model-name>
74
- Authorization: Bearer <API Key>
75
- ```
76
-
77
- 返回 `data.upload_host`、`upload_dir`、`policy`、`signature`、`oss_access_key_id`、`x_oss_object_acl`、`x_oss_forbid_overwrite` 等字段。凭证通常只在 `expire_in_seconds` 内有效。
78
-
79
- ### 3.2 上传到 OSS
80
-
81
- `POST {data.upload_host}`,multipart 字段包含:
82
-
83
- - `OSSAccessKeyId`
84
- - `Signature`
85
- - `policy`
86
- - `x-oss-object-acl`
87
- - `x-oss-forbid-overwrite`
88
- - `key`
89
- - `success_action_status=200`
90
- - `file`(必须放在最后)
91
-
92
- 生成给模型使用的地址:`oss://<upload_dir>/<filename>`。
93
-
94
- ### 3.3 使用临时 URL
95
-
96
- - 调用模型时必须加 `X-DashScope-OssResourceResolve: enable`。
97
- - 文件有效期 **48 小时**。
98
- - 上传时必须指定后续调用的精确模型名,不同模型不能共享该文件。
99
- - 上传和生成使用的 API Key 必须属于同一阿里云主账号。
100
- - 单文件上传接口上限 1 GB,具体模型通常有更低的输入限制。
101
- - 临时存储不用于生产长期托管,高并发建议使用自有 OSS。
102
-
103
- ## 4. 在线 ASR 三类协议
104
-
105
- ### 4.1 Fun-ASR-Realtime WebSocket
106
-
107
- 1. 建立 WSS,握手头带 `Authorization: Bearer <API Key>`。
108
- 2. 发 `run-task`(客户端生成 UUID `task_id`)。
109
- 3. 等 `task-started` 后发单声道二进制音频,持续接收 `result-generated`。
110
- 4. 发 `finish-task`,等 `task-finished` 后才可复用连接或关闭。
111
- 5. `task-failed` 后服务端关闭连接,该连接不可复用;完成后 60 秒内无新任务会自动断开。
112
-
113
- `result-generated` 同时承载句子生命周期和文本。官方“句子开始结果”为 `sentence_begin=true`、`sentence_end=false`、`text=""`、`words=[]`,应忽略空文本并继续等待;`sentence_end=true` 才是必须带文本的最终结果。`task-finished.payload` 通常为空,只表示任务结束。实现必须保留此前累计的 final,并在任务全程没有有效 final 时明确报无有效转写。
114
-
115
- 音频格式 `pcm/wav/mp3/opus/speex/aac/amr`,采样率任意,时长无限制;输入必须单声道。
116
-
117
- ### 4.2 Qwen3-ASR-Flash-Realtime WebSocket
118
-
119
- 该系列不复用 `run-task` 协议,而是会话事件:`session.created` → `session.update` → 多个 `input_audio_buffer.append` →(Manual 模式发 `input_audio_buffer.commit`)→ `session.finish` → `session.finished`。
120
-
121
- - VAD 模式由服务端断句;Manual 模式由客户端 `commit`。
122
- - 最终文本为 `conversation.item.input_audio_transcription.completed`,中间文本为 `.text`,失败为 `.failed` / `error`。
123
- - 推完音频必须先发 `session.finish` 并等 `session.finished`,直接断开会丢弃未完成结果。每次会话后主动断开,不支持连接复用。
124
- - `pcm/opus`,8kHz/16kHz,单声道;单个 `append` 的 Base64 `audio` 最大 15 MiB,实时使用应分小块。
125
-
126
- ### 4.3 短音频同步 HTTP
127
-
128
- | 系列 | 端点 | 输入 | 上限 | 结果 |
129
- |---|---|---|---|---|
130
- | `fun-asr-flash-2026-06-15` | `POST /api/v1/services/aigc/multimodal-generation/generation` | `input.messages[].content[].input_audio.data` 为公网 URL 或 Data URI | 5 分钟 / 2 GB | `output.text` / `output.sentence` + `usage.duration` |
131
- | `qwen3-asr-flash*` | OpenAI 兼容 `POST /compatible-mode/v1/chat/completions`;或上述 DashScope 同步端点 | URL 或 Base64;OpenAI 兼容额外参数放 `asr_options` | 5 分钟 / 10 MB | OpenAI `choices[].message.content`;DashScope `output.choices[]` |
132
-
133
- `fun-asr-flash` 协议支持 `X-DashScope-SSE: enable`;音频不少于 1 分钟时才会多次返回中间结果。
134
-
135
- ### 4.4 文件异步 HTTP
136
-
137
- ```text
138
- POST /api/v1/services/audio/asr/transcription
139
- X-DashScope-Async: enable
140
- GET /api/v1/tasks/{task_id}
141
- ```
142
-
143
- - `fun-asr` 提交 `input.file_urls` (单次 1 个公网 URL);`qwen3-asr-flash-filetrans` 提交 `input.file_url`。
144
- - 两者上限均为 12 小时 / 2 GB;说话人分离场景建议不超过 2 小时。
145
- - 状态:`PENDING/RUNNING/SUCCEEDED/FAILED/UNKNOWN`。`fun-asr` 成功结果在 `output.results[].transcription_url`,需再下载 JSON;内含 `transcript/sentences/words/speaker_id`。
146
- - 异步任务支持查询最近 24 小时提交的任务;必须将转写结果及时落地,不得把签名 URL 当长期资源。
147
-
148
- ## 5. Qwen-MT 翻译
149
-
150
- Qwen-MT 可通过 OpenAI 兼容 `POST /compatible-mode/v1/chat/completions` 或 DashScope `POST /api/v1/services/aigc/text-generation/generation` 调用。请求只支持 User Message,译文在 `choices[0].message.content`。
151
-
152
- `translation_options` 必填:
153
-
154
- - `source_lang`:源语言英文全称,或 `auto`。
155
- - `target_lang`:目标语言英文全称。
156
- - `terms` / `tm_list` / `domains`:可选术语干预、翻译记忆、英文领域提示。
157
-
158
- `qwen-mt-flash` / `qwen-mt-lite` 流式返回是增量片段;`qwen-mt-plus` 为累积序列,消费时不能一律字符串追加。
159
-
160
- ## 6. 计价查询
161
-
162
- 百炼生成模型没有一个可以用 DashScope API Key 查询全部图片/视频当前单价的稳定公开 API。项目使用以下优先级:
163
-
164
- 1. 当前官方模型价格页。
165
- 2. 单模型 API 文档中的计费规则。
166
- 3. 调用返回的 `usage`,用于对账输出数量/像素/等效用量。
167
- 4. 最终账单与用量明细。
168
-
169
- 价格与可用模型都可能按区域不同,文档必须同时记录地域。
170
-
171
- 本次官方价格页(2026-08-28 读取,北京原价):
172
-
173
- | 模型族 | 输入单价 |
174
- |---|---|
175
- | Fun-ASR / Fun-ASR-Flash | 0.00022 元/秒 |
176
- | Fun-ASR-Realtime | 0.00033 元/秒 |
177
- | Qwen3-ASR-Flash / Filetrans | 0.00022 元/秒,输出不计费 |
178
- | Qwen3-ASR-Flash-Realtime | 0.00033 元/秒 |
179
- | Qwen-MT Plus | 输入 1.8 元/百万 Token,输出 5.4 元/百万 Token |
180
- | Qwen-MT Flash | 输入 0.7 元/百万 Token,输出 1.95 元/百万 Token |
181
- | Qwen-MT Lite | 输入 0.6 元/百万 Token,输出 1.6 元/百万 Token |
182
-
183
- ## 7. 错误边界
184
-
185
- - WebSocket 握手时 Key 缺失/无效返回 HTTP 401/403;任务层 Fun-ASR 为 `task-failed`,Qwen3-ASR 为 `error` / `conversation.item.input_audio_transcription.failed`。
186
- - HTTP 同步错误通常在顶层 `code/message/request_id`;异步还需读 `output.task_status/code/message` 与每个 `results[].subtask_status/code/message`。
187
- - 需显式分类:模型 ID 不存在/服务未开通(不重试)、Key/空间/地域错配(不重试)、空音频/格式或时长不合法(不重试)、媒体 URL 下载失败(替换输入或上传后重试)、限流/网络/服务端错误(受控退避)。
188
- - 用户取消要在错误归一前优先识别:WS 停止送音频并关连接,HTTP/SSE 中止 fetch,异步停止轮询;不得转成“网络失败”后自动重试。
189
-
190
- ## 8. 余额
191
-
192
- 余额/账单属于阿里云财务体系,通常需要云账号 AccessKey 和 OpenAPI 签名,不是 DashScope 生成 API Key 的同一契约。按当前优先级,Henji-AI 只保存 Key 并标记“未在线验证”,暂不接入云财务权限。
193
-
194
- ## 9. 项目当前实现
195
-
196
- | 能力 | 状态 | 说明 |
197
- |---|---|---|
198
- | 同步图片生成 | 已接入 | `providers/bailian.ts` |
199
- | 图片 URL 解析 | 已接入 | 兼容 `image` / `url` 嵌套字段 |
200
- | Base URL | 可用但未完整配置化 | 当前固定历史北京地址;未提供 WorkspaceId/区域设置 |
201
- | 本地文件 | 已支持当前模型 | 当前转 Data URI;接入不支持 Data URI 或大文件模型前,先实现上述 `oss://` 公共上传 |
202
- | 异步任务 | 未提前造分支 | 当前模型不使用;新异步模型接入时按它的官方路由实现 |
203
- | 余额查询 | 暂缓 | 避免引入云账号 AK/SK 高权限 |
204
- | Qwen-MT | **已接入 SDK,待真实请求** | 三模型通过 `capabilities/translation/bailian` 按需导入;已有官方示例 fixture 与精确测试,尚无真实付费请求证据 |
205
- | ASR | **短音频/文件已接入,实时待后续** | `capabilities/speech-recognition/bailian` 按需导入;实时 WebSocket 由后续独立任务实现,不与翻译模块互相导入 |
206
-
207
- ## 10. 原始链接索引
208
-
209
- | 信息 | 链接 | 登录 |
210
- |---|---|---|
211
- | 模型与地域总览 | https://help.aliyun.com/zh/model-studio/models | 否 |
212
- | Qwen Image API(同步/异步、地址、结果) | https://help.aliyun.com/zh/model-studio/qwen-image-api | 否 |
213
- | 上传文件获取临时 URL | https://help.aliyun.com/zh/model-studio/get-temporary-file-url | 否 |
214
- | ASR 模型与音频规格 | https://help.aliyun.com/zh/model-studio/asr-model/ | 否 |
215
- | 实时 ASR 用户指南 | https://help.aliyun.com/zh/model-studio/real-time-speech-recognition-user-guide | 否 |
216
- | Fun-ASR-Realtime WebSocket 协议 | https://help.aliyun.com/zh/model-studio/fun-asr-realtime-websocket-api | 否 |
217
- | Fun-ASR-Realtime 客户端/服务端事件 | https://help.aliyun.com/zh/model-studio/fun-asr-client-events ; https://help.aliyun.com/zh/model-studio/fun-asr-server-events | 否 |
218
- | Qwen-ASR-Realtime 交互/事件 | https://help.aliyun.com/zh/model-studio/qwen-asr-realtime-interaction-process ; https://help.aliyun.com/zh/model-studio/qwen-asr-realtime-client-events ; https://help.aliyun.com/zh/model-studio/qwen-asr-realtime-server-events | 否 |
219
- | 非实时 ASR 用户指南 | https://help.aliyun.com/zh/model-studio/non-realtime-speech-recognition-user-guide | 否 |
220
- | Fun-ASR 文件异步 API | https://help.aliyun.com/zh/model-studio/fun-asr-recorded-speech-recognition-http-api | 否 |
221
- | Fun-ASR-Flash 短音频 API | https://help.aliyun.com/zh/model-studio/non-real-time-speech-recognition-for-fun-asr-flash | 否 |
222
- | Qwen-ASR 短音频/文件 API | https://help.aliyun.com/zh/model-studio/qwen-asr-api-reference | 否 |
223
- | Qwen-MT API | https://help.aliyun.com/zh/model-studio/qwen-mt-api | 否 |
224
- | Qwen-MT 能力页 | https://help.aliyun.com/zh/model-studio/machine-translation | 否(本次访问触发验证码,未取正文) |
225
- | 官方模型价格 | https://help.aliyun.com/zh/model-studio/model-pricing | 否 |
226
- | 错误码/区域不匹配 | https://help.aliyun.com/zh/model-studio/developer-reference/error-code | 否 |
227
- | API Key | https://bailian.console.aliyun.com/?apiKey=1#/api-key | 是 |
228
- # 2026-09-11:文本检索能力
229
-
230
- 本次接入同步文本 Embedding / Rerank,复用 capability client 的超时、取消和凭据注入,不包含知识库托管、索引或多模态检索。
231
-
232
- - 官方正文(公开,无需登录):https://help.aliyun.com/en/model-studio/text-embedding-synchronous-api 、https://help.aliyun.com/en/model-studio/text-rerank-api 。价格:https://help.aliyun.com/zh/model-studio/model-pricing 。
233
- - 北京业务空间 API Host 由宿主提供,例如 `https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com`;不得使用占位空间发请求,不自动跨地域回退。Bearer API Key,JSON POST。
234
- - Embedding 走 `/compatible-mode/v1/embeddings`,发送 `model,input,encoding_format:float` 和可选 `dimensions`。返回 `data[].index/embedding`、`usage`。`qwen3.7-text-embedding`:20 条、128000 token/条,维度 256/512/768/1024/1536/2048/2560;flash:20 条、128000 token/条,256/512/768/1024;`text-embedding-v4`:10 条,维度 64/128/256/512/768/1024/1536/2048。v4 的概览页 33000 与同步 API 页 8192 token 冲突,不用字符数伪造 token 校验,交由服务端 tokenizer 裁定;不自动截断。普通/flash/v4 价格分别 0.5/0.125/0.5 元每百万输入 token。
235
- - `qwen3.7-text-rerank` 走 `/api/v1/services/rerank/text-rerank/text-rerank`,发送 `model,input:{query,documents},parameters:{top_n,instruct}`,读取 `output.results`。`qwen3-rerank` 走 `/compatible-api/v1/reranks`,参数展开到顶层,读取 `results`。两者北京价格均 0.5 元每百万输入 token,最多 500 文档;单条 token 限额按模型表 30000/4000,整个请求 120000(新版为建议值)。
236
- - 本次统一返回原始输入索引、分数与本地输入文本,避免依赖不同模型的 return_documents 支持差异;不跨请求比较分数。Embedding 只提供稠密浮点向量。
237
- - 同步终态:HTTP 成功且结果合法才完成;错误状态、顶层 code/error、非法 JSON、缺失结果、重复/越界索引、非数值向量/分数均拒绝。取消透传 AbortSignal,无 SDK 自动重试付费请求。官方示例及字段构造 fixture 标注来源,覆盖成功、失败、取消、超时和畸形响应。
238
-
239
- ## 2026-09-21 文件 ASR 上传边界
240
-
241
- 官方依据:[临时上传](https://help.aliyun.com/zh/model-studio/get-temporary-file-url)、[Qwen Base64](https://help.aliyun.com/zh/model-studio/qwen-asr-api-reference)、[Fun-ASR Flash HTTP](https://help.aliyun.com/zh/model-studio/fun-asr-flash-recorded-speech-recognition-http-api)、[模型规格](https://help.aliyun.com/zh/model-studio/asr-model/)。均公开无需登录;本次只核对传输及限制,未改变定价与响应协议。
242
-
243
- | 阶段 | 输入/约束 | 成功/下一步 | 失败/资源行为 |
244
- |---|---|---|---|
245
- | 同步本地预检 | describe 的 size/mime/filename;Qwen 原始≤7,500,000;Fun Flash≤2,000,000,000字节 | 拉取≤48KiB块,Base64余数跨块保留,精确Content-Length | 大小超限带actualBytes/maxBytes/已知时长;不读取正文 |
246
- | JSON传输 | SDK按需生成UTF-8片段;宿主fetchStream背压消费 | 保持原有SSE或JSON解析 | 取消/短文件/网络错误终止迭代,不自动重放 |
247
- | 申请上传策略 | GET uploads?action=getPolicy&model;Bearer | 验证HTTPS upload_host及官方表单字段 | 无效策略拒绝,尚未读取文件 |
248
- | 直传OSS | media-ref交transport.uploadFile;max_file_size_mb接受字段表string及官方示例number | 原生multipart,file最后;上限min(1GB,凭证MB),均按十进制保守换算 | 宿主保持scope与文件身份校验,超限结构化报错,不进入media通道 |
249
- | 提交/轮询/结果 | oss://及X-DashScope-OssResourceResolve;原有状态契约不变 | 完成转写输出 | 上传失败不提交识别;取消停止轮询,不宣称撤销远端任务 |
250
-
251
- 实际时长不是仅由文件大小决定;PCM需采样率/声道/位深及payload字节数,压缩格式需要元数据时长,缺失返回null。新契约不自动修复只抛中文字符串的旧RPC桥。官方凭证fixture:tests/fixtures/bailian/asr-upload-policy.json;其余响应复用原有官方ASR fixtures,未生成付费请求。
252
-
253
- ## 2026-09-24 Qwen-Audio 3.1 ASR
254
-
255
- 公开官方文档无需登录:[短音频 HTTP](https://help.aliyun.com/zh/model-studio/fun-asr-flash-recorded-speech-recognition-http-api)、[文件转写](https://help.aliyun.com/zh/model-studio/fun-asr-recorded-speech-recognition-http-api)、[实时客户端](https://help.aliyun.com/zh/model-studio/fun-asr-client-events)、[实时服务端](https://help.aliyun.com/zh/model-studio/fun-asr-server-events)。未执行付费请求。
256
-
257
- 新增 qwen-audio-3.1-asr-flash / -filetrans / -streaming,分别复用 Fun 短音频、异步文件和 duplex WebSocket 契约,不能套用旧 Qwen3 Chat / Realtime API。域名支持宿主注入工作空间 apiBaseUrl / funWebSocketUrl,不猜工作空间 ID。短音频远端文件上限 2 GB / 5 分钟;Base64 文档仍要求编码后 10 MB,内联原始限制 7.5 MB。文件转写≤2 GB / 12h,分离建议≤2h。
258
-
259
- | 协议事件 | 字段与状态规则 |
260
- |---|---|
261
- | 短音频 JSON / SSE result | output.text 累计文本;sentence 或分离时 sentences 数组;sentence_end:boolean,speaker_id:integer/null,begin_time/end_time 毫秒。短于一分钟可直接返回 JSON,不能强制只读 SSE |
262
- | 句末 | 合并去重句子,保留 speaker_id;usage.duration 秒,3.1 另有 input/output/total_tokens |
263
- | HTTP / SSE 错误 | code/message 非成功时抛错;畸形 JSON 或无文本拒绝 |
264
- | 文件提交/轮询 | input.file_urls:string[](单文件),parameters 必须传对象;PENDING→RUNNING→SUCCEEDED/FAILED;results[].subtask_status 单独核对,成功读取 transcription_url |
265
- | WS | run-task→task-started→result-generated→finish-task→task-finished;task-failed 终止;未知事件沿共享状态机处理 |
266
- | 取消/断连/超时 | 使用 AbortSignal / 共享 WebSocket 生命周期释放;不创建第二个计费任务 |
267
-
268
- 新增 keepDialect 和即时 vocabulary 参数;实时支持 vadModel。短音频说话人分离发送 speaker_diarization_enabled,文件转写发送 diarization_enabled。文件 channel_id 必须是整数数组,公共单声道选择 channelId 映射为 [channelId];旧 Qwen3 file_url 契约不改变。短音频 sample_rate 按官方字符串发送,用户上下文 type=input_text。speakerId 作为可选公共输出字段,旧调用兼容。短音频按 tokens 计费,文件与实时不能沿用其 token 单价;未新增不可靠费用计算器。
269
-
270
- 精确测试复用既有共享异步/实时失败、取消与释放测试,并补充 3.1 JSON/SSE、说话人分离、空 parameters 与新参数路由。样本区分字面与字段构造。
271
-
272
- ### 2026-09-24 实时空文本中间帧实测补充
273
-
274
- 以合成语音、合法 `SpeechRecognitionRealtimeStart` 在 SDK 0.6.0 直调 `qwen-audio-3.1-asr-flash-streaming`,复现句首事件之后继续返回 `text=""`、`sentence_end=false`、`end_time=null`、无 `sentence_begin` 的中间帧。官方事件页(https://help.aliyun.com/zh/model-studio/fun-asr-server-events,2026-09-24 核对)说明只有新句首个中间结果包含句首标记;空文本后续帧来自本次实测,并非官方字面示例。
275
-
276
- |事件|前置状态|字段与空值|状态/输出|错误与资源|
277
- |---|---|---|---|---|
278
- |空文本中间帧|任务已开始|text 是空字符串,sentence_end=false;sentence_begin 可省略,end_time 可为 null|保持会话,继续等待,不产生 partial/final|不关闭连接|
279
- |缺 text 或缺句子状态的无文本帧|任务已开始|缺字段/类型错误不能等同空字符串|invalid_response|失败并释放连接|
280
- |空 final 或全程无 final|任务已开始|sentence_end=true 但无文字,或 task-finished 前无 final|仍拒绝空结果|失败并释放连接|
281
-
282
- fixture `asr-realtime-fun.json.emptyIntermediate` 是实测脱敏结构。共享 Fun Duplex parser 的两个 Fun-ASR ID 与 Qwen-Audio 3.1 streaming 均沿同一规则;Qwen Realtime 独立解析器不受影响。
1
+ # 阿里云百炼 · 供应商基础文档
2
+
3
+ | 项目 | 内容 |
4
+ |---|---|
5
+ | 最后更新 | 2026-11-07 |
6
+ | 供应商类型 | 模型原厂/云平台(Alibaba Cloud Model Studio) |
7
+ | 项目内 `providerId` | `bailian` |
8
+ | 鉴权 | `Authorization: Bearer <DashScope API Key>` |
9
+ | 本次资料范围 | 图片生成/编辑、在线 ASR(实时/短音频/文件)、Qwen-MT 文本翻译 |
10
+ | 文档/价格可见性 | 公开,无需登录;API Key、空间和账单需登录 |
11
+
12
+ ## 1. Base URL 和区域
13
+
14
+ 百炼的 API Key、业务空间和 Base URL 有区域绑定,不能混用。
15
+
16
+ | 区域 | 推荐 DashScope Base URL | 历史公共地址 |
17
+ |---|---|---|
18
+ | 华北2(北京) | `https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1` | `https://dashscope.aliyuncs.com/api/v1` |
19
+ | 新加坡 | `https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1` | `https://dashscope-intl.aliyuncs.com/api/v1` |
20
+ | 美国(弗吉尼亚) | `https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1` | 按当前官方地域文档 |
21
+
22
+ `WorkspaceId` 需从百炼控制台的业务空间详情获取。官方目前仍保证历史地址可用,但推荐迁移到空间专属域名以获得更稳定的访问。
23
+
24
+ 实时 WebSocket 同样受地域约束:
25
+
26
+ ```text
27
+ Fun-ASR-Realtime: wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/inference
28
+ Qwen3-ASR-Realtime: wss://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api-ws/v1/realtime?model=<model_id>
29
+ ```
30
+
31
+ 新加坡使用 `{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com`。API Key、Workspace、地域必须一致。
32
+
33
+ ## 2. 生成端点
34
+
35
+ ### 2.1 同步多模态生成(当前项目使用)
36
+
37
+ ```text
38
+ POST /api/v1/services/aigc/multimodal-generation/generation
39
+ ```
40
+
41
+ 该契约适用于当前 Qwen Image 3.0 等同步图片模型。主要结果路径:
42
+
43
+ ```text
44
+ output.choices[].message.content[].image
45
+ ```
46
+
47
+ 图片 URL 通常仅保留 **24 小时**,需及时转存。
48
+
49
+ ### 2.2 异步生成(按模型支持)
50
+
51
+ 百炼的异步接口并非所有模型共用同一个提交路由。以历史 Qwen Image 异步文生图为例:
52
+
53
+ ```text
54
+ POST /api/v1/services/aigc/text2image/image-synthesis
55
+ X-DashScope-Async: enable
56
+ ```
57
+
58
+ 查询任务:
59
+
60
+ ```text
61
+ GET /api/v1/tasks/{task_id}
62
+ ```
63
+
64
+ 通用状态包括 `PENDING`、`RUNNING`、`SUCCEEDED`、`FAILED`、`CANCELED`、`UNKNOWN`。但每个模型是否支持异步、提交路由与结果结构必须查询单模型文档,不得仅因为供应商有 tasks API 就强行切换。
65
+
66
+ 已接入的异步路由(`providers/bailian.ts` 的 `ASYNC_ROUTES`,提交自动带 `X-DashScope-Async: enable`,其余路由仍同步):
67
+
68
+ | 路由 | 模型 | 结果 |
69
+ |---|---|---|
70
+ | `/api/v1/services/aigc/video-generation/video-synthesis` | 万相 3.0(`wan3.0-video` / `wan3.0-video-prime`) | `output.video_url`;失败读 `output.code/message`;`UNKNOWN` 计入连续查询失败 |
71
+
72
+ ## 3. 上传本地文件
73
+
74
+ 百炼提供免费临时存储,用于将本地图片、视频或音频转为 `oss://` 地址。
75
+
76
+ ### 3.1 获取上传凭证
77
+
78
+ ```text
79
+ GET https://dashscope.aliyuncs.com/api/v1/uploads?action=getPolicy&model=<model-name>
80
+ Authorization: Bearer <API Key>
81
+ ```
82
+
83
+ 返回 `data.upload_host`、`upload_dir`、`policy`、`signature`、`oss_access_key_id`、`x_oss_object_acl`、`x_oss_forbid_overwrite` 等字段。凭证通常只在 `expire_in_seconds` 内有效。
84
+
85
+ ### 3.2 上传到 OSS
86
+
87
+ `POST {data.upload_host}`,multipart 字段包含:
88
+
89
+ - `OSSAccessKeyId`
90
+ - `Signature`
91
+ - `policy`
92
+ - `x-oss-object-acl`
93
+ - `x-oss-forbid-overwrite`
94
+ - `key`
95
+ - `success_action_status=200`
96
+ - `file`(必须放在最后)
97
+
98
+ 生成给模型使用的地址:`oss://<upload_dir>/<filename>`。
99
+
100
+ ### 3.3 使用临时 URL
101
+
102
+ - 调用模型时必须加 `X-DashScope-OssResourceResolve: enable`。
103
+ - 文件有效期 **48 小时**。
104
+ - 上传时必须指定后续调用的精确模型名,不同模型不能共享该文件。
105
+ - 上传和生成使用的 API Key 必须属于同一阿里云主账号。
106
+ - 单文件上传接口上限 1 GB,具体模型通常有更低的输入限制。
107
+ - 临时存储不用于生产长期托管,高并发建议使用自有 OSS。
108
+
109
+ ## 4. 在线 ASR 三类协议
110
+
111
+ ### 4.1 Fun-ASR-Realtime WebSocket
112
+
113
+ 1. 建立 WSS,握手头带 `Authorization: Bearer <API Key>`。
114
+ 2. 发 `run-task`(客户端生成 UUID `task_id`)。
115
+ 3. 等 `task-started` 后发单声道二进制音频,持续接收 `result-generated`。
116
+ 4. 发 `finish-task`,等 `task-finished` 后才可复用连接或关闭。
117
+ 5. `task-failed` 后服务端关闭连接,该连接不可复用;完成后 60 秒内无新任务会自动断开。
118
+
119
+ `result-generated` 同时承载句子生命周期和文本。官方“句子开始结果”为 `sentence_begin=true`、`sentence_end=false`、`text=""`、`words=[]`,应忽略空文本并继续等待;`sentence_end=true` 才是必须带文本的最终结果。`task-finished.payload` 通常为空,只表示任务结束。实现必须保留此前累计的 final,并在任务全程没有有效 final 时明确报无有效转写。
120
+
121
+ 音频格式 `pcm/wav/mp3/opus/speex/aac/amr`,采样率任意,时长无限制;输入必须单声道。
122
+
123
+ ### 4.2 Qwen3-ASR-Flash-Realtime WebSocket
124
+
125
+ 该系列不复用 `run-task` 协议,而是会话事件:`session.created` → `session.update` → 多个 `input_audio_buffer.append` →(Manual 模式发 `input_audio_buffer.commit`)→ `session.finish` → `session.finished`。
126
+
127
+ - VAD 模式由服务端断句;Manual 模式由客户端 `commit`。
128
+ - 最终文本为 `conversation.item.input_audio_transcription.completed`,中间文本为 `.text`,失败为 `.failed` / `error`。
129
+ - 推完音频必须先发 `session.finish` 并等 `session.finished`,直接断开会丢弃未完成结果。每次会话后主动断开,不支持连接复用。
130
+ - `pcm/opus`,8kHz/16kHz,单声道;单个 `append` 的 Base64 `audio` 最大 15 MiB,实时使用应分小块。
131
+
132
+ ### 4.3 短音频同步 HTTP
133
+
134
+ | 系列 | 端点 | 输入 | 上限 | 结果 |
135
+ |---|---|---|---|---|
136
+ | `fun-asr-flash-2026-06-15` | `POST /api/v1/services/aigc/multimodal-generation/generation` | `input.messages[].content[].input_audio.data` 为公网 URL 或 Data URI | 5 分钟 / 2 GB | `output.text` / `output.sentence` + `usage.duration` |
137
+ | `qwen3-asr-flash*` | OpenAI 兼容 `POST /compatible-mode/v1/chat/completions`;或上述 DashScope 同步端点 | URL 或 Base64;OpenAI 兼容额外参数放 `asr_options` | 5 分钟 / 10 MB | OpenAI `choices[].message.content`;DashScope `output.choices[]` |
138
+
139
+ `fun-asr-flash` 协议支持 `X-DashScope-SSE: enable`;音频不少于 1 分钟时才会多次返回中间结果。
140
+
141
+ ### 4.4 文件异步 HTTP
142
+
143
+ ```text
144
+ POST /api/v1/services/audio/asr/transcription
145
+ X-DashScope-Async: enable
146
+ GET /api/v1/tasks/{task_id}
147
+ ```
148
+
149
+ - `fun-asr` 提交 `input.file_urls` (单次 1 个公网 URL);`qwen3-asr-flash-filetrans` 提交 `input.file_url`。
150
+ - 两者上限均为 12 小时 / 2 GB;说话人分离场景建议不超过 2 小时。
151
+ - 状态:`PENDING/RUNNING/SUCCEEDED/FAILED/UNKNOWN`。`fun-asr` 成功结果在 `output.results[].transcription_url`,需再下载 JSON;内含 `transcript/sentences/words/speaker_id`。
152
+ - 异步任务支持查询最近 24 小时提交的任务;必须将转写结果及时落地,不得把签名 URL 当长期资源。
153
+
154
+ ## 5. Qwen-MT 翻译
155
+
156
+ Qwen-MT 可通过 OpenAI 兼容 `POST /compatible-mode/v1/chat/completions` 或 DashScope `POST /api/v1/services/aigc/text-generation/generation` 调用。请求只支持 User Message,译文在 `choices[0].message.content`。
157
+
158
+ `translation_options` 必填:
159
+
160
+ - `source_lang`:源语言英文全称,或 `auto`。
161
+ - `target_lang`:目标语言英文全称。
162
+ - `terms` / `tm_list` / `domains`:可选术语干预、翻译记忆、英文领域提示。
163
+
164
+ `qwen-mt-flash` / `qwen-mt-lite` 流式返回是增量片段;`qwen-mt-plus` 为累积序列,消费时不能一律字符串追加。
165
+
166
+ ## 6. 计价查询
167
+
168
+ 百炼生成模型没有一个可以用 DashScope API Key 查询全部图片/视频当前单价的稳定公开 API。项目使用以下优先级:
169
+
170
+ 1. 当前官方模型价格页。
171
+ 2. 单模型 API 文档中的计费规则。
172
+ 3. 调用返回的 `usage`,用于对账输出数量/像素/等效用量。
173
+ 4. 最终账单与用量明细。
174
+
175
+ 价格与可用模型都可能按区域不同,文档必须同时记录地域。
176
+
177
+ 本次官方价格页(2026-08-28 读取,北京原价):
178
+
179
+ | 模型族 | 输入单价 |
180
+ |---|---|
181
+ | Fun-ASR / Fun-ASR-Flash | 0.00022 元/秒 |
182
+ | Fun-ASR-Realtime | 0.00033 元/秒 |
183
+ | Qwen3-ASR-Flash / Filetrans | 0.00022 元/秒,输出不计费 |
184
+ | Qwen3-ASR-Flash-Realtime | 0.00033 元/秒 |
185
+ | Qwen-MT Plus | 输入 1.8 元/百万 Token,输出 5.4 元/百万 Token |
186
+ | Qwen-MT Flash | 输入 0.7 元/百万 Token,输出 1.95 元/百万 Token |
187
+ | Qwen-MT Lite | 输入 0.6 元/百万 Token,输出 1.6 元/百万 Token |
188
+
189
+ ## 7. 错误边界
190
+
191
+ - WebSocket 握手时 Key 缺失/无效返回 HTTP 401/403;任务层 Fun-ASR 为 `task-failed`,Qwen3-ASR 为 `error` / `conversation.item.input_audio_transcription.failed`。
192
+ - HTTP 同步错误通常在顶层 `code/message/request_id`;异步还需读 `output.task_status/code/message` 与每个 `results[].subtask_status/code/message`。
193
+ - 需显式分类:模型 ID 不存在/服务未开通(不重试)、Key/空间/地域错配(不重试)、空音频/格式或时长不合法(不重试)、媒体 URL 下载失败(替换输入或上传后重试)、限流/网络/服务端错误(受控退避)。
194
+ - 用户取消要在错误归一前优先识别:WS 停止送音频并关连接,HTTP/SSE 中止 fetch,异步停止轮询;不得转成“网络失败”后自动重试。
195
+
196
+ ## 8. 余额
197
+
198
+ 余额/账单属于阿里云财务体系,通常需要云账号 AccessKey 和 OpenAPI 签名,不是 DashScope 生成 API Key 的同一契约。按当前优先级,Henji-AI 只保存 Key 并标记“未在线验证”,暂不接入云财务权限。
199
+
200
+ ## 9. 项目当前实现
201
+
202
+ | 能力 | 状态 | 说明 |
203
+ |---|---|---|
204
+ | 同步图片生成 | 已接入 | `providers/bailian.ts` |
205
+ | 图片 URL 解析 | 已接入 | 兼容 `image` / `url` 嵌套字段 |
206
+ | Base URL | 可用但未完整配置化 | 当前固定历史北京地址;未提供 WorkspaceId/区域设置 |
207
+ | 本地文件 | 已支持当前模型 | 图片转 Data URI;视频、音频经 `upload/bailian-oss-upload.ts` 按请求的 model 申请凭证上传成 `oss://`(与语音识别共用一份实现),请求体含 `oss://` 时提交自动带 `X-DashScope-OssResourceResolve: enable` |
208
+ | 异步任务 | 已接入万相 3.0(未真实付费验证) | 按路由白名单区分异步;参考视频、参考音频经临时存储上传 |
209
+ | 余额查询 | 暂缓 | 避免引入云账号 AK/SK 高权限 |
210
+ | Qwen-MT | **已接入 SDK,待真实请求** | 三模型通过 `capabilities/translation/bailian` 按需导入;已有官方示例 fixture 与精确测试,尚无真实付费请求证据 |
211
+ | ASR | **短音频/文件已接入,实时待后续** | `capabilities/speech-recognition/bailian` 按需导入;实时 WebSocket 由后续独立任务实现,不与翻译模块互相导入 |
212
+
213
+ ## 10. 原始链接索引
214
+
215
+ | 信息 | 链接 | 登录 |
216
+ |---|---|---|
217
+ | 模型与地域总览 | https://help.aliyun.com/zh/model-studio/models | 否 |
218
+ | Qwen Image API(同步/异步、地址、结果) | https://help.aliyun.com/zh/model-studio/qwen-image-api | 否 |
219
+ | 上传文件获取临时 URL | https://help.aliyun.com/zh/model-studio/get-temporary-file-url | 否 |
220
+ | ASR 模型与音频规格 | https://help.aliyun.com/zh/model-studio/asr-model/ | 否 |
221
+ | 实时 ASR 用户指南 | https://help.aliyun.com/zh/model-studio/real-time-speech-recognition-user-guide | 否 |
222
+ | Fun-ASR-Realtime WebSocket 协议 | https://help.aliyun.com/zh/model-studio/fun-asr-realtime-websocket-api | 否 |
223
+ | Fun-ASR-Realtime 客户端/服务端事件 | https://help.aliyun.com/zh/model-studio/fun-asr-client-events ; https://help.aliyun.com/zh/model-studio/fun-asr-server-events | 否 |
224
+ | Qwen-ASR-Realtime 交互/事件 | https://help.aliyun.com/zh/model-studio/qwen-asr-realtime-interaction-process ; https://help.aliyun.com/zh/model-studio/qwen-asr-realtime-client-events ; https://help.aliyun.com/zh/model-studio/qwen-asr-realtime-server-events | 否 |
225
+ | 非实时 ASR 用户指南 | https://help.aliyun.com/zh/model-studio/non-realtime-speech-recognition-user-guide | 否 |
226
+ | Fun-ASR 文件异步 API | https://help.aliyun.com/zh/model-studio/fun-asr-recorded-speech-recognition-http-api | 否 |
227
+ | Fun-ASR-Flash 短音频 API | https://help.aliyun.com/zh/model-studio/non-real-time-speech-recognition-for-fun-asr-flash | 否 |
228
+ | Qwen-ASR 短音频/文件 API | https://help.aliyun.com/zh/model-studio/qwen-asr-api-reference | 否 |
229
+ | Qwen-MT API | https://help.aliyun.com/zh/model-studio/qwen-mt-api | 否 |
230
+ | Qwen-MT 能力页 | https://help.aliyun.com/zh/model-studio/machine-translation | 否(本次访问触发验证码,未取正文) |
231
+ | 官方模型价格 | https://help.aliyun.com/zh/model-studio/model-pricing | 否 |
232
+ | 错误码/区域不匹配 | https://help.aliyun.com/zh/model-studio/developer-reference/error-code | 否 |
233
+ | API Key | https://bailian.console.aliyun.com/?apiKey=1#/api-key | 是 |
234
+ # 2026-09-11:文本检索能力
235
+
236
+ 本次接入同步文本 Embedding / Rerank,复用 capability client 的超时、取消和凭据注入,不包含知识库托管、索引或多模态检索。
237
+
238
+ - 官方正文(公开,无需登录):https://help.aliyun.com/en/model-studio/text-embedding-synchronous-api 、https://help.aliyun.com/en/model-studio/text-rerank-api 。价格:https://help.aliyun.com/zh/model-studio/model-pricing 。
239
+ - 北京业务空间 API Host 由宿主提供,例如 `https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com`;不得使用占位空间发请求,不自动跨地域回退。Bearer API Key,JSON POST。
240
+ - Embedding 走 `/compatible-mode/v1/embeddings`,发送 `model,input,encoding_format:float` 和可选 `dimensions`。返回 `data[].index/embedding`、`usage`。`qwen3.7-text-embedding`:20 条、128000 token/条,维度 256/512/768/1024/1536/2048/2560;flash:20 条、128000 token/条,256/512/768/1024;`text-embedding-v4`:10 条,维度 64/128/256/512/768/1024/1536/2048。v4 的概览页 33000 与同步 API 页 8192 token 冲突,不用字符数伪造 token 校验,交由服务端 tokenizer 裁定;不自动截断。普通/flash/v4 价格分别 0.5/0.125/0.5 元每百万输入 token。
241
+ - `qwen3.7-text-rerank` 走 `/api/v1/services/rerank/text-rerank/text-rerank`,发送 `model,input:{query,documents},parameters:{top_n,instruct}`,读取 `output.results`。`qwen3-rerank` 走 `/compatible-api/v1/reranks`,参数展开到顶层,读取 `results`。两者北京价格均 0.5 元每百万输入 token,最多 500 文档;单条 token 限额按模型表 30000/4000,整个请求 120000(新版为建议值)。
242
+ - 本次统一返回原始输入索引、分数与本地输入文本,避免依赖不同模型的 return_documents 支持差异;不跨请求比较分数。Embedding 只提供稠密浮点向量。
243
+ - 同步终态:HTTP 成功且结果合法才完成;错误状态、顶层 code/error、非法 JSON、缺失结果、重复/越界索引、非数值向量/分数均拒绝。取消透传 AbortSignal,无 SDK 自动重试付费请求。官方示例及字段构造 fixture 标注来源,覆盖成功、失败、取消、超时和畸形响应。
244
+
245
+ ## 2026-09-21 文件 ASR 上传边界
246
+
247
+ 官方依据:[临时上传](https://help.aliyun.com/zh/model-studio/get-temporary-file-url)、[Qwen Base64](https://help.aliyun.com/zh/model-studio/qwen-asr-api-reference)、[Fun-ASR Flash HTTP](https://help.aliyun.com/zh/model-studio/fun-asr-flash-recorded-speech-recognition-http-api)、[模型规格](https://help.aliyun.com/zh/model-studio/asr-model/)。均公开无需登录;本次只核对传输及限制,未改变定价与响应协议。
248
+
249
+ | 阶段 | 输入/约束 | 成功/下一步 | 失败/资源行为 |
250
+ |---|---|---|---|
251
+ | 同步本地预检 | describe 的 size/mime/filename;Qwen 原始≤7,500,000;Fun Flash≤2,000,000,000字节 | 拉取≤48KiB块,Base64余数跨块保留,精确Content-Length | 大小超限带actualBytes/maxBytes/已知时长;不读取正文 |
252
+ | JSON传输 | SDK按需生成UTF-8片段;宿主fetchStream背压消费 | 保持原有SSE或JSON解析 | 取消/短文件/网络错误终止迭代,不自动重放 |
253
+ | 申请上传策略 | GET uploads?action=getPolicy&model;Bearer | 验证HTTPS upload_host及官方表单字段 | 无效策略拒绝,尚未读取文件 |
254
+ | 直传OSS | media-ref交transport.uploadFile;max_file_size_mb接受字段表string及官方示例number | 原生multipart,file最后;上限min(1GB,凭证MB),均按十进制保守换算 | 宿主保持scope与文件身份校验,超限结构化报错,不进入media通道 |
255
+ | 提交/轮询/结果 | oss://及X-DashScope-OssResourceResolve;原有状态契约不变 | 完成转写输出 | 上传失败不提交识别;取消停止轮询,不宣称撤销远端任务 |
256
+
257
+ 实际时长不是仅由文件大小决定;PCM需采样率/声道/位深及payload字节数,压缩格式需要元数据时长,缺失返回null。新契约不自动修复只抛中文字符串的旧RPC桥。官方凭证fixture:tests/fixtures/bailian/asr-upload-policy.json;其余响应复用原有官方ASR fixtures,未生成付费请求。
258
+
259
+ ## 2026-11-07 Qwen-Audio 3.0 ASR与新模型盘点
260
+
261
+ 公开官方文档无需登录:[语音识别选型](https://help.aliyun.com/zh/model-studio/asr-model)、[Qwen-Audio-ASR HTTP API](https://help.aliyun.com/zh/model-studio/qwen-audio-asr-http-api)、[Qwen-Audio-ASR-Filetrans HTTP API](https://help.aliyun.com/zh/model-studio/qwen-audio-asr-filetrans-http-api)、[模型调用计费](https://help.aliyun.com/zh/model-studio/model-pricing)。未执行付费请求。
262
+
263
+ 新增 `qwen-audio-3.0-asr-flash` / `-filetrans` / `-streaming`。官方把 3.0 与 3.1 放在同一组接口文档里,请求结构、轮询与事件相同,差别是:
264
+
265
+ | 项目 | 3.1 | 3.0 |
266
+ |---|---|---|
267
+ | 计费 | 按输入、输出 Token(短音频与文件 0.8 / 2.7 元/百万 Token;实时 6 / 4.5) | 按输入音频秒数,输出不计费(短音频与文件 0.00022 元/秒;实时 0.00033 元/秒) |
268
+ | `keep_dialect`、`speaker_diarization_enabled`(短音频) | 支持 | 文档标注“仅适用于 qwen-audio-3.1-asr-flash”,不发送 |
269
+ | 文件转写 `keep_dialect` | 支持 | 文档标注“仅 qwen-audio-3.1-asr-flash-filetrans 支持”,不发送 |
270
+ | 即时热词 `vocabulary`、预编译热词 `vocabulary_id` | 支持 | 支持(两份接口文档都没有按版本限制) |
271
+ | 短音频返回 | JSON 或 SSE | 音频不少于 1 分钟时才以 SSE 返回;句末以 `output.sentence.sentence_end` 判断 |
272
+ | usage | 时长 + Token | 仅时长 |
273
+
274
+ SDK 用预设上的 `supports` 声明哪些参数可发,3.0 预设不带 3.1 专属参数。3.0 实时版是否支持 `vad_model` 等 3.1 新参数未见说明,同样不发送。
275
+
276
+ **未适配、等资料或协议工作的模型**:
277
+
278
+ - `qwen-audio-3.1-asr-flash-message`(6 / 4.5 元/百万 Token):面向输入法、语音消息的短段实时识别,使用独立的[客户端事件](https://help.aliyun.com/zh/model-studio/qwen-asr-message-client-events)协议,需先整理事件契约矩阵与官方 fixture 才能编码。
279
+ - `paraformer-v2`、`paraformer-realtime-v2`、`fun-asr-flash-8k-realtime` 等 8k 电话场景与旧一代模型:不进预设。
280
+
281
+ ## 2026-09-24 Qwen-Audio 3.1 ASR
282
+
283
+ 公开官方文档无需登录:[短音频 HTTP](https://help.aliyun.com/zh/model-studio/fun-asr-flash-recorded-speech-recognition-http-api)、[文件转写](https://help.aliyun.com/zh/model-studio/fun-asr-recorded-speech-recognition-http-api)、[实时客户端](https://help.aliyun.com/zh/model-studio/fun-asr-client-events)、[实时服务端](https://help.aliyun.com/zh/model-studio/fun-asr-server-events)。未执行付费请求。
284
+
285
+ 新增 qwen-audio-3.1-asr-flash / -filetrans / -streaming,分别复用 Fun 短音频、异步文件和 duplex WebSocket 契约,不能套用旧 Qwen3 Chat / Realtime API。域名支持宿主注入工作空间 apiBaseUrl / funWebSocketUrl,不猜工作空间 ID。短音频远端文件上限 2 GB / 5 分钟;Base64 文档仍要求编码后 10 MB,内联原始限制 7.5 MB。文件转写≤2 GB / 12h,分离建议≤2h。
286
+
287
+ | 协议事件 | 字段与状态规则 |
288
+ |---|---|
289
+ | 短音频 JSON / SSE result | output.text 累计文本;sentence 或分离时 sentences 数组;sentence_end:boolean,speaker_id:integer/null,begin_time/end_time 毫秒。短于一分钟可直接返回 JSON,不能强制只读 SSE |
290
+ | 句末 | 合并去重句子,保留 speaker_id;usage.duration 秒,3.1 另有 input/output/total_tokens |
291
+ | HTTP / SSE 错误 | code/message 非成功时抛错;畸形 JSON 或无文本拒绝 |
292
+ | 文件提交/轮询 | input.file_urls:string[](单文件),parameters 必须传对象;PENDING→RUNNING→SUCCEEDED/FAILED;results[].subtask_status 单独核对,成功读取 transcription_url |
293
+ | WS | run-task→task-started→result-generated→finish-task→task-finished;task-failed 终止;未知事件沿共享状态机处理 |
294
+ | 取消/断连/超时 | 使用 AbortSignal / 共享 WebSocket 生命周期释放;不创建第二个计费任务 |
295
+
296
+ 新增 keepDialect 和即时 vocabulary 参数;实时支持 vadModel。短音频说话人分离发送 speaker_diarization_enabled,文件转写发送 diarization_enabled。文件 channel_id 必须是整数数组,公共单声道选择 channelId 映射为 [channelId];旧 Qwen3 file_url 契约不改变。短音频 sample_rate 按官方字符串发送,用户上下文 type=input_text。speakerId 作为可选公共输出字段,旧调用兼容。短音频按 tokens 计费,文件与实时不能沿用其 token 单价;未新增不可靠费用计算器。
297
+
298
+ 精确测试复用既有共享异步/实时失败、取消与释放测试,并补充 3.1 JSON/SSE、说话人分离、空 parameters 与新参数路由。样本区分字面与字段构造。
299
+
300
+ ### 2026-09-24 实时空文本中间帧实测补充
301
+
302
+ 以合成语音、合法 `SpeechRecognitionRealtimeStart` 在 SDK 0.6.0 直调 `qwen-audio-3.1-asr-flash-streaming`,复现句首事件之后继续返回 `text=""`、`sentence_end=false`、`end_time=null`、无 `sentence_begin` 的中间帧。官方事件页(https://help.aliyun.com/zh/model-studio/fun-asr-server-events,2026-09-24 核对)说明只有新句首个中间结果包含句首标记;空文本后续帧来自本次实测,并非官方字面示例。
303
+
304
+ |事件|前置状态|字段与空值|状态/输出|错误与资源|
305
+ |---|---|---|---|---|
306
+ |空文本中间帧|任务已开始|text 是空字符串,sentence_end=false;sentence_begin 可省略,end_time 可为 null|保持会话,继续等待,不产生 partial/final|不关闭连接|
307
+ |缺 text 或缺句子状态的无文本帧|任务已开始|缺字段/类型错误不能等同空字符串|invalid_response|失败并释放连接|
308
+ |空 final 或全程无 final|任务已开始|sentence_end=true 但无文字,或 task-finished 前无 final|仍拒绝空结果|失败并释放连接|
309
+
310
+ fixture `asr-realtime-fun.json.emptyIntermediate` 是实测脱敏结构。共享 Fun Duplex parser 的两个 Fun-ASR ID 与 Qwen-Audio 3.1 streaming 均沿同一规则;Qwen Realtime 独立解析器不受影响。
311
+
312
+ ### 2026-09-28 文件转写恢复查询
313
+
314
+ `BailianAsrOptions.resumeTaskId` 仅用于异步文件转写:有任务 ID 时直接 GET `/tasks/{task_id}`,跳过媒体读取、上传及 POST 提交。任务状态仍沿用 PENDING/RUNNING → SUCCEEDED/FAILED 的既有状态机;超时、取消和鉴权失败不重提任务。短音频协议拒绝恢复输入。官方未保证任务及结果永久保存;过期须返回失败,由调用方决定是否重新付费识别。
315
+
316
+ 依据:<https://help.aliyun.com/zh/model-studio/fun-asr-recorded-speech-recognition-http-api>(2026-09-28 核对,公开)。复用 `asr-file-running/succeeded/failed/result.json` 官方脱敏 fixture;测试覆盖仅查询、不读媒体、不提交、失败终态、取消与非法恢复 ID。
317
+
318
+ ## 2026-11-08 语音识别价格补全
319
+
320
+ [模型调用计费](https://help.aliyun.com/zh/model-studio/model-pricing)“语音识别”部分,华北2(北京),无需登录;各模型信息页注明只展示原价、不含限时优惠。
321
+
322
+ | 模型 | 价格 | 说明 |
323
+ |---|---|---|
324
+ | `qwen-audio-3.1-asr-flash` / `-filetrans` | 输入 0.8、输出 2.7 元/百万 tokens | 按 token 计费,免费额度 100 万 tokens |
325
+ | `qwen-audio-3.1-asr-flash-streaming` | 输入 6、输出 4.5 元/百万 tokens | 同上 |
326
+ | `qwen-audio-3.0-asr-flash` / `-filetrans` | 0.00022 元/秒 | 按输入音频秒数,输出不收费,无免费额度 |
327
+ | `qwen-audio-3.0-asr-flash-streaming` | 0.00033 元/秒 | 同上 |
328
+ | `fun-asr-realtime`、`qwen3-asr-flash-realtime`(含快照) | 0.00033 元/秒 | 复核一致,免费额度 36,000 秒 |
329
+
330
+ **Qwen-Audio 3.1 的音频折算没有官方比例。** 计费页“千问Audio”(qwen-audio-turbo)与 [Qwen-ASR 接口](https://help.aliyun.com/zh/model-studio/qwen-asr-api-reference)(qwen3-asr-flash)写的是每秒 25 token,Qwen-Audio-Realtime 是每秒 12.5,都不是这个模型。它自己的[短音频接口](https://help.aliyun.com/zh/model-studio/qwen-audio-asr-http-api)与[流式事件](https://help.aliyun.com/zh/model-studio/qwen-audio-asr-streaming-server-events)只说按 token 计费、usage 返回 `input_tokens`,用量示例为 2 秒 85、9 秒 365 输入 token(message 版 2 秒 84),折合每秒约 40–42.5。示例数字明显高于下面的实测,不能直接当音频折算。
331
+
332
+ 2026-11-08 用开发版测试台实调 `qwen-audio-3.1-asr-flash`(系统合成的中文语音,未传上下文,SDK 从 usage 读出 token):
333
+
334
+ | 音频时长 | 计费时长 `duration` | `input_tokens` | 识别字数(含标点) | `output_tokens` |
335
+ |---|---|---|---|---|
336
+ | 4.85 秒 | 5 | 61 | 18 | 10 |
337
+ | 30.6 秒 | 31 | 383 | 125 | 62 |
338
+
339
+ 即输入每秒 12.5 token(按实际时长,无固定开销;与 Qwen-Audio-Realtime 公布的每秒 12.5 一致;传上下文文字会另计输入),输出约 0.5–0.56 token/字。`-filetrans` 的查询结果不返回 token 用量,按同一模型同价沿用该比例;流式无法用同一方式实调,按官方流式示例取偏多的每秒 42.5。宿主付费授权据此估算,输出按每秒 6 字、每字 0.5 token:短音频与文件转写约 0.065 元/小时,流式约 0.97 元/小时。