@henjicc/ai-sdk 0.2.8

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 (1006) hide show
  1. package/CHANGELOG.md +143 -0
  2. package/README.md +472 -0
  3. package/dist/capabilities/builtin-descriptors.d.ts +5 -0
  4. package/dist/capabilities/builtin-descriptors.js +32 -0
  5. package/dist/capabilities/client.d.ts +21 -0
  6. package/dist/capabilities/client.js +427 -0
  7. package/dist/capabilities/index.d.ts +5 -0
  8. package/dist/capabilities/index.js +5 -0
  9. package/dist/capabilities/media.d.ts +23 -0
  10. package/dist/capabilities/media.js +18 -0
  11. package/dist/capabilities/realtime.d.ts +2 -0
  12. package/dist/capabilities/realtime.js +1 -0
  13. package/dist/capabilities/speech-recognition/bailian/index.d.ts +3 -0
  14. package/dist/capabilities/speech-recognition/bailian/index.js +3 -0
  15. package/dist/capabilities/speech-recognition/bailian/module.d.ts +5 -0
  16. package/dist/capabilities/speech-recognition/bailian/module.js +232 -0
  17. package/dist/capabilities/speech-recognition/bailian/parse.d.ts +18 -0
  18. package/dist/capabilities/speech-recognition/bailian/parse.js +177 -0
  19. package/dist/capabilities/speech-recognition/bailian/presets.d.ts +17 -0
  20. package/dist/capabilities/speech-recognition/bailian/presets.js +53 -0
  21. package/dist/capabilities/speech-recognition/bailian/realtime/index.d.ts +3 -0
  22. package/dist/capabilities/speech-recognition/bailian/realtime/index.js +3 -0
  23. package/dist/capabilities/speech-recognition/bailian/realtime/module.d.ts +5 -0
  24. package/dist/capabilities/speech-recognition/bailian/realtime/module.js +303 -0
  25. package/dist/capabilities/speech-recognition/bailian/realtime/presets.d.ts +13 -0
  26. package/dist/capabilities/speech-recognition/bailian/realtime/presets.js +32 -0
  27. package/dist/capabilities/speech-recognition/bailian/realtime/protocol.d.ts +38 -0
  28. package/dist/capabilities/speech-recognition/bailian/realtime/protocol.js +192 -0
  29. package/dist/capabilities/speech-recognition/bailian/realtime/types.d.ts +19 -0
  30. package/dist/capabilities/speech-recognition/bailian/realtime/types.js +1 -0
  31. package/dist/capabilities/speech-recognition/bailian/types.d.ts +21 -0
  32. package/dist/capabilities/speech-recognition/bailian/types.js +1 -0
  33. package/dist/capabilities/speech-recognition/bailian/upload.d.ts +9 -0
  34. package/dist/capabilities/speech-recognition/bailian/upload.js +93 -0
  35. package/dist/capabilities/speech-recognition/groq/index.d.ts +4 -0
  36. package/dist/capabilities/speech-recognition/groq/index.js +4 -0
  37. package/dist/capabilities/speech-recognition/groq/module.d.ts +5 -0
  38. package/dist/capabilities/speech-recognition/groq/module.js +226 -0
  39. package/dist/capabilities/speech-recognition/groq/parse.d.ts +3 -0
  40. package/dist/capabilities/speech-recognition/groq/parse.js +109 -0
  41. package/dist/capabilities/speech-recognition/groq/presets.d.ts +9 -0
  42. package/dist/capabilities/speech-recognition/groq/presets.js +23 -0
  43. package/dist/capabilities/speech-recognition/groq/types.d.ts +14 -0
  44. package/dist/capabilities/speech-recognition/groq/types.js +1 -0
  45. package/dist/capabilities/speech-recognition/index.d.ts +72 -0
  46. package/dist/capabilities/speech-recognition/index.js +25 -0
  47. package/dist/capabilities/speech-recognition/siliconflow/index.d.ts +3 -0
  48. package/dist/capabilities/speech-recognition/siliconflow/index.js +3 -0
  49. package/dist/capabilities/speech-recognition/siliconflow/module.d.ts +5 -0
  50. package/dist/capabilities/speech-recognition/siliconflow/module.js +183 -0
  51. package/dist/capabilities/speech-recognition/siliconflow/presets.d.ts +9 -0
  52. package/dist/capabilities/speech-recognition/siliconflow/presets.js +23 -0
  53. package/dist/capabilities/speech-recognition/siliconflow/types.d.ts +6 -0
  54. package/dist/capabilities/speech-recognition/siliconflow/types.js +1 -0
  55. package/dist/capabilities/speech-recognition/volcengine/index.d.ts +3 -0
  56. package/dist/capabilities/speech-recognition/volcengine/index.js +3 -0
  57. package/dist/capabilities/speech-recognition/volcengine/module.d.ts +5 -0
  58. package/dist/capabilities/speech-recognition/volcengine/module.js +260 -0
  59. package/dist/capabilities/speech-recognition/volcengine/parse.d.ts +5 -0
  60. package/dist/capabilities/speech-recognition/volcengine/parse.js +73 -0
  61. package/dist/capabilities/speech-recognition/volcengine/presets.d.ts +8 -0
  62. package/dist/capabilities/speech-recognition/volcengine/presets.js +21 -0
  63. package/dist/capabilities/speech-recognition/volcengine/realtime/index.d.ts +3 -0
  64. package/dist/capabilities/speech-recognition/volcengine/realtime/index.js +3 -0
  65. package/dist/capabilities/speech-recognition/volcengine/realtime/module.d.ts +5 -0
  66. package/dist/capabilities/speech-recognition/volcengine/realtime/module.js +450 -0
  67. package/dist/capabilities/speech-recognition/volcengine/realtime/presets.d.ts +8 -0
  68. package/dist/capabilities/speech-recognition/volcengine/realtime/presets.js +23 -0
  69. package/dist/capabilities/speech-recognition/volcengine/realtime/protocol.d.ts +21 -0
  70. package/dist/capabilities/speech-recognition/volcengine/realtime/protocol.js +223 -0
  71. package/dist/capabilities/speech-recognition/volcengine/realtime/types.d.ts +13 -0
  72. package/dist/capabilities/speech-recognition/volcengine/realtime/types.js +1 -0
  73. package/dist/capabilities/speech-recognition/volcengine/request-id.d.ts +1 -0
  74. package/dist/capabilities/speech-recognition/volcengine/request-id.js +27 -0
  75. package/dist/capabilities/speech-recognition/volcengine/types.d.ts +15 -0
  76. package/dist/capabilities/speech-recognition/volcengine/types.js +1 -0
  77. package/dist/capabilities/translation/bailian/index.d.ts +4 -0
  78. package/dist/capabilities/translation/bailian/index.js +4 -0
  79. package/dist/capabilities/translation/bailian/languages.d.ts +6 -0
  80. package/dist/capabilities/translation/bailian/languages.js +47 -0
  81. package/dist/capabilities/translation/bailian/module.d.ts +6 -0
  82. package/dist/capabilities/translation/bailian/module.js +310 -0
  83. package/dist/capabilities/translation/bailian/sse.d.ts +19 -0
  84. package/dist/capabilities/translation/bailian/sse.js +145 -0
  85. package/dist/capabilities/translation/bailian/types.d.ts +28 -0
  86. package/dist/capabilities/translation/bailian/types.js +13 -0
  87. package/dist/capabilities/translation/index.d.ts +62 -0
  88. package/dist/capabilities/translation/index.js +18 -0
  89. package/dist/capabilities/types.d.ts +81 -0
  90. package/dist/capabilities/types.js +1 -0
  91. package/dist/capabilities/validation.d.ts +8 -0
  92. package/dist/capabilities/validation.js +74 -0
  93. package/dist/catalog/apimart/gemini-omni-flash.model.d.ts +3 -0
  94. package/dist/catalog/apimart/gemini-omni-flash.model.js +185 -0
  95. package/dist/catalog/apimart/gpt-image-2.model.d.ts +3 -0
  96. package/dist/catalog/apimart/gpt-image-2.model.js +174 -0
  97. package/dist/catalog/apimart/grok-imagine-2.0.model.d.ts +3 -0
  98. package/dist/catalog/apimart/grok-imagine-2.0.model.js +145 -0
  99. package/dist/catalog/apimart/kling-3.0-omni.model.d.ts +3 -0
  100. package/dist/catalog/apimart/kling-3.0-omni.model.js +120 -0
  101. package/dist/catalog/apimart/kling-3.0-turbo.model.d.ts +3 -0
  102. package/dist/catalog/apimart/kling-3.0-turbo.model.js +54 -0
  103. package/dist/catalog/apimart/kling-3.0.model.d.ts +3 -0
  104. package/dist/catalog/apimart/kling-3.0.model.js +65 -0
  105. package/dist/catalog/apimart/midjourney-video.model.d.ts +3 -0
  106. package/dist/catalog/apimart/midjourney-video.model.js +113 -0
  107. package/dist/catalog/apimart/midjourney.model.d.ts +3 -0
  108. package/dist/catalog/apimart/midjourney.model.js +307 -0
  109. package/dist/catalog/apimart/minimax-h3.model.d.ts +3 -0
  110. package/dist/catalog/apimart/minimax-h3.model.js +107 -0
  111. package/dist/catalog/apimart/nano-banana-2-lite.model.d.ts +3 -0
  112. package/dist/catalog/apimart/nano-banana-2-lite.model.js +78 -0
  113. package/dist/catalog/apimart/nano-banana-2.model.d.ts +3 -0
  114. package/dist/catalog/apimart/nano-banana-2.model.js +92 -0
  115. package/dist/catalog/apimart/nano-banana-pro.model.d.ts +3 -0
  116. package/dist/catalog/apimart/nano-banana-pro.model.js +78 -0
  117. package/dist/catalog/apimart/qwen-image-3.0.model.d.ts +3 -0
  118. package/dist/catalog/apimart/qwen-image-3.0.model.js +92 -0
  119. package/dist/catalog/apimart/seedance-2.0-fast.model.d.ts +2 -0
  120. package/dist/catalog/apimart/seedance-2.0-fast.model.js +108 -0
  121. package/dist/catalog/apimart/seedance-2.0-mini.model.d.ts +2 -0
  122. package/dist/catalog/apimart/seedance-2.0-mini.model.js +108 -0
  123. package/dist/catalog/apimart/seedance-2.0.model.d.ts +2 -0
  124. package/dist/catalog/apimart/seedance-2.0.model.js +114 -0
  125. package/dist/catalog/apimart/seedance-2.5.model.d.ts +2 -0
  126. package/dist/catalog/apimart/seedance-2.5.model.js +137 -0
  127. package/dist/catalog/apimart/seedream-5.0-lite.model.d.ts +2 -0
  128. package/dist/catalog/apimart/seedream-5.0-lite.model.js +78 -0
  129. package/dist/catalog/apimart/seedream-5.0-pro.model.d.ts +2 -0
  130. package/dist/catalog/apimart/seedream-5.0-pro.model.js +145 -0
  131. package/dist/catalog/apimart/z-image-turbo.model.d.ts +2 -0
  132. package/dist/catalog/apimart/z-image-turbo.model.js +50 -0
  133. package/dist/catalog/bailian/qwen-image-3.0.model.d.ts +3 -0
  134. package/dist/catalog/bailian/qwen-image-3.0.model.js +90 -0
  135. package/dist/catalog/bailian/z-image-turbo.model.d.ts +3 -0
  136. package/dist/catalog/bailian/z-image-turbo.model.js +56 -0
  137. package/dist/catalog/conditions/evaluate.d.ts +15 -0
  138. package/dist/catalog/conditions/evaluate.js +98 -0
  139. package/dist/catalog/conditions/index.d.ts +3 -0
  140. package/dist/catalog/conditions/index.js +3 -0
  141. package/dist/catalog/conditions/parser.d.ts +20 -0
  142. package/dist/catalog/conditions/parser.js +107 -0
  143. package/dist/catalog/conditions/tokens.d.ts +11 -0
  144. package/dist/catalog/conditions/tokens.js +88 -0
  145. package/dist/catalog/consumer-contract.d.ts +45 -0
  146. package/dist/catalog/consumer-contract.js +123 -0
  147. package/dist/catalog/defineModel.d.ts +17 -0
  148. package/dist/catalog/defineModel.js +25 -0
  149. package/dist/catalog/fal/bria-creative-upscale.model.d.ts +2 -0
  150. package/dist/catalog/fal/bria-creative-upscale.model.js +32 -0
  151. package/dist/catalog/fal/gemini-omni-flash.model.d.ts +2 -0
  152. package/dist/catalog/fal/gemini-omni-flash.model.js +76 -0
  153. package/dist/catalog/fal/gpt-image-2.model.d.ts +2 -0
  154. package/dist/catalog/fal/gpt-image-2.model.js +141 -0
  155. package/dist/catalog/fal/grok-imagine-2.0.model.d.ts +2 -0
  156. package/dist/catalog/fal/grok-imagine-2.0.model.js +86 -0
  157. package/dist/catalog/fal/hailuo-02.model.d.ts +2 -0
  158. package/dist/catalog/fal/hailuo-02.model.js +152 -0
  159. package/dist/catalog/fal/hailuo-2.3.model.d.ts +2 -0
  160. package/dist/catalog/fal/hailuo-2.3.model.js +109 -0
  161. package/dist/catalog/fal/ic-light-v2.model.d.ts +2 -0
  162. package/dist/catalog/fal/ic-light-v2.model.js +83 -0
  163. package/dist/catalog/fal/ideogram-upscale.model.d.ts +2 -0
  164. package/dist/catalog/fal/ideogram-upscale.model.js +50 -0
  165. package/dist/catalog/fal/imageSizing.d.ts +3 -0
  166. package/dist/catalog/fal/imageSizing.js +12 -0
  167. package/dist/catalog/fal/imageUpscale.d.ts +4 -0
  168. package/dist/catalog/fal/imageUpscale.js +23 -0
  169. package/dist/catalog/fal/kling-3.0-omni.model.d.ts +2 -0
  170. package/dist/catalog/fal/kling-3.0-omni.model.js +99 -0
  171. package/dist/catalog/fal/kling-3.0-turbo.model.d.ts +2 -0
  172. package/dist/catalog/fal/kling-3.0-turbo.model.js +67 -0
  173. package/dist/catalog/fal/kling-3.0.model.d.ts +2 -0
  174. package/dist/catalog/fal/kling-3.0.model.js +80 -0
  175. package/dist/catalog/fal/kling-image-o1.model.d.ts +2 -0
  176. package/dist/catalog/fal/kling-image-o1.model.js +93 -0
  177. package/dist/catalog/fal/kling-video-o1.model.d.ts +2 -0
  178. package/dist/catalog/fal/kling-video-o1.model.js +167 -0
  179. package/dist/catalog/fal/kling-video-v2.6-pro.model.d.ts +2 -0
  180. package/dist/catalog/fal/kling-video-v2.6-pro.model.js +231 -0
  181. package/dist/catalog/fal/ltx-2.model.d.ts +2 -0
  182. package/dist/catalog/fal/ltx-2.model.js +221 -0
  183. package/dist/catalog/fal/minimax-h3.model.d.ts +2 -0
  184. package/dist/catalog/fal/minimax-h3.model.js +154 -0
  185. package/dist/catalog/fal/nano-banana-2.model.d.ts +2 -0
  186. package/dist/catalog/fal/nano-banana-2.model.js +126 -0
  187. package/dist/catalog/fal/nano-banana-pro.model.d.ts +2 -0
  188. package/dist/catalog/fal/nano-banana-pro.model.js +82 -0
  189. package/dist/catalog/fal/nano-banana.model.d.ts +2 -0
  190. package/dist/catalog/fal/nano-banana.model.js +86 -0
  191. package/dist/catalog/fal/pixverse-v5.5.model.d.ts +2 -0
  192. package/dist/catalog/fal/pixverse-v5.5.model.js +176 -0
  193. package/dist/catalog/fal/qwen-image-3.0.model.d.ts +2 -0
  194. package/dist/catalog/fal/qwen-image-3.0.model.js +90 -0
  195. package/dist/catalog/fal/seedance-2.0-fast.model.d.ts +2 -0
  196. package/dist/catalog/fal/seedance-2.0-fast.model.js +130 -0
  197. package/dist/catalog/fal/seedance-2.0-mini.model.d.ts +2 -0
  198. package/dist/catalog/fal/seedance-2.0-mini.model.js +124 -0
  199. package/dist/catalog/fal/seedance-2.0.model.d.ts +2 -0
  200. package/dist/catalog/fal/seedance-2.0.model.js +133 -0
  201. package/dist/catalog/fal/seedance-2.5.model.d.ts +2 -0
  202. package/dist/catalog/fal/seedance-2.5.model.js +133 -0
  203. package/dist/catalog/fal/seedance.model.d.ts +2 -0
  204. package/dist/catalog/fal/seedance.model.js +173 -0
  205. package/dist/catalog/fal/seedream-5.0-lite.model.d.ts +2 -0
  206. package/dist/catalog/fal/seedream-5.0-lite.model.js +92 -0
  207. package/dist/catalog/fal/seedream-5.0-pro.model.d.ts +2 -0
  208. package/dist/catalog/fal/seedream-5.0-pro.model.js +89 -0
  209. package/dist/catalog/fal/seedream-v4.5.model.d.ts +2 -0
  210. package/dist/catalog/fal/seedream-v4.5.model.js +154 -0
  211. package/dist/catalog/fal/seedream-v4.model.d.ts +2 -0
  212. package/dist/catalog/fal/seedream-v4.model.js +152 -0
  213. package/dist/catalog/fal/seedvr2-image-upscale.model.d.ts +3 -0
  214. package/dist/catalog/fal/seedvr2-image-upscale.model.js +73 -0
  215. package/dist/catalog/fal/topaz-image-upscale.model.d.ts +7 -0
  216. package/dist/catalog/fal/topaz-image-upscale.model.js +200 -0
  217. package/dist/catalog/fal/topaz-transparent-upscale.model.d.ts +2 -0
  218. package/dist/catalog/fal/topaz-transparent-upscale.model.js +35 -0
  219. package/dist/catalog/fal/utils/index.d.ts +9 -0
  220. package/dist/catalog/fal/utils/index.js +19 -0
  221. package/dist/catalog/fal/veo-3.1.model.d.ts +2 -0
  222. package/dist/catalog/fal/veo-3.1.model.js +196 -0
  223. package/dist/catalog/fal/vidu-q2.model.d.ts +2 -0
  224. package/dist/catalog/fal/vidu-q2.model.js +214 -0
  225. package/dist/catalog/fal/wan-2.5-preview.model.d.ts +2 -0
  226. package/dist/catalog/fal/wan-2.5-preview.model.js +116 -0
  227. package/dist/catalog/fal/z-image-turbo.model.d.ts +2 -0
  228. package/dist/catalog/fal/z-image-turbo.model.js +125 -0
  229. package/dist/catalog/grsai/gpt-image-2.model.d.ts +3 -0
  230. package/dist/catalog/grsai/gpt-image-2.model.js +117 -0
  231. package/dist/catalog/grsai/nano-banana-2-lite.model.d.ts +12 -0
  232. package/dist/catalog/grsai/nano-banana-2-lite.model.js +75 -0
  233. package/dist/catalog/grsai/nano-banana-2.model.d.ts +3 -0
  234. package/dist/catalog/grsai/nano-banana-2.model.js +100 -0
  235. package/dist/catalog/grsai/nano-banana-pro.model.d.ts +3 -0
  236. package/dist/catalog/grsai/nano-banana-pro.model.js +106 -0
  237. package/dist/catalog/index.d.ts +13 -0
  238. package/dist/catalog/index.js +224 -0
  239. package/dist/catalog/kie/gemini-omni-video.model.d.ts +2 -0
  240. package/dist/catalog/kie/gemini-omni-video.model.js +197 -0
  241. package/dist/catalog/kie/gpt-image-2.model.d.ts +2 -0
  242. package/dist/catalog/kie/gpt-image-2.model.js +151 -0
  243. package/dist/catalog/kie/grok-imagine-2.0.model.d.ts +2 -0
  244. package/dist/catalog/kie/grok-imagine-2.0.model.js +70 -0
  245. package/dist/catalog/kie/grok-imagine-video.model.d.ts +2 -0
  246. package/dist/catalog/kie/grok-imagine-video.model.js +108 -0
  247. package/dist/catalog/kie/grok-imagine.model.d.ts +2 -0
  248. package/dist/catalog/kie/grok-imagine.model.js +105 -0
  249. package/dist/catalog/kie/hailuo-02.model.d.ts +2 -0
  250. package/dist/catalog/kie/hailuo-02.model.js +125 -0
  251. package/dist/catalog/kie/hailuo-2-3.model.d.ts +2 -0
  252. package/dist/catalog/kie/hailuo-2-3.model.js +124 -0
  253. package/dist/catalog/kie/kling-3.0-omni.model.d.ts +2 -0
  254. package/dist/catalog/kie/kling-3.0-omni.model.js +209 -0
  255. package/dist/catalog/kie/kling-3.0-turbo.model.d.ts +2 -0
  256. package/dist/catalog/kie/kling-3.0-turbo.model.js +90 -0
  257. package/dist/catalog/kie/kling-3.0.model.d.ts +2 -0
  258. package/dist/catalog/kie/kling-3.0.model.js +122 -0
  259. package/dist/catalog/kie/kling-v2-6.model.d.ts +2 -0
  260. package/dist/catalog/kie/kling-v2-6.model.js +203 -0
  261. package/dist/catalog/kie/mediaSources.d.ts +6 -0
  262. package/dist/catalog/kie/mediaSources.js +29 -0
  263. package/dist/catalog/kie/minimax-h3.model.d.ts +2 -0
  264. package/dist/catalog/kie/minimax-h3.model.js +153 -0
  265. package/dist/catalog/kie/nano-banana-2-lite.model.d.ts +2 -0
  266. package/dist/catalog/kie/nano-banana-2-lite.model.js +92 -0
  267. package/dist/catalog/kie/nano-banana-2.model.d.ts +2 -0
  268. package/dist/catalog/kie/nano-banana-2.model.js +120 -0
  269. package/dist/catalog/kie/nano-banana-pro.model.d.ts +2 -0
  270. package/dist/catalog/kie/nano-banana-pro.model.js +94 -0
  271. package/dist/catalog/kie/qwen-image-3.0.model.d.ts +2 -0
  272. package/dist/catalog/kie/qwen-image-3.0.model.js +122 -0
  273. package/dist/catalog/kie/seedance-1.5-pro.model.d.ts +2 -0
  274. package/dist/catalog/kie/seedance-1.5-pro.model.js +142 -0
  275. package/dist/catalog/kie/seedance-2.0-fast.model.d.ts +2 -0
  276. package/dist/catalog/kie/seedance-2.0-fast.model.js +196 -0
  277. package/dist/catalog/kie/seedance-2.0-mini.model.d.ts +2 -0
  278. package/dist/catalog/kie/seedance-2.0-mini.model.js +189 -0
  279. package/dist/catalog/kie/seedance-2.0.model.d.ts +2 -0
  280. package/dist/catalog/kie/seedance-2.0.model.js +200 -0
  281. package/dist/catalog/kie/seedance-2.5.model.d.ts +2 -0
  282. package/dist/catalog/kie/seedance-2.5.model.js +187 -0
  283. package/dist/catalog/kie/seedance-v1.model.d.ts +2 -0
  284. package/dist/catalog/kie/seedance-v1.model.js +229 -0
  285. package/dist/catalog/kie/seedream-4.0.model.d.ts +2 -0
  286. package/dist/catalog/kie/seedream-4.0.model.js +150 -0
  287. package/dist/catalog/kie/seedream-4.5.model.d.ts +2 -0
  288. package/dist/catalog/kie/seedream-4.5.model.js +116 -0
  289. package/dist/catalog/kie/seedream-5.0-lite.model.d.ts +2 -0
  290. package/dist/catalog/kie/seedream-5.0-lite.model.js +110 -0
  291. package/dist/catalog/kie/seedream-5.0-pro.model.d.ts +2 -0
  292. package/dist/catalog/kie/seedream-5.0-pro.model.js +179 -0
  293. package/dist/catalog/kie/z-image.model.d.ts +2 -0
  294. package/dist/catalog/kie/z-image.model.js +67 -0
  295. package/dist/catalog/model-index.d.ts +14 -0
  296. package/dist/catalog/model-index.js +32 -0
  297. package/dist/catalog/modelscope/customModelRegistry.d.ts +26 -0
  298. package/dist/catalog/modelscope/customModelRegistry.js +26 -0
  299. package/dist/catalog/modelscope/flux-1-krea-dev.model.d.ts +5 -0
  300. package/dist/catalog/modelscope/flux-1-krea-dev.model.js +84 -0
  301. package/dist/catalog/modelscope/majicmix-realistic.model.d.ts +5 -0
  302. package/dist/catalog/modelscope/majicmix-realistic.model.js +84 -0
  303. package/dist/catalog/modelscope/modelscope-custom.model.d.ts +5 -0
  304. package/dist/catalog/modelscope/modelscope-custom.model.js +111 -0
  305. package/dist/catalog/modelscope/qwen-image-edit-2509.model.d.ts +5 -0
  306. package/dist/catalog/modelscope/qwen-image-edit-2509.model.js +83 -0
  307. package/dist/catalog/modelscope/qwen-image.model.d.ts +5 -0
  308. package/dist/catalog/modelscope/qwen-image.model.js +84 -0
  309. package/dist/catalog/modelscope/sdxl-14-ckpt.model.d.ts +5 -0
  310. package/dist/catalog/modelscope/sdxl-14-ckpt.model.js +84 -0
  311. package/dist/catalog/modelscope/utils.d.ts +33 -0
  312. package/dist/catalog/modelscope/utils.js +174 -0
  313. package/dist/catalog/modelscope/z-image-turbo.model.d.ts +5 -0
  314. package/dist/catalog/modelscope/z-image-turbo.model.js +75 -0
  315. package/dist/catalog/ppio/kling-3.0.model.d.ts +2 -0
  316. package/dist/catalog/ppio/kling-3.0.model.js +288 -0
  317. package/dist/catalog/ppio/mediaSources.d.ts +6 -0
  318. package/dist/catalog/ppio/mediaSources.js +29 -0
  319. package/dist/catalog/ppio/minimax-hailuo-2.3.model.d.ts +7 -0
  320. package/dist/catalog/ppio/minimax-hailuo-2.3.model.js +114 -0
  321. package/dist/catalog/ppio/minimax-speech.model.d.ts +2 -0
  322. package/dist/catalog/ppio/minimax-speech.model.js +336 -0
  323. package/dist/catalog/ppio/wan-2.5-preview.model.d.ts +7 -0
  324. package/dist/catalog/ppio/wan-2.5-preview.model.js +198 -0
  325. package/dist/catalog/ppio/wan-2.6.model.d.ts +7 -0
  326. package/dist/catalog/ppio/wan-2.6.model.js +206 -0
  327. package/dist/catalog/ppio/wan-2.7.model.d.ts +2 -0
  328. package/dist/catalog/ppio/wan-2.7.model.js +373 -0
  329. package/dist/catalog/shared/mediaPresence.d.ts +24 -0
  330. package/dist/catalog/shared/mediaPresence.js +86 -0
  331. package/dist/catalog/shared/seedreamResolution.d.ts +35 -0
  332. package/dist/catalog/shared/seedreamResolution.js +206 -0
  333. package/dist/catalog/validate.d.ts +17 -0
  334. package/dist/catalog/validate.js +356 -0
  335. package/dist/catalog/volcengine/seedream-5.0-lite.model.d.ts +3 -0
  336. package/dist/catalog/volcengine/seedream-5.0-lite.model.js +83 -0
  337. package/dist/catalog/volcengine/seedream-5.0-pro.model.d.ts +3 -0
  338. package/dist/catalog/volcengine/seedream-5.0-pro.model.js +149 -0
  339. package/dist/client.d.ts +36 -0
  340. package/dist/client.js +38 -0
  341. package/dist/discovery/index.d.ts +77 -0
  342. package/dist/discovery/index.js +238 -0
  343. package/dist/generation/core.d.ts +96 -0
  344. package/dist/generation/core.js +318 -0
  345. package/dist/generation.d.ts +20 -0
  346. package/dist/generation.js +58 -0
  347. package/dist/index.d.ts +28 -0
  348. package/dist/index.js +40 -0
  349. package/dist/llm/bigmodel/index.d.ts +3 -0
  350. package/dist/llm/bigmodel/index.js +3 -0
  351. package/dist/llm/bigmodel/preset.d.ts +11 -0
  352. package/dist/llm/bigmodel/preset.js +58 -0
  353. package/dist/llm/bigmodel/profiles.d.ts +21 -0
  354. package/dist/llm/bigmodel/profiles.js +65 -0
  355. package/dist/llm/chat.d.ts +66 -0
  356. package/dist/llm/chat.js +144 -0
  357. package/dist/llm/chatTypes.d.ts +88 -0
  358. package/dist/llm/chatTypes.js +1 -0
  359. package/dist/llm/defaults.d.ts +29 -0
  360. package/dist/llm/defaults.js +55 -0
  361. package/dist/llm/discovery.d.ts +45 -0
  362. package/dist/llm/discovery.js +97 -0
  363. package/dist/llm/endpointProfiles.d.ts +41 -0
  364. package/dist/llm/endpointProfiles.js +75 -0
  365. package/dist/llm/groq/index.d.ts +25 -0
  366. package/dist/llm/groq/index.js +30 -0
  367. package/dist/llm/groq/module.d.ts +6 -0
  368. package/dist/llm/groq/module.js +51 -0
  369. package/dist/llm/groq/preset.d.ts +9 -0
  370. package/dist/llm/groq/preset.js +50 -0
  371. package/dist/llm/index.d.ts +25 -0
  372. package/dist/llm/index.js +30 -0
  373. package/dist/llm/message-metrics.d.ts +3 -0
  374. package/dist/llm/message-metrics.js +11 -0
  375. package/dist/llm/modelCatalog.d.ts +60 -0
  376. package/dist/llm/modelCatalog.js +64 -0
  377. package/dist/llm/modelCatalogEntries.d.ts +15 -0
  378. package/dist/llm/modelCatalogEntries.js +274 -0
  379. package/dist/llm/modelStep.d.ts +327 -0
  380. package/dist/llm/modelStep.js +200 -0
  381. package/dist/llm/modules/client.d.ts +2 -0
  382. package/dist/llm/modules/client.js +365 -0
  383. package/dist/llm/modules/index.d.ts +4 -0
  384. package/dist/llm/modules/index.js +4 -0
  385. package/dist/llm/modules/result-validation.d.ts +5 -0
  386. package/dist/llm/modules/result-validation.js +54 -0
  387. package/dist/llm/modules/types.d.ts +102 -0
  388. package/dist/llm/modules/types.js +1 -0
  389. package/dist/llm/modules/validation.d.ts +7 -0
  390. package/dist/llm/modules/validation.js +90 -0
  391. package/dist/llm/providerPresets.d.ts +45 -0
  392. package/dist/llm/providerPresets.js +208 -0
  393. package/dist/llm/providerProtocol.d.ts +29 -0
  394. package/dist/llm/providerProtocol.js +25 -0
  395. package/dist/llm/providerProtocolCore.d.ts +4 -0
  396. package/dist/llm/providerProtocolCore.js +35 -0
  397. package/dist/llm/providerReasoningRequest.d.ts +4 -0
  398. package/dist/llm/providerReasoningRequest.js +101 -0
  399. package/dist/llm/providerSetup.d.ts +6 -0
  400. package/dist/llm/providerSetup.js +89 -0
  401. package/dist/llm/reasoning.d.ts +5 -0
  402. package/dist/llm/reasoning.js +1 -0
  403. package/dist/llm/requestContract.d.ts +6 -0
  404. package/dist/llm/requestContract.js +35 -0
  405. package/dist/llm/sdk/index.d.ts +14 -0
  406. package/dist/llm/sdk/index.js +14 -0
  407. package/dist/llm/sdk/modelStep.d.ts +24 -0
  408. package/dist/llm/sdk/modelStep.js +254 -0
  409. package/dist/llm/sdk/provider.d.ts +38 -0
  410. package/dist/llm/sdk/provider.js +335 -0
  411. package/dist/llm/sdk/providerAdapter.d.ts +53 -0
  412. package/dist/llm/sdk/providerAdapter.js +26 -0
  413. package/dist/llm/sdk/retryPolicy.d.ts +13 -0
  414. package/dist/llm/sdk/retryPolicy.js +67 -0
  415. package/dist/llm/sdk/runtime.d.ts +13 -0
  416. package/dist/llm/sdk/runtime.js +127 -0
  417. package/dist/llm/sdk/toolSchema.d.ts +28 -0
  418. package/dist/llm/sdk/toolSchema.js +59 -0
  419. package/dist/llm/streaming/index.d.ts +18 -0
  420. package/dist/llm/streaming/index.js +8 -0
  421. package/dist/llm/streaming.d.ts +25 -0
  422. package/dist/llm/streaming.js +330 -0
  423. package/dist/llm/types.d.ts +290 -0
  424. package/dist/llm/types.js +1 -0
  425. package/dist/llm/utf8-stream-decoder.d.ts +1 -0
  426. package/dist/llm/utf8-stream-decoder.js +2 -0
  427. package/dist/packs/models/apimart/gemini-omni-flash.d.ts +6 -0
  428. package/dist/packs/models/apimart/gemini-omni-flash.js +7 -0
  429. package/dist/packs/models/apimart/gpt-image-2.d.ts +6 -0
  430. package/dist/packs/models/apimart/gpt-image-2.js +7 -0
  431. package/dist/packs/models/apimart/grok-imagine-2.0.d.ts +6 -0
  432. package/dist/packs/models/apimart/grok-imagine-2.0.js +7 -0
  433. package/dist/packs/models/apimart/kling-3.0-omni.d.ts +6 -0
  434. package/dist/packs/models/apimart/kling-3.0-omni.js +7 -0
  435. package/dist/packs/models/apimart/kling-3.0-turbo.d.ts +6 -0
  436. package/dist/packs/models/apimart/kling-3.0-turbo.js +7 -0
  437. package/dist/packs/models/apimart/kling-3.0.d.ts +6 -0
  438. package/dist/packs/models/apimart/kling-3.0.js +7 -0
  439. package/dist/packs/models/apimart/midjourney-video.d.ts +6 -0
  440. package/dist/packs/models/apimart/midjourney-video.js +7 -0
  441. package/dist/packs/models/apimart/midjourney.d.ts +6 -0
  442. package/dist/packs/models/apimart/midjourney.js +7 -0
  443. package/dist/packs/models/apimart/minimax-h3.d.ts +6 -0
  444. package/dist/packs/models/apimart/minimax-h3.js +7 -0
  445. package/dist/packs/models/apimart/nano-banana-2-lite.d.ts +6 -0
  446. package/dist/packs/models/apimart/nano-banana-2-lite.js +7 -0
  447. package/dist/packs/models/apimart/nano-banana-2.d.ts +6 -0
  448. package/dist/packs/models/apimart/nano-banana-2.js +7 -0
  449. package/dist/packs/models/apimart/nano-banana-pro.d.ts +6 -0
  450. package/dist/packs/models/apimart/nano-banana-pro.js +7 -0
  451. package/dist/packs/models/apimart/qwen-image-3.0.d.ts +6 -0
  452. package/dist/packs/models/apimart/qwen-image-3.0.js +7 -0
  453. package/dist/packs/models/apimart/seedance-2.0-fast.d.ts +6 -0
  454. package/dist/packs/models/apimart/seedance-2.0-fast.js +7 -0
  455. package/dist/packs/models/apimart/seedance-2.0-mini.d.ts +6 -0
  456. package/dist/packs/models/apimart/seedance-2.0-mini.js +7 -0
  457. package/dist/packs/models/apimart/seedance-2.0.d.ts +6 -0
  458. package/dist/packs/models/apimart/seedance-2.0.js +7 -0
  459. package/dist/packs/models/apimart/seedance-2.5.d.ts +6 -0
  460. package/dist/packs/models/apimart/seedance-2.5.js +7 -0
  461. package/dist/packs/models/apimart/seedream-5.0-lite.d.ts +6 -0
  462. package/dist/packs/models/apimart/seedream-5.0-lite.js +7 -0
  463. package/dist/packs/models/apimart/seedream-5.0-pro.d.ts +6 -0
  464. package/dist/packs/models/apimart/seedream-5.0-pro.js +7 -0
  465. package/dist/packs/models/apimart/z-image-turbo.d.ts +6 -0
  466. package/dist/packs/models/apimart/z-image-turbo.js +7 -0
  467. package/dist/packs/models/bailian/qwen-image-3.0.d.ts +6 -0
  468. package/dist/packs/models/bailian/qwen-image-3.0.js +7 -0
  469. package/dist/packs/models/bailian/z-image-turbo.d.ts +6 -0
  470. package/dist/packs/models/bailian/z-image-turbo.js +7 -0
  471. package/dist/packs/models/fal/bria-creative-upscale.d.ts +6 -0
  472. package/dist/packs/models/fal/bria-creative-upscale.js +7 -0
  473. package/dist/packs/models/fal/gemini-omni-flash.d.ts +6 -0
  474. package/dist/packs/models/fal/gemini-omni-flash.js +7 -0
  475. package/dist/packs/models/fal/gpt-image-2.d.ts +6 -0
  476. package/dist/packs/models/fal/gpt-image-2.js +7 -0
  477. package/dist/packs/models/fal/grok-imagine-2.0.d.ts +6 -0
  478. package/dist/packs/models/fal/grok-imagine-2.0.js +7 -0
  479. package/dist/packs/models/fal/hailuo-02.d.ts +6 -0
  480. package/dist/packs/models/fal/hailuo-02.js +7 -0
  481. package/dist/packs/models/fal/hailuo-2.3.d.ts +6 -0
  482. package/dist/packs/models/fal/hailuo-2.3.js +7 -0
  483. package/dist/packs/models/fal/ic-light-v2.d.ts +6 -0
  484. package/dist/packs/models/fal/ic-light-v2.js +7 -0
  485. package/dist/packs/models/fal/ideogram-upscale.d.ts +6 -0
  486. package/dist/packs/models/fal/ideogram-upscale.js +7 -0
  487. package/dist/packs/models/fal/kling-3.0-omni.d.ts +6 -0
  488. package/dist/packs/models/fal/kling-3.0-omni.js +7 -0
  489. package/dist/packs/models/fal/kling-3.0-turbo.d.ts +6 -0
  490. package/dist/packs/models/fal/kling-3.0-turbo.js +7 -0
  491. package/dist/packs/models/fal/kling-3.0.d.ts +6 -0
  492. package/dist/packs/models/fal/kling-3.0.js +7 -0
  493. package/dist/packs/models/fal/kling-image-o1.d.ts +6 -0
  494. package/dist/packs/models/fal/kling-image-o1.js +7 -0
  495. package/dist/packs/models/fal/kling-video-o1.d.ts +6 -0
  496. package/dist/packs/models/fal/kling-video-o1.js +7 -0
  497. package/dist/packs/models/fal/kling-video-v2.6-pro.d.ts +6 -0
  498. package/dist/packs/models/fal/kling-video-v2.6-pro.js +7 -0
  499. package/dist/packs/models/fal/ltx-2.d.ts +6 -0
  500. package/dist/packs/models/fal/ltx-2.js +7 -0
  501. package/dist/packs/models/fal/minimax-h3.d.ts +6 -0
  502. package/dist/packs/models/fal/minimax-h3.js +7 -0
  503. package/dist/packs/models/fal/nano-banana-2.d.ts +6 -0
  504. package/dist/packs/models/fal/nano-banana-2.js +7 -0
  505. package/dist/packs/models/fal/nano-banana-pro.d.ts +6 -0
  506. package/dist/packs/models/fal/nano-banana-pro.js +7 -0
  507. package/dist/packs/models/fal/nano-banana.d.ts +6 -0
  508. package/dist/packs/models/fal/nano-banana.js +7 -0
  509. package/dist/packs/models/fal/pixverse-v5.5.d.ts +6 -0
  510. package/dist/packs/models/fal/pixverse-v5.5.js +7 -0
  511. package/dist/packs/models/fal/qwen-image-3.0.d.ts +6 -0
  512. package/dist/packs/models/fal/qwen-image-3.0.js +7 -0
  513. package/dist/packs/models/fal/seedance-2.0-fast.d.ts +6 -0
  514. package/dist/packs/models/fal/seedance-2.0-fast.js +7 -0
  515. package/dist/packs/models/fal/seedance-2.0-mini.d.ts +6 -0
  516. package/dist/packs/models/fal/seedance-2.0-mini.js +7 -0
  517. package/dist/packs/models/fal/seedance-2.0.d.ts +6 -0
  518. package/dist/packs/models/fal/seedance-2.0.js +7 -0
  519. package/dist/packs/models/fal/seedance-2.5.d.ts +6 -0
  520. package/dist/packs/models/fal/seedance-2.5.js +7 -0
  521. package/dist/packs/models/fal/seedance.d.ts +6 -0
  522. package/dist/packs/models/fal/seedance.js +7 -0
  523. package/dist/packs/models/fal/seedream-5.0-lite.d.ts +6 -0
  524. package/dist/packs/models/fal/seedream-5.0-lite.js +7 -0
  525. package/dist/packs/models/fal/seedream-5.0-pro.d.ts +6 -0
  526. package/dist/packs/models/fal/seedream-5.0-pro.js +7 -0
  527. package/dist/packs/models/fal/seedream-v4.5.d.ts +6 -0
  528. package/dist/packs/models/fal/seedream-v4.5.js +7 -0
  529. package/dist/packs/models/fal/seedream-v4.d.ts +6 -0
  530. package/dist/packs/models/fal/seedream-v4.js +7 -0
  531. package/dist/packs/models/fal/seedvr2-image-upscale.d.ts +6 -0
  532. package/dist/packs/models/fal/seedvr2-image-upscale.js +7 -0
  533. package/dist/packs/models/fal/topaz-image-upscale.d.ts +6 -0
  534. package/dist/packs/models/fal/topaz-image-upscale.js +7 -0
  535. package/dist/packs/models/fal/topaz-transparent-upscale.d.ts +6 -0
  536. package/dist/packs/models/fal/topaz-transparent-upscale.js +7 -0
  537. package/dist/packs/models/fal/veo-3.1.d.ts +6 -0
  538. package/dist/packs/models/fal/veo-3.1.js +7 -0
  539. package/dist/packs/models/fal/vidu-q2.d.ts +6 -0
  540. package/dist/packs/models/fal/vidu-q2.js +7 -0
  541. package/dist/packs/models/fal/wan-2.5-preview.d.ts +6 -0
  542. package/dist/packs/models/fal/wan-2.5-preview.js +7 -0
  543. package/dist/packs/models/fal/z-image-turbo.d.ts +6 -0
  544. package/dist/packs/models/fal/z-image-turbo.js +7 -0
  545. package/dist/packs/models/grsai/gpt-image-2.d.ts +6 -0
  546. package/dist/packs/models/grsai/gpt-image-2.js +7 -0
  547. package/dist/packs/models/grsai/nano-banana-2-lite.d.ts +6 -0
  548. package/dist/packs/models/grsai/nano-banana-2-lite.js +7 -0
  549. package/dist/packs/models/grsai/nano-banana-2.d.ts +6 -0
  550. package/dist/packs/models/grsai/nano-banana-2.js +7 -0
  551. package/dist/packs/models/grsai/nano-banana-pro.d.ts +6 -0
  552. package/dist/packs/models/grsai/nano-banana-pro.js +7 -0
  553. package/dist/packs/models/kie/gemini-omni-video.d.ts +6 -0
  554. package/dist/packs/models/kie/gemini-omni-video.js +7 -0
  555. package/dist/packs/models/kie/gpt-image-2.d.ts +6 -0
  556. package/dist/packs/models/kie/gpt-image-2.js +7 -0
  557. package/dist/packs/models/kie/grok-imagine-2.0.d.ts +6 -0
  558. package/dist/packs/models/kie/grok-imagine-2.0.js +7 -0
  559. package/dist/packs/models/kie/grok-imagine-video.d.ts +6 -0
  560. package/dist/packs/models/kie/grok-imagine-video.js +7 -0
  561. package/dist/packs/models/kie/grok-imagine.d.ts +6 -0
  562. package/dist/packs/models/kie/grok-imagine.js +7 -0
  563. package/dist/packs/models/kie/hailuo-02.d.ts +6 -0
  564. package/dist/packs/models/kie/hailuo-02.js +7 -0
  565. package/dist/packs/models/kie/hailuo-2-3.d.ts +6 -0
  566. package/dist/packs/models/kie/hailuo-2-3.js +7 -0
  567. package/dist/packs/models/kie/kling-3.0-omni.d.ts +6 -0
  568. package/dist/packs/models/kie/kling-3.0-omni.js +7 -0
  569. package/dist/packs/models/kie/kling-3.0-turbo.d.ts +6 -0
  570. package/dist/packs/models/kie/kling-3.0-turbo.js +7 -0
  571. package/dist/packs/models/kie/kling-3.0.d.ts +6 -0
  572. package/dist/packs/models/kie/kling-3.0.js +7 -0
  573. package/dist/packs/models/kie/kling-v2-6.d.ts +6 -0
  574. package/dist/packs/models/kie/kling-v2-6.js +7 -0
  575. package/dist/packs/models/kie/minimax-h3.d.ts +6 -0
  576. package/dist/packs/models/kie/minimax-h3.js +7 -0
  577. package/dist/packs/models/kie/nano-banana-2-lite.d.ts +6 -0
  578. package/dist/packs/models/kie/nano-banana-2-lite.js +7 -0
  579. package/dist/packs/models/kie/nano-banana-2.d.ts +6 -0
  580. package/dist/packs/models/kie/nano-banana-2.js +7 -0
  581. package/dist/packs/models/kie/nano-banana-pro.d.ts +6 -0
  582. package/dist/packs/models/kie/nano-banana-pro.js +7 -0
  583. package/dist/packs/models/kie/qwen-image-3.0.d.ts +6 -0
  584. package/dist/packs/models/kie/qwen-image-3.0.js +7 -0
  585. package/dist/packs/models/kie/seedance-1.5-pro.d.ts +6 -0
  586. package/dist/packs/models/kie/seedance-1.5-pro.js +7 -0
  587. package/dist/packs/models/kie/seedance-2.0-fast.d.ts +6 -0
  588. package/dist/packs/models/kie/seedance-2.0-fast.js +7 -0
  589. package/dist/packs/models/kie/seedance-2.0-mini.d.ts +6 -0
  590. package/dist/packs/models/kie/seedance-2.0-mini.js +7 -0
  591. package/dist/packs/models/kie/seedance-2.0.d.ts +6 -0
  592. package/dist/packs/models/kie/seedance-2.0.js +7 -0
  593. package/dist/packs/models/kie/seedance-2.5.d.ts +6 -0
  594. package/dist/packs/models/kie/seedance-2.5.js +7 -0
  595. package/dist/packs/models/kie/seedance-v1.d.ts +6 -0
  596. package/dist/packs/models/kie/seedance-v1.js +7 -0
  597. package/dist/packs/models/kie/seedream-4.0.d.ts +6 -0
  598. package/dist/packs/models/kie/seedream-4.0.js +7 -0
  599. package/dist/packs/models/kie/seedream-4.5.d.ts +6 -0
  600. package/dist/packs/models/kie/seedream-4.5.js +7 -0
  601. package/dist/packs/models/kie/seedream-5.0-lite.d.ts +6 -0
  602. package/dist/packs/models/kie/seedream-5.0-lite.js +7 -0
  603. package/dist/packs/models/kie/seedream-5.0-pro.d.ts +6 -0
  604. package/dist/packs/models/kie/seedream-5.0-pro.js +7 -0
  605. package/dist/packs/models/kie/z-image.d.ts +6 -0
  606. package/dist/packs/models/kie/z-image.js +7 -0
  607. package/dist/packs/models/modelscope/flux-1-krea-dev.d.ts +6 -0
  608. package/dist/packs/models/modelscope/flux-1-krea-dev.js +7 -0
  609. package/dist/packs/models/modelscope/majicmix-realistic.d.ts +6 -0
  610. package/dist/packs/models/modelscope/majicmix-realistic.js +7 -0
  611. package/dist/packs/models/modelscope/modelscope-custom.d.ts +6 -0
  612. package/dist/packs/models/modelscope/modelscope-custom.js +7 -0
  613. package/dist/packs/models/modelscope/qwen-image-edit-2509.d.ts +6 -0
  614. package/dist/packs/models/modelscope/qwen-image-edit-2509.js +7 -0
  615. package/dist/packs/models/modelscope/qwen-image.d.ts +6 -0
  616. package/dist/packs/models/modelscope/qwen-image.js +7 -0
  617. package/dist/packs/models/modelscope/sdxl-14-ckpt.d.ts +6 -0
  618. package/dist/packs/models/modelscope/sdxl-14-ckpt.js +7 -0
  619. package/dist/packs/models/modelscope/z-image-turbo.d.ts +6 -0
  620. package/dist/packs/models/modelscope/z-image-turbo.js +7 -0
  621. package/dist/packs/models/ppio/kling-3.0.d.ts +6 -0
  622. package/dist/packs/models/ppio/kling-3.0.js +7 -0
  623. package/dist/packs/models/ppio/minimax-hailuo-2.3.d.ts +6 -0
  624. package/dist/packs/models/ppio/minimax-hailuo-2.3.js +7 -0
  625. package/dist/packs/models/ppio/minimax-speech.d.ts +6 -0
  626. package/dist/packs/models/ppio/minimax-speech.js +7 -0
  627. package/dist/packs/models/ppio/wan-2.5-preview.d.ts +6 -0
  628. package/dist/packs/models/ppio/wan-2.5-preview.js +7 -0
  629. package/dist/packs/models/ppio/wan-2.6.d.ts +6 -0
  630. package/dist/packs/models/ppio/wan-2.6.js +7 -0
  631. package/dist/packs/models/ppio/wan-2.7.d.ts +6 -0
  632. package/dist/packs/models/ppio/wan-2.7.js +7 -0
  633. package/dist/packs/models/volcengine/seedream-5.0-lite.d.ts +6 -0
  634. package/dist/packs/models/volcengine/seedream-5.0-lite.js +7 -0
  635. package/dist/packs/models/volcengine/seedream-5.0-pro.d.ts +6 -0
  636. package/dist/packs/models/volcengine/seedream-5.0-pro.js +7 -0
  637. package/dist/packs/provider-adapters/apimart.d.ts +3 -0
  638. package/dist/packs/provider-adapters/apimart.js +5 -0
  639. package/dist/packs/provider-adapters/bailian.d.ts +3 -0
  640. package/dist/packs/provider-adapters/bailian.js +5 -0
  641. package/dist/packs/provider-adapters/fal.d.ts +3 -0
  642. package/dist/packs/provider-adapters/fal.js +5 -0
  643. package/dist/packs/provider-adapters/grsai.d.ts +3 -0
  644. package/dist/packs/provider-adapters/grsai.js +5 -0
  645. package/dist/packs/provider-adapters/kie.d.ts +3 -0
  646. package/dist/packs/provider-adapters/kie.js +5 -0
  647. package/dist/packs/provider-adapters/modelscope.d.ts +3 -0
  648. package/dist/packs/provider-adapters/modelscope.js +5 -0
  649. package/dist/packs/provider-adapters/ppio.d.ts +3 -0
  650. package/dist/packs/provider-adapters/ppio.js +5 -0
  651. package/dist/packs/provider-adapters/volcengine.d.ts +3 -0
  652. package/dist/packs/provider-adapters/volcengine.js +5 -0
  653. package/dist/packs/provider-packs/apimart.d.ts +4 -0
  654. package/dist/packs/provider-packs/apimart.js +25 -0
  655. package/dist/packs/provider-packs/bailian.d.ts +4 -0
  656. package/dist/packs/provider-packs/bailian.js +7 -0
  657. package/dist/packs/provider-packs/fal.d.ts +4 -0
  658. package/dist/packs/provider-packs/fal.js +42 -0
  659. package/dist/packs/provider-packs/grsai.d.ts +4 -0
  660. package/dist/packs/provider-packs/grsai.js +9 -0
  661. package/dist/packs/provider-packs/kie.d.ts +4 -0
  662. package/dist/packs/provider-packs/kie.js +32 -0
  663. package/dist/packs/provider-packs/modelscope.d.ts +4 -0
  664. package/dist/packs/provider-packs/modelscope.js +12 -0
  665. package/dist/packs/provider-packs/ppio.d.ts +4 -0
  666. package/dist/packs/provider-packs/ppio.js +11 -0
  667. package/dist/packs/provider-packs/volcengine.d.ts +4 -0
  668. package/dist/packs/provider-packs/volcengine.js +7 -0
  669. package/dist/packs/tool-models/fal/bria-eraser.d.ts +5 -0
  670. package/dist/packs/tool-models/fal/bria-eraser.js +4 -0
  671. package/dist/packs/tool-models/fal/control-light.d.ts +5 -0
  672. package/dist/packs/tool-models/fal/control-light.js +4 -0
  673. package/dist/packs/tool-models/fal/finegrain-eraser.d.ts +5 -0
  674. package/dist/packs/tool-models/fal/finegrain-eraser.js +4 -0
  675. package/dist/packs/tool-models/fal/flux-2-multiple-angles.d.ts +5 -0
  676. package/dist/packs/tool-models/fal/flux-2-multiple-angles.js +4 -0
  677. package/dist/packs/tool-models/fal/flux-pro-erase.d.ts +5 -0
  678. package/dist/packs/tool-models/fal/flux-pro-erase.js +4 -0
  679. package/dist/packs/tool-models/fal/outpaint.d.ts +5 -0
  680. package/dist/packs/tool-models/fal/outpaint.js +4 -0
  681. package/dist/packs/tool-models/fal/perspective-change.d.ts +5 -0
  682. package/dist/packs/tool-models/fal/perspective-change.js +4 -0
  683. package/dist/packs/tool-models/fal/photo-restoration.d.ts +5 -0
  684. package/dist/packs/tool-models/fal/photo-restoration.js +4 -0
  685. package/dist/packs/tool-models/fal/pixelcut-background-removal.d.ts +5 -0
  686. package/dist/packs/tool-models/fal/pixelcut-background-removal.js +4 -0
  687. package/dist/packs/tool-models/fal/product-photography.d.ts +5 -0
  688. package/dist/packs/tool-models/fal/product-photography.js +4 -0
  689. package/dist/packs/tool-models/fal/qwen-image-edit-2509-multiple-angles.d.ts +5 -0
  690. package/dist/packs/tool-models/fal/qwen-image-edit-2509-multiple-angles.js +4 -0
  691. package/dist/packs/tool-models/fal/relighting.d.ts +5 -0
  692. package/dist/packs/tool-models/fal/relighting.js +4 -0
  693. package/dist/packs/tool-packs/fal-image-edit-tools.d.ts +5 -0
  694. package/dist/packs/tool-packs/fal-image-edit-tools.js +8 -0
  695. package/dist/packs/tool-packs/fal-image-utility-tools.d.ts +5 -0
  696. package/dist/packs/tool-packs/fal-image-utility-tools.js +18 -0
  697. package/dist/packs/tool-packs/fal-multi-angle-tools.d.ts +5 -0
  698. package/dist/packs/tool-packs/fal-multi-angle-tools.js +8 -0
  699. package/dist/pricing/index.d.ts +1 -0
  700. package/dist/pricing/index.js +1 -0
  701. package/dist/pricing/mediaContext.d.ts +27 -0
  702. package/dist/pricing/mediaContext.js +110 -0
  703. package/dist/protocols/index.d.ts +7 -0
  704. package/dist/protocols/index.js +7 -0
  705. package/dist/protocols/polling.d.ts +29 -0
  706. package/dist/protocols/polling.js +92 -0
  707. package/dist/protocols/request-builder-dsl.d.ts +15 -0
  708. package/dist/protocols/request-builder-dsl.js +64 -0
  709. package/dist/protocols/request-normalizer.d.ts +3 -0
  710. package/dist/protocols/request-normalizer.js +141 -0
  711. package/dist/protocols/utf8-stream-decoder.d.ts +20 -0
  712. package/dist/protocols/utf8-stream-decoder.js +125 -0
  713. package/dist/providers/apimart.d.ts +3 -0
  714. package/dist/providers/apimart.js +128 -0
  715. package/dist/providers/bailian.d.ts +3 -0
  716. package/dist/providers/bailian.js +50 -0
  717. package/dist/providers/connection.d.ts +3 -0
  718. package/dist/providers/connection.js +169 -0
  719. package/dist/providers/endpoints/apimart.d.ts +11 -0
  720. package/dist/providers/endpoints/apimart.js +49 -0
  721. package/dist/providers/endpoints/grsai.d.ts +11 -0
  722. package/dist/providers/endpoints/grsai.js +50 -0
  723. package/dist/providers/fal.d.ts +3 -0
  724. package/dist/providers/fal.js +148 -0
  725. package/dist/providers/grsai.d.ts +3 -0
  726. package/dist/providers/grsai.js +99 -0
  727. package/dist/providers/helpers.d.ts +10 -0
  728. package/dist/providers/helpers.js +76 -0
  729. package/dist/providers/index.d.ts +25 -0
  730. package/dist/providers/index.js +93 -0
  731. package/dist/providers/kie.d.ts +3 -0
  732. package/dist/providers/kie.js +125 -0
  733. package/dist/providers/metadata.d.ts +22 -0
  734. package/dist/providers/metadata.js +141 -0
  735. package/dist/providers/modelscope.d.ts +3 -0
  736. package/dist/providers/modelscope.js +65 -0
  737. package/dist/providers/ppio-media.d.ts +2 -0
  738. package/dist/providers/ppio-media.js +20 -0
  739. package/dist/providers/ppio.d.ts +3 -0
  740. package/dist/providers/ppio.js +98 -0
  741. package/dist/providers/provider-fetch.d.ts +7 -0
  742. package/dist/providers/provider-fetch.js +42 -0
  743. package/dist/providers/types.d.ts +6 -0
  744. package/dist/providers/types.js +1 -0
  745. package/dist/providers/volcengine.d.ts +3 -0
  746. package/dist/providers/volcengine.js +32 -0
  747. package/dist/runtime/AiRuntimeError.d.ts +5 -0
  748. package/dist/runtime/AiRuntimeError.js +11 -0
  749. package/dist/runtime/CredentialStore.d.ts +47 -0
  750. package/dist/runtime/CredentialStore.js +1 -0
  751. package/dist/runtime/Logger.d.ts +47 -0
  752. package/dist/runtime/Logger.js +11 -0
  753. package/dist/runtime/MediaReader.d.ts +45 -0
  754. package/dist/runtime/MediaReader.js +1 -0
  755. package/dist/runtime/RealtimeTransport.d.ts +22 -0
  756. package/dist/runtime/RealtimeTransport.js +1 -0
  757. package/dist/runtime/RuntimeContext.d.ts +26 -0
  758. package/dist/runtime/RuntimeContext.js +13 -0
  759. package/dist/runtime/Tracer.d.ts +26 -0
  760. package/dist/runtime/Tracer.js +7 -0
  761. package/dist/runtime/Transport.d.ts +43 -0
  762. package/dist/runtime/Transport.js +1 -0
  763. package/dist/runtime/error-classify.d.ts +7 -0
  764. package/dist/runtime/error-classify.js +192 -0
  765. package/dist/runtime/errors.d.ts +40 -0
  766. package/dist/runtime/errors.js +27 -0
  767. package/dist/runtime/index.d.ts +25 -0
  768. package/dist/runtime/index.js +15 -0
  769. package/dist/runtime/provider-error-core.d.ts +33 -0
  770. package/dist/runtime/provider-error-core.js +86 -0
  771. package/dist/runtime/retry.d.ts +7 -0
  772. package/dist/runtime/retry.js +72 -0
  773. package/dist/runtime/task-registry.d.ts +5 -0
  774. package/dist/runtime/task-registry.js +25 -0
  775. package/dist/structured-output/index.d.ts +1 -0
  776. package/dist/structured-output/index.js +1 -0
  777. package/dist/structured-output/seedream-layer-stack.d.ts +4 -0
  778. package/dist/structured-output/seedream-layer-stack.js +206 -0
  779. package/dist/tool-packs/fal-erase/models/bria-eraser.model.d.ts +2 -0
  780. package/dist/tool-packs/fal-erase/models/bria-eraser.model.js +38 -0
  781. package/dist/tool-packs/fal-erase/models/finegrain-eraser.model.d.ts +2 -0
  782. package/dist/tool-packs/fal-erase/models/finegrain-eraser.model.js +47 -0
  783. package/dist/tool-packs/fal-erase/models/flux-pro-erase.model.d.ts +2 -0
  784. package/dist/tool-packs/fal-erase/models/flux-pro-erase.model.js +42 -0
  785. package/dist/tool-packs/fal-image-utilities/models/control-light.model.d.ts +2 -0
  786. package/dist/tool-packs/fal-image-utilities/models/control-light.model.js +42 -0
  787. package/dist/tool-packs/fal-image-utilities/models/outpaint.model.d.ts +2 -0
  788. package/dist/tool-packs/fal-image-utilities/models/outpaint.model.js +74 -0
  789. package/dist/tool-packs/fal-image-utilities/models/photo-restoration.model.d.ts +2 -0
  790. package/dist/tool-packs/fal-image-utilities/models/photo-restoration.model.js +56 -0
  791. package/dist/tool-packs/fal-image-utilities/models/pixelcut-background-removal.model.d.ts +2 -0
  792. package/dist/tool-packs/fal-image-utilities/models/pixelcut-background-removal.model.js +41 -0
  793. package/dist/tool-packs/fal-image-utilities/models/product-photography.model.d.ts +2 -0
  794. package/dist/tool-packs/fal-image-utilities/models/product-photography.model.js +41 -0
  795. package/dist/tool-packs/fal-image-utilities/models/relighting.model.d.ts +3 -0
  796. package/dist/tool-packs/fal-image-utilities/models/relighting.model.js +74 -0
  797. package/dist/tool-packs/fal-image-utilities/shared.d.ts +9 -0
  798. package/dist/tool-packs/fal-image-utilities/shared.js +54 -0
  799. package/dist/tool-packs/fal-multi-angle/models/flux-2-multiple-angles.model.d.ts +2 -0
  800. package/dist/tool-packs/fal-multi-angle/models/flux-2-multiple-angles.model.js +75 -0
  801. package/dist/tool-packs/fal-multi-angle/models/perspective-change.model.d.ts +3 -0
  802. package/dist/tool-packs/fal-multi-angle/models/perspective-change.model.js +58 -0
  803. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2509-multiple-angles.model.d.ts +2 -0
  804. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2509-multiple-angles.model.js +75 -0
  805. package/dist/tool-packs/fal-multi-angle/shared.d.ts +2 -0
  806. package/dist/tool-packs/fal-multi-angle/shared.js +22 -0
  807. package/dist/types/index.d.ts +4 -0
  808. package/dist/types/index.js +4 -0
  809. package/dist/types/model.d.ts +432 -0
  810. package/dist/types/model.js +21 -0
  811. package/dist/types/runtime.d.ts +161 -0
  812. package/dist/types/runtime.js +1 -0
  813. package/dist/upload/apimart-upload.d.ts +3 -0
  814. package/dist/upload/apimart-upload.js +32 -0
  815. package/dist/upload/base64.d.ts +5 -0
  816. package/dist/upload/base64.js +49 -0
  817. package/dist/upload/fal-legacy.d.ts +7 -0
  818. package/dist/upload/fal-legacy.js +19 -0
  819. package/dist/upload/fal-transport.d.ts +7 -0
  820. package/dist/upload/fal-transport.js +104 -0
  821. package/dist/upload/index.d.ts +10 -0
  822. package/dist/upload/index.js +15 -0
  823. package/dist/upload/kie-upload.d.ts +3 -0
  824. package/dist/upload/kie-upload.js +41 -0
  825. package/dist/upload/media-binary.d.ts +23 -0
  826. package/dist/upload/media-binary.js +80 -0
  827. package/dist/upload/media-fields.d.ts +34 -0
  828. package/dist/upload/media-fields.js +135 -0
  829. package/dist/upload/prepared-media.d.ts +5 -0
  830. package/dist/upload/prepared-media.js +1 -0
  831. package/dist/upload/preprocess-core.d.ts +40 -0
  832. package/dist/upload/preprocess-core.js +130 -0
  833. package/dist/upload/preprocess.d.ts +8 -0
  834. package/dist/upload/preprocess.js +24 -0
  835. package/dist/upload/provider-preprocessors/apimart.d.ts +4 -0
  836. package/dist/upload/provider-preprocessors/apimart.js +42 -0
  837. package/dist/upload/provider-preprocessors/data-uri.d.ts +4 -0
  838. package/dist/upload/provider-preprocessors/data-uri.js +6 -0
  839. package/dist/upload/provider-preprocessors/factory.d.ts +4 -0
  840. package/dist/upload/provider-preprocessors/factory.js +16 -0
  841. package/dist/upload/provider-preprocessors/fal.d.ts +4 -0
  842. package/dist/upload/provider-preprocessors/fal.js +39 -0
  843. package/dist/upload/provider-preprocessors/kie.d.ts +4 -0
  844. package/dist/upload/provider-preprocessors/kie.js +18 -0
  845. package/dist/upload/provider-preprocessors/ppio.d.ts +6 -0
  846. package/dist/upload/provider-preprocessors/ppio.js +56 -0
  847. package/dist/upload/providers.d.ts +5 -0
  848. package/dist/upload/providers.js +5 -0
  849. package/dist/upload/upload-response.d.ts +3 -0
  850. package/dist/upload/upload-response.js +24 -0
  851. package/docs/README.md +26 -0
  852. package/docs/consumers.md +48 -0
  853. package/docs/llm-adaptation/README.md +139 -0
  854. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +91 -0
  855. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +75 -0
  856. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/MiniMax.md +84 -0
  857. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +85 -0
  858. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +232 -0
  859. 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 +87 -0
  860. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274Qwen.md +84 -0
  861. package/docs/llm-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +88 -0
  862. package/docs/model-adaptation/Bria-Eraser/Bria-Eraser_Fal.md +32 -0
  863. 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 -0
  864. package/docs/model-adaptation/ControlLight/ControlLight_Fal.md +85 -0
  865. 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 -0
  866. package/docs/model-adaptation/Finegrain-Eraser/Finegrain-Eraser_Fal.md +31 -0
  867. package/docs/model-adaptation/Flux-Pro-Erase/Flux-Pro-Erase_Fal.md +34 -0
  868. package/docs/model-adaptation/Fun-ASR/Fun-ASR_/347/231/276/347/202/274.md +43 -0
  869. package/docs/model-adaptation/Fun-ASR-Flash-2026-06-15/Fun-ASR-Flash-2026-06-15_/347/231/276/347/202/274.md +41 -0
  870. package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +37 -0
  871. package/docs/model-adaptation/Fun-ASR-Realtime-2026-02-28/Fun-ASR-Realtime-2026-02-28_/347/231/276/347/202/274.md +39 -0
  872. package/docs/model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_/346/231/272/350/260/261.md +207 -0
  873. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_APIMart.md +173 -0
  874. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Fal.md +94 -0
  875. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Grsai.md +137 -0
  876. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_KIE.md +93 -0
  877. package/docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md +62 -0
  878. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_APIMart.md +124 -0
  879. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_Fal.md +84 -0
  880. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_KIE.md +129 -0
  881. package/docs/model-adaptation/Grok-Imagine/Grok-Imagine_KIE.md +36 -0
  882. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_APIMart.md +250 -0
  883. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_Fal.md +84 -0
  884. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_KIE.md +105 -0
  885. package/docs/model-adaptation/Hailuo-02/Hailuo-02_Fal.md +93 -0
  886. package/docs/model-adaptation/Hailuo-02/Hailuo-02_KIE.md +56 -0
  887. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_Fal.md +88 -0
  888. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_KIE.md +51 -0
  889. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_/346/264/276/346/254/247/344/272/221.md +70 -0
  890. package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +96 -0
  891. 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 -0
  892. 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 -0
  893. 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 -0
  894. 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 -0
  895. 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 -0
  896. package/docs/model-adaptation/Kling-3.0/Kling-3.0_APIMart.md +112 -0
  897. package/docs/model-adaptation/Kling-3.0/Kling-3.0_Fal.md +89 -0
  898. package/docs/model-adaptation/Kling-3.0/Kling-3.0_KIE.md +106 -0
  899. package/docs/model-adaptation/Kling-3.0/Kling-3.0_/346/264/276/346/254/247/344/272/221.md +119 -0
  900. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_APIMart.md +125 -0
  901. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_Fal.md +107 -0
  902. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_KIE.md +143 -0
  903. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_APIMart.md +85 -0
  904. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_Fal.md +83 -0
  905. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_KIE.md +84 -0
  906. package/docs/model-adaptation/Midjourney/Midjourney_APIMart.md +396 -0
  907. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_APIMart.md +234 -0
  908. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_Fal.md +108 -0
  909. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_KIE.md +111 -0
  910. package/docs/model-adaptation/MiniMax-Speech/MiniMax-Speech_/346/264/276/346/254/247/344/272/221.md +170 -0
  911. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_APIMart.md +89 -0
  912. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Fal.md +99 -0
  913. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Grsai.md +82 -0
  914. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_KIE.md +70 -0
  915. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_APIMart.md +79 -0
  916. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_Grsai.md +65 -0
  917. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_KIE.md +64 -0
  918. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_APIMart.md +83 -0
  919. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Fal.md +89 -0
  920. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Grsai.md +82 -0
  921. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_KIE.md +64 -0
  922. 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 -0
  923. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_APIMart.md +117 -0
  924. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_Fal.md +84 -0
  925. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_KIE.md +103 -0
  926. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_/347/231/276/347/202/274.md +138 -0
  927. package/docs/model-adaptation/Qwen-Image-Edit-2509-/345/244/232/350/247/222/345/272/246/Qwen-Image-Edit-2509-/345/244/232/350/247/222/345/272/246_Fal.md +116 -0
  928. package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +47 -0
  929. package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +39 -0
  930. package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +39 -0
  931. package/docs/model-adaptation/Qwen3-ASR-Flash/Qwen3-ASR-Flash_/347/231/276/347/202/274.md +40 -0
  932. package/docs/model-adaptation/Qwen3-ASR-Flash-2026-02-10/Qwen3-ASR-Flash-2026-02-10_/347/231/276/347/202/274.md +33 -0
  933. package/docs/model-adaptation/Qwen3-ASR-Flash-Filetrans/Qwen3-ASR-Flash-Filetrans_/347/231/276/347/202/274.md +41 -0
  934. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +35 -0
  935. 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 -0
  936. package/docs/model-adaptation/README.md +304 -0
  937. 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 -0
  938. 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 +143 -0
  939. 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 -0
  940. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_APIMart.md +121 -0
  941. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_Fal.md +97 -0
  942. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_KIE.md +86 -0
  943. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_APIMart.md +89 -0
  944. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_Fal.md +95 -0
  945. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_KIE.md +78 -0
  946. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_APIMart.md +89 -0
  947. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_Fal.md +96 -0
  948. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_KIE.md +78 -0
  949. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_APIMart.md +212 -0
  950. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_Fal.md +94 -0
  951. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_KIE.md +89 -0
  952. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_APIMart.md +106 -0
  953. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_Fal.md +91 -0
  954. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_KIE.md +89 -0
  955. 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 +108 -0
  956. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_APIMart.md +194 -0
  957. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_Fal.md +100 -0
  958. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_KIE.md +141 -0
  959. 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 -0
  960. package/docs/model-adaptation/SenseVoiceSmall/SenseVoiceSmall_/347/241/205/345/237/272/346/265/201/345/212/250.md +69 -0
  961. package/docs/model-adaptation/TeleSpeechASR/TeleSpeechASR_/347/241/205/345/237/272/346/265/201/345/212/250.md +72 -0
  962. 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 -0
  963. 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 -0
  964. package/docs/model-adaptation/Wan-2.5-Preview/Wan-2.5-Preview_/346/264/276/346/254/247/344/272/221.md +82 -0
  965. package/docs/model-adaptation/Wan-2.6/Wan-2.6_/346/264/276/346/254/247/344/272/221.md +84 -0
  966. package/docs/model-adaptation/Wan-2.7/Wan-2.7_/346/264/276/346/254/247/344/272/221.md +122 -0
  967. package/docs/model-adaptation/Whisper-Large-v3/Whisper-Large-v3_Groq.md +76 -0
  968. package/docs/model-adaptation/Whisper-Large-v3-Turbo/Whisper-Large-v3-Turbo_Groq.md +75 -0
  969. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_APIMart.md +88 -0
  970. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_Fal.md +95 -0
  971. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_KIE.md +71 -0
  972. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/347/231/276/347/202/274.md +122 -0
  973. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/351/255/224/346/220/255.md +97 -0
  974. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/APIMart.md +238 -0
  975. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Fal.md +172 -0
  976. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Groq.md +121 -0
  977. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Grsai.md +217 -0
  978. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/KIE.md +131 -0
  979. 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 -0
  980. 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 -0
  981. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//346/264/276/346/254/247/344/272/221.md +138 -0
  982. 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 +173 -0
  983. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +227 -0
  984. 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 +88 -0
  985. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md +207 -0
  986. package/docs/model-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +311 -0
  987. 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 -0
  988. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Electron.md +77 -0
  989. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Tauri.md +81 -0
  990. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/UXP.md +169 -0
  991. 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 -0
  992. 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 -0
  993. package/examples/form-renderer/README.md +17 -0
  994. package/examples/form-renderer/cli.ts +32 -0
  995. package/examples/form-renderer/index.ts +144 -0
  996. package/examples/form-renderer/package.json +16 -0
  997. package/examples/form-renderer/tsconfig.json +14 -0
  998. package/examples/llm-chat/README.md +32 -0
  999. package/examples/llm-chat/index.ts +100 -0
  1000. package/examples/llm-chat/package.json +19 -0
  1001. package/examples/llm-chat/tsconfig.json +14 -0
  1002. package/examples/minimal-node/README.md +31 -0
  1003. package/examples/minimal-node/index.ts +138 -0
  1004. package/examples/minimal-node/package.json +17 -0
  1005. package/examples/minimal-node/tsconfig.json +14 -0
  1006. package/package.json +198 -0
