@henjicc/ai-sdk 0.2.8 → 0.3.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 (236) hide show
  1. package/CHANGELOG.md +153 -143
  2. package/README.md +486 -461
  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/modelCatalogEntries.js +16 -0
  53. package/dist/llm/providerPresets.js +2 -2
  54. package/dist/packs/models/apimart/gpt-image-2.5.d.ts +6 -0
  55. package/dist/packs/models/apimart/gpt-image-2.5.js +7 -0
  56. package/dist/packs/models/fal/gpt-image-2.5.d.ts +6 -0
  57. package/dist/packs/models/fal/gpt-image-2.5.js +7 -0
  58. package/dist/packs/models/grsai/gpt-image-2.5.d.ts +6 -0
  59. package/dist/packs/models/grsai/gpt-image-2.5.js +7 -0
  60. package/dist/packs/models/kie/gpt-image-2.5.d.ts +6 -0
  61. package/dist/packs/models/kie/gpt-image-2.5.js +7 -0
  62. package/dist/packs/provider-packs/apimart.d.ts +1 -1
  63. package/dist/packs/provider-packs/apimart.js +21 -20
  64. package/dist/packs/provider-packs/fal.d.ts +1 -1
  65. package/dist/packs/provider-packs/fal.js +37 -36
  66. package/dist/packs/provider-packs/grsai.d.ts +1 -1
  67. package/dist/packs/provider-packs/grsai.js +6 -5
  68. package/dist/packs/provider-packs/kie.d.ts +1 -1
  69. package/dist/packs/provider-packs/kie.js +28 -27
  70. package/dist/packs/tool-models/fal/{qwen-image-edit-2509-multiple-angles.d.ts → qwen-image-edit-2511-multiple-angles.d.ts} +1 -1
  71. package/dist/packs/tool-models/fal/{qwen-image-edit-2509-multiple-angles.js → qwen-image-edit-2511-multiple-angles.js} +1 -1
  72. package/dist/packs/tool-packs/fal-multi-angle-tools.js +1 -1
  73. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2511-multiple-angles.model.d.ts +2 -0
  74. 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
  75. package/docs/README.md +26 -26
  76. package/docs/consumers.md +54 -48
  77. package/docs/llm-adaptation/README.md +139 -139
  78. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +103 -91
  79. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +75 -75
  80. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/MiniMax.md +84 -84
  81. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +85 -85
  82. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +232 -232
  83. 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
  84. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274Qwen.md +84 -84
  85. 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
  86. package/docs/model-adaptation/Bria-Eraser/Bria-Eraser_Fal.md +32 -32
  87. 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
  88. package/docs/model-adaptation/ControlLight/ControlLight_Fal.md +85 -85
  89. 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
  90. package/docs/model-adaptation/Finegrain-Eraser/Finegrain-Eraser_Fal.md +31 -31
  91. package/docs/model-adaptation/Flux-Pro-Erase/Flux-Pro-Erase_Fal.md +34 -34
  92. package/docs/model-adaptation/Fun-ASR/Fun-ASR_/347/231/276/347/202/274.md +43 -43
  93. 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
  94. package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +37 -37
  95. 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
  96. package/docs/model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_/346/231/272/350/260/261.md +207 -207
  97. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_APIMart.md +173 -173
  98. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Fal.md +94 -94
  99. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Grsai.md +137 -137
  100. package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_KIE.md +93 -93
  101. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_APIMart.md +66 -0
  102. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Fal.md +55 -0
  103. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Grsai.md +53 -0
  104. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_KIE.md +55 -0
  105. package/docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md +62 -62
  106. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_APIMart.md +124 -124
  107. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_Fal.md +84 -84
  108. package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_KIE.md +129 -129
  109. package/docs/model-adaptation/Grok-Imagine/Grok-Imagine_KIE.md +36 -36
  110. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_APIMart.md +250 -250
  111. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_Fal.md +84 -84
  112. package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_KIE.md +105 -105
  113. package/docs/model-adaptation/Hailuo-02/Hailuo-02_Fal.md +93 -93
  114. package/docs/model-adaptation/Hailuo-02/Hailuo-02_KIE.md +56 -56
  115. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_Fal.md +88 -88
  116. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_KIE.md +51 -51
  117. package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_/346/264/276/346/254/247/344/272/221.md +70 -70
  118. package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +97 -94
  119. 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
  120. 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
  121. 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
  122. 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
  123. 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
  124. package/docs/model-adaptation/Kling-3.0/Kling-3.0_APIMart.md +112 -112
  125. package/docs/model-adaptation/Kling-3.0/Kling-3.0_Fal.md +89 -89
  126. package/docs/model-adaptation/Kling-3.0/Kling-3.0_KIE.md +106 -106
  127. package/docs/model-adaptation/Kling-3.0/Kling-3.0_/346/264/276/346/254/247/344/272/221.md +119 -119
  128. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_APIMart.md +125 -125
  129. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_Fal.md +107 -107
  130. package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_KIE.md +143 -143
  131. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_APIMart.md +85 -85
  132. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_Fal.md +83 -83
  133. package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_KIE.md +84 -84
  134. package/docs/model-adaptation/Midjourney/Midjourney_APIMart.md +396 -396
  135. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_APIMart.md +234 -234
  136. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_Fal.md +108 -108
  137. package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_KIE.md +111 -111
  138. package/docs/model-adaptation/MiniMax-Speech/MiniMax-Speech_/346/264/276/346/254/247/344/272/221.md +170 -170
  139. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_APIMart.md +89 -89
  140. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Fal.md +99 -99
  141. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Grsai.md +82 -82
  142. package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_KIE.md +70 -70
  143. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_APIMart.md +79 -79
  144. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_Grsai.md +65 -65
  145. package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_KIE.md +64 -64
  146. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_APIMart.md +83 -83
  147. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Fal.md +89 -89
  148. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Grsai.md +82 -82
  149. package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_KIE.md +64 -64
  150. 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
  151. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_APIMart.md +117 -117
  152. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_Fal.md +84 -84
  153. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_KIE.md +103 -103
  154. package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_/347/231/276/347/202/274.md +138 -138
  155. 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
  156. package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +47 -47
  157. package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +39 -39
  158. package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +39 -39
  159. package/docs/model-adaptation/Qwen3-ASR-Flash/Qwen3-ASR-Flash_/347/231/276/347/202/274.md +40 -40
  160. 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
  161. package/docs/model-adaptation/Qwen3-ASR-Flash-Filetrans/Qwen3-ASR-Flash-Filetrans_/347/231/276/347/202/274.md +41 -41
  162. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +35 -35
  163. 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
  164. package/docs/model-adaptation/README.md +313 -295
  165. 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
  166. 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
  167. 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
  168. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_APIMart.md +121 -121
  169. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_Fal.md +97 -97
  170. package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_KIE.md +86 -86
  171. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_APIMart.md +89 -89
  172. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_Fal.md +95 -95
  173. package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_KIE.md +78 -78
  174. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_APIMart.md +89 -89
  175. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_Fal.md +96 -96
  176. package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_KIE.md +78 -78
  177. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_APIMart.md +212 -212
  178. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_Fal.md +94 -94
  179. package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_KIE.md +89 -89
  180. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_APIMart.md +106 -106
  181. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_Fal.md +91 -91
  182. package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_KIE.md +89 -89
  183. 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
  184. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_APIMart.md +194 -194
  185. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_Fal.md +100 -100
  186. package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_KIE.md +141 -141
  187. 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
  188. package/docs/model-adaptation/SenseVoiceSmall/SenseVoiceSmall_/347/241/205/345/237/272/346/265/201/345/212/250.md +69 -69
  189. package/docs/model-adaptation/TeleSpeechASR/TeleSpeechASR_/347/241/205/345/237/272/346/265/201/345/212/250.md +72 -72
  190. 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
  191. 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
  192. package/docs/model-adaptation/Wan-2.5-Preview/Wan-2.5-Preview_/346/264/276/346/254/247/344/272/221.md +82 -82
  193. package/docs/model-adaptation/Wan-2.6/Wan-2.6_/346/264/276/346/254/247/344/272/221.md +84 -84
  194. package/docs/model-adaptation/Wan-2.7/Wan-2.7_/346/264/276/346/254/247/344/272/221.md +122 -122
  195. package/docs/model-adaptation/Whisper-Large-v3/Whisper-Large-v3_Groq.md +76 -76
  196. package/docs/model-adaptation/Whisper-Large-v3-Turbo/Whisper-Large-v3-Turbo_Groq.md +75 -75
  197. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_APIMart.md +88 -88
  198. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_Fal.md +95 -95
  199. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_KIE.md +71 -71
  200. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/347/231/276/347/202/274.md +122 -122
  201. package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/351/255/224/346/220/255.md +97 -97
  202. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/APIMart.md +238 -238
  203. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Fal.md +172 -172
  204. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Groq.md +121 -121
  205. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Grsai.md +217 -217
  206. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/KIE.md +131 -131
  207. 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
  208. 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
  209. 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
  210. 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
  211. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +237 -227
  212. 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 +110 -88
  213. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md +207 -207
  214. 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
  215. 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
  216. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Electron.md +77 -77
  217. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Tauri.md +81 -81
  218. package/docs//346/216/245/345/205/245/346/214/207/345/215/227/UXP.md +169 -169
  219. 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
  220. 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
  221. package/examples/form-renderer/README.md +17 -17
  222. package/examples/form-renderer/cli.ts +32 -32
  223. package/examples/form-renderer/index.ts +144 -144
  224. package/examples/form-renderer/package.json +16 -16
  225. package/examples/form-renderer/tsconfig.json +14 -14
  226. package/examples/llm-chat/README.md +32 -32
  227. package/examples/llm-chat/index.ts +100 -100
  228. package/examples/llm-chat/package.json +19 -19
  229. package/examples/llm-chat/tsconfig.json +14 -14
  230. package/examples/minimal-node/README.md +31 -31
  231. package/examples/minimal-node/index.ts +138 -138
  232. package/examples/minimal-node/package.json +17 -17
  233. package/examples/minimal-node/tsconfig.json +14 -14
  234. package/package.json +252 -197
  235. package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2509-multiple-angles.model.d.ts +0 -2
  236. 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
