@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.
- package/CHANGELOG.md +153 -143
- package/README.md +486 -461
- package/dist/capabilities/embedding/bailian.d.ts +23 -0
- package/dist/capabilities/embedding/bailian.js +10 -0
- package/dist/capabilities/embedding/bigmodel.d.ts +9 -0
- package/dist/capabilities/embedding/bigmodel.js +5 -0
- package/dist/capabilities/embedding/index.d.ts +1 -0
- package/dist/capabilities/embedding/index.js +1 -0
- package/dist/capabilities/embedding/ppio.d.ts +7 -0
- package/dist/capabilities/embedding/ppio.js +5 -0
- package/dist/capabilities/embedding/siliconflow.d.ts +21 -0
- package/dist/capabilities/embedding/siliconflow.js +10 -0
- package/dist/capabilities/embedding/volcengine.d.ts +10 -0
- package/dist/capabilities/embedding/volcengine.js +6 -0
- package/dist/capabilities/rerank/bailian.d.ts +21 -0
- package/dist/capabilities/rerank/bailian.js +14 -0
- package/dist/capabilities/rerank/bigmodel.d.ts +9 -0
- package/dist/capabilities/rerank/bigmodel.js +5 -0
- package/dist/capabilities/rerank/index.d.ts +1 -0
- package/dist/capabilities/rerank/index.js +1 -0
- package/dist/capabilities/rerank/ppio.d.ts +7 -0
- package/dist/capabilities/rerank/ppio.js +5 -0
- package/dist/capabilities/rerank/siliconflow.d.ts +21 -0
- package/dist/capabilities/rerank/siliconflow.js +10 -0
- package/dist/capabilities/retrieval/http.d.ts +3 -0
- package/dist/capabilities/retrieval/http.js +48 -0
- package/dist/capabilities/retrieval/module.d.ts +11 -0
- package/dist/capabilities/retrieval/module.js +110 -0
- package/dist/capabilities/retrieval/types.d.ts +54 -0
- package/dist/capabilities/retrieval/types.js +1 -0
- package/dist/capabilities/retrieval/validation.d.ts +10 -0
- package/dist/capabilities/retrieval/validation.js +65 -0
- package/dist/capabilities/types.d.ts +1 -1
- package/dist/catalog/apimart/gpt-image-2.5.model.d.ts +2 -0
- package/dist/catalog/apimart/gpt-image-2.5.model.js +51 -0
- package/dist/catalog/fal/gpt-image-2.5.model.d.ts +2 -0
- package/dist/catalog/fal/gpt-image-2.5.model.js +53 -0
- package/dist/catalog/fal/ic-light-v2.model.js +9 -13
- package/dist/catalog/grsai/gpt-image-2.5.model.d.ts +2 -0
- package/dist/catalog/grsai/gpt-image-2.5.model.js +54 -0
- package/dist/catalog/grsai/gptImage25Sizes.d.ts +1 -0
- package/dist/catalog/grsai/gptImage25Sizes.js +76 -0
- package/dist/catalog/index.js +112 -104
- package/dist/catalog/kie/gpt-image-2.5.model.d.ts +2 -0
- package/dist/catalog/kie/gpt-image-2.5.model.js +38 -0
- package/dist/catalog/shared/gptImage25.d.ts +16 -0
- package/dist/catalog/shared/gptImage25.js +48 -0
- package/dist/catalog/shared/gptImage25Pricing.d.ts +12 -0
- package/dist/catalog/shared/gptImage25Pricing.js +508 -0
- package/dist/llm/defaults.d.ts +1 -1
- package/dist/llm/defaults.js +1 -1
- package/dist/llm/modelCatalogEntries.js +16 -0
- package/dist/llm/providerPresets.js +2 -2
- package/dist/packs/models/apimart/gpt-image-2.5.d.ts +6 -0
- package/dist/packs/models/apimart/gpt-image-2.5.js +7 -0
- package/dist/packs/models/fal/gpt-image-2.5.d.ts +6 -0
- package/dist/packs/models/fal/gpt-image-2.5.js +7 -0
- package/dist/packs/models/grsai/gpt-image-2.5.d.ts +6 -0
- package/dist/packs/models/grsai/gpt-image-2.5.js +7 -0
- package/dist/packs/models/kie/gpt-image-2.5.d.ts +6 -0
- package/dist/packs/models/kie/gpt-image-2.5.js +7 -0
- package/dist/packs/provider-packs/apimart.d.ts +1 -1
- package/dist/packs/provider-packs/apimart.js +21 -20
- package/dist/packs/provider-packs/fal.d.ts +1 -1
- package/dist/packs/provider-packs/fal.js +37 -36
- package/dist/packs/provider-packs/grsai.d.ts +1 -1
- package/dist/packs/provider-packs/grsai.js +6 -5
- package/dist/packs/provider-packs/kie.d.ts +1 -1
- package/dist/packs/provider-packs/kie.js +28 -27
- package/dist/packs/tool-models/fal/{qwen-image-edit-2509-multiple-angles.d.ts → qwen-image-edit-2511-multiple-angles.d.ts} +1 -1
- package/dist/packs/tool-models/fal/{qwen-image-edit-2509-multiple-angles.js → qwen-image-edit-2511-multiple-angles.js} +1 -1
- package/dist/packs/tool-packs/fal-multi-angle-tools.js +1 -1
- package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2511-multiple-angles.model.d.ts +2 -0
- 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
- package/docs/README.md +26 -26
- package/docs/consumers.md +54 -48
- package/docs/llm-adaptation/README.md +139 -139
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +103 -91
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +75 -75
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/MiniMax.md +84 -84
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +85 -85
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +232 -232
- 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
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274Qwen.md +84 -84
- 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
- package/docs/model-adaptation/Bria-Eraser/Bria-Eraser_Fal.md +32 -32
- 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
- package/docs/model-adaptation/ControlLight/ControlLight_Fal.md +85 -85
- 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
- package/docs/model-adaptation/Finegrain-Eraser/Finegrain-Eraser_Fal.md +31 -31
- package/docs/model-adaptation/Flux-Pro-Erase/Flux-Pro-Erase_Fal.md +34 -34
- package/docs/model-adaptation/Fun-ASR/Fun-ASR_/347/231/276/347/202/274.md +43 -43
- 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
- package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +37 -37
- 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
- package/docs/model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_/346/231/272/350/260/261.md +207 -207
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_APIMart.md +173 -173
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Fal.md +94 -94
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Grsai.md +137 -137
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_KIE.md +93 -93
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_APIMart.md +66 -0
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Fal.md +55 -0
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Grsai.md +53 -0
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_KIE.md +55 -0
- package/docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md +62 -62
- package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_APIMart.md +124 -124
- package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_Fal.md +84 -84
- package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_KIE.md +129 -129
- package/docs/model-adaptation/Grok-Imagine/Grok-Imagine_KIE.md +36 -36
- package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_APIMart.md +250 -250
- package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_Fal.md +84 -84
- package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_KIE.md +105 -105
- package/docs/model-adaptation/Hailuo-02/Hailuo-02_Fal.md +93 -93
- package/docs/model-adaptation/Hailuo-02/Hailuo-02_KIE.md +56 -56
- package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_Fal.md +88 -88
- package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_KIE.md +51 -51
- package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_/346/264/276/346/254/247/344/272/221.md +70 -70
- package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +97 -94
- 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
- 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
- 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
- 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
- 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
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_APIMart.md +112 -112
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_Fal.md +89 -89
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_KIE.md +106 -106
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_/346/264/276/346/254/247/344/272/221.md +119 -119
- package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_APIMart.md +125 -125
- package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_Fal.md +107 -107
- package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_KIE.md +143 -143
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_APIMart.md +85 -85
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_Fal.md +83 -83
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_KIE.md +84 -84
- package/docs/model-adaptation/Midjourney/Midjourney_APIMart.md +396 -396
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_APIMart.md +234 -234
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_Fal.md +108 -108
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_KIE.md +111 -111
- package/docs/model-adaptation/MiniMax-Speech/MiniMax-Speech_/346/264/276/346/254/247/344/272/221.md +170 -170
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_APIMart.md +89 -89
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Fal.md +99 -99
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Grsai.md +82 -82
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_KIE.md +70 -70
- package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_APIMart.md +79 -79
- package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_Grsai.md +65 -65
- package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_KIE.md +64 -64
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_APIMart.md +83 -83
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Fal.md +89 -89
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Grsai.md +82 -82
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_KIE.md +64 -64
- 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
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_APIMart.md +117 -117
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_Fal.md +84 -84
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_KIE.md +103 -103
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_/347/231/276/347/202/274.md +138 -138
- 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
- package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +47 -47
- package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +39 -39
- package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +39 -39
- package/docs/model-adaptation/Qwen3-ASR-Flash/Qwen3-ASR-Flash_/347/231/276/347/202/274.md +40 -40
- 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
- package/docs/model-adaptation/Qwen3-ASR-Flash-Filetrans/Qwen3-ASR-Flash-Filetrans_/347/231/276/347/202/274.md +41 -41
- package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +35 -35
- 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
- package/docs/model-adaptation/README.md +313 -295
- 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
- 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
- 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
- package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_APIMart.md +121 -121
- package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_Fal.md +97 -97
- package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_KIE.md +86 -86
- package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_APIMart.md +89 -89
- package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_Fal.md +95 -95
- package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_KIE.md +78 -78
- package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_APIMart.md +89 -89
- package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_Fal.md +96 -96
- package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_KIE.md +78 -78
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_APIMart.md +212 -212
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_Fal.md +94 -94
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_KIE.md +89 -89
- package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_APIMart.md +106 -106
- package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_Fal.md +91 -91
- package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_KIE.md +89 -89
- 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
- package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_APIMart.md +194 -194
- package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_Fal.md +100 -100
- package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_KIE.md +141 -141
- 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
- package/docs/model-adaptation/SenseVoiceSmall/SenseVoiceSmall_/347/241/205/345/237/272/346/265/201/345/212/250.md +69 -69
- package/docs/model-adaptation/TeleSpeechASR/TeleSpeechASR_/347/241/205/345/237/272/346/265/201/345/212/250.md +72 -72
- 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
- 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
- package/docs/model-adaptation/Wan-2.5-Preview/Wan-2.5-Preview_/346/264/276/346/254/247/344/272/221.md +82 -82
- package/docs/model-adaptation/Wan-2.6/Wan-2.6_/346/264/276/346/254/247/344/272/221.md +84 -84
- package/docs/model-adaptation/Wan-2.7/Wan-2.7_/346/264/276/346/254/247/344/272/221.md +122 -122
- package/docs/model-adaptation/Whisper-Large-v3/Whisper-Large-v3_Groq.md +76 -76
- package/docs/model-adaptation/Whisper-Large-v3-Turbo/Whisper-Large-v3-Turbo_Groq.md +75 -75
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_APIMart.md +88 -88
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_Fal.md +95 -95
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_KIE.md +71 -71
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/347/231/276/347/202/274.md +122 -122
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/351/255/224/346/220/255.md +97 -97
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/APIMart.md +238 -238
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Fal.md +172 -172
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Groq.md +121 -121
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Grsai.md +217 -217
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/KIE.md +131 -131
- 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
- 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
- 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
- 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
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +237 -227
- 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
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md +207 -207
- 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
- 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
- package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Electron.md +77 -77
- package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Tauri.md +81 -81
- package/docs//346/216/245/345/205/245/346/214/207/345/215/227/UXP.md +169 -169
- 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
- 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
- package/examples/form-renderer/README.md +17 -17
- package/examples/form-renderer/cli.ts +32 -32
- package/examples/form-renderer/index.ts +144 -144
- package/examples/form-renderer/package.json +16 -16
- package/examples/form-renderer/tsconfig.json +14 -14
- package/examples/llm-chat/README.md +32 -32
- package/examples/llm-chat/index.ts +100 -100
- package/examples/llm-chat/package.json +19 -19
- package/examples/llm-chat/tsconfig.json +14 -14
- package/examples/minimal-node/README.md +31 -31
- package/examples/minimal-node/index.ts +138 -138
- package/examples/minimal-node/package.json +17 -17
- package/examples/minimal-node/tsconfig.json +14 -14
- package/package.json +252 -197
- package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2509-multiple-angles.model.d.ts +0 -2
- 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,88 +1,110 @@
|
|
|
1
|
-
# 硅基流动 · 供应商基础文档
|
|
2
|
-
|
|
3
|
-
| 项目 | 内容 |
|
|
4
|
-
|---|---|
|
|
5
|
-
| 最后更新 | 2026-08-31 |
|
|
6
|
-
| 供应商 | SiliconFlow / SiliconCloud |
|
|
7
|
-
| 建议 `providerId` | `siliconflow` |
|
|
8
|
-
| Base URL | `https://api.siliconflow.cn/v1` |
|
|
9
|
-
| 鉴权 | `Authorization: Bearer <SILICONFLOW_API_KEY>` |
|
|
10
|
-
| 已核验 ASR 类型 | 同步文件语音转写 API |
|
|
11
|
-
| 文档/价格可见性 | 公开,无需登录;API Key、实名、用量和账单需登录 |
|
|
12
|
-
|
|
13
|
-
## 1. ASR 端点与请求
|
|
14
|
-
|
|
15
|
-
```text
|
|
16
|
-
POST https://api.siliconflow.cn/v1/audio/transcriptions
|
|
17
|
-
Authorization: Bearer <SILICONFLOW_API_KEY>
|
|
18
|
-
Content-Type: multipart/form-data
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
| 字段 | 类型 | 要求 |
|
|
22
|
-
|---|---|---|
|
|
23
|
-
| `file` | binary file | 必填;时长不超过 1 小时,文件不超过 50 MB |
|
|
24
|
-
| `model` | enum string | 必填;`FunAudioLLM/SenseVoiceSmall` 或 `TeleAI/TeleSpeechASR` |
|
|
25
|
-
|
|
26
|
-
官方端点参考目前只公开了 `file` 和 `model`,没有公开 `language`、`prompt`、
|
|
27
|
-
`response_format`、词级时间戳、说话人分离或热词参数。cURL 使用 MP3 为示例,但页面未给出
|
|
28
|
-
完整 MIME/容器白名单;不应仅根据开源上游模型能力自行扩展公开云 API 参数。
|
|
29
|
-
|
|
30
|
-
成功响应是 `application/json`:
|
|
31
|
-
|
|
32
|
-
```json
|
|
33
|
-
{
|
|
34
|
-
"text": "<string>"
|
|
35
|
-
}
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
响应头 `x-siliconcloud-trace-id` 是服务端生成的请求追踪标识,可在排障时提供给官方,
|
|
39
|
-
不应当成稳定业务 ID。官方未公开独立 WebSocket、SSE、异步任务或实时麦克风 ASR
|
|
40
|
-
协议;本端点应按同步文件转写建模。
|
|
41
|
-
|
|
42
|
-
## 2. 模型、价格与免费政策
|
|
43
|
-
|
|
44
|
-
| 平台模型 ID | API 明确列举 | 当前价格证据 | 结论 |
|
|
45
|
-
|---|---:|---|---|
|
|
46
|
-
| `FunAudioLLM/SenseVoiceSmall` | 是 | 公开价格页语音模型标注“免费” | 自有 Key 调用按当前免费模型政策处理 |
|
|
47
|
-
| `TeleAI/TeleSpeechASR` | 是 | 通用价格页当前未找到该 ID;官方“说点啥”用例将它列入该客户端的免费服务 | **自有 Key 的通用计费未确认**,上线前必须在控制台/账单复核 |
|
|
48
|
-
|
|
49
|
-
免费模型不是一次性试用金:官方 Rate Limits 页明确说免费模型调用账单消耗为 0,
|
|
50
|
-
同时要求账号完成实名认证。免费模型使用固定 Rate Limits,但公开页未给这两个 ASR
|
|
51
|
-
模型的精确数值;不应把其它模型的 RPM/RPD 直接套用。模型转写页还明确保留定期上下线
|
|
52
|
-
和调整服务能力的权利,因此发布前应再做模型可用性查询。
|
|
53
|
-
|
|
54
|
-
## 3. 错误契约
|
|
55
|
-
|
|
56
|
-
官方转写 API 参考和通用错误页表明错误体并非始终同一形状:
|
|
57
|
-
|
|
58
|
-
- JSON 形状可为 `{ "code": 20012, "message": "...", "data": null }`;
|
|
59
|
-
- 部分鉴权/权限/路由错误在 API 参考中展示为纯字符串;
|
|
60
|
-
- 429 错误示例含 `message` 和 `data`,需从 `message` 区分 RPM/RPD/TPM/TPD/IPM/IPD;
|
|
61
|
-
- 503/504 通常表示服务高负载,500 是未知服务异常。
|
|
62
|
-
|
|
63
|
-
常见 HTTP 状态:400 参数,401 凭证,403 余额/权限/实名,429 限流,500 未知服务错误,
|
|
64
|
-
503/504 过载。SDK 的 `provider_http_error` 诊断文本需保留 HTTP status、可用的
|
|
65
|
-
`code/message/data`、纯文本 fallback 和脱敏后的 `x-siliconcloud-trace-id`;当前通用
|
|
66
|
-
`AiRuntimeError` 不提供结构化供应商错误 metadata,不可只按一种 JSON 错误结构解析。
|
|
67
|
-
|
|
68
|
-
## 4. Say-It/SDK 接入边界
|
|
69
|
-
|
|
70
|
-
接入复杂度低:标准 Bearer Key + `multipart/form-data` + JSON 或文本错误,无 HMAC、无二进制
|
|
71
|
-
私有帧。与 OpenAI/Groq 语音转写形状接近,但当前公开字段仅有 `file/model`,不能把
|
|
72
|
-
OpenAI 的 `language/prompt/response_format/temperature` 透传过来。
|
|
73
|
-
|
|
74
|
-
中国大陆使用 `api.siliconflow.cn`,需 SiliconCloud 账号与 API Key;免费模型需实名认证。
|
|
75
|
-
本轮没有发起真实或付费请求,运营商网络可达性、账户实际限流和 TeleSpeechASR 自有 Key
|
|
76
|
-
计费均未实测。
|
|
77
|
-
|
|
78
|
-
## 5. 原始链接索引
|
|
79
|
-
|
|
80
|
-
| 信息 | 链接 | 是否需登录 |
|
|
81
|
-
|---|---|---|
|
|
82
|
-
| 语音转文字 API、模型 enum、输入限制、响应字段 | https://docs.siliconflow.cn/docs/api/audio-transcriptions-post | 否 |
|
|
83
|
-
| 当前公开价格 | https://siliconflow.cn/pricing | 否 |
|
|
84
|
-
| 免费模型、实名与 Rate Limits 规则 | https://docs.siliconflow.cn/cn/userguide/rate-limits/rate-limit-and-upgradation | 否 |
|
|
85
|
-
| 通用错误体与状态说明 | https://docs.siliconflow.cn/cn/faqs/error-code | 否 |
|
|
86
|
-
| TeleSpeechASR/SenseVoiceSmall 客户端免费服务用例 | https://docs.siliconflow.cn/cn/usercases/use-siliconcloud-in-BiBiKeyboard | 否 |
|
|
87
|
-
| API Key 管理 | https://cloud.siliconflow.cn/account/ak | **是** |
|
|
88
|
-
| 实名认证 | https://cloud.siliconflow.cn/account/authentication | **是** |
|
|
1
|
+
# 硅基流动 · 供应商基础文档
|
|
2
|
+
|
|
3
|
+
| 项目 | 内容 |
|
|
4
|
+
|---|---|
|
|
5
|
+
| 最后更新 | 2026-08-31 |
|
|
6
|
+
| 供应商 | SiliconFlow / SiliconCloud |
|
|
7
|
+
| 建议 `providerId` | `siliconflow` |
|
|
8
|
+
| Base URL | `https://api.siliconflow.cn/v1` |
|
|
9
|
+
| 鉴权 | `Authorization: Bearer <SILICONFLOW_API_KEY>` |
|
|
10
|
+
| 已核验 ASR 类型 | 同步文件语音转写 API |
|
|
11
|
+
| 文档/价格可见性 | 公开,无需登录;API Key、实名、用量和账单需登录 |
|
|
12
|
+
|
|
13
|
+
## 1. ASR 端点与请求
|
|
14
|
+
|
|
15
|
+
```text
|
|
16
|
+
POST https://api.siliconflow.cn/v1/audio/transcriptions
|
|
17
|
+
Authorization: Bearer <SILICONFLOW_API_KEY>
|
|
18
|
+
Content-Type: multipart/form-data
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
| 字段 | 类型 | 要求 |
|
|
22
|
+
|---|---|---|
|
|
23
|
+
| `file` | binary file | 必填;时长不超过 1 小时,文件不超过 50 MB |
|
|
24
|
+
| `model` | enum string | 必填;`FunAudioLLM/SenseVoiceSmall` 或 `TeleAI/TeleSpeechASR` |
|
|
25
|
+
|
|
26
|
+
官方端点参考目前只公开了 `file` 和 `model`,没有公开 `language`、`prompt`、
|
|
27
|
+
`response_format`、词级时间戳、说话人分离或热词参数。cURL 使用 MP3 为示例,但页面未给出
|
|
28
|
+
完整 MIME/容器白名单;不应仅根据开源上游模型能力自行扩展公开云 API 参数。
|
|
29
|
+
|
|
30
|
+
成功响应是 `application/json`:
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"text": "<string>"
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
响应头 `x-siliconcloud-trace-id` 是服务端生成的请求追踪标识,可在排障时提供给官方,
|
|
39
|
+
不应当成稳定业务 ID。官方未公开独立 WebSocket、SSE、异步任务或实时麦克风 ASR
|
|
40
|
+
协议;本端点应按同步文件转写建模。
|
|
41
|
+
|
|
42
|
+
## 2. 模型、价格与免费政策
|
|
43
|
+
|
|
44
|
+
| 平台模型 ID | API 明确列举 | 当前价格证据 | 结论 |
|
|
45
|
+
|---|---:|---|---|
|
|
46
|
+
| `FunAudioLLM/SenseVoiceSmall` | 是 | 公开价格页语音模型标注“免费” | 自有 Key 调用按当前免费模型政策处理 |
|
|
47
|
+
| `TeleAI/TeleSpeechASR` | 是 | 通用价格页当前未找到该 ID;官方“说点啥”用例将它列入该客户端的免费服务 | **自有 Key 的通用计费未确认**,上线前必须在控制台/账单复核 |
|
|
48
|
+
|
|
49
|
+
免费模型不是一次性试用金:官方 Rate Limits 页明确说免费模型调用账单消耗为 0,
|
|
50
|
+
同时要求账号完成实名认证。免费模型使用固定 Rate Limits,但公开页未给这两个 ASR
|
|
51
|
+
模型的精确数值;不应把其它模型的 RPM/RPD 直接套用。模型转写页还明确保留定期上下线
|
|
52
|
+
和调整服务能力的权利,因此发布前应再做模型可用性查询。
|
|
53
|
+
|
|
54
|
+
## 3. 错误契约
|
|
55
|
+
|
|
56
|
+
官方转写 API 参考和通用错误页表明错误体并非始终同一形状:
|
|
57
|
+
|
|
58
|
+
- JSON 形状可为 `{ "code": 20012, "message": "...", "data": null }`;
|
|
59
|
+
- 部分鉴权/权限/路由错误在 API 参考中展示为纯字符串;
|
|
60
|
+
- 429 错误示例含 `message` 和 `data`,需从 `message` 区分 RPM/RPD/TPM/TPD/IPM/IPD;
|
|
61
|
+
- 503/504 通常表示服务高负载,500 是未知服务异常。
|
|
62
|
+
|
|
63
|
+
常见 HTTP 状态:400 参数,401 凭证,403 余额/权限/实名,429 限流,500 未知服务错误,
|
|
64
|
+
503/504 过载。SDK 的 `provider_http_error` 诊断文本需保留 HTTP status、可用的
|
|
65
|
+
`code/message/data`、纯文本 fallback 和脱敏后的 `x-siliconcloud-trace-id`;当前通用
|
|
66
|
+
`AiRuntimeError` 不提供结构化供应商错误 metadata,不可只按一种 JSON 错误结构解析。
|
|
67
|
+
|
|
68
|
+
## 4. Say-It/SDK 接入边界
|
|
69
|
+
|
|
70
|
+
接入复杂度低:标准 Bearer Key + `multipart/form-data` + JSON 或文本错误,无 HMAC、无二进制
|
|
71
|
+
私有帧。与 OpenAI/Groq 语音转写形状接近,但当前公开字段仅有 `file/model`,不能把
|
|
72
|
+
OpenAI 的 `language/prompt/response_format/temperature` 透传过来。
|
|
73
|
+
|
|
74
|
+
中国大陆使用 `api.siliconflow.cn`,需 SiliconCloud 账号与 API Key;免费模型需实名认证。
|
|
75
|
+
本轮没有发起真实或付费请求,运营商网络可达性、账户实际限流和 TeleSpeechASR 自有 Key
|
|
76
|
+
计费均未实测。
|
|
77
|
+
|
|
78
|
+
## 5. 原始链接索引
|
|
79
|
+
|
|
80
|
+
| 信息 | 链接 | 是否需登录 |
|
|
81
|
+
|---|---|---|
|
|
82
|
+
| 语音转文字 API、模型 enum、输入限制、响应字段 | https://docs.siliconflow.cn/docs/api/audio-transcriptions-post | 否 |
|
|
83
|
+
| 当前公开价格 | https://siliconflow.cn/pricing | 否 |
|
|
84
|
+
| 免费模型、实名与 Rate Limits 规则 | https://docs.siliconflow.cn/cn/userguide/rate-limits/rate-limit-and-upgradation | 否 |
|
|
85
|
+
| 通用错误体与状态说明 | https://docs.siliconflow.cn/cn/faqs/error-code | 否 |
|
|
86
|
+
| TeleSpeechASR/SenseVoiceSmall 客户端免费服务用例 | https://docs.siliconflow.cn/cn/usercases/use-siliconcloud-in-BiBiKeyboard | 否 |
|
|
87
|
+
| API Key 管理 | https://cloud.siliconflow.cn/account/ak | **是** |
|
|
88
|
+
| 实名认证 | https://cloud.siliconflow.cn/account/authentication | **是** |
|
|
89
|
+
# 2026-09-11:Embedding / Rerank 核查
|
|
90
|
+
|
|
91
|
+
官方公开 API:https://api-docs.siliconflow.cn/docs/api/embeddings-post 、https://api-docs.siliconflow.cn/docs/api/rerank-post 。国内根地址 `https://api.siliconflow.cn/v1`,Bearer,同步 JSON POST `/embeddings` 或 `/rerank`。
|
|
92
|
+
|
|
93
|
+
- 文本 Qwen3 Embedding 8B/4B/0.6B:`Qwen/Qwen3-Embedding-{8B,4B,0.6B}`,32768 token,支持 dimensions 枚举。8B:64/128/256/512/768/1024/1536/2048/2560/4096;4B 去掉4096;0.6B 到1024。发送 input 字符串数组、encoding_format=float,读取 data[].index/embedding。BGE/BCE 也有 API 字段说明,暂不机械加入所有历史模型。
|
|
94
|
+
- 文本 Qwen3 Reranker 同尺寸 ID `Qwen/Qwen3-Reranker-*`:query、documents、top_n、instruction;不能发送仅 BGE/BCE 支持的 overlap_tokens/max_chunks_per_doc。读取 results[].index/relevance_score,usage 可能位于 meta.tokens(与 billed_units 分开,不能混为实际用量)。
|
|
95
|
+
- 国内价格已于 2026-09-11 使用用户已登录的 BrowserOS neo,在[模型广场](https://cloud.siliconflow.cn/me/models?types=embedding)逐个打开模型详情核验。在线推理价格按明细行的 `/ K Tokens` 单位换算为百万输入 tokens,见下表;不是国际站美元价格,也不是真实调用账单。
|
|
96
|
+
- 多模态 Qwen3-VL-Embedding/Reranker-8B 另有接口变体;本次文本能力不宣称支持图片/视频。发布公告 https://www.siliconflow.cn/news/gnuv7wmztvwaq78ozfhjybmi 标明文本0.7元/百万、视觉1.8元/百万;不能借用该价格给纯文本 Qwen3。
|
|
97
|
+
- 同步终态与验证:非2xx/非法JSON/供应商error拒绝;向量非空且索引完整唯一;重排索引有效唯一且分数有限;取消/超时由 capability client 统一传递。官方示例与字段构造正例、synthetic-negative 分开标注。
|
|
98
|
+
|
|
99
|
+
| 精确模型 ID | 控制台输入价格(元/千 tokens) | 元/百万输入 tokens |
|
|
100
|
+
|---|---:|---:|
|
|
101
|
+
| Qwen/Qwen3-Embedding-8B | 0.000280 | 0.28 |
|
|
102
|
+
| Qwen/Qwen3-Embedding-4B | 0.000140 | 0.14 |
|
|
103
|
+
| Qwen/Qwen3-Embedding-0.6B | 0.000070 | 0.07 |
|
|
104
|
+
| Qwen/Qwen3-Reranker-8B | 0.000280 | 0.28 |
|
|
105
|
+
| Qwen/Qwen3-Reranker-4B | 0.000140 | 0.14 |
|
|
106
|
+
| Qwen/Qwen3-Reranker-0.6B | 0.000070 | 0.07 |
|
|
107
|
+
| BAAI/bge-m3 | 0.000000 | 0(当前免费) |
|
|
108
|
+
| BAAI/bge-reranker-v2-m3 | 0.000000 | 0(当前免费) |
|
|
109
|
+
|
|
110
|
+
控制台表头单位按钮显示 `M Tokens`,实际价格单元格明确显示 `/ K Tokens`;以上按单元格原值和单位保存、换算,不把 0.000280 误记为每百万价格。免费结论仅针对上述无 `Pro/` 前缀的两个模型;不能推及 Pro 版本或所有 BGE 模型。未触发推理、充值或修改账号配置,也不保存账号信息。列表中 BCE Embedding/Reranker 已标记 Deprecated,本轮不添加。
|
package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md
CHANGED
|
@@ -1,207 +1,207 @@
|
|
|
1
|
-
# 魔搭 ModelScope · 供应商基础文档
|
|
2
|
-
|
|
3
|
-
| 项目 | 内容 |
|
|
4
|
-
|---|---|
|
|
5
|
-
| 最后更新 | 2026-08-30 |
|
|
6
|
-
| 供应商类型 | 开源模型托管平台(API-Inference 服务) |
|
|
7
|
-
| 覆盖模态 | **仅图片**(无视频、无音频) |
|
|
8
|
-
| 文档可见性 | 公开,无需登录 |
|
|
9
|
-
| 价格可见性 | 公开,无需登录 |
|
|
10
|
-
| 结算方式 | **魔粒积分,不是货币** |
|
|
11
|
-
|
|
12
|
-
## 1. 接入协议
|
|
13
|
-
|
|
14
|
-
- **Base URL**:`https://api-inference.modelscope.cn`
|
|
15
|
-
- **鉴权**:`Authorization: Bearer <MODELSCOPE_TOKEN>`
|
|
16
|
-
- **提交**:`POST /v1/images/generations`,请求头 `X-ModelScope-Async-Mode: true` → 返回 `{ "task_id": "..." }`
|
|
17
|
-
- **查询**:`GET /v1/tasks/<task_id>`,请求头 `X-ModelScope-Task-Type: image_generation`
|
|
18
|
-
- **状态字段**:`task_status`,枚举 `SUCCEED` / `FAILED`(官方示例每 5 秒轮询一次)
|
|
19
|
-
- **结果字段**:`output_images`(字符串数组)
|
|
20
|
-
|
|
21
|
-
### 提交路由的历史问题(已修正)
|
|
22
|
-
|
|
23
|
-
代码曾把提交路由写成 `/api/v1/jobs/createTask`——那是 **KIE 的路由格式**,在一次批量改动里被复制串了供应商。已改为官方的 `/v1/images/generations`。
|
|
24
|
-
|
|
25
|
-
该常量现在只有 `packages/ai-sdk/src/catalog/modelscope/utils.ts` 一份实现;所有魔搭模型的真实 builder 直接复用它。`packages/ai-sdk/tests/catalog/modelscope.test.ts` 同时验证共享函数和 catalog builder,避免路由或图片来源静默分叉。
|
|
26
|
-
|
|
27
|
-
> ⚠️ 修正**尚未用真实 token 实测确认**——本机网络无法连通 `api-inference.modelscope.cn`,且未配置魔搭 Token。依据是官方文档与每个模型页示例代码的一致写法(无一例外)。首次真实调用时优先验证这一项。
|
|
28
|
-
|
|
29
|
-
## 2. 硬前提(不满足则完全不可用)
|
|
30
|
-
|
|
31
|
-
1. 魔搭账号**必须绑定阿里云账号**
|
|
32
|
-
2. 该阿里云账号**必须已完成实名认证**
|
|
33
|
-
|
|
34
|
-
## 3. 文件上传
|
|
35
|
-
|
|
36
|
-
魔搭没有独立的文件上传端点。官方做法是把本地图片转成 `data:<mime>;base64,...` 直接放进 `image_url` 字段,文档提供了 `image_to_data_url()` 工具函数。
|
|
37
|
-
|
|
38
|
-
本项目的处理(`upload.ts` → `uploadForHostedUrl`):**优先借用 KIE 的上传服务**换公网 URL,KIE Key 未配置或上传失败时**静默退回 data URI**。因为有兜底,魔搭模型不会像 PPIO 那样因为缺 KIE Key 直接失败。
|
|
39
|
-
|
|
40
|
-
请求体里图片来源有三个键,builder 必须都认:生成页提交是 `uploadedFilePaths`,画布节点是 `images`,旧工程可能直接存 `image_url`。历史动态运行时副本曾漏掉 `uploadedFilePaths`;SDK 直连后已删除该副本,并由真实 catalog builder 测试锁定行为。
|
|
41
|
-
|
|
42
|
-
## 4. 请求参数(全模型通用)
|
|
43
|
-
|
|
44
|
-
魔搭 API-Inference 是统一接口,所有图像模型共用同一套参数,差异只在 `model` 值和尺寸上限。
|
|
45
|
-
|
|
46
|
-
| 字段 | 类型 | 必填 | 默认 | 约束 |
|
|
47
|
-
|---|---|---|---|---|
|
|
48
|
-
| `model` | string | ✅ | — | 魔搭 AIGC 模型 ID,如 `Qwen/Qwen-Image` |
|
|
49
|
-
| `prompt` | string | ✅ | — | < 2000 字符;多数模型英文效果更好 |
|
|
50
|
-
| `negative_prompt` | string | | — | < 2000 字符 |
|
|
51
|
-
| `size` | string | | — | `WxH` 格式,**上限按模型分档,见下表** |
|
|
52
|
-
| `seed` | int | | — | [0, 2³¹−1] |
|
|
53
|
-
| `steps` | int | | 30 | [1, 100] |
|
|
54
|
-
| `guidance` | float | | 3.5 | [1.5, 20] |
|
|
55
|
-
| `image_url` | string \| **string[]** | | — | 仅图片编辑模型;公网 URL 或 base64 data URL |
|
|
56
|
-
| `loras` | string \| dict | | — | 单个 `"<repo-id>"`;多个 `{"<id1>":0.6,"<id2>":0.4}`;**最多 6 个,权重和必须 = 1.0**,须与基模型兼容 |
|
|
57
|
-
|
|
58
|
-
**没有 `n` 或图片数量参数——一次只出一张。**
|
|
59
|
-
|
|
60
|
-
### `image_url` 支持数组(已确认)
|
|
61
|
-
|
|
62
|
-
`Qwen/Qwen-Image-Edit-2509` 的官方示例代码里 `image_url` 就是数组,并明确给出了双图编辑的注释示例。官方参数表把类型写成 `string` 是**表述滞后**,以模型页示例为准。本项目发送数组的做法是正确的。
|
|
63
|
-
|
|
64
|
-
### 尺寸上限分档
|
|
65
|
-
|
|
66
|
-
| 模型family | `size` 范围 |
|
|
67
|
-
|---|---|
|
|
68
|
-
| SD 系列 | [64×64, 2048×2048] |
|
|
69
|
-
| FLUX | **[64×64, 1024×1024]** |
|
|
70
|
-
| Qwen-Image | [64×64, 1664×1664] |
|
|
71
|
-
| Z-Image-Turbo | **[512×512, 2048×2048]** |
|
|
72
|
-
|
|
73
|
-
> 已按模型分档:`buildModelscopeRequest` 接受 `sizeBounds`,各模型在 builder 里下发自己的上下界。此前统一用 `[64, 2048]`,FLUX 超过 1024 会被拒、Z-Image-Turbo 低于 512 不合法。
|
|
74
|
-
|
|
75
|
-
## 5. 计费:魔粒,不是钱
|
|
76
|
-
|
|
77
|
-
魔搭**不按人民币计价、没有充值入口**。消耗的是「魔粒」积分,主要靠每日登录和社区行为免费获取。
|
|
78
|
-
|
|
79
|
-
### 扣减档位
|
|
80
|
-
|
|
81
|
-
| 档位(`CostTier`) | 魔粒/次 | 项目已适配模型 |
|
|
82
|
-
|---|---|---|
|
|
83
|
-
| 轻量模型 | 0.5 | — |
|
|
84
|
-
| 主流模型 `standard` | 1 | Z-Image-Turbo、FLUX.1-Krea-dev、majicMIX_realistic、14_ckpt_SD_XL |
|
|
85
|
-
| 旗舰模型 `ultra` | 2 | Qwen-Image、Qwen-Image-Edit-2509 |
|
|
86
|
-
|
|
87
|
-
### 魔粒获取
|
|
88
|
-
|
|
89
|
-
| 行为 | 额度 | 有效期 | 频次 |
|
|
90
|
-
|---|---|---|---|
|
|
91
|
-
| 注册并登录 | **200/日** | 24 小时 | 每日 1 次 |
|
|
92
|
-
| 绑定阿里云账号 | **+50/日** | 24 小时 | 每日 1 次 |
|
|
93
|
-
| 验证邮箱 / 编辑个人介绍 / 配置个人主页 | 各 50 | 90 天 | 各首次 |
|
|
94
|
-
| 发表评论 | 5/次 | 短期 | ≤2 次/日 |
|
|
95
|
-
| 收藏 / 喜欢 | 2/次 | 短期 | ≤20 次/日 |
|
|
96
|
-
| 邀请好友 / 受邀注册 | 20/人、50 | 长期 | 50 人/月、首次 |
|
|
97
|
-
|
|
98
|
-
**日常稳态免费额度 = 250 魔粒/天**(登录 200 + 绑定阿里云 50,均为短期魔粒,24 小时过期不累积)。换算到本项目:
|
|
99
|
-
|
|
100
|
-
- 旗舰档(Qwen-Image / Qwen-Image-Edit-2509):**约 125 次/天**
|
|
101
|
-
- 主流档(Z-Image-Turbo / FLUX / majicMIX / SDXL):**约 250 次/天**
|
|
102
|
-
|
|
103
|
-
### 其他计费规则
|
|
104
|
-
|
|
105
|
-
- **没有固定的每日调用次数上限**,上限由魔粒余额决定
|
|
106
|
-
- 短期/长期魔粒消耗时等价,系统自动优先扣最临近过期的
|
|
107
|
-
- **失败返还**:系统原因导致的推理失败全额返还;用户主动取消的推理任务也全额返还
|
|
108
|
-
- **并发是动态限流的**,官方只承诺「保障开发者单并发正常使用」,并明确说明「请勿用于需要高并发以及 SLA 保障的线上任务」
|
|
109
|
-
|
|
110
|
-
> 已修正:`Currency` 类型增加非货币单位 `魔粒`,`priceDisplay` 对其不做汇率换算、按「数量 + 单位」渲染。固定 catalog 模型按官方档位标注(Qwen 系 2 魔粒,其余 1 魔粒)。自定义入口不再假定主流档 1 魔粒:保存前校验成功时持久化接口返回的 `CostTier` 与 `EstimatedMagicGrainCost` 并交给 SDK 计价;旧记录或校验为 `unknown` 时不显示确定金额,避免误导。
|
|
111
|
-
|
|
112
|
-
### 高并发替代路径:API-Provider
|
|
113
|
-
|
|
114
|
-
在个人中心托管外部供应商(DashScope、DeepSeek 等)的 API Key,然后用 `model='<模型ID>:<Provider名>'` 调用,走同一套接口和魔搭 Token 鉴权,**不受免费流控限制,平台不收费**,费用由外部供应商结算。目前官方文档只演示了 LLM,未见图像模型的 Provider 支持。
|
|
115
|
-
|
|
116
|
-
## 6. 可用性判定方法
|
|
117
|
-
|
|
118
|
-
「模型在魔搭有页面」和「模型支持 API-Inference 调用」是两回事,必须确认后者。权威判定接口(无需登录):
|
|
119
|
-
|
|
120
|
-
```
|
|
121
|
-
GET https://www.modelscope.cn/api/v1/inference/list_model_providers?ModelId=<id>
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
三种响应(2026-08-26 实测):
|
|
125
|
-
|
|
126
|
-
| 情况 | 响应 |
|
|
127
|
-
|---|---|
|
|
128
|
-
| 支持 API-Inference | `200` + `Data.Providers` 数组,含 `CostTier` 与 `EstimatedMagicGrainCost` |
|
|
129
|
-
| 模型存在但未开放 API-Inference | `200` + `Data.Providers: null, TotalCount: 0` |
|
|
130
|
-
| **模型 ID 查不到** | **`HTTP 500`**(不是 404,也不是 200+空结果;用多个不存在的 ID 复现一致) |
|
|
131
|
-
|
|
132
|
-
500 同时也是通用服务端错误码,无法从状态码本身区分「拼错了」和「魔搭挂了」,提示文案需要同时覆盖两种可能。
|
|
133
|
-
|
|
134
|
-
另有 `GET /api/v1/inference/<ns>/<name>/api_inference_example` 返回官方示例代码与 `InferenceType`。
|
|
135
|
-
|
|
136
|
-
**自定义模型入口已接入该校验**(`src/services/modelscopeCustomModels/availability.ts`,走 `nativeFetch` PAL 通道,未新增 IPC):保存前查询,`unavailable` 与 `not-found` 直接拦下并给出对应提示;`available` 将 `CostTier` 与 `EstimatedMagicGrainCost` 随模型配置持久化并注册到 SDK;`unknown`(断网/超时/其他非 2xx)放行但警告,并把价格保持为未知——校验跑不通是我们这边的问题,不该因此挡住用户,也不能伪装成 1 魔粒。
|
|
137
|
-
|
|
138
|
-
> API-Inference 只覆盖魔搭挑选的一个子集(依据点赞/下载热度),官方明确说明「随着新模型的推出,比较早的模型可能逐渐从 API-Inference 下架」。已实测不支持的热门模型包括 `black-forest-labs/FLUX.1-dev`、`FLUX.1-Kontext-dev`、`Tencent-Hunyuan/HunyuanImage-3.0`、`stabilityai/stable-diffusion-3.5-large`、`HiDream-ai/HiDream-O1-Image`。
|
|
139
|
-
>
|
|
140
|
-
> 注意 `black-forest-labs/FLUX.1-dev` 曾被用作添加表单的占位示例,而它恰恰**不支持** API-Inference,已改为 `Tongyi-MAI/Z-Image-Turbo`。
|
|
141
|
-
|
|
142
|
-
## 7. 在售模型(已适配)
|
|
143
|
-
|
|
144
|
-
| Model ID | 类型 | 档位 | 魔粒/次 |
|
|
145
|
-
|---|---|---|---|
|
|
146
|
-
| `Qwen/Qwen-Image` | 文生图 | ultra | 2 |
|
|
147
|
-
| `Qwen/Qwen-Image-Edit-2509` | 图生图 | ultra | 2 |
|
|
148
|
-
| `Tongyi-MAI/Z-Image-Turbo` | 文生图 | standard | 1 |
|
|
149
|
-
| `black-forest-labs/FLUX.1-Krea-dev` | 文生图 | standard | 1 |
|
|
150
|
-
| `MusePublic/majicMIX_realistic` | 文生图 | standard | 1 |
|
|
151
|
-
| `MusePublic/14_ckpt_SD_XL` | 文生图 | standard | 1 |
|
|
152
|
-
|
|
153
|
-
全部经 `list_model_providers` 确认当前可用。
|
|
154
|
-
|
|
155
|
-
### 当前可用、项目尚未接入
|
|
156
|
-
|
|
157
|
-
| Model ID | 类型 | 魔粒/次 | 说明 |
|
|
158
|
-
|---|---|---|---|
|
|
159
|
-
| `Qwen/Qwen-Image-2512` | 文生图 | 2 | Qwen-Image 的 12 月更新版,可直接替代 `Qwen/Qwen-Image` |
|
|
160
|
-
| `Qwen/Qwen-Image-Edit-2511` | 图生图 | 2 | 2509 的直接后继,同样支持数组多图编辑 |
|
|
161
|
-
| `krea/Krea-2-Turbo` | 文生图 | 1 | |
|
|
162
|
-
| `black-forest-labs/FLUX.2-klein-base-9B` | 文生图 | 2 | |
|
|
163
|
-
| `FireRedTeam/FireRed-Image-Edit-1.1` | 图生图 | 2 | |
|
|
164
|
-
| `Tongyi-MAI/Z-Image` | 文生图 | 1 | 非 Turbo 版 |
|
|
165
|
-
| `MAILAND/majicflus_v1` | 文生图 | 1 | |
|
|
166
|
-
|
|
167
|
-
## 8. 主清单模型的覆盖情况
|
|
168
|
-
|
|
169
|
-
项目「常用优秀模型清单」共 18 个,**魔搭只提供其中 1 个**:
|
|
170
|
-
|
|
171
|
-
| 清单模型 | 魔搭 |
|
|
172
|
-
|---|---|
|
|
173
|
-
| Z-Image Turbo | ✅ 提供,见 [Z-Image-Turbo_魔搭.md](../Z-Image-Turbo/Z-Image-Turbo_魔搭.md) |
|
|
174
|
-
| 其余 17 个 | ❌ 全部没有 |
|
|
175
|
-
|
|
176
|
-
原因是结构性的:魔搭 API-Inference 只服务**魔搭上托管的开源权重模型**,而清单里基本全是闭源商业 API 模型。站内搜到的 Seedream / Nano Banana / Midjourney / Grok 条目**全是社区用户上传的风格 LoRA**,不是模型本体,也不支持 API-Inference。
|
|
177
|
-
|
|
178
|
-
**视频类 9 个全部不可能**:魔搭 API-Inference 根本不提供视频生成——文档只定义了 `image_generation` 一种任务类型,覆盖范围明确写的是「开源大语言模型(LLM),多模态模型(MLLM),以及 AIGC 专区**文生图**模型」。MiniMax H3 是唯一一个权重真实存在于魔搭的清单视频模型,但不在 API-Inference 范围内。
|
|
179
|
-
|
|
180
|
-
### 关于 Qwen Image 3.0
|
|
181
|
-
|
|
182
|
-
**魔搭上没有 Qwen Image 3.0**,`Qwen/Qwen-Image-3.0` 这个 ID 不存在。
|
|
183
|
-
|
|
184
|
-
Qwen 官方在魔搭的图像模型只有 4 个:`Qwen/Qwen-Image`、`Qwen/Qwen-Image-Edit-2509`、`Qwen/Qwen-Image-Edit-2511`、`Qwen/Qwen-Image-2512`。其中 `Qwen-Image-2512` 的模型卡自述是「Qwen-Image 文生图基础模型的 12 月更新版」,**不是** 3.0。清单里的 Qwen Image 3.0 是通义的闭源商业版本,两条线不同。
|
|
185
|
-
|
|
186
|
-
> 若要在魔搭侧跟进 Qwen 图像新版本,正确的 ID 是 `Qwen/Qwen-Image-2512`(文生图)和 `Qwen/Qwen-Image-Edit-2511`(图片编辑)。
|
|
187
|
-
|
|
188
|
-
## 9. 适配要点
|
|
189
|
-
|
|
190
|
-
- 全部模型共用同一个端点与同一套参数,**只有 `model` 值和尺寸上限不同**;不要为每个模型复制一份 builder。
|
|
191
|
-
- 尺寸边界必须按模型分档,不能统一用 [64, 2048]。
|
|
192
|
-
- 计价不能用货币表达,应按魔粒档位展示。
|
|
193
|
-
- 自定义模型入口在保存前调 `list_model_providers` 校验可用性;成功时复用并持久化返回的 `CostTier` / `EstimatedMagicGrainCost`,校验失败(`unknown`)时放行并警告、价格保持未知,不要当成不支持或默认成 1 魔粒。
|
|
194
|
-
- 项目默认隐藏的参数(`seed`、负面提示词):魔搭两个字段都有,按项目约定**不显示、不请求**。
|
|
195
|
-
|
|
196
|
-
## 10. 原始链接索引
|
|
197
|
-
|
|
198
|
-
| 信息 | 链接 | 是否需登录 |
|
|
199
|
-
|---|---|---|
|
|
200
|
-
| API-Inference 介绍与完整参数表 | https://www.modelscope.cn/docs/model-service/API-Inference/intro | 否 |
|
|
201
|
-
| API-Inference 限制与覆盖范围 | https://www.modelscope.cn/docs/model-service/API-Inference/limits | 否 |
|
|
202
|
-
| 魔粒说明(获取与消耗规则) | https://www.modelscope.cn/docs/magicube/intro | 否 |
|
|
203
|
-
| API-Provider(高并发替代路径) | https://www.modelscope.cn/docs/model-service/API-Inference/api-provider | 否 |
|
|
204
|
-
| 模型可用性判定接口 | https://www.modelscope.cn/api/v1/inference/list_model_providers?ModelId=<id> | 否 |
|
|
205
|
-
| 官方示例代码接口 | https://www.modelscope.cn/api/v1/inference/<ns>/<name>/api_inference_example | 否 |
|
|
206
|
-
| Qwen-Image-2512 模型卡 | https://www.modelscope.cn/models/Qwen/Qwen-Image-2512 | 否 |
|
|
207
|
-
| Token 管理 | https://www.modelscope.cn/my/myaccesstoken | **是** |
|
|
1
|
+
# 魔搭 ModelScope · 供应商基础文档
|
|
2
|
+
|
|
3
|
+
| 项目 | 内容 |
|
|
4
|
+
|---|---|
|
|
5
|
+
| 最后更新 | 2026-08-30 |
|
|
6
|
+
| 供应商类型 | 开源模型托管平台(API-Inference 服务) |
|
|
7
|
+
| 覆盖模态 | **仅图片**(无视频、无音频) |
|
|
8
|
+
| 文档可见性 | 公开,无需登录 |
|
|
9
|
+
| 价格可见性 | 公开,无需登录 |
|
|
10
|
+
| 结算方式 | **魔粒积分,不是货币** |
|
|
11
|
+
|
|
12
|
+
## 1. 接入协议
|
|
13
|
+
|
|
14
|
+
- **Base URL**:`https://api-inference.modelscope.cn`
|
|
15
|
+
- **鉴权**:`Authorization: Bearer <MODELSCOPE_TOKEN>`
|
|
16
|
+
- **提交**:`POST /v1/images/generations`,请求头 `X-ModelScope-Async-Mode: true` → 返回 `{ "task_id": "..." }`
|
|
17
|
+
- **查询**:`GET /v1/tasks/<task_id>`,请求头 `X-ModelScope-Task-Type: image_generation`
|
|
18
|
+
- **状态字段**:`task_status`,枚举 `SUCCEED` / `FAILED`(官方示例每 5 秒轮询一次)
|
|
19
|
+
- **结果字段**:`output_images`(字符串数组)
|
|
20
|
+
|
|
21
|
+
### 提交路由的历史问题(已修正)
|
|
22
|
+
|
|
23
|
+
代码曾把提交路由写成 `/api/v1/jobs/createTask`——那是 **KIE 的路由格式**,在一次批量改动里被复制串了供应商。已改为官方的 `/v1/images/generations`。
|
|
24
|
+
|
|
25
|
+
该常量现在只有 `packages/ai-sdk/src/catalog/modelscope/utils.ts` 一份实现;所有魔搭模型的真实 builder 直接复用它。`packages/ai-sdk/tests/catalog/modelscope.test.ts` 同时验证共享函数和 catalog builder,避免路由或图片来源静默分叉。
|
|
26
|
+
|
|
27
|
+
> ⚠️ 修正**尚未用真实 token 实测确认**——本机网络无法连通 `api-inference.modelscope.cn`,且未配置魔搭 Token。依据是官方文档与每个模型页示例代码的一致写法(无一例外)。首次真实调用时优先验证这一项。
|
|
28
|
+
|
|
29
|
+
## 2. 硬前提(不满足则完全不可用)
|
|
30
|
+
|
|
31
|
+
1. 魔搭账号**必须绑定阿里云账号**
|
|
32
|
+
2. 该阿里云账号**必须已完成实名认证**
|
|
33
|
+
|
|
34
|
+
## 3. 文件上传
|
|
35
|
+
|
|
36
|
+
魔搭没有独立的文件上传端点。官方做法是把本地图片转成 `data:<mime>;base64,...` 直接放进 `image_url` 字段,文档提供了 `image_to_data_url()` 工具函数。
|
|
37
|
+
|
|
38
|
+
本项目的处理(`upload.ts` → `uploadForHostedUrl`):**优先借用 KIE 的上传服务**换公网 URL,KIE Key 未配置或上传失败时**静默退回 data URI**。因为有兜底,魔搭模型不会像 PPIO 那样因为缺 KIE Key 直接失败。
|
|
39
|
+
|
|
40
|
+
请求体里图片来源有三个键,builder 必须都认:生成页提交是 `uploadedFilePaths`,画布节点是 `images`,旧工程可能直接存 `image_url`。历史动态运行时副本曾漏掉 `uploadedFilePaths`;SDK 直连后已删除该副本,并由真实 catalog builder 测试锁定行为。
|
|
41
|
+
|
|
42
|
+
## 4. 请求参数(全模型通用)
|
|
43
|
+
|
|
44
|
+
魔搭 API-Inference 是统一接口,所有图像模型共用同一套参数,差异只在 `model` 值和尺寸上限。
|
|
45
|
+
|
|
46
|
+
| 字段 | 类型 | 必填 | 默认 | 约束 |
|
|
47
|
+
|---|---|---|---|---|
|
|
48
|
+
| `model` | string | ✅ | — | 魔搭 AIGC 模型 ID,如 `Qwen/Qwen-Image` |
|
|
49
|
+
| `prompt` | string | ✅ | — | < 2000 字符;多数模型英文效果更好 |
|
|
50
|
+
| `negative_prompt` | string | | — | < 2000 字符 |
|
|
51
|
+
| `size` | string | | — | `WxH` 格式,**上限按模型分档,见下表** |
|
|
52
|
+
| `seed` | int | | — | [0, 2³¹−1] |
|
|
53
|
+
| `steps` | int | | 30 | [1, 100] |
|
|
54
|
+
| `guidance` | float | | 3.5 | [1.5, 20] |
|
|
55
|
+
| `image_url` | string \| **string[]** | | — | 仅图片编辑模型;公网 URL 或 base64 data URL |
|
|
56
|
+
| `loras` | string \| dict | | — | 单个 `"<repo-id>"`;多个 `{"<id1>":0.6,"<id2>":0.4}`;**最多 6 个,权重和必须 = 1.0**,须与基模型兼容 |
|
|
57
|
+
|
|
58
|
+
**没有 `n` 或图片数量参数——一次只出一张。**
|
|
59
|
+
|
|
60
|
+
### `image_url` 支持数组(已确认)
|
|
61
|
+
|
|
62
|
+
`Qwen/Qwen-Image-Edit-2509` 的官方示例代码里 `image_url` 就是数组,并明确给出了双图编辑的注释示例。官方参数表把类型写成 `string` 是**表述滞后**,以模型页示例为准。本项目发送数组的做法是正确的。
|
|
63
|
+
|
|
64
|
+
### 尺寸上限分档
|
|
65
|
+
|
|
66
|
+
| 模型family | `size` 范围 |
|
|
67
|
+
|---|---|
|
|
68
|
+
| SD 系列 | [64×64, 2048×2048] |
|
|
69
|
+
| FLUX | **[64×64, 1024×1024]** |
|
|
70
|
+
| Qwen-Image | [64×64, 1664×1664] |
|
|
71
|
+
| Z-Image-Turbo | **[512×512, 2048×2048]** |
|
|
72
|
+
|
|
73
|
+
> 已按模型分档:`buildModelscopeRequest` 接受 `sizeBounds`,各模型在 builder 里下发自己的上下界。此前统一用 `[64, 2048]`,FLUX 超过 1024 会被拒、Z-Image-Turbo 低于 512 不合法。
|
|
74
|
+
|
|
75
|
+
## 5. 计费:魔粒,不是钱
|
|
76
|
+
|
|
77
|
+
魔搭**不按人民币计价、没有充值入口**。消耗的是「魔粒」积分,主要靠每日登录和社区行为免费获取。
|
|
78
|
+
|
|
79
|
+
### 扣减档位
|
|
80
|
+
|
|
81
|
+
| 档位(`CostTier`) | 魔粒/次 | 项目已适配模型 |
|
|
82
|
+
|---|---|---|
|
|
83
|
+
| 轻量模型 | 0.5 | — |
|
|
84
|
+
| 主流模型 `standard` | 1 | Z-Image-Turbo、FLUX.1-Krea-dev、majicMIX_realistic、14_ckpt_SD_XL |
|
|
85
|
+
| 旗舰模型 `ultra` | 2 | Qwen-Image、Qwen-Image-Edit-2509 |
|
|
86
|
+
|
|
87
|
+
### 魔粒获取
|
|
88
|
+
|
|
89
|
+
| 行为 | 额度 | 有效期 | 频次 |
|
|
90
|
+
|---|---|---|---|
|
|
91
|
+
| 注册并登录 | **200/日** | 24 小时 | 每日 1 次 |
|
|
92
|
+
| 绑定阿里云账号 | **+50/日** | 24 小时 | 每日 1 次 |
|
|
93
|
+
| 验证邮箱 / 编辑个人介绍 / 配置个人主页 | 各 50 | 90 天 | 各首次 |
|
|
94
|
+
| 发表评论 | 5/次 | 短期 | ≤2 次/日 |
|
|
95
|
+
| 收藏 / 喜欢 | 2/次 | 短期 | ≤20 次/日 |
|
|
96
|
+
| 邀请好友 / 受邀注册 | 20/人、50 | 长期 | 50 人/月、首次 |
|
|
97
|
+
|
|
98
|
+
**日常稳态免费额度 = 250 魔粒/天**(登录 200 + 绑定阿里云 50,均为短期魔粒,24 小时过期不累积)。换算到本项目:
|
|
99
|
+
|
|
100
|
+
- 旗舰档(Qwen-Image / Qwen-Image-Edit-2509):**约 125 次/天**
|
|
101
|
+
- 主流档(Z-Image-Turbo / FLUX / majicMIX / SDXL):**约 250 次/天**
|
|
102
|
+
|
|
103
|
+
### 其他计费规则
|
|
104
|
+
|
|
105
|
+
- **没有固定的每日调用次数上限**,上限由魔粒余额决定
|
|
106
|
+
- 短期/长期魔粒消耗时等价,系统自动优先扣最临近过期的
|
|
107
|
+
- **失败返还**:系统原因导致的推理失败全额返还;用户主动取消的推理任务也全额返还
|
|
108
|
+
- **并发是动态限流的**,官方只承诺「保障开发者单并发正常使用」,并明确说明「请勿用于需要高并发以及 SLA 保障的线上任务」
|
|
109
|
+
|
|
110
|
+
> 已修正:`Currency` 类型增加非货币单位 `魔粒`,`priceDisplay` 对其不做汇率换算、按「数量 + 单位」渲染。固定 catalog 模型按官方档位标注(Qwen 系 2 魔粒,其余 1 魔粒)。自定义入口不再假定主流档 1 魔粒:保存前校验成功时持久化接口返回的 `CostTier` 与 `EstimatedMagicGrainCost` 并交给 SDK 计价;旧记录或校验为 `unknown` 时不显示确定金额,避免误导。
|
|
111
|
+
|
|
112
|
+
### 高并发替代路径:API-Provider
|
|
113
|
+
|
|
114
|
+
在个人中心托管外部供应商(DashScope、DeepSeek 等)的 API Key,然后用 `model='<模型ID>:<Provider名>'` 调用,走同一套接口和魔搭 Token 鉴权,**不受免费流控限制,平台不收费**,费用由外部供应商结算。目前官方文档只演示了 LLM,未见图像模型的 Provider 支持。
|
|
115
|
+
|
|
116
|
+
## 6. 可用性判定方法
|
|
117
|
+
|
|
118
|
+
「模型在魔搭有页面」和「模型支持 API-Inference 调用」是两回事,必须确认后者。权威判定接口(无需登录):
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
GET https://www.modelscope.cn/api/v1/inference/list_model_providers?ModelId=<id>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
三种响应(2026-08-26 实测):
|
|
125
|
+
|
|
126
|
+
| 情况 | 响应 |
|
|
127
|
+
|---|---|
|
|
128
|
+
| 支持 API-Inference | `200` + `Data.Providers` 数组,含 `CostTier` 与 `EstimatedMagicGrainCost` |
|
|
129
|
+
| 模型存在但未开放 API-Inference | `200` + `Data.Providers: null, TotalCount: 0` |
|
|
130
|
+
| **模型 ID 查不到** | **`HTTP 500`**(不是 404,也不是 200+空结果;用多个不存在的 ID 复现一致) |
|
|
131
|
+
|
|
132
|
+
500 同时也是通用服务端错误码,无法从状态码本身区分「拼错了」和「魔搭挂了」,提示文案需要同时覆盖两种可能。
|
|
133
|
+
|
|
134
|
+
另有 `GET /api/v1/inference/<ns>/<name>/api_inference_example` 返回官方示例代码与 `InferenceType`。
|
|
135
|
+
|
|
136
|
+
**自定义模型入口已接入该校验**(`src/services/modelscopeCustomModels/availability.ts`,走 `nativeFetch` PAL 通道,未新增 IPC):保存前查询,`unavailable` 与 `not-found` 直接拦下并给出对应提示;`available` 将 `CostTier` 与 `EstimatedMagicGrainCost` 随模型配置持久化并注册到 SDK;`unknown`(断网/超时/其他非 2xx)放行但警告,并把价格保持为未知——校验跑不通是我们这边的问题,不该因此挡住用户,也不能伪装成 1 魔粒。
|
|
137
|
+
|
|
138
|
+
> API-Inference 只覆盖魔搭挑选的一个子集(依据点赞/下载热度),官方明确说明「随着新模型的推出,比较早的模型可能逐渐从 API-Inference 下架」。已实测不支持的热门模型包括 `black-forest-labs/FLUX.1-dev`、`FLUX.1-Kontext-dev`、`Tencent-Hunyuan/HunyuanImage-3.0`、`stabilityai/stable-diffusion-3.5-large`、`HiDream-ai/HiDream-O1-Image`。
|
|
139
|
+
>
|
|
140
|
+
> 注意 `black-forest-labs/FLUX.1-dev` 曾被用作添加表单的占位示例,而它恰恰**不支持** API-Inference,已改为 `Tongyi-MAI/Z-Image-Turbo`。
|
|
141
|
+
|
|
142
|
+
## 7. 在售模型(已适配)
|
|
143
|
+
|
|
144
|
+
| Model ID | 类型 | 档位 | 魔粒/次 |
|
|
145
|
+
|---|---|---|---|
|
|
146
|
+
| `Qwen/Qwen-Image` | 文生图 | ultra | 2 |
|
|
147
|
+
| `Qwen/Qwen-Image-Edit-2509` | 图生图 | ultra | 2 |
|
|
148
|
+
| `Tongyi-MAI/Z-Image-Turbo` | 文生图 | standard | 1 |
|
|
149
|
+
| `black-forest-labs/FLUX.1-Krea-dev` | 文生图 | standard | 1 |
|
|
150
|
+
| `MusePublic/majicMIX_realistic` | 文生图 | standard | 1 |
|
|
151
|
+
| `MusePublic/14_ckpt_SD_XL` | 文生图 | standard | 1 |
|
|
152
|
+
|
|
153
|
+
全部经 `list_model_providers` 确认当前可用。
|
|
154
|
+
|
|
155
|
+
### 当前可用、项目尚未接入
|
|
156
|
+
|
|
157
|
+
| Model ID | 类型 | 魔粒/次 | 说明 |
|
|
158
|
+
|---|---|---|---|
|
|
159
|
+
| `Qwen/Qwen-Image-2512` | 文生图 | 2 | Qwen-Image 的 12 月更新版,可直接替代 `Qwen/Qwen-Image` |
|
|
160
|
+
| `Qwen/Qwen-Image-Edit-2511` | 图生图 | 2 | 2509 的直接后继,同样支持数组多图编辑 |
|
|
161
|
+
| `krea/Krea-2-Turbo` | 文生图 | 1 | |
|
|
162
|
+
| `black-forest-labs/FLUX.2-klein-base-9B` | 文生图 | 2 | |
|
|
163
|
+
| `FireRedTeam/FireRed-Image-Edit-1.1` | 图生图 | 2 | |
|
|
164
|
+
| `Tongyi-MAI/Z-Image` | 文生图 | 1 | 非 Turbo 版 |
|
|
165
|
+
| `MAILAND/majicflus_v1` | 文生图 | 1 | |
|
|
166
|
+
|
|
167
|
+
## 8. 主清单模型的覆盖情况
|
|
168
|
+
|
|
169
|
+
项目「常用优秀模型清单」共 18 个,**魔搭只提供其中 1 个**:
|
|
170
|
+
|
|
171
|
+
| 清单模型 | 魔搭 |
|
|
172
|
+
|---|---|
|
|
173
|
+
| Z-Image Turbo | ✅ 提供,见 [Z-Image-Turbo_魔搭.md](../Z-Image-Turbo/Z-Image-Turbo_魔搭.md) |
|
|
174
|
+
| 其余 17 个 | ❌ 全部没有 |
|
|
175
|
+
|
|
176
|
+
原因是结构性的:魔搭 API-Inference 只服务**魔搭上托管的开源权重模型**,而清单里基本全是闭源商业 API 模型。站内搜到的 Seedream / Nano Banana / Midjourney / Grok 条目**全是社区用户上传的风格 LoRA**,不是模型本体,也不支持 API-Inference。
|
|
177
|
+
|
|
178
|
+
**视频类 9 个全部不可能**:魔搭 API-Inference 根本不提供视频生成——文档只定义了 `image_generation` 一种任务类型,覆盖范围明确写的是「开源大语言模型(LLM),多模态模型(MLLM),以及 AIGC 专区**文生图**模型」。MiniMax H3 是唯一一个权重真实存在于魔搭的清单视频模型,但不在 API-Inference 范围内。
|
|
179
|
+
|
|
180
|
+
### 关于 Qwen Image 3.0
|
|
181
|
+
|
|
182
|
+
**魔搭上没有 Qwen Image 3.0**,`Qwen/Qwen-Image-3.0` 这个 ID 不存在。
|
|
183
|
+
|
|
184
|
+
Qwen 官方在魔搭的图像模型只有 4 个:`Qwen/Qwen-Image`、`Qwen/Qwen-Image-Edit-2509`、`Qwen/Qwen-Image-Edit-2511`、`Qwen/Qwen-Image-2512`。其中 `Qwen-Image-2512` 的模型卡自述是「Qwen-Image 文生图基础模型的 12 月更新版」,**不是** 3.0。清单里的 Qwen Image 3.0 是通义的闭源商业版本,两条线不同。
|
|
185
|
+
|
|
186
|
+
> 若要在魔搭侧跟进 Qwen 图像新版本,正确的 ID 是 `Qwen/Qwen-Image-2512`(文生图)和 `Qwen/Qwen-Image-Edit-2511`(图片编辑)。
|
|
187
|
+
|
|
188
|
+
## 9. 适配要点
|
|
189
|
+
|
|
190
|
+
- 全部模型共用同一个端点与同一套参数,**只有 `model` 值和尺寸上限不同**;不要为每个模型复制一份 builder。
|
|
191
|
+
- 尺寸边界必须按模型分档,不能统一用 [64, 2048]。
|
|
192
|
+
- 计价不能用货币表达,应按魔粒档位展示。
|
|
193
|
+
- 自定义模型入口在保存前调 `list_model_providers` 校验可用性;成功时复用并持久化返回的 `CostTier` / `EstimatedMagicGrainCost`,校验失败(`unknown`)时放行并警告、价格保持未知,不要当成不支持或默认成 1 魔粒。
|
|
194
|
+
- 项目默认隐藏的参数(`seed`、负面提示词):魔搭两个字段都有,按项目约定**不显示、不请求**。
|
|
195
|
+
|
|
196
|
+
## 10. 原始链接索引
|
|
197
|
+
|
|
198
|
+
| 信息 | 链接 | 是否需登录 |
|
|
199
|
+
|---|---|---|
|
|
200
|
+
| API-Inference 介绍与完整参数表 | https://www.modelscope.cn/docs/model-service/API-Inference/intro | 否 |
|
|
201
|
+
| API-Inference 限制与覆盖范围 | https://www.modelscope.cn/docs/model-service/API-Inference/limits | 否 |
|
|
202
|
+
| 魔粒说明(获取与消耗规则) | https://www.modelscope.cn/docs/magicube/intro | 否 |
|
|
203
|
+
| API-Provider(高并发替代路径) | https://www.modelscope.cn/docs/model-service/API-Inference/api-provider | 否 |
|
|
204
|
+
| 模型可用性判定接口 | https://www.modelscope.cn/api/v1/inference/list_model_providers?ModelId=<id> | 否 |
|
|
205
|
+
| 官方示例代码接口 | https://www.modelscope.cn/api/v1/inference/<ns>/<name>/api_inference_example | 否 |
|
|
206
|
+
| Qwen-Image-2512 模型卡 | https://www.modelscope.cn/models/Qwen/Qwen-Image-2512 | 否 |
|
|
207
|
+
| Token 管理 | https://www.modelscope.cn/my/myaccesstoken | **是** |
|