@@ -0,0 +1,207 @@
1
+ # 魔搭 ModelScope · 供应商基础文档
2
+
3
+ | 项目 | 内容 |
4
+ |---|---|
5
+ | 最后更新 | 2026-08-30 |
6
+ | 供应商类型 | 开源模型托管平台(API-Inference 服务) |
7
+ | 覆盖模态 | **仅图片**(无视频、无音频) |
8
+ | 文档可见性 | 公开,无需登录 |
9
+ | 价格可见性 | 公开,无需登录 |
10
+ | 结算方式 | **魔粒积分,不是货币** |
11
+
12
+ ## 1. 接入协议
13
+
14
+ - **Base URL**:`https://api-inference.modelscope.cn`
15
+ - **鉴权**:`Authorization: Bearer <MODELSCOPE_TOKEN>`
16
+ - **提交**:`POST /v1/images/generations`,请求头 `X-ModelScope-Async-Mode: true` → 返回 `{ "task_id": "..." }`
17
+ - **查询**:`GET /v1/tasks/<task_id>`,请求头 `X-ModelScope-Task-Type: image_generation`
18
+ - **状态字段**:`task_status`,枚举 `SUCCEED` / `FAILED`(官方示例每 5 秒轮询一次)
19
+ - **结果字段**:`output_images`(字符串数组)
20
+
21
+ ### 提交路由的历史问题(已修正)
22
+
23
+ 代码曾把提交路由写成 `/api/v1/jobs/createTask`——那是 **KIE 的路由格式**,在一次批量改动里被复制串了供应商。已改为官方的 `/v1/images/generations`。
24
+
25
+ 该常量现在只有 `packages/ai-sdk/src/catalog/modelscope/utils.ts` 一份实现;所有魔搭模型的真实 builder 直接复用它。`packages/ai-sdk/tests/catalog/modelscope.test.ts` 同时验证共享函数和 catalog builder,避免路由或图片来源静默分叉。
26
+
27
+ > ⚠️ 修正**尚未用真实 token 实测确认**——本机网络无法连通 `api-inference.modelscope.cn`,且未配置魔搭 Token。依据是官方文档与每个模型页示例代码的一致写法(无一例外)。首次真实调用时优先验证这一项。
28
+
29
+ ## 2. 硬前提(不满足则完全不可用)
30
+
31
+ 1. 魔搭账号**必须绑定阿里云账号**
32
+ 2. 该阿里云账号**必须已完成实名认证**
33
+
34
+ ## 3. 文件上传
35
+
36
+ 魔搭没有独立的文件上传端点。官方做法是把本地图片转成 `data:<mime>;base64,...` 直接放进 `image_url` 字段,文档提供了 `image_to_data_url()` 工具函数。
37
+
38
+ 本项目的处理(`upload.ts` → `uploadForHostedUrl`):**优先借用 KIE 的上传服务**换公网 URL,KIE Key 未配置或上传失败时**静默退回 data URI**。因为有兜底,魔搭模型不会像 PPIO 那样因为缺 KIE Key 直接失败。
39
+
40
+ 请求体里图片来源有三个键,builder 必须都认:生成页提交是 `uploadedFilePaths`,画布节点是 `images`,旧工程可能直接存 `image_url`。历史动态运行时副本曾漏掉 `uploadedFilePaths`;SDK 直连后已删除该副本,并由真实 catalog builder 测试锁定行为。
41
+
42
+ ## 4. 请求参数(全模型通用)
43
+
44
+ 魔搭 API-Inference 是统一接口,所有图像模型共用同一套参数,差异只在 `model` 值和尺寸上限。
45
+
46
+ | 字段 | 类型 | 必填 | 默认 | 约束 |
47
+ |---|---|---|---|---|
48
+ | `model` | string | ✅ | — | 魔搭 AIGC 模型 ID,如 `Qwen/Qwen-Image` |
49
+ | `prompt` | string | ✅ | — | < 2000 字符;多数模型英文效果更好 |
50
+ | `negative_prompt` | string | | — | < 2000 字符 |
51
+ | `size` | string | | — | `WxH` 格式,**上限按模型分档,见下表** |
52
+ | `seed` | int | | — | [0, 2³¹−1] |
53
+ | `steps` | int | | 30 | [1, 100] |
54
+ | `guidance` | float | | 3.5 | [1.5, 20] |
55
+ | `image_url` | string \| **string[]** | | — | 仅图片编辑模型;公网 URL 或 base64 data URL |
56
+ | `loras` | string \| dict | | — | 单个 `"<repo-id>"`;多个 `{"<id1>":0.6,"<id2>":0.4}`;**最多 6 个,权重和必须 = 1.0**,须与基模型兼容 |
57
+
58
+ **没有 `n` 或图片数量参数——一次只出一张。**
59
+
60
+ ### `image_url` 支持数组(已确认)
61
+
62
+ `Qwen/Qwen-Image-Edit-2509` 的官方示例代码里 `image_url` 就是数组,并明确给出了双图编辑的注释示例。官方参数表把类型写成 `string` 是**表述滞后**,以模型页示例为准。本项目发送数组的做法是正确的。
63
+
64
+ ### 尺寸上限分档
65
+
66
+ | 模型family | `size` 范围 |
67
+ |---|---|
68
+ | SD 系列 | [64×64, 2048×2048] |
69
+ | FLUX | **[64×64, 1024×1024]** |
70
+ | Qwen-Image | [64×64, 1664×1664] |
71
+ | Z-Image-Turbo | **[512×512, 2048×2048]** |
72
+
73
+ > 已按模型分档:`buildModelscopeRequest` 接受 `sizeBounds`,各模型在 builder 里下发自己的上下界。此前统一用 `[64, 2048]`,FLUX 超过 1024 会被拒、Z-Image-Turbo 低于 512 不合法。
74
+
75
+ ## 5. 计费:魔粒,不是钱
76
+
77
+ 魔搭**不按人民币计价、没有充值入口**。消耗的是「魔粒」积分,主要靠每日登录和社区行为免费获取。
78
+
79
+ ### 扣减档位
80
+
81
+ | 档位(`CostTier`) | 魔粒/次 | 项目已适配模型 |
82
+ |---|---|---|
83
+ | 轻量模型 | 0.5 | — |
84
+ | 主流模型 `standard` | 1 | Z-Image-Turbo、FLUX.1-Krea-dev、majicMIX_realistic、14_ckpt_SD_XL |
85
+ | 旗舰模型 `ultra` | 2 | Qwen-Image、Qwen-Image-Edit-2509 |
86
+
87
+ ### 魔粒获取
88
+
89
+ | 行为 | 额度 | 有效期 | 频次 |
90
+ |---|---|---|---|
91
+ | 注册并登录 | **200/日** | 24 小时 | 每日 1 次 |
92
+ | 绑定阿里云账号 | **+50/日** | 24 小时 | 每日 1 次 |
93
+ | 验证邮箱 / 编辑个人介绍 / 配置个人主页 | 各 50 | 90 天 | 各首次 |
94
+ | 发表评论 | 5/次 | 短期 | ≤2 次/日 |
95
+ | 收藏 / 喜欢 | 2/次 | 短期 | ≤20 次/日 |
96
+ | 邀请好友 / 受邀注册 | 20/人、50 | 长期 | 50 人/月、首次 |
97
+
98
+ **日常稳态免费额度 = 250 魔粒/天**(登录 200 + 绑定阿里云 50,均为短期魔粒,24 小时过期不累积)。换算到本项目:
99
+
100
+ - 旗舰档(Qwen-Image / Qwen-Image-Edit-2509):**约 125 次/天**
101
+ - 主流档(Z-Image-Turbo / FLUX / majicMIX / SDXL):**约 250 次/天**
102
+
103
+ ### 其他计费规则
104
+
105
+ - **没有固定的每日调用次数上限**,上限由魔粒余额决定
106
+ - 短期/长期魔粒消耗时等价,系统自动优先扣最临近过期的
107
+ - **失败返还**:系统原因导致的推理失败全额返还;用户主动取消的推理任务也全额返还
108
+ - **并发是动态限流的**,官方只承诺「保障开发者单并发正常使用」,并明确说明「请勿用于需要高并发以及 SLA 保障的线上任务」
109
+
110
+ > 已修正:`Currency` 类型增加非货币单位 `魔粒`,`priceDisplay` 对其不做汇率换算、按「数量 + 单位」渲染。固定 catalog 模型按官方档位标注(Qwen 系 2 魔粒,其余 1 魔粒)。自定义入口不再假定主流档 1 魔粒:保存前校验成功时持久化接口返回的 `CostTier` 与 `EstimatedMagicGrainCost` 并交给 SDK 计价;旧记录或校验为 `unknown` 时不显示确定金额,避免误导。
111
+
112
+ ### 高并发替代路径:API-Provider
113
+
114
+ 在个人中心托管外部供应商(DashScope、DeepSeek 等)的 API Key,然后用 `model='<模型ID>:<Provider名>'` 调用,走同一套接口和魔搭 Token 鉴权,**不受免费流控限制,平台不收费**,费用由外部供应商结算。目前官方文档只演示了 LLM,未见图像模型的 Provider 支持。
115
+
116
+ ## 6. 可用性判定方法
117
+
118
+ 「模型在魔搭有页面」和「模型支持 API-Inference 调用」是两回事,必须确认后者。权威判定接口(无需登录):
119
+
120
+ ```
121
+ GET https://www.modelscope.cn/api/v1/inference/list_model_providers?ModelId=<id>
122
+ ```
123
+
124
+ 三种响应(2026-08-26 实测):
125
+
126
+ | 情况 | 响应 |
127
+ |---|---|
128
+ | 支持 API-Inference | `200` + `Data.Providers` 数组,含 `CostTier` 与 `EstimatedMagicGrainCost` |
129
+ | 模型存在但未开放 API-Inference | `200` + `Data.Providers: null, TotalCount: 0` |
130
+ | **模型 ID 查不到** | **`HTTP 500`**(不是 404,也不是 200+空结果;用多个不存在的 ID 复现一致) |
131
+
132
+ 500 同时也是通用服务端错误码,无法从状态码本身区分「拼错了」和「魔搭挂了」,提示文案需要同时覆盖两种可能。
133
+
134
+ 另有 `GET /api/v1/inference/<ns>/<name>/api_inference_example` 返回官方示例代码与 `InferenceType`。
135
+
136
+ **自定义模型入口已接入该校验**(`src/services/modelscopeCustomModels/availability.ts`,走 `nativeFetch` PAL 通道,未新增 IPC):保存前查询,`unavailable` 与 `not-found` 直接拦下并给出对应提示;`available` 将 `CostTier` 与 `EstimatedMagicGrainCost` 随模型配置持久化并注册到 SDK;`unknown`(断网/超时/其他非 2xx)放行但警告,并把价格保持为未知——校验跑不通是我们这边的问题,不该因此挡住用户,也不能伪装成 1 魔粒。
137
+
138
+ > API-Inference 只覆盖魔搭挑选的一个子集(依据点赞/下载热度),官方明确说明「随着新模型的推出,比较早的模型可能逐渐从 API-Inference 下架」。已实测不支持的热门模型包括 `black-forest-labs/FLUX.1-dev`、`FLUX.1-Kontext-dev`、`Tencent-Hunyuan/HunyuanImage-3.0`、`stabilityai/stable-diffusion-3.5-large`、`HiDream-ai/HiDream-O1-Image`。
139
+ >
140
+ > 注意 `black-forest-labs/FLUX.1-dev` 曾被用作添加表单的占位示例,而它恰恰**不支持** API-Inference,已改为 `Tongyi-MAI/Z-Image-Turbo`。
141
+
142
+ ## 7. 在售模型(已适配)
143
+
144
+ | Model ID | 类型 | 档位 | 魔粒/次 |
145
+ |---|---|---|---|
146
+ | `Qwen/Qwen-Image` | 文生图 | ultra | 2 |
147
+ | `Qwen/Qwen-Image-Edit-2509` | 图生图 | ultra | 2 |
148
+ | `Tongyi-MAI/Z-Image-Turbo` | 文生图 | standard | 1 |
149
+ | `black-forest-labs/FLUX.1-Krea-dev` | 文生图 | standard | 1 |
150
+ | `MusePublic/majicMIX_realistic` | 文生图 | standard | 1 |
151
+ | `MusePublic/14_ckpt_SD_XL` | 文生图 | standard | 1 |
152
+
153
+ 全部经 `list_model_providers` 确认当前可用。
154
+
155
+ ### 当前可用、项目尚未接入
156
+
157
+ | Model ID | 类型 | 魔粒/次 | 说明 |
158
+ |---|---|---|---|
159
+ | `Qwen/Qwen-Image-2512` | 文生图 | 2 | Qwen-Image 的 12 月更新版,可直接替代 `Qwen/Qwen-Image` |
160
+ | `Qwen/Qwen-Image-Edit-2511` | 图生图 | 2 | 2509 的直接后继,同样支持数组多图编辑 |
161
+ | `krea/Krea-2-Turbo` | 文生图 | 1 | |
162
+ | `black-forest-labs/FLUX.2-klein-base-9B` | 文生图 | 2 | |
163
+ | `FireRedTeam/FireRed-Image-Edit-1.1` | 图生图 | 2 | |
164
+ | `Tongyi-MAI/Z-Image` | 文生图 | 1 | 非 Turbo 版 |
165
+ | `MAILAND/majicflus_v1` | 文生图 | 1 | |
166
+
167
+ ## 8. 主清单模型的覆盖情况
168
+
169
+ 项目「常用优秀模型清单」共 18 个,**魔搭只提供其中 1 个**:
170
+
171
+ | 清单模型 | 魔搭 |
172
+ |---|---|
173
+ | Z-Image Turbo | ✅ 提供,见 [Z-Image-Turbo_魔搭.md](../Z-Image-Turbo/Z-Image-Turbo_魔搭.md) |
174
+ | 其余 17 个 | ❌ 全部没有 |
175
+
176
+ 原因是结构性的:魔搭 API-Inference 只服务**魔搭上托管的开源权重模型**,而清单里基本全是闭源商业 API 模型。站内搜到的 Seedream / Nano Banana / Midjourney / Grok 条目**全是社区用户上传的风格 LoRA**,不是模型本体,也不支持 API-Inference。
177
+
178
+ **视频类 9 个全部不可能**:魔搭 API-Inference 根本不提供视频生成——文档只定义了 `image_generation` 一种任务类型,覆盖范围明确写的是「开源大语言模型(LLM),多模态模型(MLLM),以及 AIGC 专区**文生图**模型」。MiniMax H3 是唯一一个权重真实存在于魔搭的清单视频模型,但不在 API-Inference 范围内。
179
+
180
+ ### 关于 Qwen Image 3.0
181
+
182
+ **魔搭上没有 Qwen Image 3.0**,`Qwen/Qwen-Image-3.0` 这个 ID 不存在。
183
+
184
+ Qwen 官方在魔搭的图像模型只有 4 个:`Qwen/Qwen-Image`、`Qwen/Qwen-Image-Edit-2509`、`Qwen/Qwen-Image-Edit-2511`、`Qwen/Qwen-Image-2512`。其中 `Qwen-Image-2512` 的模型卡自述是「Qwen-Image 文生图基础模型的 12 月更新版」,**不是** 3.0。清单里的 Qwen Image 3.0 是通义的闭源商业版本,两条线不同。
185
+
186
+ > 若要在魔搭侧跟进 Qwen 图像新版本,正确的 ID 是 `Qwen/Qwen-Image-2512`(文生图)和 `Qwen/Qwen-Image-Edit-2511`(图片编辑)。
187
+
188
+ ## 9. 适配要点
189
+
190
+ - 全部模型共用同一个端点与同一套参数,**只有 `model` 值和尺寸上限不同**;不要为每个模型复制一份 builder。
191
+ - 尺寸边界必须按模型分档,不能统一用 [64, 2048]。
192
+ - 计价不能用货币表达,应按魔粒档位展示。
193
+ - 自定义模型入口在保存前调 `list_model_providers` 校验可用性;成功时复用并持久化返回的 `CostTier` / `EstimatedMagicGrainCost`,校验失败(`unknown`)时放行并警告、价格保持未知,不要当成不支持或默认成 1 魔粒。
194
+ - 项目默认隐藏的参数(`seed`、负面提示词):魔搭两个字段都有,按项目约定**不显示、不请求**。
195
+
196
+ ## 10. 原始链接索引
197
+
198
+ | 信息 | 链接 | 是否需登录 |
199
+ |---|---|---|
200
+ | API-Inference 介绍与完整参数表 | https://www.modelscope.cn/docs/model-service/API-Inference/intro | 否 |
201
+ | API-Inference 限制与覆盖范围 | https://www.modelscope.cn/docs/model-service/API-Inference/limits | 否 |
202
+ | 魔粒说明(获取与消耗规则) | https://www.modelscope.cn/docs/magicube/intro | 否 |
203
+ | API-Provider(高并发替代路径) | https://www.modelscope.cn/docs/model-service/API-Inference/api-provider | 否 |
204
+ | 模型可用性判定接口 | https://www.modelscope.cn/api/v1/inference/list_model_providers?ModelId=&lt;id&gt; | 否 |
205
+ | 官方示例代码接口 | https://www.modelscope.cn/api/v1/inference/&lt;ns&gt;/&lt;name&gt;/api_inference_example | 否 |
206
+ | Qwen-Image-2512 模型卡 | https://www.modelscope.cn/models/Qwen/Qwen-Image-2512 | 否 |
207
+ | Token 管理 | https://www.modelscope.cn/my/myaccesstoken | **是** |
@@ -0,0 +1,311 @@
1
+ # 文档采集手册
2
+
3
+ > 这份手册只记**做过一遍才知道**的东西。目标:下次做模型调研时,不再重新踩一遍坑。
4
+ > 最后更新:2026-08-28(补充 SDK 官方资料先行、事件契约与首发验证规范)
5
+
6
+ ---
7
+
8
+ ## 一、怎么发现文档:先拿全量索引,别靠单页链接往下点
9
+
10
+ **最大的坑:一个模型往往对应多份文档、多个端点,只看用户给的那一个链接必然漏。**
11
+ 上一版适配 Midjourney 只做了 2 个端点,实际有 18 个;Grok Imagine 2.0 漏掉了整块图层选区编辑。
12
+
13
+ ### 三个平台都有 `llms.txt` 全量索引,第一步就抓它
14
+
15
+ ```bash
16
+ curl -sL https://docs.apimart.ai/llms.txt -o apimart-index.txt # 171 行,含全部页面
17
+ curl -sL https://docs.kie.ai/llms.txt -o kie-index.txt # 517 行
18
+ curl -sL https://fal.ai/llms.txt -o fal-index.txt # 只是代表性列表,不全,见下
19
+ ```
20
+
21
+ 然后**按前缀过滤出目标模型的所有页面**,而不是凭印象猜:
22
+
23
+ ```bash
24
+ grep -oE "https://docs\.apimart\.ai/en/api-reference/(images|videos)[^)]*\.md" apimart-index.txt | sort -u
25
+ grep -oE "https://docs\.kie\.ai/cn/market/[^)]*\.md" kie-index.txt | sort -u
26
+ ```
27
+
28
+ ### 发现「同一个模型有多份文档」的信号
29
+
30
+ | 信号 | 例子 |
31
+ |---|---|
32
+ | 同目录下多个页面 | `images/midjourney/{generation,imagine,blend,describe,upscale,...}` 18 个 |
33
+ | `official` / `ext` 后缀 | `gpt-image-2/{generation,official}`、`grok-imagine-2.0-ext/{generation,layer-region-edit,official}` |
34
+ | `-lite` / `-fast` / `-mini` 变体 | `gemini-3.1-flash/{generation,generation-lite}` |
35
+ | 平级的辅助能力 | `minimax-h3/{generation,context-ir,regeneration}`、`seedance-2-0/private-avatar` |
36
+ | KIE 把能力拆成独立 model | `kling-3.0-omni/{text-to-video,image-to-video,reference-to-video,transformation}` |
37
+
38
+ **判断标准**:只要索引里同一个模型名下有第二个页面,就必须打开看,哪怕名字看起来像「辅助说明」。
39
+
40
+ ### Fal 的索引不全,要靠探测
41
+
42
+ `fal.ai/llms.txt` 只列代表性端点。Fal 的端点是**可组合路径**(`<厂商>/<模型>/<档位>/<输入形态>`),用 HTTP 状态码探测存在性最快:
43
+
44
+ ```bash
45
+ for p in bytedance/seedance-2.0/text-to-video bytedance/seedance-2.0/image-to-video \
46
+ bytedance/seedance-2.0/reference-to-video; do
47
+ code=$(curl -sL -o /dev/null -w "%{http_code}" "https://fal.ai/models/$p/llms.txt")
48
+ echo "$code $p"
49
+ done
50
+ ```
51
+
52
+ 常见组合维度:`{text-to-video, image-to-video, reference-to-video}`、`{pro, standard}`、`{turbo}`、`{edit}`。
53
+ 探测出来的 404 也是信息——比如 `google/gemini-omni-flash/text-to-video` 不存在,说明 Fal 上做不了纯文生视频。
54
+
55
+ ---
56
+
57
+ ## 二、怎么找文档:优先拿原始 Markdown,浏览器是最后手段
58
+
59
+ ### 1. 文档站:URL 后面加 `.md` 就是原文
60
+
61
+ `docs.apimart.ai` 和 `docs.kie.ai` 都支持,且 `/cn/` 前缀是中文版:
62
+
63
+ ```bash
64
+ curl -sL "https://docs.apimart.ai/cn/api-reference/images/midjourney/imagine.md"
65
+ curl -sL "https://docs.kie.ai/cn/market/kling/kling-3-0.md"
66
+ ```
67
+
68
+ **比浏览器渲染好在**:拿到的是完整原文(含被折叠的参数、被 Tab 隐藏的示例),不会因为 UI 折叠而丢内容。
69
+
70
+ ### 2. Fal:每个模型的 `llms.txt` 是权威实时 schema
71
+
72
+ ```bash
73
+ curl -sL "https://fal.ai/models/<endpoint-id>/llms.txt"
74
+ ```
75
+
76
+ 它由平台元数据实时生成,**不会与线上端点漂移**,且**同时包含 schema 和价格**。
77
+
78
+ 枚举值被折叠成 `ImageSize | Enum` 时,去拿 OpenAPI 才能看到具体取值:
79
+
80
+ ```bash
81
+ curl -sL "https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=bytedance/seedream/v5/pro/text-to-image"
82
+ # → image_size 的真实枚举:square_hd / square / portrait_4_3 / ... / auto_1K / auto_2K
83
+ ```
84
+
85
+ ### 3. 官方控制台是 SPA,curl 拿不到正文——去找它的内容接口
86
+
87
+ 火山方舟的文档页 `curl` 只能拿到 18 个字符。用 ego-browser 打开后列出网络请求,就能找到真正的内容 API:
88
+
89
+ ```js
90
+ await js(`performance.getEntriesByType('resource').map(e => e.name)
91
+ .filter(n => /api|doc|content/i.test(n))`)
92
+ ```
93
+
94
+ 火山方舟的结果(**可直接 curl,无需登录**):
95
+
96
+ ```bash
97
+ # 单篇文档全文(Result.MDContent 是完整 Markdown,Result.UpdatedTime 是官方更新时间)
98
+ curl -sL "https://docs.volcengine.com/api/doc/getDocDetail?LibraryID=82379&DocumentID=1541523&type=online"
99
+ # 全库目录(用来找价格页、模型列表页的 DocumentID)
100
+ curl -sL "https://docs.volcengine.com/api/doc/getDocList?LibraryID=82379&DataSchema=all_second_nav&type=online"
101
+ ```
102
+
103
+ 常用 DocumentID:`1541523` 图片生成 API、`1544106` 模型价格、`1330310` 模型列表。
104
+
105
+ **通用做法**:任何 SPA 文档站,都先用这招找内容 API,找到就退回 curl,别在浏览器里跟折叠 UI 搏斗。
106
+
107
+ ### 4. 阿里云百炼是 SSR,直接 curl 就有全文
108
+
109
+ ```bash
110
+ curl -sL "https://help.aliyun.com/document_detail/3047054.html" # 会 302 到 slug 页
111
+ curl -sL "https://help.aliyun.com/zh/model-studio/model-pricing" # 价格页,3.4 MB HTML
112
+ ```
113
+
114
+ 用户给的控制台链接里的 `url=3047054` 就是 `document_detail` 的 ID,可以直接换算。
115
+
116
+ ### 5. 价格页只能用浏览器(ego-browser)
117
+
118
+ APIMart 和 KIE 的定价都是前端渲染的:
119
+
120
+ - **APIMart**:图像/视频/LLM/音频是**标签页**,切了才渲染。用 `js()` 找文本等于「视频」的可见元素点一下,等 4 秒再取 `document.body.innerText`
121
+ - **KIE**:441 个模型的**搜索框** + 分页。`fillInput('input[type="text"]', 'seedance')` → 等 3.5 秒 → 取全文
122
+ - ⚠️ 注意底部的 `1-25 of 28`:**默认每页 25 条,会漏**。换更精确的搜索词(如 `bytedance/seedance-2,` 带逗号)把结果压到 25 条以内
123
+
124
+ 把 ego-browser 的输出落盘要这样写(`cliLog` 走的是进程输出):
125
+
126
+ ```bash
127
+ ego-browser nodejs > out.txt 2>&1 <<'EOF'
128
+ const task = await useOrCreateTaskSpace(<空间id>)
129
+ cliLog(await js(`document.body.innerText`))
130
+ EOF
131
+ ```
132
+
133
+ ---
134
+
135
+ ## 三、怎么处理文档:两个提取脚本 + 一轮交叉校验
136
+
137
+ ### 1. KIE 文档是 OpenAPI YAML,用脚本提 schema
138
+
139
+ KIE 每页正文是一个 ```` ```yaml ```` 代码块包着的完整 OpenAPI。手读会漏字段,**必须用脚本递归展开**(含 `enum` / `default` / `minItems` / `maxItems` / 嵌套对象):
140
+
141
+ ```python
142
+ # kie_extract.py —— 用法:python3 kie_extract.py <文件...>
143
+ import sys, re, yaml, json
144
+
145
+ def fmt(name, sch, indent=0, req=()):
146
+ pad = ' ' * indent
147
+ typ = sch.get('type', '')
148
+ if 'enum' in sch: typ += ' enum=' + json.dumps(sch['enum'], ensure_ascii=False)
149
+ if 'default' in sch: typ += f" default={json.dumps(sch['default'], ensure_ascii=False)}"
150
+ for k in ('minimum','maximum','minLength','maxLength','minItems','maxItems'):
151
+ if k in sch: typ += f" {k}={sch[k]}"
152
+ desc = re.sub(r'\s*\n\s*', ' ', (sch.get('description') or '').strip())
153
+ print(f"{pad}- {name} [{typ}] {'必填' if name in req else '可选'}: {desc[:1400]}")
154
+ if sch.get('type') == 'object' and 'properties' in sch:
155
+ r = tuple(sch.get('required', ()))
156
+ for k, v in sch['properties'].items(): fmt(k, v, indent + 1, r)
157
+ if sch.get('type') == 'array' and isinstance(sch.get('items'), dict):
158
+ it = sch['items']
159
+ if it.get('type') == 'object' and 'properties' in it:
160
+ r = tuple(it.get('required', ()))
161
+ for k, v in it['properties'].items(): fmt(k, v, indent + 1, r)
162
+
163
+ for path in sys.argv[1:]:
164
+ t = open(path, encoding='utf-8').read()
165
+ m = re.search(r'```yaml\n(.*?)\n```', t, re.S)
166
+ if not m: print(f'{path}: 无 OpenAPI 块'); continue
167
+ d = yaml.safe_load(m.group(1))
168
+ print('\n=====', path.split('/')[-1])
169
+ for p, ops in d.get('paths', {}).items():
170
+ for method, op in ops.items():
171
+ print(f"### {method.upper()} {p} | {op.get('summary')} | {op.get('operationId')}")
172
+ rb = op.get('requestBody', {}).get('content', {}).get('application/json', {}).get('schema')
173
+ if rb:
174
+ req = tuple(rb.get('required', ()))
175
+ for k, v in (rb.get('properties') or {}).items(): fmt(k, v, 1, req)
176
+ ```
177
+
178
+ **`input` 是 `oneOf` 的要单独展开**(KIE 用它表达「二选一的输入形态」,如 Kling Omni 的「单张首帧」vs「仅视频输入」)——上面脚本会跳过,需要另外 dump `schema['properties']['input']`。
179
+
180
+ 对比多个变体的字段差异,一行就够:
181
+
182
+ ```bash
183
+ for f in seedance-2 seedance-2-fast seedance-2-mini; do
184
+ echo -n "$f: "; python3 kie_extract.py raw/$f.md | grep -oE "^ - [a-z_]+" | tr -d ' -' | tr '\n' ' '; echo
185
+ done
186
+ # 一眼看出 mini 少了 return_last_frame
187
+ ```
188
+
189
+ ### 2. APIMart 文档是 MDX,代码示例占 80%,先剥掉
190
+
191
+ 每页会把同一个请求写成 15 种语言的示例,正文被淹没:
192
+
193
+ ```python
194
+ # apimart_strip.py —— 保留 bash/json,其余语言的代码块换成占位符
195
+ import sys, re
196
+ for path in sys.argv[1:]:
197
+ t = open(path, encoding='utf-8').read()
198
+ t = re.sub(r'```([^\n]*)\n(.*?)```',
199
+ lambda m: m.group(0) if m.group(1).startswith(('bash','json'))
200
+ else f'\n[[{m.group(1).strip()} 示例已省略]]\n', t, flags=re.S)
201
+ print(re.sub(r'\n{3,}', '\n\n', t))
202
+ ```
203
+
204
+ 之后配合 `sed -n '/^## Body/,$p'` 直接跳到参数区。
205
+
206
+ ### 3. 必做的三项交叉校验
207
+
208
+ | 校验 | 为什么 | 这次的实例 |
209
+ |---|---|---|
210
+ | **API 文档正文价格 vs 定价页价格** | 文档正文更新慢,经常是过期价 | Seedream Pro 文档写 $0.045/$0.09,定价页是 $0.02928/$0.05856 |
211
+ | **同一模型跨供应商的取值集合** | 名字一样但取值/默认值经常不同 | Lite 分辨率官方是 2K/3K/4K,旧文档抄成了 1K/2K;`adaptive`(APIMart/KIE) vs `auto`(Fal);`duration` 整数 vs 字符串 |
212
+ | **schema 内部自相矛盾** | 供应商文档确实会写错 | KIE Qwen3-Pro 的 `enum` 与 `default` 不一致;KIE z-image 的 `aspect_ratio` 描述提到 `auto` 但枚举里没有 |
213
+
214
+ **处理原则**:两处不一致时**两个都写进文档**并说明以哪个为准;文档自相矛盾时标注「接入前实测确认」,不要替供应商猜。
215
+
216
+ ---
217
+
218
+ ## 四、SDK 官方资料先行与首发验证(唯一详细规范)
219
+
220
+ Henji-AI 是 `@henjicc/ai-sdk` 的主开发仓库与首发验证宿主。新模型、新供应商或新协议必须先在这里完成官方调研、SDK 实现和完整验证,再发布版本;消费项目只接入已经验证并发布的精确版本。禁止先在消费项目按猜测实现协议,再把结果回填 SDK。
221
+
222
+ ### 1. 先文档,后代码
223
+
224
+ 编码前必须把以下信息写入本目录对应的供应商/模型文档,并能逐项追溯到官方来源:
225
+
226
+ - 模型展示名、API model ID 与适用区域/版本;
227
+ - Base URL、端点、方法、鉴权、请求字段、枚举、限制和默认值;
228
+ - 当前价格、计费维度、价格来源与冲突取舍;
229
+ - 同步响应,或轮询、SSE、WebSocket 等异步/流式协议的完整事件契约;
230
+ - 错误、终态、取消、断线、超时、资源释放与连接复用规则。
231
+
232
+ 缺少官方来源,或模型、端点、价格、事件契约中任一项仍无法确定时,必须把未知项和已查入口写清并暂停编码;不得用相近模型、旧版本、SDK 现状或消费项目行为替官方契约作结论。官方资料本身矛盾时同时保留冲突来源,标为“实现前待官方确认/授权实测”,不能替供应商猜。
233
+
234
+ ### 2. 流式与异步协议必须有事件契约矩阵
235
+
236
+ 只要涉及 WebSocket、SSE、流式 HTTP、上传后轮询或回调,就必须在供应商/模型文档中按官方资料建立事件级矩阵。每一个官方事件/状态单独一行,不得只写一条 happy path 示例:
237
+
238
+ | 事件/状态 | 前置状态 | 字段契约(required / optional / nullable) | 空值/缺字段语义 | 下一状态 | 对外输出 | 副作用 | 终态/错误 | 连接复用 |
239
+ |---|---|---|---|---|---|---|---|---|
240
+ | 官方事件名或状态值 | 允许从哪些状态进入 | 逐字段写清存在性、类型与可空性 | `null`、空串、空数组、字段缺失分别是否合法以及是否忽略 | 保持/迁移到哪个状态 | partial/final/usage/finish 或无输出 | ack、上传、轮询、计时器、资源释放等 | 是否终止;官方错误码/原因 | 继续收消息、等待关闭、主动关闭或可开启下一会话 |
241
+
242
+ 矩阵还必须说明状态机不变量:首事件、合法重复/乱序、是否允许先终态后结果、什么才算“有效 final”、空终态如何处理、断线后能否恢复、取消与正常结束各释放哪些资源。若官方没有说明某项,明确写“官方未说明”,不要把实现假设写成官方事实。
243
+
244
+ ### 3. 官方示例与 fixture 一一对应
245
+
246
+ 官方资料中出现的每一个字面请求、响应或事件示例,都要逐项进入 `packages/ai-sdk/tests/fixtures/`,或由测试逐字内联引用同一份 fixture。fixture 必须记录:
247
+
248
+ - 精确来源 URL 与抓取日期;
249
+ - 内容是官方原样、仅做脱敏/不可联网替换,还是从字段表构造;
250
+ - 任何替换的字段及替换原因;
251
+ - 对应事件矩阵的行或场景。
252
+
253
+ 原样示例只允许做安全脱敏、ID/URL 不可联网替换和必要的稳定化,不得为了让当前 parser 通过而补字段。官方只有字段表、没有字面示例时,可以据表构造 fixture,但必须标为“依据官方字段表构造”,不能标为官方原样。合成负例必须放在独立场景或独立文件并标为 `synthetic-negative`(或同等清晰标记),不得冒充官方样本。fixture 的通用格式与现有目录约定见 [../../tests/fixtures/README.md](../../tests/fixtures/README.md)。
254
+
255
+ ### 4. fixture、parser 与测试必须闭环
256
+
257
+ 协议实现的精确测试必须从事件矩阵和 fixture 推导,至少覆盖实际适用的下列场景:
258
+
259
+ - 官方 happy path 的逐事件解析与完整状态迁移;
260
+ - 合法空值(包括合法空始帧/心跳/无输出事件);
261
+ - required 字段缺失或类型错误的明确拒绝;
262
+ - 空终态、结束前无有效 final、重复事件、乱序事件;
263
+ - 供应商错误事件、网络断开、取消、超时;
264
+ - 正常结束、失败、取消、断线后的连接、计时器、迭代器和会话资源释放。
265
+
266
+ “测试通过”还不够,门禁必须做一次**断牙验证**:临时破坏被测试的不变量(例如把合法空事件误判为错误、接受缺失必填字段、漏掉终态释放),确认对应测试确实失败,再恢复实现并确认重新通过。断牙改动不能提交;交接中记录破坏点和实际失败的测试。只匹配标题、关键词或 fixture 数量的检查不算协议门禁。
267
+
268
+ ### 5. SDK 首发与消费顺序
269
+
270
+ 发布和接入严格按以下顺序进行,任一步失败都在当前阶段修复,不跨阶段绕过:
271
+
272
+ 1. 在 Henji-AI 跑变更协议/模型的精确契约测试与宿主集成测试;
273
+ 2. 跑 SDK 全量测试、可移植性检查、类型/构建、打包与本地安装包验证;
274
+ 3. 从将要发布的包或远端预发布/正式包回装,在受限运行环境验证公开入口、按需 bundle 与版本内容;
275
+ 4. 发布 SDK;
276
+ 5. 消费项目精确锁定已验证版本及 lockfile integrity,不使用 workspace 提升、浮动范围或源码旁路;
277
+ 6. 消费项目再运行宿主 transport、凭据、媒体、取消、日志和资源释放的集成测试。
278
+
279
+ 真实付费网络只在用户明确授权时执行;没有真网不妨碍协议契约测试,但必须在交接中准确写明边界,不能把 fixture/scripted 测试表述成真实供应商成功。
280
+
281
+ ---
282
+
283
+ ## 五、零散但会卡住你的坑
284
+
285
+ | 坑 | 表现 | 解法 |
286
+ |---|---|---|
287
+ | **KIE 限流** | 连续请求后返回 HTTP **200**,但内容是 HTML 外壳 | 用 `grep -l "DOCTYPE html"` 检出,加 2 秒延迟重试。批量下载后一定要跑一次这个检查 |
288
+ | **zsh 不做单词分割** | `for p in $PATHS` 把整个多行变量当成一个词 | 用 `while IFS= read -r p; do ... done < 路径文件` |
289
+ | **Bash 工具禁用前台 `sleep`** | 加延迟的循环跑不了 | `perl -e 'select(undef,undef,undef,2.0)'` |
290
+ | **ego-browser 里 `require` + 顶层 await 冲突** | `Cannot determine intended module format` | 别在 heredoc 里写文件,用 `> out.txt 2>&1` 重定向 |
291
+ | **shell 工作目录会跨调用保留** | 上一条 `cd` 影响下一条 | 一律用绝对路径 |
292
+ | **文件名带 `/`** | 批量落盘时路径炸掉 | `tr '/' '~'` 做扁平文件名 |
293
+ | **Fal 价格标注 tentative** | 价格会变 | 文档里注明「接入前重新读一次 `llms.txt`」 |
294
+
295
+ ---
296
+
297
+ ## 六、推荐执行顺序
298
+
299
+ 1. **抓三份 `llms.txt` 索引** → 按模型名前缀过滤,列出**完整**页面清单(这一步决定会不会漏能力)
300
+ 2. **Fal 端点探测** → 补上索引里没有的组合路径
301
+ 3. **批量 curl 落盘**(`.md` / `llms.txt`),完成后检查有没有 HTML 外壳
302
+ 4. **官方站**:SPA 找内容 API,SSR 直接 curl
303
+ 5. **价格页**:ego-browser,注意标签页与分页
304
+ 6. **用两个脚本提取** schema 与正文,逐字段成表
305
+ 7. **三项交叉校验**,不一致的地方写清来源与取舍
306
+ 8. 涉及异步/流式协议时,完成第四节的事件矩阵、官方 fixture 与测试场景清单
307
+ 9. 每份文档结尾写「原始链接索引」,标注**是否需要登录**
308
+
309
+ ---
310
+
311
+ 相关:[README.md](README.md)(模型清单与结构约定)、[docs/rules/model-adaptation.md](../../../../docs/rules/model-adaptation.md)(代码侧适配规范)
@@ -0,0 +1,59 @@
1
+ # 透视变换(Fal)适配资料
2
+
3
+ | 项目 | 内容 |
4
+ |---|---|
5
+ | 最后更新 | 2026-08-29 |
6
+ | 平台 | Fal |
7
+ | 展示名 | Perspective Change |
8
+ | API endpoint ID | `fal-ai/image-apps-v2/perspective` |
9
+ | 模态 | 单图输入 → 单个离散视角图 |
10
+ | 商用标记 | Fal 模型页明确标为 `Commercial use` |
11
+ | 价格 | `$0.04 / image` |
12
+ | 登录状态 | 模型页、Agent 文本与 OpenAPI 公开;真实调用需要 Fal Key |
13
+ | 接入定位 | 多角度能力的离散完整方位档;不与连续控制档混成同一结果组 |
14
+
15
+ ## 1. 接口
16
+
17
+ - endpoint ID:`fal-ai/image-apps-v2/perspective`
18
+ - 输入:`image_url` 必填;`target_perspective` 可选;`aspect_ratio` 可选。
19
+ - 输出:`images[]`,首版要求恰好一张。
20
+ - 异步、上传、取消、结果解析复用 [Fal 供应商资料](../供应商/Fal.md)。
21
+
22
+ ## 2. 离散视角枚举
23
+
24
+ | API 值 | 产品标签 | 精度说明 |
25
+ |---|---|---|
26
+ | `front` | 正面 | 语义预设,不是 0° 相机外参 |
27
+ | `left_side` | 左侧面 | 语义预设,不承诺精确 90° |
28
+ | `right_side` | 右侧面 | 语义预设,不承诺精确 -90° |
29
+ | `back` | 背面 | 由模型推断不可见区域 |
30
+ | `top_down` | 顶视 | 语义预设 |
31
+ | `bottom_up` | 仰视 | 语义预设 |
32
+ | `birds_eye` | 鸟瞰 | 语义预设 |
33
+ | `three_quarter_left` | 左三分之四 | 语义预设 |
34
+ | `three_quarter_right` | 右三分之四 | 语义预设 |
35
+
36
+ 首版固定 1 张输入图、每个目标预设单独请求、同组不允许重复预设。默认完整方位组为正面、右侧面、背面、左侧面。该端点没有提示词、连续角度、距离或 FOV 字段,界面不得补造相关控件。
37
+
38
+ ## 3. 价格与失败策略
39
+
40
+ - `$0.04 / image`;4 个方位约 `$0.16`,全部 9 个预设约 `$0.36`。
41
+ - 单次输出数量不等于 1 时视为契约失败。
42
+ - 批次失败时沿用多角度原子落图和按失败项重试策略。
43
+ - 离散档和连续档来自不同模型,不能在一个结果组混用,否则组内一致性和精度语义不可比较。
44
+
45
+ ## 4. 待真实验证
46
+
47
+ - `front/side/back` 的方位遵从和人物/商品身份一致性。
48
+ - 不可见背面补全质量与文字、标志、结构漂移。
49
+ - `top_down` 与 `birds_eye` 的实际差异。
50
+ - 官方未给延迟承诺,需按 request ID 记录真实耗时。
51
+
52
+ ## 5. 原始链接索引
53
+
54
+ | 内容 | 链接 | 是否需登录 | 核查日期 |
55
+ |---|---|---|---|
56
+ | 模型页、商用标记与价格 | https://fal.ai/models/fal-ai/image-apps-v2/perspective | 否 | 2026-08-29 |
57
+ | 实时 Agent 文本 | https://fal.ai/models/fal-ai/image-apps-v2/perspective/llms.txt | 否 | 2026-08-29 |
58
+ | OpenAPI | https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=fal-ai/image-apps-v2/perspective | 否 | 2026-08-29 |
59
+ | Fal 队列协议 | https://fal.ai/docs/documentation/model-apis/inference/queue | 否 | 2026-08-29 |
@@ -0,0 +1,77 @@
1
+ # Electron 接入
2
+
3
+ ## 分层
4
+
5
+ SDK 客户端应只在 Electron **主进程**构造一次。渲染层通过 preload 白名单和 IPC 发送可序列化
6
+ DTO,不直接持有 API key,不导入 provider/runtime 实现,不直接请求供应商。
7
+
8
+ ```text
9
+ renderer -> preload -> ipcMain -> createAIClient({ runtime }) -> provider
10
+ ```
11
+
12
+ 痕迹AI 的已验证实现在
13
+ `electron/main/services/ai-runtime/sdk-runtime.ts`,其单例 `sdkRuntimeContext` 与
14
+ `sdkAIClient` 同时服务生成和 LLM。
15
+
16
+ ## 四个宿主能力
17
+
18
+ ```ts
19
+ import fs from 'node:fs'
20
+ import path from 'node:path'
21
+ import {
22
+ createAIClient,
23
+ defaultFilename,
24
+ inferMimeFromPath,
25
+ normalizeLocalSource,
26
+ parseDataUri,
27
+ type RuntimeContext,
28
+ } from '@henjicc/ai-sdk'
29
+
30
+ const runtime: RuntimeContext = {
31
+ transport: { fetch: (url, init) => fetch(url, init) },
32
+ credentials: {
33
+ get: (scope, providerId) => readFromOsProtectedStore(scope, providerId),
34
+ },
35
+ media: {
36
+ async read(ref) {
37
+ const data = parseDataUri(ref)
38
+ if (data) {
39
+ return { ...data, filename: defaultFilename(data.mimeType) }
40
+ }
41
+ const localPath = normalizeLocalSource(ref)
42
+ if (!localPath) throw new Error(`Unsupported media ref: ${ref}`)
43
+ return {
44
+ bytes: new Uint8Array(fs.readFileSync(localPath)),
45
+ mimeType: inferMimeFromPath(localPath),
46
+ filename: path.basename(localPath),
47
+ }
48
+ },
49
+ },
50
+ logger: createSanitizedLogger(),
51
+ }
52
+
53
+ export const client = createAIClient({ runtime })
54
+ ```
55
+
56
+ `readFromOsProtectedStore` 和 `createSanitizedLogger` 是宿主的安全存储/日志实现;痕迹AI 分别使用
57
+ Electron `safeStorage` 和统一结构化日志。日志不得放 API key、token、cookie 或完整授权头。
58
+
59
+ ### `safeStorage` 与开发脚本身份
60
+
61
+ 独立 Electron 验证脚本默认使用 `Electron` 这个 app name/profile,不能直接解密正式应用以另一
62
+ app identity 写入的密文。若维护脚本需要复用正式凭据,必须在 `app.whenReady()` **之前**设置与
63
+ 正式应用相同的 `app.setName()`,并让 `userData` / `sessionData` 指向正式 profile;否则应要求用户
64
+ 重新注入密钥,而不是复制密文、猜解密格式或把明文写入临时文件。这个限制只影响复用既有
65
+ `safeStorage` 密文;按本指南自行实现新宿主时,应始终让读写使用同一个应用身份。
66
+
67
+ ## IPC 边界
68
+
69
+ - IPC 只传 `modelId` / 扁平 `params` / `requestId` / `taskId`等 DTO,不传函数或 `RuntimeContext`。
70
+ - `generate()` 可能返回 `pending + taskId`;宿主可立即 `continuePolling()`,或持久化 taskId 稍后续查。
71
+ - SDK 结果只有 URL/metadata,不会下载成 `filePath`。落盘、媒体协议转换、进度学习和应用 trace 留在宿主。
72
+ - 创建阶段用 requestId 取消;续轮询阶段用供应商 taskId 取消:
73
+ `client.cancel({ namespace: 'generation', taskId })`。LLM 使用 `namespace: 'llm'`。
74
+ - 应用退出或替换 client 时调用 `dispose()`;它会注销该 client 拥有的自定义 provider。
75
+
76
+ Electron 主进程从包根 `@henjicc/ai-sdk` 导入是最兼容的写法;老的 TypeScript
77
+ `moduleResolution: "node"` 不识别 `exports` 子路径。