@henjicc/ai-sdk 0.2.8 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/CHANGELOG.md +157 -141
  2. package/README.md +497 -455
  3. package/dist/capabilities/embedding/bailian.d.ts +23 -0
  4. package/dist/capabilities/embedding/bailian.js +10 -0
  5. package/dist/capabilities/embedding/bigmodel.d.ts +9 -0
  6. package/dist/capabilities/embedding/bigmodel.js +5 -0
  7. package/dist/capabilities/embedding/index.d.ts +1 -0
  8. package/dist/capabilities/embedding/index.js +1 -0
  9. package/dist/capabilities/embedding/ppio.d.ts +7 -0
  10. package/dist/capabilities/embedding/ppio.js +5 -0
  11. package/dist/capabilities/embedding/siliconflow.d.ts +21 -0
  12. package/dist/capabilities/embedding/siliconflow.js +10 -0
  13. package/dist/capabilities/embedding/volcengine.d.ts +10 -0
  14. package/dist/capabilities/embedding/volcengine.js +6 -0
  15. package/dist/capabilities/rerank/bailian.d.ts +21 -0
  16. package/dist/capabilities/rerank/bailian.js +14 -0
  17. package/dist/capabilities/rerank/bigmodel.d.ts +9 -0
  18. package/dist/capabilities/rerank/bigmodel.js +5 -0
  19. package/dist/capabilities/rerank/index.d.ts +1 -0
  20. package/dist/capabilities/rerank/index.js +1 -0
  21. package/dist/capabilities/rerank/ppio.d.ts +7 -0
  22. package/dist/capabilities/rerank/ppio.js +5 -0
  23. package/dist/capabilities/rerank/siliconflow.d.ts +21 -0
  24. package/dist/capabilities/rerank/siliconflow.js +10 -0
  25. package/dist/capabilities/retrieval/http.d.ts +3 -0
  26. package/dist/capabilities/retrieval/http.js +48 -0
  27. package/dist/capabilities/retrieval/module.d.ts +11 -0
  28. package/dist/capabilities/retrieval/module.js +110 -0
  29. package/dist/capabilities/retrieval/types.d.ts +54 -0
  30. package/dist/capabilities/retrieval/types.js +1 -0
  31. package/dist/capabilities/retrieval/validation.d.ts +10 -0
  32. package/dist/capabilities/retrieval/validation.js +65 -0
  33. package/dist/capabilities/types.d.ts +1 -1
  34. package/dist/catalog/apimart/gpt-image-2.5.model.d.ts +2 -0
  35. package/dist/catalog/apimart/gpt-image-2.5.model.js +51 -0
  36. package/dist/catalog/fal/gpt-image-2.5.model.d.ts +2 -0
  37. package/dist/catalog/fal/gpt-image-2.5.model.js +53 -0
  38. package/dist/catalog/fal/ic-light-v2.model.js +9 -13
  39. package/dist/catalog/grsai/gpt-image-2.5.model.d.ts +2 -0
  40. package/dist/catalog/grsai/gpt-image-2.5.model.js +54 -0
  41. package/dist/catalog/grsai/gptImage25Sizes.d.ts +1 -0
  42. package/dist/catalog/grsai/gptImage25Sizes.js +76 -0
  43. package/dist/catalog/index.js +112 -104
  44. package/dist/catalog/kie/gpt-image-2.5.model.d.ts +2 -0
  45. package/dist/catalog/kie/gpt-image-2.5.model.js +38 -0
  46. package/dist/catalog/shared/gptImage25.d.ts +16 -0
  47. package/dist/catalog/shared/gptImage25.js +48 -0
  48. package/dist/catalog/shared/gptImage25Pricing.d.ts +12 -0
  49. package/dist/catalog/shared/gptImage25Pricing.js +508 -0
  50. package/dist/llm/defaults.d.ts +1 -1
  51. package/dist/llm/defaults.js +1 -1
  52. package/dist/llm/discovery.d.ts +2 -0
  53. package/dist/llm/discovery.js +16 -5
  54. package/dist/llm/modelCatalogEntries.js +32 -0
  55. package/dist/llm/providerPresets.d.ts +3 -1
  56. package/dist/llm/providerPresets.js +6 -3
  57. package/dist/llm/providerReasoningRequest.js +14 -1
  58. package/dist/llm/siliconflow/index.d.ts +21 -0
  59. package/dist/llm/siliconflow/index.js +32 -0
  60. package/dist/llm/siliconflow/preset.d.ts +6 -0
  61. package/dist/llm/siliconflow/preset.js +33 -0
  62. package/dist/packs/models/apimart/gpt-image-2.5.d.ts +6 -0
  63. package/dist/packs/models/apimart/gpt-image-2.5.js +7 -0
  64. package/dist/packs/models/fal/gpt-image-2.5.d.ts +6 -0
  65. package/dist/packs/models/fal/gpt-image-2.5.js +7 -0
  66. package/dist/packs/models/grsai/gpt-image-2.5.d.ts +6 -0
  67. package/dist/packs/models/grsai/gpt-image-2.5.js +7 -0
  68. package/dist/packs/models/kie/gpt-image-2.5.d.ts +6 -0
  69. package/dist/packs/models/kie/gpt-image-2.5.js +7 -0
  70. package/dist/packs/provider-packs/apimart.d.ts +1 -1
  71. package/dist/packs/provider-packs/apimart.js +21 -20
  72. package/dist/packs/provider-packs/fal.d.ts +1 -1
  73. package/dist/packs/provider-packs/fal.js +37 -36
  74. package/dist/packs/provider-packs/grsai.d.ts +1 -1
  75. package/dist/packs/provider-packs/grsai.js +6 -5
  76. package/dist/packs/provider-packs/kie.d.ts +1 -1
  77. package/dist/packs/provider-packs/kie.js +28 -27
  78. package/dist/packs/tool-models/fal/{qwen-image-edit-2509-multiple-angles.d.ts → qwen-image-edit-2511-multiple-angles.d.ts} +1 -1
  79. package/dist/packs/tool-models/fal/{qwen-image-edit-2509-multiple-angles.js → qwen-image-edit-2511-multiple-angles.js} +1 -1
  80. package/dist/packs/tool-packs/fal-multi-angle-tools.js +1 -1
  81. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2511-multiple-angles.model.d.ts +2 -0
  82. package/dist/tool-packs/fal-multi-angle/models/{qwen-image-edit-2509-multiple-angles.model.js → qwen-image-edit-2511-multiple-angles.model.js} +20 -17
  83. package/docs/README.md +26 -26
  84. package/docs/consumers.md +56 -48
  85. package/docs/llm-adaptation/README.md +139 -137
  86. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +103 -91
  87. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +75 -75
  88. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/MiniMax.md +84 -84
  89. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +85 -85
  90. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +232 -232
  91. 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 -87
  92. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274Qwen.md +84 -84
  93. package/docs/llm-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +88 -88
  94. package/docs/model-adaptation/Bria-Eraser/Bria-Eraser_Fal.md +32 -32
  95. package/docs/model-adaptation/Bria-/345/210/233/346/204/217/346/224/276/345/244/247/Bria-/345/210/233/346/204/217/346/224/276/345/244/247_Fal.md +31 -31
  96. package/docs/model-adaptation/ControlLight/ControlLight_Fal.md +85 -85
  97. package/docs/model-adaptation/FLUX-2-/345/244/232/350/247/222/345/272/246/FLUX-2-/345/244/232/350/247/222/345/272/246_Fal.md +107 -107
  98. package/docs/model-adaptation/Finegrain-Eraser/Finegrain-Eraser_Fal.md +31 -31
  99. package/docs/model-adaptation/Flux-Pro-Erase/Flux-Pro-Erase_Fal.md +34 -34
  100. package/docs/model-adaptation/Fun-ASR/Fun-ASR_/347/231/276/347/202/274.md +43 -43
  101. package/docs/model-adaptation/Fun-ASR-Flash-2026-06-15/Fun-ASR-Flash-2026-06-15_/347/231/276/347/202/274.md +41 -41
  102. package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +37 -37
  103. package/docs/model-adaptation/Fun-ASR-Realtime-2026-02-28/Fun-ASR-Realtime-2026-02-28_/347/231/276/347/202/274.md +39 -39
  104. package/docs/model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_/346/231/272/350/260/261.md +207 -207
  105. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_APIMart.md +173 -173
  106. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Fal.md +94 -94
  107. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Grsai.md +137 -137
  108. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_KIE.md +93 -93
  109. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_APIMart.md +66 -0
  110. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Fal.md +55 -0
  111. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Grsai.md +53 -0
  112. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_KIE.md +55 -0
  113. package/docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md +62 -62
  114. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_APIMart.md +124 -124
  115. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_Fal.md +84 -84
  116. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_KIE.md +129 -129
  117. package/docs/model-adaptation/Grok-Imagine/Grok-Imagine_KIE.md +36 -36
  118. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_APIMart.md +250 -250
  119. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_Fal.md +84 -84
  120. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_KIE.md +105 -105
  121. package/docs/model-adaptation/Hailuo-02/Hailuo-02_Fal.md +93 -93
  122. package/docs/model-adaptation/Hailuo-02/Hailuo-02_KIE.md +56 -56
  123. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_Fal.md +88 -88
  124. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_KIE.md +51 -51
  125. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_/346/264/276/346/254/247/344/272/221.md +70 -70
  126. package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +97 -94
  127. package/docs/model-adaptation/Ideogram-/345/233/276/347/211/207/346/224/276/345/244/247/Ideogram-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +41 -41
  128. package/docs/model-adaptation/Image-Apps-v2-/345/225/206/345/223/201/346/221/204/345/275/261/Image-Apps-v2-/345/225/206/345/223/201/346/221/204/345/275/261_Fal.md +72 -72
  129. package/docs/model-adaptation/Image-Apps-v2-/346/211/251/345/233/276/Image-Apps-v2-/346/211/251/345/233/276_Fal.md +93 -93
  130. package/docs/model-adaptation/Image-Apps-v2-/347/205/247/347/211/207/344/277/256/345/244/215/Image-Apps-v2-/347/205/247/347/211/207/344/277/256/345/244/215_Fal.md +86 -86
  131. package/docs/model-adaptation/Image-Apps-v2-/351/207/215/346/211/223/345/205/211/Image-Apps-v2-/351/207/215/346/211/223/345/205/211_Fal.md +84 -84
  132. package/docs/model-adaptation/Kling-3.0/Kling-3.0_APIMart.md +112 -112
  133. package/docs/model-adaptation/Kling-3.0/Kling-3.0_Fal.md +89 -89
  134. package/docs/model-adaptation/Kling-3.0/Kling-3.0_KIE.md +106 -106
  135. package/docs/model-adaptation/Kling-3.0/Kling-3.0_/346/264/276/346/254/247/344/272/221.md +119 -119
  136. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_APIMart.md +125 -125
  137. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_Fal.md +107 -107
  138. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_KIE.md +143 -143
  139. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_APIMart.md +85 -85
  140. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_Fal.md +83 -83
  141. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_KIE.md +84 -84
  142. package/docs/model-adaptation/Midjourney/Midjourney_APIMart.md +396 -396
  143. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_APIMart.md +234 -234
  144. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_Fal.md +108 -108
  145. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_KIE.md +111 -111
  146. package/docs/model-adaptation/MiniMax-Speech/MiniMax-Speech_/346/264/276/346/254/247/344/272/221.md +170 -170
  147. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_APIMart.md +89 -89
  148. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Fal.md +99 -99
  149. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Grsai.md +82 -82
  150. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_KIE.md +70 -70
  151. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_APIMart.md +79 -79
  152. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_Grsai.md +65 -65
  153. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_KIE.md +64 -64
  154. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_APIMart.md +83 -83
  155. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Fal.md +89 -89
  156. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Grsai.md +82 -82
  157. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_KIE.md +64 -64
  158. package/docs/model-adaptation/Pixelcut-/350/203/214/346/231/257/347/247/273/351/231/244/Pixelcut-/350/203/214/346/231/257/347/247/273/351/231/244_Fal.md +79 -79
  159. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_APIMart.md +117 -117
  160. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_Fal.md +84 -84
  161. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_KIE.md +103 -103
  162. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_/347/231/276/347/202/274.md +138 -138
  163. package/docs/model-adaptation/Qwen-Image-Edit-2511-/345/244/232/350/247/222/345/272/246/Qwen-Image-Edit-2511-/345/244/232/350/247/222/345/272/246_Fal.md +57 -0
  164. package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +47 -47
  165. package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +39 -39
  166. package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +39 -39
  167. package/docs/model-adaptation/Qwen3-ASR-Flash/Qwen3-ASR-Flash_/347/231/276/347/202/274.md +40 -40
  168. package/docs/model-adaptation/Qwen3-ASR-Flash-2026-02-10/Qwen3-ASR-Flash-2026-02-10_/347/231/276/347/202/274.md +33 -33
  169. package/docs/model-adaptation/Qwen3-ASR-Flash-Filetrans/Qwen3-ASR-Flash-Filetrans_/347/231/276/347/202/274.md +41 -41
  170. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +35 -35
  171. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime-2026-02-10/Qwen3-ASR-Flash-Realtime-2026-02-10_/347/231/276/347/202/274.md +37 -37
  172. package/docs/model-adaptation/README.md +313 -295
  173. package/docs/model-adaptation/SeedASR-2.0-File/SeedASR-2.0-File_/347/201/253/345/261/261/345/274/225/346/223/216.md +115 -115
  174. 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 -143
  175. package/docs/model-adaptation/SeedVR2-/345/233/276/347/211/207/346/224/276/345/244/247/SeedVR2-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +45 -45
  176. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_APIMart.md +121 -121
  177. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_Fal.md +97 -97
  178. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_KIE.md +86 -86
  179. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_APIMart.md +89 -89
  180. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_Fal.md +95 -95
  181. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_KIE.md +78 -78
  182. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_APIMart.md +89 -89
  183. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_Fal.md +96 -96
  184. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_KIE.md +78 -78
  185. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_APIMart.md +212 -212
  186. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_Fal.md +94 -94
  187. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_KIE.md +89 -89
  188. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_APIMart.md +106 -106
  189. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_Fal.md +91 -91
  190. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_KIE.md +89 -89
  191. 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 -108
  192. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_APIMart.md +194 -194
  193. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_Fal.md +100 -100
  194. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_KIE.md +141 -141
  195. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_/347/201/253/345/261/261/345/274/225/346/223/216.md +137 -137
  196. package/docs/model-adaptation/SenseVoiceSmall/SenseVoiceSmall_/347/241/205/345/237/272/346/265/201/345/212/250.md +69 -69
  197. package/docs/model-adaptation/TeleSpeechASR/TeleSpeechASR_/347/241/205/345/237/272/346/265/201/345/212/250.md +72 -72
  198. package/docs/model-adaptation/Topaz-/345/233/276/347/211/207/346/224/276/345/244/247/Topaz-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +87 -87
  199. package/docs/model-adaptation/Topaz-/351/200/217/346/230/216/345/233/276/346/224/276/345/244/247/Topaz-/351/200/217/346/230/216/345/233/276/346/224/276/345/244/247_Fal.md +34 -34
  200. package/docs/model-adaptation/Wan-2.5-Preview/Wan-2.5-Preview_/346/264/276/346/254/247/344/272/221.md +82 -82
  201. package/docs/model-adaptation/Wan-2.6/Wan-2.6_/346/264/276/346/254/247/344/272/221.md +84 -84
  202. package/docs/model-adaptation/Wan-2.7/Wan-2.7_/346/264/276/346/254/247/344/272/221.md +122 -122
  203. package/docs/model-adaptation/Whisper-Large-v3/Whisper-Large-v3_Groq.md +76 -76
  204. package/docs/model-adaptation/Whisper-Large-v3-Turbo/Whisper-Large-v3-Turbo_Groq.md +75 -75
  205. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_APIMart.md +88 -88
  206. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_Fal.md +95 -95
  207. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_KIE.md +71 -71
  208. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/347/231/276/347/202/274.md +122 -122
  209. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/351/255/224/346/220/255.md +97 -97
  210. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/APIMart.md +238 -238
  211. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Fal.md +172 -172
  212. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Groq.md +121 -121
  213. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Grsai.md +217 -217
  214. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/KIE.md +131 -131
  215. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//345/200/231/351/200/211/344/276/233/345/272/224/345/225/206/350/260/203/347/240/224-/345/233/276/347/211/207/345/267/245/345/205/267.md +151 -151
  216. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//345/277/253/351/200/237/351/200/202/351/205/215/344/276/233/345/272/224/345/225/206.md +65 -65
  217. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//346/264/276/346/254/247/344/272/221.md +147 -138
  218. 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 +181 -171
  219. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +237 -227
  220. 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 +140 -75
  221. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md +207 -207
  222. package/docs/model-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +338 -311
  223. package/docs/model-adaptation//351/200/217/350/247/206/345/217/230/346/215/242//351/200/217/350/247/206/345/217/230/346/215/242_Fal.md +59 -59
  224. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Electron.md +77 -77
  225. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Tauri.md +81 -81
  226. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/UXP.md +169 -169
  227. package/docs//346/216/245/345/205/245/346/214/207/345/215/227//344/276/233/345/272/224/345/225/206/345/237/237/345/220/215.md +83 -83
  228. package/docs//346/216/245/345/205/245/346/214/207/345/215/227//351/224/231/350/257/257/345/244/204/347/220/206.md +72 -72
  229. package/examples/form-renderer/README.md +17 -17
  230. package/examples/form-renderer/cli.ts +32 -32
  231. package/examples/form-renderer/index.ts +144 -144
  232. package/examples/form-renderer/package.json +16 -16
  233. package/examples/form-renderer/tsconfig.json +14 -14
  234. package/examples/llm-chat/README.md +32 -32
  235. package/examples/llm-chat/index.ts +100 -100
  236. package/examples/llm-chat/package.json +19 -19
  237. package/examples/llm-chat/tsconfig.json +14 -14
  238. package/examples/minimal-node/README.md +31 -31
  239. package/examples/minimal-node/index.ts +138 -138
  240. package/examples/minimal-node/package.json +17 -17
  241. package/examples/minimal-node/tsconfig.json +14 -14
  242. package/package.json +255 -195
  243. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2509-multiple-angles.model.d.ts +0 -2
  244. 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 +0 -116
