@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,212 +1,212 @@
1
- # Seedance 2.5 · APIMart
2
-
3
- | 项目 | 内容 |
4
- |---|---|
5
- | 最后更新 | 2026-08-30 |
6
- | 模态 | 视频 |
7
- | 供应商 | APIMart(聚合平台) |
8
- | 平台模型 ID | `seedance-2.5` |
9
- | 接口形态 | **异步任务** |
10
- | 文档可见性 | 公开,无需登录 |
11
- | 价格可见性 | 公开,无需登录 |
12
-
13
- **相对 2.0 的主要变化**:时长上限 15 s → **30 s**;参考素材 9 图 + 3 视频 + 3 音频 → **30 图 + 10 视频 + 10 音频**;支持**纯音频参考**;新增 **mov** 输出。**分辨率只支持 480p / 720p / 1080p——2.0 的 4k 在 2.5 不可用。**
14
-
15
- ## 1. 接入协议
16
-
17
- - **Base URL**:`https://api.apimart.ai`
18
- - **鉴权**:`Authorization: Bearer <API_KEY>`
19
- - **提交**:`POST /v1/videos/generations` → `{ code: 200, data: [{ status: "submitted", task_id }] }`
20
- - **查询**:`GET /v1/tasks/{task_id}`
21
-
22
- ## 2. 能力清单
23
-
24
- 文生视频、多模态参考生视频、**视频编辑**、**视频延长**、首帧 / 首尾帧、纯音频参考、联网搜索、连续生成(返回尾帧)、私域素材库。
25
-
26
- ## 3. 请求参数
27
-
28
- | 字段 | 类型 | 必填 | 默认 | 取值与说明 |
29
- |---|---|---|---|---|
30
- | `model` | string | 必填 | — | 固定 `seedance-2.5` |
31
- | `prompt` | string | 必填 | — | 可用 **`@图片1` / `@视频1` / `@音频1`** 指代参考素材(下标从 1 起,对应数组顺序)。示例:`"全程使用@视频1的第一视角构图,@音频1作为背景音乐,首帧为@图片1"` |
32
- | `resolution` | string | 可选 | `720p` | **仅** `480p` / `720p` / `1080p`。传 `2k` / `4k` 同步返回 **400** |
33
- | `size` | string | 可选 | **`adaptive`** | 也接受字段名 `aspect_ratio`。`16:9`、`4:3`、`1:1`、`3:4`、`9:16`、`21:9`、`adaptive` |
34
- | `duration` | integer | 可选 | `5` | `4` ~ `30`,或 **`-1`**(模型自动选择时长;提交时按 30 秒上限预扣,完成后多退少补)。未传按 5 秒生成与计费 |
35
- | `generate_audio` | boolean | 可选 | **`true`** | 也接受字段名 `audio` |
36
- | `watermark` | boolean | 可选 | `false` | 「AI 生成」水印 |
37
- | `seed` | integer | 可选 | — | 随机种子。**本项目规则:绝对不显示**,不下发 |
38
- | `output_format` | string | 可选 | `mp4` | `mp4` / **`mov`**(更高色彩精度,推荐用于编辑 / 延长场景) |
39
- | `omni_reference_task_type` | string | 可选 | `auto` | `auto` / `reference` / `edit` / `extend`,见第 4 节 |
40
- | `image_urls` | string[] | 可选 | — | 参考图,一律作为 `reference_image`。**最多 30 张**。普通 URL 或 `asset://cm9xxxxxxxx`。首帧 / 尾帧请用 `image_with_roles` |
41
- | `image_with_roles` | array | 可选 | — | `{ url, role }`,`role` ∈ `first_frame`(1 张)/ `last_frame`(1 张,通常与首帧配合)/ `reference_image`(合计最多 30 张)。**若同时存在 `video_urls` / `audio_urls`,`first_frame` / `last_frame` 会自动转为 `reference_image`** |
42
- | `video_urls` | string[] | 可选 | — | 参考视频,见「参考视频规格」 |
43
- | `audio_urls` | string[] | 可选 | — | 参考音频。**最多 10 段;总时长 ≤ 30 s(单段 2~30 s)**。**2.5 支持纯音频参考**(可不配图/视频) |
44
- | `return_last_frame` | boolean | 可选 | `false` | 成功后额外返回尾帧图片 |
45
- | `tools` | array | 可选 | — | 如 `[{"type": "web_search"}]` |
46
- | `nsfw_check` | boolean | 可选 | `false` | 命中同步 400(`nsfw_content_detected`),不建任务不扣费;审核不可用时 **fail-open**;`video_urls` / `audio_urls` 不送审 |
47
-
48
- ### 素材要求
49
-
50
- | 素材 | 限制 |
51
- |---|---|
52
- | 图片 | ≤ 30 张;jpeg / png / webp / bmp / tiff / gif / heic / heif;宽高比 [0.4, 2.5];边长 [300, 6000] px;单张 < 30 MB |
53
- | 音频 | ≤ 10 段;wav / mp3;单段 [2, 30] s 且**总时长 ≤ 30 s**;单个 ≤ 15 MB |
54
-
55
- ### 参考视频规格
56
-
57
- - 传入方式:视频 URL 或 `asset://...`
58
- - 格式:`mp4`、`mov`
59
- - 分辨率:`480p`、`720p`、`1080p`
60
- - 时长:单个 [2, 30] s;**最多 10 个**;**总时长 ≤ 30 s**
61
- - 尺寸:宽高比 [0.4, 2.5];边长 [300, 6000] px;总像素 **[409600 (640×640), 8295044 (3326×2494)]**
62
- - 大小:单个 ≤ **200 MB**
63
- - 帧率:[24, 60]
64
-
65
- | 封装格式 | 视频编码 | 音频编码 |
66
- |---|---|---|
67
- | `mp4` | H.264 / H.265 | AAC / MP3 |
68
- | `mov` | H.264 / H.265 | AAC / MP3 |
69
-
70
- ## 4. 任务类型与硬性限制(**最容易踩坑的地方**)
71
-
72
- 系统会按参考素材与**提示词意图**判定任务类型。后三种对 `size` / `duration` 有硬性限制,**违反会在任务开始后异步失败**(如 `InvalidParameter.TaskTypeConstraint`):
73
-
74
- | 任务类型 | 触发条件 | 限制 |
75
- |---|---|---|
76
- | 文生视频 | 仅文本 | 无 |
77
- | 参考生视频 | 参考素材 + 普通描述提示词 | 无。**避免**在提示词中出现「编辑 / 延长 / 续写 / 删除 / 替换」等词,防止误判 |
78
- | 视频编辑 | 参考素材 + 提示词含「编辑视频 / 增加 / 删除 / 修改 / 替换」等 | `size` 仅 `adaptive`;`duration` 仅 `-1`;待编辑视频须 4~30 s |
79
- | 视频延长 | 参考素材 + 提示词含「向前 / 向后延长 / 延续 / 续写」 | `size` 仅 `adaptive` |
80
- | 首帧 / 首尾帧 | `image_with_roles` 使用 `first_frame` / `last_frame` | `size` 仅 `adaptive`(提交阶段也会同步校验) |
81
-
82
- ### 用 `omni_reference_task_type` 把异步报错变成同步报错
83
-
84
- | 取值 | 含义 | 提交时校验的限制 |
85
- |---|---|---|
86
- | `auto`(默认) | 模型自行判定 | 无(不合格改为**异步**失败) |
87
- | `reference` | 参考生视频 | 无(`size` / `duration` 不受限) |
88
- | `edit` | 视频编辑 | `video_urls` 至少 1 个;`size` 只能 `adaptive`(或不传);`duration` 只能 `-1`(或不传);源视频须 4~30 s |
89
- | `extend` | 视频延长 | `video_urls` 至少 1 个;`size` 只能 `adaptive`(或不传) |
90
-
91
- 必须知道的点:
92
-
93
- - **`edit` 不传 `duration` 时平台自动按 `-1` 处理**。平台对「未传 duration」默认下发 5 秒,而 `edit` 上游强制 `-1`,两者相撞会直接失败,所以平台帮你归一成 `-1`。代价是**预扣按 30 秒上限收押金**,完成后按实际用量退差。想要更小的预扣就别用 `edit`,改用默认 `auto`。
94
- - **`edit` 显式传 `duration` 只能是 `-1`**,传别的值直接 400。
95
- - ⚠️ **指定了也仍可能异步报错 `InvalidParameter.TaskTypeMismatch`**:上游会再结合提示词判一次任务类型,不一致就拒。所以提示词仍要按对应类型的写法来写。
96
- - Seedance 2.5 的**全部渠道行为一致**,不会出现「换个渠道结果不一样」。
97
-
98
- ## 5. 素材库(`asset://`)
99
-
100
- **推荐入库**的场景:
101
- 1. **真人人脸素材必须走素材库**——直接传 URL 会被内容审核拦截
102
- 2. 素材会复用多次——入库一次,之后免重复审核
103
- 3. URL 是带签名的临时链接——入库时平台会固化素材
104
- 4. 入库素材**自动同步到全部可用渠道**
105
-
106
- 素材库与 2.0 家族**共用**,`asset://` 对两代通用。
107
-
108
- **上传**:`POST /v1/seedance2/private-avatar/assets`
109
-
110
- | 字段 | 必填 | 说明 |
111
- |---|---|---|
112
- | `model` | ❌ | 素材要配合使用的模型(默认 2.0)。**决定时长限制档位;2.5 请传 `seedance-2.5`**(2.0 无法使用超过 15 s 的素材) |
113
- | `group` | ❌ | 素材组;不传自动创建 |
114
- | `asset_type` | ✅ | `Image` / `Video` / `Audio` |
115
- | `assets[].url` | ✅ | 素材公网 URL |
116
- | `assets[].name` | ❌ | 素材名 |
117
-
118
- **素材限制(提交时同步校验,违规立即 400 并标明第几个素材违反哪条)**:
119
-
120
- | 素材 | 限制 |
121
- |---|---|
122
- | 图片 | jpeg / png / webp / bmp / tiff / gif / heic / heif;边长 [300, 6000] px;宽高比 [0.4, 2.5];单张 < 30 MB |
123
- | 视频 | mp4 / mov;单个 ≤ 200 MB;时长**按 model 分档**:2.0 家族 [2, 15] s,**2.5 [2, 30] s** |
124
- | 音频 | wav / mp3;单个 ≤ 15 MB;时长分档同视频 |
125
-
126
- **管理接口**(**全部免计费**,仅 Token 鉴权与限流,不产生消费记录):
127
-
128
- | 方法 | 路径 | 用途 |
129
- |---|---|---|
130
- | `GET` | `/v1/seedance2/private-avatar/assets` | 素材列表 |
131
- | `GET` | `/v1/seedance2/private-avatar/assets/{asset_id}` | 单个素材详情(含审核状态) |
132
- | `PATCH` | `/v1/seedance2/private-avatar/assets/{asset_id}` | 更新素材信息 |
133
- | `DELETE` | `/v1/seedance2/private-avatar/assets/{asset_id}` | 删除素材 |
134
- | `POST` / `GET` / `PATCH` / `DELETE` | `/v1/seedance2/private-avatar/groups[/{id}]` | 素材组管理 |
135
-
136
- 审核耗时:图片通常数秒;视频与真人素材可能数分钟。部分失败不返回具体原因(常见为素材抓取瞬时失败),平台已自动重试一次,仍失败请更换素材 URL。
137
-
138
- ## 6. 完成态响应字段
139
-
140
- | 字段 | 类型 | 说明 |
141
- |---|---|---|
142
- | `data.id` | string | 任务 ID |
143
- | `data.status` | string | 完成态恒为 `completed` |
144
- | `data.progress` | int | 完成态恒为 `100` |
145
- | `data.created` / `data.completed` | int | 提交 / 完成时间(Unix 秒) |
146
- | `data.actual_time` | int | 实际耗时(秒) |
147
- | `data.estimated_time` | int | 平台预估耗时(秒,参考值) |
148
- | `data.cost` | float | **本单实扣金额(美元)**,已含折扣 |
149
- | `data.credits_cost` | float | 实扣积分 = `cost × 10` |
150
- | `data.usage.completion_tokens` | int | 本单消耗 token 数。核账:`cost = completion_tokens ÷ 10⁶ × token 单价 × 折扣` |
151
- | `data.result.videos[].url` | **string[]** | 视频地址。**注意是数组,取 `url[0]`**。返回**平台转存后的长期地址** |
152
- | `data.result.videos[].expires_at` | int | 链接过期时间戳(转存地址长期有效,此字段为兼容保留) |
153
- | `data.result.videos[].last_frame_url` | string | 尾帧图片(**仅 `return_last_frame=true` 时有**) |
154
-
155
- 失败任务(`status=failed`):`cost` 恒为 `0`(预扣已全额退款),错误原因在 `data.error.message`。`usage` 在完成后的最初几秒可能尚未出现(结算落库有秒级延迟),再查一次即可。
156
-
157
- ## 7. 价格
158
-
159
- 来源:[APIMart 定价中心](https://apimart.ai/zh/pricing) → 视频标签页 `SEEDANCE-2.5`(2026-08-30 复核,仍标注为**预估价格**,1 Credit ≈ $0.1)。当前定价中心与模型页的秒价口径一致;唯一保留边界是供应商仍把 2.5 标为预估价,后续可能调整。
160
-
161
- **按秒**
162
-
163
- | 规格 | 我们的价格 |
164
- |---|---|
165
- | 480P | 0.9608 Credits/秒 ≈ **$0.09608/秒** |
166
- | 480P-input(有参考视频:(参考视频时长 + 生成视频时长) × 当前价格) | 0.576 Credits/秒 ≈ **$0.0576/秒** |
167
- | 720P | 2.16 Credits/秒 ≈ **$0.216/秒** |
168
- | 720P-input | 1.296 Credits/秒 ≈ **$0.1296/秒** |
169
- | 1080P | 3.8488 Credits/秒 ≈ **$0.38488/秒** |
170
- | 1080P-input | 2.2992 Credits/秒 ≈ **$0.22992/秒** |
171
-
172
- **按 token**
173
-
174
- | 计费项 | 我们的价格 |
175
- |---|---|
176
- | `token`(480p / 720p,无参考视频) | 100 Credits/1M ≈ **$10 / 1M tokens** |
177
- | `token-input`(480p / 720p,有参考视频) | 60 Credits/1M ≈ **$6 / 1M tokens** |
178
- | `token-1080P`(1080p,无参考视频) | 79.2 Credits/1M ≈ **$7.92 / 1M tokens** |
179
- | `token-1080P-input`(1080p,有参考视频) | 47.3144 Credits/1M ≈ **$4.73144 / 1M tokens** |
180
-
181
- 计费规则(文档):按 **秒 × 分辨率档** 计费;**有参考视频输入时计费秒数 = 输入视频总时长(≤30 s)+ 输出时长**,走带输入参考的优惠档单价;`duration = -1` 提交时按 30 秒上限预扣,完成后按实际产出多退少补;未传 `duration` 按 5 秒;**任务失败或内容审核拦截全额退款**。
182
-
183
- ## 8. 常见错误
184
-
185
- | 现象 | 原因 |
186
- |---|---|
187
- | 400 `resolution` 不支持 | 传了 `2k` / `4k` |
188
- | 400 `This model only supports duration 4-30 seconds, or -1` | `duration` 不在允许范围 |
189
- | 400 `first_frame/last_frame tasks only support ratio=adaptive` | 首尾帧任务指定了具体宽高比 |
190
- | 任务异步失败(编辑 / 延长类提示) | 提示词被判定为编辑 / 延长,但 `size` / `duration` 不满足对应限制 |
191
- | 任务异步失败 `SensitiveContentDetected` | 素材或产物触发内容审核 |
192
-
193
- ## 9. 适配要点
194
-
195
- - 本项目默认**绝对不显示**:`seed`、负面提示词。APIMart 本接口**有 `seed`**(不下发)。
196
- - `output_format` 默认不显示、不请求(但编辑 / 延长场景推荐 `mov`,若产品做这两类能力需要例外考虑)。
197
- - **提示词内容会改变任务类型判定**,进而触发 `size` / `duration` 的硬限制——这是与其他视频模型完全不同的行为,UI 必须在选择「编辑 / 延长」类玩法时同步锁定 `size=adaptive`、`duration=-1`。
198
- - `data.result.videos[].url` 是**数组**,取 `url[0]`。
199
- - 参考素材上限比 2.0 大一个量级(30 图 / 10 视频 / 10 音频),上传组件的上限要按模型区分。
200
- - `duration=-1` 会按 30 秒预扣押金,余额预检要按上限算。
201
- - 真人素材必须走素材库,直接传 URL 会被审核拦截。
202
- - SDK 从 `uploadedVideoFilePaths` / `videos` / `uploadedVideos` 取非空且数量最完整的一组;空数组不遮蔽其他字段。宿主按顺序提供完整 `__videoDurationSeconds: number[]` 时求真实总和,数组不完整时改用 `__totalVideoDurationSeconds`,最后才兼容 `__firstVideoDurationSeconds × 视频数` 的旧近似估算。2.5 的参考视频真实总时长上限为 30 秒。
203
-
204
- ## 10. 原始链接索引
205
-
206
- | 信息 | 链接 | 是否需登录 |
207
- |---|---|---|
208
- | seedance-2.5 视频生成 | https://docs.apimart.ai/cn/api-reference/videos/seedance-2-5/generation | 否 |
209
- | 虚拟人像素材 / 素材库(与 2.0 共用) | https://docs.apimart.ai/cn/api-reference/videos/seedance-2-0/private-avatar | 否 |
210
- | 获取任务状态 | https://docs.apimart.ai/cn/api-reference/tasks/status | 否 |
211
- | 定价中心(视频标签页搜 SEEDANCE-2.5) | https://apimart.ai/zh/pricing | 否 |
212
- | API Key 管理 | https://apimart.ai/keys | **是** |
1
+ # Seedance 2.5 · APIMart
2
+
3
+ | 项目 | 内容 |
4
+ |---|---|
5
+ | 最后更新 | 2026-08-30 |
6
+ | 模态 | 视频 |
7
+ | 供应商 | APIMart(聚合平台) |
8
+ | 平台模型 ID | `seedance-2.5` |
9
+ | 接口形态 | **异步任务** |
10
+ | 文档可见性 | 公开,无需登录 |
11
+ | 价格可见性 | 公开,无需登录 |
12
+
13
+ **相对 2.0 的主要变化**:时长上限 15 s → **30 s**;参考素材 9 图 + 3 视频 + 3 音频 → **30 图 + 10 视频 + 10 音频**;支持**纯音频参考**;新增 **mov** 输出。**分辨率只支持 480p / 720p / 1080p——2.0 的 4k 在 2.5 不可用。**
14
+
15
+ ## 1. 接入协议
16
+
17
+ - **Base URL**:`https://api.apimart.ai`
18
+ - **鉴权**:`Authorization: Bearer <API_KEY>`
19
+ - **提交**:`POST /v1/videos/generations` → `{ code: 200, data: [{ status: "submitted", task_id }] }`
20
+ - **查询**:`GET /v1/tasks/{task_id}`
21
+
22
+ ## 2. 能力清单
23
+
24
+ 文生视频、多模态参考生视频、**视频编辑**、**视频延长**、首帧 / 首尾帧、纯音频参考、联网搜索、连续生成(返回尾帧)、私域素材库。
25
+
26
+ ## 3. 请求参数
27
+
28
+ | 字段 | 类型 | 必填 | 默认 | 取值与说明 |
29
+ |---|---|---|---|---|
30
+ | `model` | string | 必填 | — | 固定 `seedance-2.5` |
31
+ | `prompt` | string | 必填 | — | 可用 **`@图片1` / `@视频1` / `@音频1`** 指代参考素材(下标从 1 起,对应数组顺序)。示例:`"全程使用@视频1的第一视角构图,@音频1作为背景音乐,首帧为@图片1"` |
32
+ | `resolution` | string | 可选 | `720p` | **仅** `480p` / `720p` / `1080p`。传 `2k` / `4k` 同步返回 **400** |
33
+ | `size` | string | 可选 | **`adaptive`** | 也接受字段名 `aspect_ratio`。`16:9`、`4:3`、`1:1`、`3:4`、`9:16`、`21:9`、`adaptive` |
34
+ | `duration` | integer | 可选 | `5` | `4` ~ `30`,或 **`-1`**(模型自动选择时长;提交时按 30 秒上限预扣,完成后多退少补)。未传按 5 秒生成与计费 |
35
+ | `generate_audio` | boolean | 可选 | **`true`** | 也接受字段名 `audio` |
36
+ | `watermark` | boolean | 可选 | `false` | 「AI 生成」水印 |
37
+ | `seed` | integer | 可选 | — | 随机种子。**本项目规则:绝对不显示**,不下发 |
38
+ | `output_format` | string | 可选 | `mp4` | `mp4` / **`mov`**(更高色彩精度,推荐用于编辑 / 延长场景) |
39
+ | `omni_reference_task_type` | string | 可选 | `auto` | `auto` / `reference` / `edit` / `extend`,见第 4 节 |
40
+ | `image_urls` | string[] | 可选 | — | 参考图,一律作为 `reference_image`。**最多 30 张**。普通 URL 或 `asset://cm9xxxxxxxx`。首帧 / 尾帧请用 `image_with_roles` |
41
+ | `image_with_roles` | array | 可选 | — | `{ url, role }`,`role` ∈ `first_frame`(1 张)/ `last_frame`(1 张,通常与首帧配合)/ `reference_image`(合计最多 30 张)。**若同时存在 `video_urls` / `audio_urls`,`first_frame` / `last_frame` 会自动转为 `reference_image`** |
42
+ | `video_urls` | string[] | 可选 | — | 参考视频,见「参考视频规格」 |
43
+ | `audio_urls` | string[] | 可选 | — | 参考音频。**最多 10 段;总时长 ≤ 30 s(单段 2~30 s)**。**2.5 支持纯音频参考**(可不配图/视频) |
44
+ | `return_last_frame` | boolean | 可选 | `false` | 成功后额外返回尾帧图片 |
45
+ | `tools` | array | 可选 | — | 如 `[{"type": "web_search"}]` |
46
+ | `nsfw_check` | boolean | 可选 | `false` | 命中同步 400(`nsfw_content_detected`),不建任务不扣费;审核不可用时 **fail-open**;`video_urls` / `audio_urls` 不送审 |
47
+
48
+ ### 素材要求
49
+
50
+ | 素材 | 限制 |
51
+ |---|---|
52
+ | 图片 | ≤ 30 张;jpeg / png / webp / bmp / tiff / gif / heic / heif;宽高比 [0.4, 2.5];边长 [300, 6000] px;单张 < 30 MB |
53
+ | 音频 | ≤ 10 段;wav / mp3;单段 [2, 30] s 且**总时长 ≤ 30 s**;单个 ≤ 15 MB |
54
+
55
+ ### 参考视频规格
56
+
57
+ - 传入方式:视频 URL 或 `asset://...`
58
+ - 格式:`mp4`、`mov`
59
+ - 分辨率:`480p`、`720p`、`1080p`
60
+ - 时长:单个 [2, 30] s;**最多 10 个**;**总时长 ≤ 30 s**
61
+ - 尺寸:宽高比 [0.4, 2.5];边长 [300, 6000] px;总像素 **[409600 (640×640), 8295044 (3326×2494)]**
62
+ - 大小:单个 ≤ **200 MB**
63
+ - 帧率:[24, 60]
64
+
65
+ | 封装格式 | 视频编码 | 音频编码 |
66
+ |---|---|---|
67
+ | `mp4` | H.264 / H.265 | AAC / MP3 |
68
+ | `mov` | H.264 / H.265 | AAC / MP3 |
69
+
70
+ ## 4. 任务类型与硬性限制(**最容易踩坑的地方**)
71
+
72
+ 系统会按参考素材与**提示词意图**判定任务类型。后三种对 `size` / `duration` 有硬性限制,**违反会在任务开始后异步失败**(如 `InvalidParameter.TaskTypeConstraint`):
73
+
74
+ | 任务类型 | 触发条件 | 限制 |
75
+ |---|---|---|
76
+ | 文生视频 | 仅文本 | 无 |
77
+ | 参考生视频 | 参考素材 + 普通描述提示词 | 无。**避免**在提示词中出现「编辑 / 延长 / 续写 / 删除 / 替换」等词,防止误判 |
78
+ | 视频编辑 | 参考素材 + 提示词含「编辑视频 / 增加 / 删除 / 修改 / 替换」等 | `size` 仅 `adaptive`;`duration` 仅 `-1`;待编辑视频须 4~30 s |
79
+ | 视频延长 | 参考素材 + 提示词含「向前 / 向后延长 / 延续 / 续写」 | `size` 仅 `adaptive` |
80
+ | 首帧 / 首尾帧 | `image_with_roles` 使用 `first_frame` / `last_frame` | `size` 仅 `adaptive`(提交阶段也会同步校验) |
81
+
82
+ ### 用 `omni_reference_task_type` 把异步报错变成同步报错
83
+
84
+ | 取值 | 含义 | 提交时校验的限制 |
85
+ |---|---|---|
86
+ | `auto`(默认) | 模型自行判定 | 无(不合格改为**异步**失败) |
87
+ | `reference` | 参考生视频 | 无(`size` / `duration` 不受限) |
88
+ | `edit` | 视频编辑 | `video_urls` 至少 1 个;`size` 只能 `adaptive`(或不传);`duration` 只能 `-1`(或不传);源视频须 4~30 s |
89
+ | `extend` | 视频延长 | `video_urls` 至少 1 个;`size` 只能 `adaptive`(或不传) |
90
+
91
+ 必须知道的点:
92
+
93
+ - **`edit` 不传 `duration` 时平台自动按 `-1` 处理**。平台对「未传 duration」默认下发 5 秒,而 `edit` 上游强制 `-1`,两者相撞会直接失败,所以平台帮你归一成 `-1`。代价是**预扣按 30 秒上限收押金**,完成后按实际用量退差。想要更小的预扣就别用 `edit`,改用默认 `auto`。
94
+ - **`edit` 显式传 `duration` 只能是 `-1`**,传别的值直接 400。
95
+ - ⚠️ **指定了也仍可能异步报错 `InvalidParameter.TaskTypeMismatch`**:上游会再结合提示词判一次任务类型,不一致就拒。所以提示词仍要按对应类型的写法来写。
96
+ - Seedance 2.5 的**全部渠道行为一致**,不会出现「换个渠道结果不一样」。
97
+
98
+ ## 5. 素材库(`asset://`)
99
+
100
+ **推荐入库**的场景:
101
+ 1. **真人人脸素材必须走素材库**——直接传 URL 会被内容审核拦截
102
+ 2. 素材会复用多次——入库一次,之后免重复审核
103
+ 3. URL 是带签名的临时链接——入库时平台会固化素材
104
+ 4. 入库素材**自动同步到全部可用渠道**
105
+
106
+ 素材库与 2.0 家族**共用**,`asset://` 对两代通用。
107
+
108
+ **上传**:`POST /v1/seedance2/private-avatar/assets`
109
+
110
+ | 字段 | 必填 | 说明 |
111
+ |---|---|---|
112
+ | `model` | ❌ | 素材要配合使用的模型(默认 2.0)。**决定时长限制档位;2.5 请传 `seedance-2.5`**(2.0 无法使用超过 15 s 的素材) |
113
+ | `group` | ❌ | 素材组;不传自动创建 |
114
+ | `asset_type` | ✅ | `Image` / `Video` / `Audio` |
115
+ | `assets[].url` | ✅ | 素材公网 URL |
116
+ | `assets[].name` | ❌ | 素材名 |
117
+
118
+ **素材限制(提交时同步校验,违规立即 400 并标明第几个素材违反哪条)**:
119
+
120
+ | 素材 | 限制 |
121
+ |---|---|
122
+ | 图片 | jpeg / png / webp / bmp / tiff / gif / heic / heif;边长 [300, 6000] px;宽高比 [0.4, 2.5];单张 < 30 MB |
123
+ | 视频 | mp4 / mov;单个 ≤ 200 MB;时长**按 model 分档**:2.0 家族 [2, 15] s,**2.5 [2, 30] s** |
124
+ | 音频 | wav / mp3;单个 ≤ 15 MB;时长分档同视频 |
125
+
126
+ **管理接口**(**全部免计费**,仅 Token 鉴权与限流,不产生消费记录):
127
+
128
+ | 方法 | 路径 | 用途 |
129
+ |---|---|---|
130
+ | `GET` | `/v1/seedance2/private-avatar/assets` | 素材列表 |
131
+ | `GET` | `/v1/seedance2/private-avatar/assets/{asset_id}` | 单个素材详情(含审核状态) |
132
+ | `PATCH` | `/v1/seedance2/private-avatar/assets/{asset_id}` | 更新素材信息 |
133
+ | `DELETE` | `/v1/seedance2/private-avatar/assets/{asset_id}` | 删除素材 |
134
+ | `POST` / `GET` / `PATCH` / `DELETE` | `/v1/seedance2/private-avatar/groups[/{id}]` | 素材组管理 |
135
+
136
+ 审核耗时:图片通常数秒;视频与真人素材可能数分钟。部分失败不返回具体原因(常见为素材抓取瞬时失败),平台已自动重试一次,仍失败请更换素材 URL。
137
+
138
+ ## 6. 完成态响应字段
139
+
140
+ | 字段 | 类型 | 说明 |
141
+ |---|---|---|
142
+ | `data.id` | string | 任务 ID |
143
+ | `data.status` | string | 完成态恒为 `completed` |
144
+ | `data.progress` | int | 完成态恒为 `100` |
145
+ | `data.created` / `data.completed` | int | 提交 / 完成时间(Unix 秒) |
146
+ | `data.actual_time` | int | 实际耗时(秒) |
147
+ | `data.estimated_time` | int | 平台预估耗时(秒,参考值) |
148
+ | `data.cost` | float | **本单实扣金额(美元)**,已含折扣 |
149
+ | `data.credits_cost` | float | 实扣积分 = `cost × 10` |
150
+ | `data.usage.completion_tokens` | int | 本单消耗 token 数。核账:`cost = completion_tokens ÷ 10⁶ × token 单价 × 折扣` |
151
+ | `data.result.videos[].url` | **string[]** | 视频地址。**注意是数组,取 `url[0]`**。返回**平台转存后的长期地址** |
152
+ | `data.result.videos[].expires_at` | int | 链接过期时间戳(转存地址长期有效,此字段为兼容保留) |
153
+ | `data.result.videos[].last_frame_url` | string | 尾帧图片(**仅 `return_last_frame=true` 时有**) |
154
+
155
+ 失败任务(`status=failed`):`cost` 恒为 `0`(预扣已全额退款),错误原因在 `data.error.message`。`usage` 在完成后的最初几秒可能尚未出现(结算落库有秒级延迟),再查一次即可。
156
+
157
+ ## 7. 价格
158
+
159
+ 来源:[APIMart 定价中心](https://apimart.ai/zh/pricing) → 视频标签页 `SEEDANCE-2.5`(2026-08-30 复核,仍标注为**预估价格**,1 Credit ≈ $0.1)。当前定价中心与模型页的秒价口径一致;唯一保留边界是供应商仍把 2.5 标为预估价,后续可能调整。
160
+
161
+ **按秒**
162
+
163
+ | 规格 | 我们的价格 |
164
+ |---|---|
165
+ | 480P | 0.9608 Credits/秒 ≈ **$0.09608/秒** |
166
+ | 480P-input(有参考视频:(参考视频时长 + 生成视频时长) × 当前价格) | 0.576 Credits/秒 ≈ **$0.0576/秒** |
167
+ | 720P | 2.16 Credits/秒 ≈ **$0.216/秒** |
168
+ | 720P-input | 1.296 Credits/秒 ≈ **$0.1296/秒** |
169
+ | 1080P | 3.8488 Credits/秒 ≈ **$0.38488/秒** |
170
+ | 1080P-input | 2.2992 Credits/秒 ≈ **$0.22992/秒** |
171
+
172
+ **按 token**
173
+
174
+ | 计费项 | 我们的价格 |
175
+ |---|---|
176
+ | `token`(480p / 720p,无参考视频) | 100 Credits/1M ≈ **$10 / 1M tokens** |
177
+ | `token-input`(480p / 720p,有参考视频) | 60 Credits/1M ≈ **$6 / 1M tokens** |
178
+ | `token-1080P`(1080p,无参考视频) | 79.2 Credits/1M ≈ **$7.92 / 1M tokens** |
179
+ | `token-1080P-input`(1080p,有参考视频) | 47.3144 Credits/1M ≈ **$4.73144 / 1M tokens** |
180
+
181
+ 计费规则(文档):按 **秒 × 分辨率档** 计费;**有参考视频输入时计费秒数 = 输入视频总时长(≤30 s)+ 输出时长**,走带输入参考的优惠档单价;`duration = -1` 提交时按 30 秒上限预扣,完成后按实际产出多退少补;未传 `duration` 按 5 秒;**任务失败或内容审核拦截全额退款**。
182
+
183
+ ## 8. 常见错误
184
+
185
+ | 现象 | 原因 |
186
+ |---|---|
187
+ | 400 `resolution` 不支持 | 传了 `2k` / `4k` |
188
+ | 400 `This model only supports duration 4-30 seconds, or -1` | `duration` 不在允许范围 |
189
+ | 400 `first_frame/last_frame tasks only support ratio=adaptive` | 首尾帧任务指定了具体宽高比 |
190
+ | 任务异步失败(编辑 / 延长类提示) | 提示词被判定为编辑 / 延长,但 `size` / `duration` 不满足对应限制 |
191
+ | 任务异步失败 `SensitiveContentDetected` | 素材或产物触发内容审核 |
192
+
193
+ ## 9. 适配要点
194
+
195
+ - 本项目默认**绝对不显示**:`seed`、负面提示词。APIMart 本接口**有 `seed`**(不下发)。
196
+ - `output_format` 默认不显示、不请求(但编辑 / 延长场景推荐 `mov`,若产品做这两类能力需要例外考虑)。
197
+ - **提示词内容会改变任务类型判定**,进而触发 `size` / `duration` 的硬限制——这是与其他视频模型完全不同的行为,UI 必须在选择「编辑 / 延长」类玩法时同步锁定 `size=adaptive`、`duration=-1`。
198
+ - `data.result.videos[].url` 是**数组**,取 `url[0]`。
199
+ - 参考素材上限比 2.0 大一个量级(30 图 / 10 视频 / 10 音频),上传组件的上限要按模型区分。
200
+ - `duration=-1` 会按 30 秒预扣押金,余额预检要按上限算。
201
+ - 真人素材必须走素材库,直接传 URL 会被审核拦截。
202
+ - SDK 从 `uploadedVideoFilePaths` / `videos` / `uploadedVideos` 取非空且数量最完整的一组;空数组不遮蔽其他字段。宿主按顺序提供完整 `__videoDurationSeconds: number[]` 时求真实总和,数组不完整时改用 `__totalVideoDurationSeconds`,最后才兼容 `__firstVideoDurationSeconds × 视频数` 的旧近似估算。2.5 的参考视频真实总时长上限为 30 秒。
203
+
204
+ ## 10. 原始链接索引
205
+
206
+ | 信息 | 链接 | 是否需登录 |
207
+ |---|---|---|
208
+ | seedance-2.5 视频生成 | https://docs.apimart.ai/cn/api-reference/videos/seedance-2-5/generation | 否 |
209
+ | 虚拟人像素材 / 素材库(与 2.0 共用) | https://docs.apimart.ai/cn/api-reference/videos/seedance-2-0/private-avatar | 否 |
210
+ | 获取任务状态 | https://docs.apimart.ai/cn/api-reference/tasks/status | 否 |
211
+ | 定价中心(视频标签页搜 SEEDANCE-2.5) | https://apimart.ai/zh/pricing | 否 |
212
+ | API Key 管理 | https://apimart.ai/keys | **是** |
@@ -1,94 +1,94 @@
1
- # Seedance 2.5 · Fal
2
-
3
- | 项目 | 内容 |
4
- |---|---|
5
- | 最后更新 | 2026-08-30 |
6
- | 模态 | 视频 |
7
- | 供应商 | fal.ai(聚合平台) |
8
- | 平台模型 ID | `bytedance/seedance-2.5/text-to-video`、`bytedance/seedance-2.5/image-to-video`、`bytedance/seedance-2.5/reference-to-video` |
9
- | 接口形态 | 队列异步(推荐)或同步直连 |
10
- | 文档可见性 | 公开,无需登录 |
11
- | 价格可见性 | 公开,无需登录 |
12
-
13
- ## 1. 接入协议(Fal 通用)
14
-
15
- - **鉴权**:`Authorization: Key $FAL_KEY`
16
- - **同步**:`POST https://fal.run/<endpoint-id>`;**队列**:`POST https://queue.fal.run/<endpoint-id>`,`GET .../requests/{id}/status`(`IN_QUEUE` / `IN_PROGRESS` / `COMPLETED`)、`GET .../requests/{id}`
17
- - **权威 schema**:`https://fal.ai/models/<endpoint-id>/llms.txt`
18
-
19
- ## 2. 能力清单
20
-
21
- | 能力 | endpoint id |
22
- |---|---|
23
- | 文生视频 | `bytedance/seedance-2.5/text-to-video` |
24
- | 图生视频(首帧,可选尾帧) | `bytedance/seedance-2.5/image-to-video` |
25
- | 参考生视频(图 / 视频 / 音频多模态) | `bytedance/seedance-2.5/reference-to-video` |
26
-
27
- ## 3. 请求参数
28
-
29
- ### 3.1 三个端点共有
30
-
31
- | 字段 | 类型 | 必填 | 默认 | 取值与说明 |
32
- |---|---|---|---|---|
33
- | `prompt` | string | 必填 | — | 视频描述 |
34
- | `resolution` | string | 可选 | `720p` | `480p` / `720p` / `1080p`(**无 4k**) |
35
- | `duration` | string | 可选 | `auto` | `auto`、`"4"` ~ **`"30"`**(**字符串枚举**,2.0 只到 `"15"`) |
36
- | `aspect_ratio` | string | 可选 | `auto` | `auto`、`21:9`、`16:9`、`4:3`、`1:1`、`3:4`、`9:16` |
37
- | `generate_audio` | boolean | 可选 | **`true`** | 是否生成同步音频 |
38
- | `bitrate_mode` | string | 可选 | `standard` | `standard` / `high` |
39
- | `end_user_id` | string | 可选 | — | 终端用户唯一 ID |
40
-
41
- ### 3.2 仅 `image-to-video`
42
-
43
- `image_url`(必填,首帧图)、`end_image_url`(可选,尾帧图)。JPEG / PNG / WebP,≤ 30 MB。
44
-
45
- ### 3.3 仅 `reference-to-video`
46
-
47
- `image_urls` / `video_urls` / `audio_urls`,在 prompt 中用 `@Image1` / `@Video1` / `@Audio1` 引用。
48
-
49
- > 具体上限以端点 `llms.txt` 为准(2.5 上游支持 30 图 / 10 视频 / 10 音频)。
50
-
51
- ## 4. 响应结构
52
-
53
- ```json
54
- { "video": { "url": "https://v3b.fal.media/files/.../output.mp4" }, "seed": 42 }
55
- ```
56
-
57
- ## 5. 价格
58
-
59
- 来源:三个端点的 `llms.txt`(2026-08-30 重新读取)。
60
-
61
- | 项 | 价格 |
62
- |---|---|
63
- | 720p(按秒,约) | **$0.4730 / 秒** |
64
- | 480p(按秒,约) | **$0.2205 / 秒** |
65
- | token 价(480p / 720p) | **$0.0214 / 1000 tokens** |
66
- | token 价(1080p,约) | **$0.0234 / 1000 tokens** |
67
- | 1080p 官方页秒价文案 | **约 $1.164 / 秒** |
68
- | 1080p 按同页 token 公式计算 | **约 $1.13724 / 秒** |
69
-
70
- token 数约为 `(输出视频高 × 输出视频宽 × 时长 × 24) / 1024`。
71
-
72
- > **官方价格冲突,暂不替供应商猜结论**:同一官方资料同时出现 1080p 约 `$1.164/秒`,以及 `$0.0234/1000 tokens`。按 1920×1080、24 fps 代入同页公式得到 `48,600 tokens/秒 × $0.0234/1000 = $1.13724/秒`,两者不一致。本次只记录冲突,不据此改动静态价格;后续应以 Fal pricing API 或真实 billing event 确认。
73
-
74
- `reference-to-video` 有视频输入时:token 数按 `(高 × 宽 × (输入视频时长 + 输出视频时长) × 24) / 1024`,且**价格 × 0.6**——有视频输入 + 720p 时约 **$0.2838 / 秒**。**有视频参考时输入与输出视频都要计费。**
75
-
76
- ## 6. 适配要点
77
-
78
- - 本项目默认**绝对不显示**:`seed`、负面提示词。Fal 入参没有 `seed`(只在输出里回传),也没有负面提示词。
79
- - `duration` 是**字符串枚举**且 2.5 支持到 `"30"`,与 2.0 的 `"15"` 上限不同。
80
- - `aspect_ratio` 用 `auto`,APIMart / KIE 用 `adaptive`。
81
- - Fal 上**没有 `output_format`(mov)、没有 `omni_reference_task_type`、没有 watermark**,视频编辑 / 延长这类子任务类型无法显式声明。
82
- - 三种输入形态是三个独立 endpoint,需要按有无图 / 有无参考素材路由。
83
- - 有视频输入时价格 × 0.6,但按「输入 + 输出总时长」计费。
84
-
85
- ## 7. 原始链接索引
86
-
87
- | 信息 | 链接 | 是否需登录 |
88
- |---|---|---|
89
- | 文生视频 schema + 价格 | https://fal.ai/models/bytedance/seedance-2.5/text-to-video/llms.txt | 否 |
90
- | 图生视频 schema + 价格 | https://fal.ai/models/bytedance/seedance-2.5/image-to-video/llms.txt | 否 |
91
- | 参考生视频 schema + 价格 | https://fal.ai/models/bytedance/seedance-2.5/reference-to-video/llms.txt | 否 |
92
- | Fal 当前价格 API | https://fal.ai/docs/platform-apis/v1/models/pricing | 否(调用需 Key) |
93
- | 队列协议 | https://fal.ai/docs/documentation/model-apis/inference/queue | 否 |
94
- | API Key 创建 | https://fal.ai/dashboard/keys | **是** |
1
+ # Seedance 2.5 · Fal
2
+
3
+ | 项目 | 内容 |
4
+ |---|---|
5
+ | 最后更新 | 2026-08-30 |
6
+ | 模态 | 视频 |
7
+ | 供应商 | fal.ai(聚合平台) |
8
+ | 平台模型 ID | `bytedance/seedance-2.5/text-to-video`、`bytedance/seedance-2.5/image-to-video`、`bytedance/seedance-2.5/reference-to-video` |
9
+ | 接口形态 | 队列异步(推荐)或同步直连 |
10
+ | 文档可见性 | 公开,无需登录 |
11
+ | 价格可见性 | 公开,无需登录 |
12
+
13
+ ## 1. 接入协议(Fal 通用)
14
+
15
+ - **鉴权**:`Authorization: Key $FAL_KEY`
16
+ - **同步**:`POST https://fal.run/<endpoint-id>`;**队列**:`POST https://queue.fal.run/<endpoint-id>`,`GET .../requests/{id}/status`(`IN_QUEUE` / `IN_PROGRESS` / `COMPLETED`)、`GET .../requests/{id}`
17
+ - **权威 schema**:`https://fal.ai/models/<endpoint-id>/llms.txt`
18
+
19
+ ## 2. 能力清单
20
+
21
+ | 能力 | endpoint id |
22
+ |---|---|
23
+ | 文生视频 | `bytedance/seedance-2.5/text-to-video` |
24
+ | 图生视频(首帧,可选尾帧) | `bytedance/seedance-2.5/image-to-video` |
25
+ | 参考生视频(图 / 视频 / 音频多模态) | `bytedance/seedance-2.5/reference-to-video` |
26
+
27
+ ## 3. 请求参数
28
+
29
+ ### 3.1 三个端点共有
30
+
31
+ | 字段 | 类型 | 必填 | 默认 | 取值与说明 |
32
+ |---|---|---|---|---|
33
+ | `prompt` | string | 必填 | — | 视频描述 |
34
+ | `resolution` | string | 可选 | `720p` | `480p` / `720p` / `1080p`(**无 4k**) |
35
+ | `duration` | string | 可选 | `auto` | `auto`、`"4"` ~ **`"30"`**(**字符串枚举**,2.0 只到 `"15"`) |
36
+ | `aspect_ratio` | string | 可选 | `auto` | `auto`、`21:9`、`16:9`、`4:3`、`1:1`、`3:4`、`9:16` |
37
+ | `generate_audio` | boolean | 可选 | **`true`** | 是否生成同步音频 |
38
+ | `bitrate_mode` | string | 可选 | `standard` | `standard` / `high` |
39
+ | `end_user_id` | string | 可选 | — | 终端用户唯一 ID |
40
+
41
+ ### 3.2 仅 `image-to-video`
42
+
43
+ `image_url`(必填,首帧图)、`end_image_url`(可选,尾帧图)。JPEG / PNG / WebP,≤ 30 MB。
44
+
45
+ ### 3.3 仅 `reference-to-video`
46
+
47
+ `image_urls` / `video_urls` / `audio_urls`,在 prompt 中用 `@Image1` / `@Video1` / `@Audio1` 引用。
48
+
49
+ > 具体上限以端点 `llms.txt` 为准(2.5 上游支持 30 图 / 10 视频 / 10 音频)。
50
+
51
+ ## 4. 响应结构
52
+
53
+ ```json
54
+ { "video": { "url": "https://v3b.fal.media/files/.../output.mp4" }, "seed": 42 }
55
+ ```
56
+
57
+ ## 5. 价格
58
+
59
+ 来源:三个端点的 `llms.txt`(2026-08-30 重新读取)。
60
+
61
+ | 项 | 价格 |
62
+ |---|---|
63
+ | 720p(按秒,约) | **$0.4730 / 秒** |
64
+ | 480p(按秒,约) | **$0.2205 / 秒** |
65
+ | token 价(480p / 720p) | **$0.0214 / 1000 tokens** |
66
+ | token 价(1080p,约) | **$0.0234 / 1000 tokens** |
67
+ | 1080p 官方页秒价文案 | **约 $1.164 / 秒** |
68
+ | 1080p 按同页 token 公式计算 | **约 $1.13724 / 秒** |
69
+
70
+ token 数约为 `(输出视频高 × 输出视频宽 × 时长 × 24) / 1024`。
71
+
72
+ > **官方价格冲突,暂不替供应商猜结论**:同一官方资料同时出现 1080p 约 `$1.164/秒`,以及 `$0.0234/1000 tokens`。按 1920×1080、24 fps 代入同页公式得到 `48,600 tokens/秒 × $0.0234/1000 = $1.13724/秒`,两者不一致。本次只记录冲突,不据此改动静态价格;后续应以 Fal pricing API 或真实 billing event 确认。
73
+
74
+ `reference-to-video` 有视频输入时:token 数按 `(高 × 宽 × (输入视频时长 + 输出视频时长) × 24) / 1024`,且**价格 × 0.6**——有视频输入 + 720p 时约 **$0.2838 / 秒**。**有视频参考时输入与输出视频都要计费。**
75
+
76
+ ## 6. 适配要点
77
+
78
+ - 本项目默认**绝对不显示**:`seed`、负面提示词。Fal 入参没有 `seed`(只在输出里回传),也没有负面提示词。
79
+ - `duration` 是**字符串枚举**且 2.5 支持到 `"30"`,与 2.0 的 `"15"` 上限不同。
80
+ - `aspect_ratio` 用 `auto`,APIMart / KIE 用 `adaptive`。
81
+ - Fal 上**没有 `output_format`(mov)、没有 `omni_reference_task_type`、没有 watermark**,视频编辑 / 延长这类子任务类型无法显式声明。
82
+ - 三种输入形态是三个独立 endpoint,需要按有无图 / 有无参考素材路由。
83
+ - 有视频输入时价格 × 0.6,但按「输入 + 输出总时长」计费。
84
+
85
+ ## 7. 原始链接索引
86
+
87
+ | 信息 | 链接 | 是否需登录 |
88
+ |---|---|---|
89
+ | 文生视频 schema + 价格 | https://fal.ai/models/bytedance/seedance-2.5/text-to-video/llms.txt | 否 |
90
+ | 图生视频 schema + 价格 | https://fal.ai/models/bytedance/seedance-2.5/image-to-video/llms.txt | 否 |
91
+ | 参考生视频 schema + 价格 | https://fal.ai/models/bytedance/seedance-2.5/reference-to-video/llms.txt | 否 |
92
+ | Fal 当前价格 API | https://fal.ai/docs/platform-apis/v1/models/pricing | 否(调用需 Key) |
93
+ | 队列协议 | https://fal.ai/docs/documentation/model-apis/inference/queue | 否 |
94
+ | API Key 创建 | https://fal.ai/dashboard/keys | **是** |