@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.
- package/CHANGELOG.md +157 -141
- package/README.md +497 -455
- 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/discovery.d.ts +2 -0
- package/dist/llm/discovery.js +16 -5
- package/dist/llm/modelCatalogEntries.js +32 -0
- package/dist/llm/providerPresets.d.ts +3 -1
- package/dist/llm/providerPresets.js +6 -3
- package/dist/llm/providerReasoningRequest.js +14 -1
- package/dist/llm/siliconflow/index.d.ts +21 -0
- package/dist/llm/siliconflow/index.js +32 -0
- package/dist/llm/siliconflow/preset.d.ts +6 -0
- package/dist/llm/siliconflow/preset.js +33 -0
- 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 +56 -48
- package/docs/llm-adaptation/README.md +139 -137
- 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 +140 -75
- 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 +255 -195
- 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
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 | **是** |
|