@@ -1,207 +1,207 @@
1
- # GLM-5.3-Flash · 智谱
2
-
3
- | 项目 | 内容 |
4
- |---|---|
5
- | 最后更新 | 2026-08-28 |
6
- | 模态 | 原生多模态 LLM/VLM:文本、图片、视频、文件输入 → 文本输出 |
7
- | 供应商 / 项目 provider family | 智谱国内 BigModel + 国际 Z.AI / `bigmodel` |
8
- | 平台模型 ID | `glm-5.3-flash` |
9
- | API 协议 | OpenAI 兼容 Chat Completions;同步 JSON / SSE |
10
- | API / 价格资料 | 公开无需登录;API Key 与真实调用需登录/付费 |
11
- | 适配状态 | 仅完成官方资料;SDK 尚未登记;完整能力受第 10 节冲突项阻断 |
12
-
13
- ## 1. 身份与边界
14
-
15
- GLM-5.3-Flash 是 2026-08-26 上线的 GLM-5 系列首个原生多模态模型,是既有
16
- `bigmodel` 供应商族下的**新增独立模型**。它不是文本模型 `glm-5.3` 的别名,也不触发供应商
17
- 重命名。国内 BigModel 与国际 Z.AI 都正式提供该模型,展示名均为 `GLM-5.3-Flash`,API
18
- Model Code 均为小写 `glm-5.3-flash`;公开资料没有第二个模型 alias。
19
-
20
- 当前仓库的 `bigmodel` preset 使用 `open.bigmodel.cn` 和国内 API Key 页面,因此它是国内配置,
21
- 不是国际站配置。`Z.AI` 是国际 endpoint profile,不应被当成现有 providerId 的别名直接换域名。
22
-
23
- ## 2. 端点与鉴权
24
-
25
- | endpoint profile | Chat Completions 端点 | API Key 管理 | 账号 / 凭据边界 |
26
- |---|---|---|---|
27
- | `cn` | `https://open.bigmodel.cn/api/paas/v4/chat/completions` | `https://bigmodel.cn/usercenter/proj-mgmt/apikeys` | 国内 BigModel;现有 preset 与存量 `bigmodel` 凭据归此 profile |
28
- | `global` | `https://api.z.ai/api/paas/v4/chat/completions` | `https://z.ai/manage-apikey/apikey-list` | 国际 Z.AI;需要独立配置槽,不复用国内 key |
29
-
30
- 两者均使用 `Authorization: Bearer <API Key>` 与 JSON。两个官方 Quick Start 分别要求到各自平台注册/
31
- 登录并创建 Key;官方没有说明账号、余额或 API Key 可以跨区互通。本项目不读取/试投用户真实 key,
32
- 因此互通性保持“未知”,实现必须按不互通处理。
33
-
34
- 两区模型页都只链接 Chat Completions。国内相同供应商的 `glm-5.3` 另有 Responses 与 Anthropic 协议,
35
- 不能据此外推 Flash。订阅过 GLM Coding Plan(含过期)的账号还可能被限制为只能使用 Chat Completions。
36
-
37
- ## 3. 能力与限制
38
-
39
- | 能力 | 官方值 / 结论 |
40
- |---|---|
41
- | 输入 | text / image / video / file |
42
- | 输出 | text;未确认 audio 输入或输出 |
43
- | 上下文 | 1,000,000 tokens |
44
- | 最大输出 | 131,072 tokens |
45
- | 思考 | 强制开启;`reasoning_effort=low/high/max`,默认 max |
46
- | 流式 | SSE,文本/思考增量、最终 usage、`[DONE]` |
47
- | 工具 | Function Calling;最多 128 个工具;仅确认 `tool_choice=auto` |
48
- | 缓存 | 支持;标准 API 保留跨轮思考需显式 `clear_thinking=false` |
49
- | 结构化输出 | 官方页面相互冲突,暂不得登记,见第 10 节 |
50
-
51
- 推荐请求参数:`temperature=1`、`top_p=0.95`、`reasoning_effort=max`、
52
- `thinking={"type":"enabled"}`。官方建议不要同时调整 temperature 与 top_p;`max_tokens`
53
- 最大 131072,建议不低于 1024;`stop` 最多 4 个字符串。
54
-
55
- ## 4. 多模态请求
56
-
57
- ### 图片
58
-
59
- ```json
60
- {"type":"image_url","image_url":{"url":"<host supplied URL or data URL>"}}
61
- ```
62
-
63
- - 支持公网 URL 或 Base64 Data URL。
64
- - 单张 <5 MB、最大 6000×6000,JPG/PNG/JPEG,最多 50 张。
65
- - 消费界面不得提供媒体 URL 文本框;URL/Base64 必须来自宿主媒体选择、上传或转换链路。
66
-
67
- ### 视频
68
-
69
- ```json
70
- {"type":"video_url","video_url":{"url":"<host supplied URL>"}}
71
- ```
72
-
73
- - 官方 Chat 示例确认 URL;单文件 ≤200 MB,MP4/MKV/MOV。
74
- - 官方没有给出 Flash 的视频时长上限或视频 Base64 写法,保持未知。
75
-
76
- ### 文件
77
-
78
- - 推荐内容块类型 `file`;旧 `file_url` 类型仍可用但不推荐。
79
- - `file_id` / `file_url` / `file_data` 三选一;单文件 ≤50 MB,最多 50 个文件。
80
- - `file_data` 是带 MIME 的 Base64 Data URL;`file_url` 文档列举 PDF/TXT/Word/JSONL/XLSX/PPTX 等。
81
- - Chat 文档说 `file_id` 来自文件上传接口,但 Files API 的 `purpose` 只列 `batch`、
82
- `code-interpreter`、`agent`、`voice-clone-input`,没有 Chat 用途,不能猜测。
83
-
84
- 官方没有说明图片、视频、文件能否跨模态混合,也没有给出混合总数量/体积上限。既不能套用
85
- `glm-5v-turbo` 的互斥限制,也不能反向假设 Flash 可任意混合。
86
-
87
- ## 5. 思考与工具调用
88
-
89
- - `thinking.type` 只能为 `enabled`,不能关闭。
90
- - `reasoning_effort`:low / high / max,默认 max。
91
- - 标准 API 默认清除历史思考;若保留跨轮思考,显式传 `thinking.clear_thinking=false`。
92
- - 交错思考的工具续轮必须回传上一轮完整、原序的 `reasoning_content`、assistant tool calls,
93
- 再附带包含 `tool_call_id` 的 role=tool 消息。
94
- - 工具由宿主执行,不是模型或 SDK transport 代执行。
95
- - 模型页建议 `stream=true` + `tool_stream=true`,但 Vision OpenAPI 未暴露 `tool_stream`,
96
- 通用支持模型清单也没有 Flash。普通 Function Calling 已确认,专有工具流优化仍阻断。
97
-
98
- ## 6. Chat Completions 事件契约矩阵
99
-
100
- | 事件 / 响应 | 前置状态 | required / optional / nullable | 空值 / 缺字段语义 | 状态迁移、输出、副作用 | 终态 / 连接 |
101
- |---|---|---|---|---|---|
102
- | 非流式成功 | 请求已发送 | `choices`;message.content 在工具调用时可 null;reasoning/tool_calls/usage 按场景可选 | 有工具调用但无文本合法 | 发出非空文本/思考;收集工具与 usage | HTTP 终态,消费后释放 |
103
- | SSE 普通增量 | 流已建立 | choices 可缺失/为空;delta.content/reasoning_content/tool_calls 均可选,content 可 null/空串 | 空块与无 choices 块合法,忽略 | 非空文本/思考按序追加 | 非终态,保持连接 |
104
- | SSE 工具增量 | 工具参数未完成 | tool_calls 分片含 index;id/函数名/arguments 可跨块 | 单片不完整合法 | 按 index 拼接;此时不执行工具 | 非终态,保持连接 |
105
- | SSE 完成块 | 已有零到多个增量 | finish_reason 只在最终块;content 可空;usage 通常只在最终块 | 空文本+finish+usage 合法;纯工具调用也合法 | 保存开放 finish 字符串与 usage,不发空 token | 语义终态,继续消费 `[DONE]` |
106
- | `[DONE]` | 最终块之后或服务端结束 | 非 JSON 哨兵 | 不解析为对象 | 停止读取并释放 reader/连接 | 流终态 |
107
- | HTTP 错误 | 端点拒绝请求 | error.code 与 error.message | 不当作增量 | 转脱敏 SDK 错误,保留状态和诊断码 | 终态,释放响应 |
108
- | 断线 / Abort / timeout | 流已建立 | 无官方专用恢复事件 | 不得当成 `[DONE]` / 成功 | 传播错误、停止工具副作用 | 终态;复用语义未知,宿主释放 |
109
- | 工具结果续轮 | finish_reason=tool_calls | 保留完整 reasoning/tool_calls;工具消息含 tool_call_id | 丢字段会破坏续轮 | 宿主执行工具并发起新请求 | 新 HTTP/SSE 会话 |
110
-
111
- 官方流式示例证明最终增量可只有空 `content`、`finish_reason` 与 usage,之后再发 `[DONE]`;
112
- 官方 SDK 示例也先判断 `choices` 是否为空。因此合法空块、无 choices 块必须作为 parser 正例。
113
-
114
- `finish_reason` schema 枚举包含 stop/length/tool_calls/sensitive/network_error,但同页说明另提
115
- `model_context_window_exceeded`。解析器必须接受和保留开放字符串,不能用封闭枚举拒绝返回。
116
-
117
- ## 7. 官方示例与 fixture 清单
118
-
119
- 13.2 必须逐项保存下列字面示例并带来源 URL、抓取日期、原样/脱敏说明:
120
-
121
- | fixture | 官方来源 | 真实性与用途 |
122
- |---|---|---|
123
- | Flash 图片请求 | 对话补全 API | 官方字面示例;替换 API Key/公网媒体即可,model ID 必须保留 |
124
- | Flash 视频请求 | 对话补全 API | 官方字面示例;覆盖 `video_url` |
125
- | Flash 文件请求 | 对话补全 API | 官方字面示例;分别识别 file_id/file_url/file_data,不猜上传 purpose |
126
- | 普通 SSE 文本/思考/最终 usage/`[DONE]` | 流式输出 | 官方字面示例实际 model 为 `glm-5.2`,只能标“同端点相关模型”,不能冒充 Flash |
127
- | 工具调用参数分块 | 流式工具调用 | 官方字面示例实际 model 为 `glm-5.3`,只能标“同端点相关模型” |
128
- | 合法无 choices / 空终态 | 上述流式说明与 SDK 判断逻辑 | 可按官方字段表构造,元数据必须标明构造,不冒充原始响应 |
129
- | 缺字段、乱序、重复、断线等负例 | 事件矩阵推导 | 合成负例,单独目录/元数据 |
130
-
131
- 当前没有 Flash 模型专属 SSE/工具流响应样本;要取得只能等待官方补充或在用户授权后做真实请求。
132
-
133
- ## 8. 区域价格
134
-
135
- | profile | 币种 | 输入 / M | 输出 / M | 缓存命中 / M | 2026-08-28 促销 |
136
- |---|---|---:|---:|---:|---|
137
- | `cn` | CNY | 0.8 | 2.8 | 0.23 | 0.4 / 1.4 / 0.115;页面仅写“5 折限时两周”,无绝对截止日 |
138
- | `global` | USD | 0.15 | 0.50 | 0.03 | 0.075 / 0.25 / 0.015;截至 2026-09-09 24:00(UTC+8,新加坡时间) |
139
-
140
- 两区缓存存储均显示限时免费。国内模型页称标准 API 价为 GLM-5.3 的 1/10、限时为 1/20;
141
- Coding Plan 3 倍额度扣减是订阅用量规则,不是 token 单价。SDK/产品必须让价格随 endpoint profile
142
- 选择,不做静态汇率换算,也不把任何促销固化为长期标准价;实现或发布前分别重新核价。
143
-
144
- ## 9. 错误与资源边界
145
-
146
- - 401:鉴权/令牌问题;429:余额或并发/频率限制;400/403:参数、模型权限或字段冲突;
147
- 500:服务/网络异常;1261:prompt 过长;1301:敏感内容。
148
- - 错误响应按 `{error:{code,message}}` 解析并脱敏,不能记录 Authorization、媒体 Base64 或完整用户内容。
149
- - 官方没有定义中途断线恢复与连接复用。SDK/宿主仍需用 Abort/timeout 终止读取并释放 reader、
150
- transport、工具资源;不得把 EOF 当成功 `[DONE]`。
151
-
152
- ## 10. 未决项与编码阻断
153
-
154
- 完整能力适配目前被以下官方冲突/缺口阻断:
155
-
156
- | 未决项 | 官方冲突 / 缺口 | 保守实现边界 |
157
- |---|---|---|
158
- | 结构化输出 | 模型页称支持;Vision OpenAPI 无 response_format,通用说明称仅文本模型支持 | `structuredOutputMode: none`,不发送 response_format |
159
- | `tool_stream` | 模型页建议开启;Vision schema 无字段,通用支持列表缺 Flash | 只做普通工具调用,不发送 tool_stream |
160
- | `file_id` 上传 | Chat 接受 file_id;Files API purpose 无 Chat 枚举 | 不实现 file_id 上传;不猜 purpose |
161
- | 跨模态混合 | 是否可混合和总量限制未说明 | 不承诺/不自动开放任意组合 |
162
- | Flash 专属事件样本 | 官方流式样本使用其他 GLM 模型 | 通用 parser 可用相关样本测试,但不宣称 Flash 真网事件已验证 |
163
- | 国内 / 国际 Key 互通 | 两站分别要求到各自平台创建 Key,未声明账号、余额或 Key 可互通 | 分离 credential slot;禁止跨 endpoint 自动试投 |
164
-
165
- 结论:**完整能力暂不可编码;若 13.2 明确接受上述保守降级,只实现已确认子集,则可编码。**
166
-
167
- ## 11. 13.2 精确实现输入
168
-
169
- - `packages/ai-sdk/src/llm/modelCatalogEntries.ts`:新增独立条目,image/video=true、audio=false、
170
- 1M/128K;结构化输出保持保守值。
171
- - `packages/ai-sdk/src/llm/providerPresets.ts`:保留现有国内 `bigmodel` 默认值,加入 Flash;以同一
172
- provider family 声明 `cn` / `global` endpoint profiles,不新增第二套 provider 内核。
173
- - `packages/ai-sdk/src/llm/types.ts`:增加供应商族/endpoint profile/credential identity 的可移植数据契约;
174
- 国内存量 `providerId=bigmodel` 默认迁为 `cn`,国际配置必须有不同实例 id 和凭据槽。
175
- - SDK credential 获取与 Electron keystore:凭据不能只按供应商族共享;按配置实例或显式
176
- credential identity 区分国内/国际,且迁移不得移动、删除或拿国内 key 试国际端点。
177
- - `packages/ai-sdk/src/llm/providerReasoningRequest.ts`:现有规则仅供应商感知;若下发
178
- clear_thinking=false,先加入模型感知,避免误伤 GLM-5V-Turbo。
179
- - `packages/ai-sdk/src/llm/streaming.ts` / `chatTypes.ts`:工具增量、合法空块、无 choices、
180
- 开放 finish reason 与 reasoning 续轮。
181
- - `packages/ai-sdk/src/llm/sdk/provider.ts`:确认 image/video 在两条消费路径的真实能力;当前 Agent
182
- 模型步骤不能表达视频,不得静默宣传全路径支持。
183
- - 文件输入若进入范围,扩统一输入类型与宿主 media/upload 契约,不加手动 URL 或模型旁路。
184
- - 精确测试:目录/预设/reasoning、多模态序列化、空块/空终态/无 final、工具分块、重复/乱序、
185
- 错误、Abort/timeout/断线/资源归零;断牙时临时把合法空最终块判错,确认测试失败后恢复。
186
-
187
- ## 12. 官方来源索引
188
-
189
- 以下页面均于 2026-08-28 核对:
190
-
191
- - [GLM-5.3-Flash 模型说明](https://docs.bigmodel.cn/cn/guide/models/vlm/glm-5.3-flash):用户指定页面;模型身份、模态、上下文、参数、能力与相对价格。
192
- - [新模型发布记录](https://docs.bigmodel.cn/cn/update/new-releases):2026-08-26 上线日期。
193
- - [模型总览](https://docs.bigmodel.cn/cn/guide/start/model-overview):定位、上下文、最大输出与价格入口。
194
- - [对话补全 API](https://docs.bigmodel.cn/api-reference/模型-api/对话补全):端点、Flash 多模态字面请求、请求/响应 schema 与限制。
195
- - [流式输出](https://docs.bigmodel.cn/cn/guide/capabilities/streaming):SSE、空最终块、usage 与 `[DONE]`。
196
- - [流式工具调用](https://docs.bigmodel.cn/cn/guide/capabilities/stream-tool):工具参数分块、tool_stream 与续轮。
197
- - [Function Calling](https://docs.bigmodel.cn/cn/guide/capabilities/function-calling):工具声明、执行与 tool_call_id。
198
- - [思考模式](https://docs.bigmodel.cn/cn/guide/capabilities/thinking-mode):强制思考、交错思考与 clear_thinking。
199
- - [文件上传 API](https://docs.bigmodel.cn/api-reference/文件-api/上传文件):上传端点与 purpose 缺口。
200
- - [错误码](https://docs.bigmodel.cn/cn/faq/api-code):认证、参数、限流、内容安全与服务错误。
201
- - [价格页](https://open.bigmodel.cn/pricing):标准价与核对日促销价。
202
- - [官方文档全量索引](https://docs.bigmodel.cn/llms.txt):相关能力页发现与覆盖复核。
203
- - [国内 Quick Start](https://docs.bigmodel.cn/cn/guide/start/quick-start):国内 Base URL、API Key 页面与 Flash 模型入口。
204
- - [国际 GLM-5.3-Flash](https://docs.z.ai/guides/vlm/glm-5.3-flash):国际站模型 ID、模态、上下文、参数与能力。
205
- - [国际 Quick Start](https://docs.z.ai/guides/overview/quick-start):国际 Base URL、API Key 页面与 Flash 模型入口。
206
- - [国际 HTTP API](https://docs.z.ai/guides/develop/http/introduction):国际通用端点与 Bearer 鉴权。
207
- - [国际价格](https://docs.z.ai/guides/overview/pricing):USD 标准价、促销价和绝对截止时间。
1
+ # GLM-5.3-Flash · 智谱
2
+
3
+ | 项目 | 内容 |
4
+ |---|---|
5
+ | 最后更新 | 2026-08-28 |
6
+ | 模态 | 原生多模态 LLM/VLM:文本、图片、视频、文件输入 → 文本输出 |
7
+ | 供应商 / 项目 provider family | 智谱国内 BigModel + 国际 Z.AI / `bigmodel` |
8
+ | 平台模型 ID | `glm-5.3-flash` |
9
+ | API 协议 | OpenAI 兼容 Chat Completions;同步 JSON / SSE |
10
+ | API / 价格资料 | 公开无需登录;API Key 与真实调用需登录/付费 |
11
+ | 适配状态 | 仅完成官方资料;SDK 尚未登记;完整能力受第 10 节冲突项阻断 |
12
+
13
+ ## 1. 身份与边界
14
+
15
+ GLM-5.3-Flash 是 2026-08-26 上线的 GLM-5 系列首个原生多模态模型,是既有
16
+ `bigmodel` 供应商族下的**新增独立模型**。它不是文本模型 `glm-5.3` 的别名,也不触发供应商
17
+ 重命名。国内 BigModel 与国际 Z.AI 都正式提供该模型,展示名均为 `GLM-5.3-Flash`,API
18
+ Model Code 均为小写 `glm-5.3-flash`;公开资料没有第二个模型 alias。
19
+
20
+ 当前仓库的 `bigmodel` preset 使用 `open.bigmodel.cn` 和国内 API Key 页面,因此它是国内配置,
21
+ 不是国际站配置。`Z.AI` 是国际 endpoint profile,不应被当成现有 providerId 的别名直接换域名。
22
+
23
+ ## 2. 端点与鉴权
24
+
25
+ | endpoint profile | Chat Completions 端点 | API Key 管理 | 账号 / 凭据边界 |
26
+ |---|---|---|---|
27
+ | `cn` | `https://open.bigmodel.cn/api/paas/v4/chat/completions` | `https://bigmodel.cn/usercenter/proj-mgmt/apikeys` | 国内 BigModel;现有 preset 与存量 `bigmodel` 凭据归此 profile |
28
+ | `global` | `https://api.z.ai/api/paas/v4/chat/completions` | `https://z.ai/manage-apikey/apikey-list` | 国际 Z.AI;需要独立配置槽,不复用国内 key |
29
+
30
+ 两者均使用 `Authorization: Bearer <API Key>` 与 JSON。两个官方 Quick Start 分别要求到各自平台注册/
31
+ 登录并创建 Key;官方没有说明账号、余额或 API Key 可以跨区互通。本项目不读取/试投用户真实 key,
32
+ 因此互通性保持“未知”,实现必须按不互通处理。
33
+
34
+ 两区模型页都只链接 Chat Completions。国内相同供应商的 `glm-5.3` 另有 Responses 与 Anthropic 协议,
35
+ 不能据此外推 Flash。订阅过 GLM Coding Plan(含过期)的账号还可能被限制为只能使用 Chat Completions。
36
+
37
+ ## 3. 能力与限制
38
+
39
+ | 能力 | 官方值 / 结论 |
40
+ |---|---|
41
+ | 输入 | text / image / video / file |
42
+ | 输出 | text;未确认 audio 输入或输出 |
43
+ | 上下文 | 1,000,000 tokens |
44
+ | 最大输出 | 131,072 tokens |
45
+ | 思考 | 强制开启;`reasoning_effort=low/high/max`,默认 max |
46
+ | 流式 | SSE,文本/思考增量、最终 usage、`[DONE]` |
47
+ | 工具 | Function Calling;最多 128 个工具;仅确认 `tool_choice=auto` |
48
+ | 缓存 | 支持;标准 API 保留跨轮思考需显式 `clear_thinking=false` |
49
+ | 结构化输出 | 官方页面相互冲突,暂不得登记,见第 10 节 |
50
+
51
+ 推荐请求参数:`temperature=1`、`top_p=0.95`、`reasoning_effort=max`、
52
+ `thinking={"type":"enabled"}`。官方建议不要同时调整 temperature 与 top_p;`max_tokens`
53
+ 最大 131072,建议不低于 1024;`stop` 最多 4 个字符串。
54
+
55
+ ## 4. 多模态请求
56
+
57
+ ### 图片
58
+
59
+ ```json
60
+ {"type":"image_url","image_url":{"url":"<host supplied URL or data URL>"}}
61
+ ```
62
+
63
+ - 支持公网 URL 或 Base64 Data URL。
64
+ - 单张 <5 MB、最大 6000×6000,JPG/PNG/JPEG,最多 50 张。
65
+ - 消费界面不得提供媒体 URL 文本框;URL/Base64 必须来自宿主媒体选择、上传或转换链路。
66
+
67
+ ### 视频
68
+
69
+ ```json
70
+ {"type":"video_url","video_url":{"url":"<host supplied URL>"}}
71
+ ```
72
+
73
+ - 官方 Chat 示例确认 URL;单文件 ≤200 MB,MP4/MKV/MOV。
74
+ - 官方没有给出 Flash 的视频时长上限或视频 Base64 写法,保持未知。
75
+
76
+ ### 文件
77
+
78
+ - 推荐内容块类型 `file`;旧 `file_url` 类型仍可用但不推荐。
79
+ - `file_id` / `file_url` / `file_data` 三选一;单文件 ≤50 MB,最多 50 个文件。
80
+ - `file_data` 是带 MIME 的 Base64 Data URL;`file_url` 文档列举 PDF/TXT/Word/JSONL/XLSX/PPTX 等。
81
+ - Chat 文档说 `file_id` 来自文件上传接口,但 Files API 的 `purpose` 只列 `batch`、
82
+ `code-interpreter`、`agent`、`voice-clone-input`,没有 Chat 用途,不能猜测。
83
+
84
+ 官方没有说明图片、视频、文件能否跨模态混合,也没有给出混合总数量/体积上限。既不能套用
85
+ `glm-5v-turbo` 的互斥限制,也不能反向假设 Flash 可任意混合。
86
+
87
+ ## 5. 思考与工具调用
88
+
89
+ - `thinking.type` 只能为 `enabled`,不能关闭。
90
+ - `reasoning_effort`:low / high / max,默认 max。
91
+ - 标准 API 默认清除历史思考;若保留跨轮思考,显式传 `thinking.clear_thinking=false`。
92
+ - 交错思考的工具续轮必须回传上一轮完整、原序的 `reasoning_content`、assistant tool calls,
93
+ 再附带包含 `tool_call_id` 的 role=tool 消息。
94
+ - 工具由宿主执行,不是模型或 SDK transport 代执行。
95
+ - 模型页建议 `stream=true` + `tool_stream=true`,但 Vision OpenAPI 未暴露 `tool_stream`,
96
+ 通用支持模型清单也没有 Flash。普通 Function Calling 已确认,专有工具流优化仍阻断。
97
+
98
+ ## 6. Chat Completions 事件契约矩阵
99
+
100
+ | 事件 / 响应 | 前置状态 | required / optional / nullable | 空值 / 缺字段语义 | 状态迁移、输出、副作用 | 终态 / 连接 |
101
+ |---|---|---|---|---|---|
102
+ | 非流式成功 | 请求已发送 | `choices`;message.content 在工具调用时可 null;reasoning/tool_calls/usage 按场景可选 | 有工具调用但无文本合法 | 发出非空文本/思考;收集工具与 usage | HTTP 终态,消费后释放 |
103
+ | SSE 普通增量 | 流已建立 | choices 可缺失/为空;delta.content/reasoning_content/tool_calls 均可选,content 可 null/空串 | 空块与无 choices 块合法,忽略 | 非空文本/思考按序追加 | 非终态,保持连接 |
104
+ | SSE 工具增量 | 工具参数未完成 | tool_calls 分片含 index;id/函数名/arguments 可跨块 | 单片不完整合法 | 按 index 拼接;此时不执行工具 | 非终态,保持连接 |
105
+ | SSE 完成块 | 已有零到多个增量 | finish_reason 只在最终块;content 可空;usage 通常只在最终块 | 空文本+finish+usage 合法;纯工具调用也合法 | 保存开放 finish 字符串与 usage,不发空 token | 语义终态,继续消费 `[DONE]` |
106
+ | `[DONE]` | 最终块之后或服务端结束 | 非 JSON 哨兵 | 不解析为对象 | 停止读取并释放 reader/连接 | 流终态 |
107
+ | HTTP 错误 | 端点拒绝请求 | error.code 与 error.message | 不当作增量 | 转脱敏 SDK 错误,保留状态和诊断码 | 终态,释放响应 |
108
+ | 断线 / Abort / timeout | 流已建立 | 无官方专用恢复事件 | 不得当成 `[DONE]` / 成功 | 传播错误、停止工具副作用 | 终态;复用语义未知,宿主释放 |
109
+ | 工具结果续轮 | finish_reason=tool_calls | 保留完整 reasoning/tool_calls;工具消息含 tool_call_id | 丢字段会破坏续轮 | 宿主执行工具并发起新请求 | 新 HTTP/SSE 会话 |
110
+
111
+ 官方流式示例证明最终增量可只有空 `content`、`finish_reason` 与 usage,之后再发 `[DONE]`;
112
+ 官方 SDK 示例也先判断 `choices` 是否为空。因此合法空块、无 choices 块必须作为 parser 正例。
113
+
114
+ `finish_reason` schema 枚举包含 stop/length/tool_calls/sensitive/network_error,但同页说明另提
115
+ `model_context_window_exceeded`。解析器必须接受和保留开放字符串,不能用封闭枚举拒绝返回。
116
+
117
+ ## 7. 官方示例与 fixture 清单
118
+
119
+ 13.2 必须逐项保存下列字面示例并带来源 URL、抓取日期、原样/脱敏说明:
120
+
121
+ | fixture | 官方来源 | 真实性与用途 |
122
+ |---|---|---|
123
+ | Flash 图片请求 | 对话补全 API | 官方字面示例;替换 API Key/公网媒体即可,model ID 必须保留 |
124
+ | Flash 视频请求 | 对话补全 API | 官方字面示例;覆盖 `video_url` |
125
+ | Flash 文件请求 | 对话补全 API | 官方字面示例;分别识别 file_id/file_url/file_data,不猜上传 purpose |
126
+ | 普通 SSE 文本/思考/最终 usage/`[DONE]` | 流式输出 | 官方字面示例实际 model 为 `glm-5.2`,只能标“同端点相关模型”,不能冒充 Flash |
127
+ | 工具调用参数分块 | 流式工具调用 | 官方字面示例实际 model 为 `glm-5.3`,只能标“同端点相关模型” |
128
+ | 合法无 choices / 空终态 | 上述流式说明与 SDK 判断逻辑 | 可按官方字段表构造,元数据必须标明构造,不冒充原始响应 |
129
+ | 缺字段、乱序、重复、断线等负例 | 事件矩阵推导 | 合成负例,单独目录/元数据 |
130
+
131
+ 当前没有 Flash 模型专属 SSE/工具流响应样本;要取得只能等待官方补充或在用户授权后做真实请求。
132
+
133
+ ## 8. 区域价格
134
+
135
+ | profile | 币种 | 输入 / M | 输出 / M | 缓存命中 / M | 2026-08-28 促销 |
136
+ |---|---|---:|---:|---:|---|
137
+ | `cn` | CNY | 0.8 | 2.8 | 0.23 | 0.4 / 1.4 / 0.115;页面仅写“5 折限时两周”,无绝对截止日 |
138
+ | `global` | USD | 0.15 | 0.50 | 0.03 | 0.075 / 0.25 / 0.015;截至 2026-09-09 24:00(UTC+8,新加坡时间) |
139
+
140
+ 两区缓存存储均显示限时免费。国内模型页称标准 API 价为 GLM-5.3 的 1/10、限时为 1/20;
141
+ Coding Plan 3 倍额度扣减是订阅用量规则,不是 token 单价。SDK/产品必须让价格随 endpoint profile
142
+ 选择,不做静态汇率换算,也不把任何促销固化为长期标准价;实现或发布前分别重新核价。
143
+
144
+ ## 9. 错误与资源边界
145
+
146
+ - 401:鉴权/令牌问题;429:余额或并发/频率限制;400/403:参数、模型权限或字段冲突;
147
+ 500:服务/网络异常;1261:prompt 过长;1301:敏感内容。
148
+ - 错误响应按 `{error:{code,message}}` 解析并脱敏,不能记录 Authorization、媒体 Base64 或完整用户内容。
149
+ - 官方没有定义中途断线恢复与连接复用。SDK/宿主仍需用 Abort/timeout 终止读取并释放 reader、
150
+ transport、工具资源;不得把 EOF 当成功 `[DONE]`。
151
+
152
+ ## 10. 未决项与编码阻断
153
+
154
+ 完整能力适配目前被以下官方冲突/缺口阻断:
155
+
156
+ | 未决项 | 官方冲突 / 缺口 | 保守实现边界 |
157
+ |---|---|---|
158
+ | 结构化输出 | 模型页称支持;Vision OpenAPI 无 response_format,通用说明称仅文本模型支持 | `structuredOutputMode: none`,不发送 response_format |
159
+ | `tool_stream` | 模型页建议开启;Vision schema 无字段,通用支持列表缺 Flash | 只做普通工具调用,不发送 tool_stream |
160
+ | `file_id` 上传 | Chat 接受 file_id;Files API purpose 无 Chat 枚举 | 不实现 file_id 上传;不猜 purpose |
161
+ | 跨模态混合 | 是否可混合和总量限制未说明 | 不承诺/不自动开放任意组合 |
162
+ | Flash 专属事件样本 | 官方流式样本使用其他 GLM 模型 | 通用 parser 可用相关样本测试,但不宣称 Flash 真网事件已验证 |
163
+ | 国内 / 国际 Key 互通 | 两站分别要求到各自平台创建 Key,未声明账号、余额或 Key 可互通 | 分离 credential slot;禁止跨 endpoint 自动试投 |
164
+
165
+ 结论:**完整能力暂不可编码;若 13.2 明确接受上述保守降级,只实现已确认子集,则可编码。**
166
+
167
+ ## 11. 13.2 精确实现输入
168
+
169
+ - `packages/ai-sdk/src/llm/modelCatalogEntries.ts`:新增独立条目,image/video=true、audio=false、
170
+ 1M/128K;结构化输出保持保守值。
171
+ - `packages/ai-sdk/src/llm/providerPresets.ts`:保留现有国内 `bigmodel` 默认值,加入 Flash;以同一
172
+ provider family 声明 `cn` / `global` endpoint profiles,不新增第二套 provider 内核。
173
+ - `packages/ai-sdk/src/llm/types.ts`:增加供应商族/endpoint profile/credential identity 的可移植数据契约;
174
+ 国内存量 `providerId=bigmodel` 默认迁为 `cn`,国际配置必须有不同实例 id 和凭据槽。
175
+ - SDK credential 获取与 Electron keystore:凭据不能只按供应商族共享;按配置实例或显式
176
+ credential identity 区分国内/国际,且迁移不得移动、删除或拿国内 key 试国际端点。
177
+ - `packages/ai-sdk/src/llm/providerReasoningRequest.ts`:现有规则仅供应商感知;若下发
178
+ clear_thinking=false,先加入模型感知,避免误伤 GLM-5V-Turbo。
179
+ - `packages/ai-sdk/src/llm/streaming.ts` / `chatTypes.ts`:工具增量、合法空块、无 choices、
180
+ 开放 finish reason 与 reasoning 续轮。
181
+ - `packages/ai-sdk/src/llm/sdk/provider.ts`:确认 image/video 在两条消费路径的真实能力;当前 Agent
182
+ 模型步骤不能表达视频,不得静默宣传全路径支持。
183
+ - 文件输入若进入范围,扩统一输入类型与宿主 media/upload 契约,不加手动 URL 或模型旁路。
184
+ - 精确测试:目录/预设/reasoning、多模态序列化、空块/空终态/无 final、工具分块、重复/乱序、
185
+ 错误、Abort/timeout/断线/资源归零;断牙时临时把合法空最终块判错,确认测试失败后恢复。
186
+
187
+ ## 12. 官方来源索引
188
+
189
+ 以下页面均于 2026-08-28 核对:
190
+
191
+ - [GLM-5.3-Flash 模型说明](https://docs.bigmodel.cn/cn/guide/models/vlm/glm-5.3-flash):用户指定页面;模型身份、模态、上下文、参数、能力与相对价格。
192
+ - [新模型发布记录](https://docs.bigmodel.cn/cn/update/new-releases):2026-08-26 上线日期。
193
+ - [模型总览](https://docs.bigmodel.cn/cn/guide/start/model-overview):定位、上下文、最大输出与价格入口。
194
+ - [对话补全 API](https://docs.bigmodel.cn/api-reference/模型-api/对话补全):端点、Flash 多模态字面请求、请求/响应 schema 与限制。
195
+ - [流式输出](https://docs.bigmodel.cn/cn/guide/capabilities/streaming):SSE、空最终块、usage 与 `[DONE]`。
196
+ - [流式工具调用](https://docs.bigmodel.cn/cn/guide/capabilities/stream-tool):工具参数分块、tool_stream 与续轮。
197
+ - [Function Calling](https://docs.bigmodel.cn/cn/guide/capabilities/function-calling):工具声明、执行与 tool_call_id。
198
+ - [思考模式](https://docs.bigmodel.cn/cn/guide/capabilities/thinking-mode):强制思考、交错思考与 clear_thinking。
199
+ - [文件上传 API](https://docs.bigmodel.cn/api-reference/文件-api/上传文件):上传端点与 purpose 缺口。
200
+ - [错误码](https://docs.bigmodel.cn/cn/faq/api-code):认证、参数、限流、内容安全与服务错误。
201
+ - [价格页](https://open.bigmodel.cn/pricing):标准价与核对日促销价。
202
+ - [官方文档全量索引](https://docs.bigmodel.cn/llms.txt):相关能力页发现与覆盖复核。
203
+ - [国内 Quick Start](https://docs.bigmodel.cn/cn/guide/start/quick-start):国内 Base URL、API Key 页面与 Flash 模型入口。
204
+ - [国际 GLM-5.3-Flash](https://docs.z.ai/guides/vlm/glm-5.3-flash):国际站模型 ID、模态、上下文、参数与能力。
205
+ - [国际 Quick Start](https://docs.z.ai/guides/overview/quick-start):国际 Base URL、API Key 页面与 Flash 模型入口。
206
+ - [国际 HTTP API](https://docs.z.ai/guides/develop/http/introduction):国际通用端点与 Bearer 鉴权。
207
+ - [国际价格](https://docs.z.ai/guides/overview/pricing):USD 标准价、促销价和绝对截止时间。