package/package.json CHANGED
@@ -1,198 +1,253 @@
1
- {
2
- "name": "@henjicc/ai-sdk",
3
- "version": "0.2.8",
4
- "description": "痕迹AI 多供应商模型适配 SDK",
5
- "license": "Apache-2.0",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/henjicc/Henji-AI.git",
9
- "directory": "packages/ai-sdk"
10
- },
11
- "homepage": "https://github.com/henjicc/Henji-AI/tree/main/packages/ai-sdk",
12
- "bugs": {
13
- "url": "https://github.com/henjicc/Henji-AI/issues"
14
- },
15
- "type": "module",
16
- "main": "./dist/index.js",
17
- "module": "./dist/index.js",
18
- "types": "./dist/index.d.ts",
19
- "sideEffects": false,
20
- "exports": {
21
- ".": {
22
- "types": "./dist/index.d.ts",
23
- "import": "./dist/index.js",
24
- "default": "./dist/index.js"
25
- },
26
- "./providers": {
27
- "types": "./dist/providers/index.d.ts",
28
- "import": "./dist/providers/index.js",
29
- "default": "./dist/providers/index.js"
30
- },
31
- "./generation": {
32
- "types": "./dist/generation.d.ts",
33
- "import": "./dist/generation.js",
34
- "default": "./dist/generation.js"
35
- },
36
- "./generation/core": {
37
- "types": "./dist/generation/core.d.ts",
38
- "import": "./dist/generation/core.js",
39
- "default": "./dist/generation/core.js"
40
- },
41
- "./models/*": {
42
- "types": "./dist/packs/models/*.d.ts",
43
- "import": "./dist/packs/models/*.js",
44
- "default": "./dist/packs/models/*.js"
45
- },
46
- "./provider-adapters/*": {
47
- "types": "./dist/packs/provider-adapters/*.d.ts",
48
- "import": "./dist/packs/provider-adapters/*.js",
49
- "default": "./dist/packs/provider-adapters/*.js"
50
- },
51
- "./provider-packs/*": {
52
- "types": "./dist/packs/provider-packs/*.d.ts",
53
- "import": "./dist/packs/provider-packs/*.js",
54
- "default": "./dist/packs/provider-packs/*.js"
55
- },
56
- "./tool-models/*": {
57
- "types": "./dist/packs/tool-models/*.d.ts",
58
- "import": "./dist/packs/tool-models/*.js",
59
- "default": "./dist/packs/tool-models/*.js"
60
- },
61
- "./tool-packs/*": {
62
- "types": "./dist/packs/tool-packs/*.d.ts",
63
- "import": "./dist/packs/tool-packs/*.js",
64
- "default": "./dist/packs/tool-packs/*.js"
65
- },
66
- "./catalog": {
67
- "types": "./dist/catalog/index.d.ts",
68
- "import": "./dist/catalog/index.js",
69
- "default": "./dist/catalog/index.js"
70
- },
71
- "./pricing": {
72
- "types": "./dist/pricing/index.d.ts",
73
- "import": "./dist/pricing/index.js",
74
- "default": "./dist/pricing/index.js"
75
- },
76
- "./llm": {
77
- "types": "./dist/llm/index.d.ts",
78
- "import": "./dist/llm/index.js",
79
- "default": "./dist/llm/index.js"
80
- },
81
- "./llm/streaming": {
82
- "types": "./dist/llm/streaming/index.d.ts",
83
- "import": "./dist/llm/streaming/index.js",
84
- "default": "./dist/llm/streaming/index.js"
85
- },
86
- "./llm/groq": {
87
- "types": "./dist/llm/groq/index.d.ts",
88
- "import": "./dist/llm/groq/index.js",
89
- "default": "./dist/llm/groq/index.js"
90
- },
91
- "./llm/bigmodel": {
92
- "types": "./dist/llm/bigmodel/index.d.ts",
93
- "import": "./dist/llm/bigmodel/index.js",
94
- "default": "./dist/llm/bigmodel/index.js"
95
- },
96
- "./llm/modules": {
97
- "types": "./dist/llm/modules/index.d.ts",
98
- "import": "./dist/llm/modules/index.js",
99
- "default": "./dist/llm/modules/index.js"
100
- },
101
- "./runtime": {
102
- "types": "./dist/runtime/index.d.ts",
103
- "import": "./dist/runtime/index.js",
104
- "default": "./dist/runtime/index.js"
105
- },
106
- "./capabilities": {
107
- "types": "./dist/capabilities/index.d.ts",
108
- "import": "./dist/capabilities/index.js",
109
- "default": "./dist/capabilities/index.js"
110
- },
111
- "./capabilities/speech-recognition": {
112
- "types": "./dist/capabilities/speech-recognition/index.d.ts",
113
- "import": "./dist/capabilities/speech-recognition/index.js",
114
- "default": "./dist/capabilities/speech-recognition/index.js"
115
- },
116
- "./capabilities/speech-recognition/bailian": {
117
- "types": "./dist/capabilities/speech-recognition/bailian/index.d.ts",
118
- "import": "./dist/capabilities/speech-recognition/bailian/index.js",
119
- "default": "./dist/capabilities/speech-recognition/bailian/index.js"
120
- },
121
- "./capabilities/speech-recognition/bailian/realtime": {
122
- "types": "./dist/capabilities/speech-recognition/bailian/realtime/index.d.ts",
123
- "import": "./dist/capabilities/speech-recognition/bailian/realtime/index.js",
124
- "default": "./dist/capabilities/speech-recognition/bailian/realtime/index.js"
125
- },
126
- "./capabilities/speech-recognition/volcengine": {
127
- "types": "./dist/capabilities/speech-recognition/volcengine/index.d.ts",
128
- "import": "./dist/capabilities/speech-recognition/volcengine/index.js",
129
- "default": "./dist/capabilities/speech-recognition/volcengine/index.js"
130
- },
131
- "./capabilities/speech-recognition/volcengine/realtime": {
132
- "types": "./dist/capabilities/speech-recognition/volcengine/realtime/index.d.ts",
133
- "import": "./dist/capabilities/speech-recognition/volcengine/realtime/index.js",
134
- "default": "./dist/capabilities/speech-recognition/volcengine/realtime/index.js"
135
- },
136
- "./capabilities/speech-recognition/siliconflow": {
137
- "types": "./dist/capabilities/speech-recognition/siliconflow/index.d.ts",
138
- "import": "./dist/capabilities/speech-recognition/siliconflow/index.js",
139
- "default": "./dist/capabilities/speech-recognition/siliconflow/index.js"
140
- },
141
- "./capabilities/speech-recognition/groq": {
142
- "types": "./dist/capabilities/speech-recognition/groq/index.d.ts",
143
- "import": "./dist/capabilities/speech-recognition/groq/index.js",
144
- "default": "./dist/capabilities/speech-recognition/groq/index.js"
145
- },
146
- "./capabilities/translation": {
147
- "types": "./dist/capabilities/translation/index.d.ts",
148
- "import": "./dist/capabilities/translation/index.js",
149
- "default": "./dist/capabilities/translation/index.js"
150
- },
151
- "./capabilities/translation/bailian": {
152
- "types": "./dist/capabilities/translation/bailian/index.d.ts",
153
- "import": "./dist/capabilities/translation/bailian/index.js",
154
- "default": "./dist/capabilities/translation/bailian/index.js"
155
- },
156
- "./capabilities/realtime": {
157
- "types": "./dist/capabilities/realtime.d.ts",
158
- "import": "./dist/capabilities/realtime.js",
159
- "default": "./dist/capabilities/realtime.js"
160
- },
161
- "./discovery": {
162
- "types": "./dist/discovery/index.d.ts",
163
- "import": "./dist/discovery/index.js",
164
- "default": "./dist/discovery/index.js"
165
- }
166
- },
167
- "files": [
168
- "dist",
169
- "docs",
170
- "examples/*/README.md",
171
- "examples/*/index.ts",
172
- "examples/form-renderer/cli.ts",
173
- "examples/*/package.json",
174
- "examples/*/tsconfig.json",
175
- "CHANGELOG.md",
176
- "README.md"
177
- ],
178
- "publishConfig": {
179
- "access": "public",
180
- "registry": "https://registry.npmjs.org/"
181
- },
182
- "scripts": {
183
- "build": "node scripts/build.cjs",
184
- "test": "vitest run --root ../.. packages/ai-sdk",
185
- "prepublishOnly": "node scripts/prepublish-check.cjs"
186
- },
187
- "dependencies": {
188
- "@ai-sdk/openai": "^3.0.89",
189
- "@ai-sdk/openai-compatible": "2.0.62",
190
- "@ai-sdk/provider-utils": "4.0.40",
191
- "ai": "6.0.234",
192
- "fflate": "0.8.2",
193
- "zod": "4.4.3"
194
- },
195
- "devDependencies": {
196
- "typescript": "^5.0.2"
197
- }
1
+ {
2
+ "name": "@henjicc/ai-sdk",
3
+ "version": "0.3.0",
4
+ "description": "痕迹AI 多供应商模型适配 SDK",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/henjicc/Henji-AI.git",
9
+ "directory": "packages/ai-sdk"
10
+ },
11
+ "homepage": "https://github.com/henjicc/Henji-AI/tree/main/packages/ai-sdk",
12
+ "bugs": {
13
+ "url": "https://github.com/henjicc/Henji-AI/issues"
14
+ },
15
+ "type": "module",
16
+ "main": "./dist/index.js",
17
+ "module": "./dist/index.js",
18
+ "types": "./dist/index.d.ts",
19
+ "sideEffects": false,
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.js",
24
+ "default": "./dist/index.js"
25
+ },
26
+ "./providers": {
27
+ "types": "./dist/providers/index.d.ts",
28
+ "import": "./dist/providers/index.js",
29
+ "default": "./dist/providers/index.js"
30
+ },
31
+ "./generation": {
32
+ "types": "./dist/generation.d.ts",
33
+ "import": "./dist/generation.js",
34
+ "default": "./dist/generation.js"
35
+ },
36
+ "./generation/core": {
37
+ "types": "./dist/generation/core.d.ts",
38
+ "import": "./dist/generation/core.js",
39
+ "default": "./dist/generation/core.js"
40
+ },
41
+ "./models/*": {
42
+ "types": "./dist/packs/models/*.d.ts",
43
+ "import": "./dist/packs/models/*.js",
44
+ "default": "./dist/packs/models/*.js"
45
+ },
46
+ "./provider-adapters/*": {
47
+ "types": "./dist/packs/provider-adapters/*.d.ts",
48
+ "import": "./dist/packs/provider-adapters/*.js",
49
+ "default": "./dist/packs/provider-adapters/*.js"
50
+ },
51
+ "./provider-packs/*": {
52
+ "types": "./dist/packs/provider-packs/*.d.ts",
53
+ "import": "./dist/packs/provider-packs/*.js",
54
+ "default": "./dist/packs/provider-packs/*.js"
55
+ },
56
+ "./tool-models/*": {
57
+ "types": "./dist/packs/tool-models/*.d.ts",
58
+ "import": "./dist/packs/tool-models/*.js",
59
+ "default": "./dist/packs/tool-models/*.js"
60
+ },
61
+ "./tool-packs/*": {
62
+ "types": "./dist/packs/tool-packs/*.d.ts",
63
+ "import": "./dist/packs/tool-packs/*.js",
64
+ "default": "./dist/packs/tool-packs/*.js"
65
+ },
66
+ "./catalog": {
67
+ "types": "./dist/catalog/index.d.ts",
68
+ "import": "./dist/catalog/index.js",
69
+ "default": "./dist/catalog/index.js"
70
+ },
71
+ "./pricing": {
72
+ "types": "./dist/pricing/index.d.ts",
73
+ "import": "./dist/pricing/index.js",
74
+ "default": "./dist/pricing/index.js"
75
+ },
76
+ "./llm": {
77
+ "types": "./dist/llm/index.d.ts",
78
+ "import": "./dist/llm/index.js",
79
+ "default": "./dist/llm/index.js"
80
+ },
81
+ "./llm/streaming": {
82
+ "types": "./dist/llm/streaming/index.d.ts",
83
+ "import": "./dist/llm/streaming/index.js",
84
+ "default": "./dist/llm/streaming/index.js"
85
+ },
86
+ "./llm/groq": {
87
+ "types": "./dist/llm/groq/index.d.ts",
88
+ "import": "./dist/llm/groq/index.js",
89
+ "default": "./dist/llm/groq/index.js"
90
+ },
91
+ "./llm/bigmodel": {
92
+ "types": "./dist/llm/bigmodel/index.d.ts",
93
+ "import": "./dist/llm/bigmodel/index.js",
94
+ "default": "./dist/llm/bigmodel/index.js"
95
+ },
96
+ "./llm/modules": {
97
+ "types": "./dist/llm/modules/index.d.ts",
98
+ "import": "./dist/llm/modules/index.js",
99
+ "default": "./dist/llm/modules/index.js"
100
+ },
101
+ "./runtime": {
102
+ "types": "./dist/runtime/index.d.ts",
103
+ "import": "./dist/runtime/index.js",
104
+ "default": "./dist/runtime/index.js"
105
+ },
106
+ "./capabilities": {
107
+ "types": "./dist/capabilities/index.d.ts",
108
+ "import": "./dist/capabilities/index.js",
109
+ "default": "./dist/capabilities/index.js"
110
+ },
111
+ "./capabilities/speech-recognition": {
112
+ "types": "./dist/capabilities/speech-recognition/index.d.ts",
113
+ "import": "./dist/capabilities/speech-recognition/index.js",
114
+ "default": "./dist/capabilities/speech-recognition/index.js"
115
+ },
116
+ "./capabilities/speech-recognition/bailian": {
117
+ "types": "./dist/capabilities/speech-recognition/bailian/index.d.ts",
118
+ "import": "./dist/capabilities/speech-recognition/bailian/index.js",
119
+ "default": "./dist/capabilities/speech-recognition/bailian/index.js"
120
+ },
121
+ "./capabilities/speech-recognition/bailian/realtime": {
122
+ "types": "./dist/capabilities/speech-recognition/bailian/realtime/index.d.ts",
123
+ "import": "./dist/capabilities/speech-recognition/bailian/realtime/index.js",
124
+ "default": "./dist/capabilities/speech-recognition/bailian/realtime/index.js"
125
+ },
126
+ "./capabilities/speech-recognition/volcengine": {
127
+ "types": "./dist/capabilities/speech-recognition/volcengine/index.d.ts",
128
+ "import": "./dist/capabilities/speech-recognition/volcengine/index.js",
129
+ "default": "./dist/capabilities/speech-recognition/volcengine/index.js"
130
+ },
131
+ "./capabilities/speech-recognition/volcengine/realtime": {
132
+ "types": "./dist/capabilities/speech-recognition/volcengine/realtime/index.d.ts",
133
+ "import": "./dist/capabilities/speech-recognition/volcengine/realtime/index.js",
134
+ "default": "./dist/capabilities/speech-recognition/volcengine/realtime/index.js"
135
+ },
136
+ "./capabilities/speech-recognition/siliconflow": {
137
+ "types": "./dist/capabilities/speech-recognition/siliconflow/index.d.ts",
138
+ "import": "./dist/capabilities/speech-recognition/siliconflow/index.js",
139
+ "default": "./dist/capabilities/speech-recognition/siliconflow/index.js"
140
+ },
141
+ "./capabilities/speech-recognition/groq": {
142
+ "types": "./dist/capabilities/speech-recognition/groq/index.d.ts",
143
+ "import": "./dist/capabilities/speech-recognition/groq/index.js",
144
+ "default": "./dist/capabilities/speech-recognition/groq/index.js"
145
+ },
146
+ "./capabilities/translation": {
147
+ "types": "./dist/capabilities/translation/index.d.ts",
148
+ "import": "./dist/capabilities/translation/index.js",
149
+ "default": "./dist/capabilities/translation/index.js"
150
+ },
151
+ "./capabilities/translation/bailian": {
152
+ "types": "./dist/capabilities/translation/bailian/index.d.ts",
153
+ "import": "./dist/capabilities/translation/bailian/index.js",
154
+ "default": "./dist/capabilities/translation/bailian/index.js"
155
+ },
156
+ "./capabilities/realtime": {
157
+ "types": "./dist/capabilities/realtime.d.ts",
158
+ "import": "./dist/capabilities/realtime.js",
159
+ "default": "./dist/capabilities/realtime.js"
160
+ },
161
+ "./discovery": {
162
+ "types": "./dist/discovery/index.d.ts",
163
+ "import": "./dist/discovery/index.js",
164
+ "default": "./dist/discovery/index.js"
165
+ },
166
+ "./capabilities/embedding": {
167
+ "types": "./dist/capabilities/embedding/index.d.ts",
168
+ "import": "./dist/capabilities/embedding/index.js",
169
+ "default": "./dist/capabilities/embedding/index.js"
170
+ },
171
+ "./capabilities/embedding/siliconflow": {
172
+ "types": "./dist/capabilities/embedding/siliconflow.d.ts",
173
+ "import": "./dist/capabilities/embedding/siliconflow.js",
174
+ "default": "./dist/capabilities/embedding/siliconflow.js"
175
+ },
176
+ "./capabilities/embedding/bailian": {
177
+ "types": "./dist/capabilities/embedding/bailian.d.ts",
178
+ "import": "./dist/capabilities/embedding/bailian.js",
179
+ "default": "./dist/capabilities/embedding/bailian.js"
180
+ },
181
+ "./capabilities/embedding/ppio": {
182
+ "types": "./dist/capabilities/embedding/ppio.d.ts",
183
+ "import": "./dist/capabilities/embedding/ppio.js",
184
+ "default": "./dist/capabilities/embedding/ppio.js"
185
+ },
186
+ "./capabilities/embedding/bigmodel": {
187
+ "types": "./dist/capabilities/embedding/bigmodel.d.ts",
188
+ "import": "./dist/capabilities/embedding/bigmodel.js",
189
+ "default": "./dist/capabilities/embedding/bigmodel.js"
190
+ },
191
+ "./capabilities/embedding/volcengine": {
192
+ "types": "./dist/capabilities/embedding/volcengine.d.ts",
193
+ "import": "./dist/capabilities/embedding/volcengine.js",
194
+ "default": "./dist/capabilities/embedding/volcengine.js"
195
+ },
196
+ "./capabilities/rerank": {
197
+ "types": "./dist/capabilities/rerank/index.d.ts",
198
+ "import": "./dist/capabilities/rerank/index.js",
199
+ "default": "./dist/capabilities/rerank/index.js"
200
+ },
201
+ "./capabilities/rerank/siliconflow": {
202
+ "types": "./dist/capabilities/rerank/siliconflow.d.ts",
203
+ "import": "./dist/capabilities/rerank/siliconflow.js",
204
+ "default": "./dist/capabilities/rerank/siliconflow.js"
205
+ },
206
+ "./capabilities/rerank/bailian": {
207
+ "types": "./dist/capabilities/rerank/bailian.d.ts",
208
+ "import": "./dist/capabilities/rerank/bailian.js",
209
+ "default": "./dist/capabilities/rerank/bailian.js"
210
+ },
211
+ "./capabilities/rerank/ppio": {
212
+ "types": "./dist/capabilities/rerank/ppio.d.ts",
213
+ "import": "./dist/capabilities/rerank/ppio.js",
214
+ "default": "./dist/capabilities/rerank/ppio.js"
215
+ },
216
+ "./capabilities/rerank/bigmodel": {
217
+ "types": "./dist/capabilities/rerank/bigmodel.d.ts",
218
+ "import": "./dist/capabilities/rerank/bigmodel.js",
219
+ "default": "./dist/capabilities/rerank/bigmodel.js"
220
+ }
221
+ },
222
+ "files": [
223
+ "dist",
224
+ "docs",
225
+ "examples/*/README.md",
226
+ "examples/*/index.ts",
227
+ "examples/form-renderer/cli.ts",
228
+ "examples/*/package.json",
229
+ "examples/*/tsconfig.json",
230
+ "CHANGELOG.md",
231
+ "README.md"
232
+ ],
233
+ "publishConfig": {
234
+ "access": "public",
235
+ "registry": "https://registry.npmjs.org/"
236
+ },
237
+ "scripts": {
238
+ "build": "node scripts/build.cjs",
239
+ "test": "vitest run --root ../.. packages/ai-sdk",
240
+ "prepublishOnly": "node scripts/prepublish-check.cjs"
241
+ },
242
+ "dependencies": {
243
+ "@ai-sdk/openai": "^3.0.89",
244
+ "@ai-sdk/openai-compatible": "2.0.62",
245
+ "@ai-sdk/provider-utils": "4.0.40",
246
+ "ai": "6.0.234",
247
+ "fflate": "0.8.2",
248
+ "zod": "4.4.3"
249
+ },
250
+ "devDependencies": {
251
+ "typescript": "^5.0.2"
252
+ }
198
253
  }
@@ -1,2 +0,0 @@
1
- export declare const falQwenImageEdit2509MultipleAnglesModel: import("../../../index.js").ModelRuntimeDefinition;
2
- export default falQwenImageEdit2509MultipleAnglesModel;
@@ -1,116 +0,0 @@
1
- # Qwen Image Edit 2509 多角度(Fal)适配资料
2
-
3
- | 项目 | 内容 |
4
- |---|---|
5
- | 最后更新 | 2026-08-29 |
6
- | 平台 | Fal |
7
- | 展示名 | Qwen Image Edit 2509 Lora Gallery / Multiple Angles |
8
- | API endpoint ID | `fal-ai/qwen-image-edit-2509-lora-gallery/multiple-angles` |
9
- | 模态 | 单图输入 → 单角度编辑图 |
10
- | 商用标记 | Fal 模型页明确标为 `Commercial use` |
11
- | 价格 | `$0.035 / megapixel` |
12
- | 登录状态 | 模型页、Agent 文本与 OpenAPI 公开;真实调用需要 Fal Key |
13
- | 接入状态 | 已完成静态契约,待任务 4.4 实现与真实付费质量验证 |
14
-
15
- > 本端点虽然用“角度”和“度数”描述部分输入,但没有输出相机内参、外参或几何误差。产品侧只能称为“模型控制角”,不能称为测量级相机姿态。
16
-
17
- ## 1. 接口与异步协议
18
-
19
- - 直连:`POST https://fal.run/fal-ai/qwen-image-edit-2509-lora-gallery/multiple-angles`
20
- - 队列提交:`POST https://queue.fal.run/fal-ai/qwen-image-edit-2509-lora-gallery/multiple-angles`
21
- - 鉴权:`Authorization: Key <FAL_KEY>`
22
- - 生产模式:复用 Fal 供应商公共队列、轮询、取消、结果解析和 Fal CDN 上传,不新增协议实现。
23
- - 结果路径:`images[].url`;同时返回 `seed`。
24
-
25
- 队列事件契约、官方 fixture 与现有 parser 边界沿用 [Fal 供应商资料](../供应商/Fal.md#2-队列契约)。本模型没有新增状态或响应协议;任务 4.4 只需补请求构建与模型精确测试,不应复制 Fal 队列状态机。
26
-
27
- ## 2. 请求字段
28
-
29
- | 字段 | 类型 | 必填 | 默认 | 范围/枚举 | 产品策略 |
30
- |---|---|---|---|---|---|
31
- | `image_urls` | `string[]` | 是 | — | 官方未给最大数量 | 产品固定 1 张输入图,由 Fal 官方上传链路生成 URL |
32
- | `image_size` | 尺寸枚举或 `{width,height}` | 否 | 保留最终输入图尺寸 | `square_hd`、`square`、`portrait_4_3`、`portrait_16_9`、`landscape_4_3`、`landscape_16_9` 或正整数尺寸 | 首版根据输入比例映射到约 1MP 的标准档,限制费用,不直接沿用超大输入尺寸 |
33
- | `guidance_scale` | number | 否 | `1` | `0..20` | 隐藏,固定 `1` |
34
- | `num_inference_steps` | integer | 否 | `6` | `2..50` | 隐藏,固定 `6` |
35
- | `acceleration` | string | 否 | `regular` | `none` / `regular` | 隐藏,固定 `regular` |
36
- | `negative_prompt` | string | 否 | 单个空格 | — | 不显示、不请求 |
37
- | `seed` | integer/null | 否 | — | — | 不显示、不请求 |
38
- | `sync_mode` | boolean | 否 | `false` | — | 不显示、不请求,沿用队列 |
39
- | `enable_safety_checker` | boolean | 否 | `true` | — | 隐藏,固定 `true` |
40
- | `output_format` | string | 否 | `png` | `png` / `jpeg` / `webp` | 不显示、不请求,沿用项目约定 |
41
- | `num_images` | integer | 否 | `1` | `1..4` | 隐藏,固定 `1`;多角度由多个不同控制参数请求组成,不能用同角度变体冒充多视角 |
42
- | `rotate_right_left` | number | 否 | `0` | `-90..90` 度;正值向左、负值向右 | 作为水平“模型控制角”展示并发送 |
43
- | `move_forward` | number | 否 | `0` | `0..10` | 作为近摄程度;不能表达后退或远景 |
44
- | `vertical_angle` | number | 否 | `0` | `-1..1`;`-1` 鸟瞰、`1` 仰视 | 使用语义刻度,不显示为度数 |
45
- | `wide_angle_lens` | boolean | 否 | `false` | — | 作为广角开关;不能冒充远距离 |
46
- | `lora_scale` | number | 否 | `1.25` | `0..4` | 隐藏,固定 `1.25` |
47
-
48
- ### 产品输入顺序
49
-
50
- 1. 输入图片(固定 1 张)
51
- 2. 控制档:连续镜头
52
- 3. 视角集合(默认 4,首版 `1..6`)
53
- 4. 水平模型控制角
54
- 5. 俯拍/仰拍
55
- 6. 近摄程度
56
- 7. 广角开关
57
-
58
- 本端点**没有提示词字段**。首版正式界面不得展示一个不会进入请求的提示词输入;数据结构可为未来其它控制档保留可选字段,但当前档必须标为不可用并不持久化无效输入。
59
-
60
- ## 3. 首版请求映射
61
-
62
- 每个选择的目标视角产生一次独立 Fal 请求:
63
-
64
- ```json
65
- {
66
- "image_urls": ["<Fal CDN URL>"],
67
- "image_size": "landscape_4_3",
68
- "guidance_scale": 1,
69
- "num_inference_steps": 6,
70
- "acceleration": "regular",
71
- "enable_safety_checker": true,
72
- "num_images": 1,
73
- "rotate_right_left": -45,
74
- "move_forward": 0,
75
- "vertical_angle": 0,
76
- "wide_angle_lens": false,
77
- "lora_scale": 1.25
78
- }
79
- ```
80
-
81
- `image_size` 根据第一张输入图比例选最接近的标准档:方形、4:3、16:9 及其竖向版本。生成结果的实际像素数必须用于最终费用记录;静态估价按不超过约 1MP/张计算。
82
-
83
- ## 4. 输出与失败边界
84
-
85
- - 单次请求期望 `images.length === 1`;零张或多张都视为该视角契约不符,不静默截断。
86
- - 一组多角度结果按用户选择顺序保存,标签来自请求前的相机控制数据,不从文件名或结果顺序重新推断。
87
- - 多角度批次可并发最多 2 个请求;所有视角完成后才交给画布多结果事务落图。
88
- - 某个视角失败时不提交半成品结果组;节点保留每个视角的状态和已完成 URL,以便只重试失败项,避免重复付费。
89
- - 模型没有物理几何保证;输出标签要同时保存 `controlPrecision: learned-native`。
90
-
91
- ## 5. 价格与预算
92
-
93
- - 官方标价:`$0.035 / megapixel`。
94
- - 首版固定约 1MP:单视角预算上限按 `$0.035` 估算。
95
- - 默认 4 视角:约 `$0.14`;首版最大 6 视角:约 `$0.21`。
96
- - 最终账单可能受实际输出像素和账户价格影响,真实调用后应按 Fal billing event / request ID 对账。
97
- - 官方未给延迟承诺;真实验收需记录每个 request ID 的排队、生成和总耗时。
98
-
99
- ## 6. 待真实验证
100
-
101
- - 水平角度数值与视觉角度的误差分布,尤其是人物、非对称商品和建筑。
102
- - 多次独立请求的身份、服装、纹理、文字、背景与几何一致性。
103
- - `vertical_angle` 的有效分辨率与极值稳定性。
104
- - `move_forward` 是否会改变主体身份或仅改变构图。
105
- - 标准尺寸映射的真实像素与计费单位。
106
- - 取消、单项重试和已完成 URL 的有效期。
107
-
108
- ## 7. 原始链接索引
109
-
110
- | 内容 | 链接 | 是否需登录 | 核查日期 |
111
- |---|---|---|---|
112
- | 模型页、商用标记与价格 | https://fal.ai/models/fal-ai/qwen-image-edit-2509-lora-gallery/multiple-angles | 否 | 2026-08-29 |
113
- | 实时 Agent 文本(字段、价格、示例) | https://fal.ai/models/fal-ai/qwen-image-edit-2509-lora-gallery/multiple-angles/llms.txt | 否 | 2026-08-29 |
114
- | OpenAPI(完整枚举、范围、必填与响应) | https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=fal-ai/qwen-image-edit-2509-lora-gallery/multiple-angles | 否 | 2026-08-29 |
115
- | Fal 队列协议 | https://fal.ai/docs/documentation/model-apis/inference/queue | 否 | 2026-08-29 |
116
- | Fal 价格 API | https://fal.ai/docs/platform-apis/v1/models/pricing | 否 | 2026-08-29 |