@henjicc/ai-sdk 0.9.0 → 0.10.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 +50 -0
- package/README.md +580 -577
- package/dist/capabilities/speech-recognition/bailian/module.js +12 -13
- package/dist/capabilities/speech-recognition/bailian/parse.js +9 -2
- package/dist/capabilities/speech-recognition/bailian/presets.d.ts +9 -1
- package/dist/capabilities/speech-recognition/bailian/presets.js +7 -2
- package/dist/capabilities/speech-recognition/bailian/realtime/presets.d.ts +2 -1
- package/dist/capabilities/speech-recognition/bailian/realtime/presets.js +2 -0
- package/dist/capabilities/speech-recognition/bailian/upload.js +11 -58
- package/dist/capabilities/speech-recognition/index.d.ts +5 -0
- package/dist/capabilities/speech-recognition/siliconflow/presets.d.ts +2 -3
- package/dist/capabilities/speech-recognition/siliconflow/presets.js +0 -2
- package/dist/capabilities/translation/bailian/types.d.ts +3 -0
- package/dist/capabilities/translation/bailian/types.js +6 -4
- package/dist/catalog/apimart/flux-3-image.model.d.ts +3 -0
- package/dist/catalog/apimart/flux-3-image.model.js +62 -0
- package/dist/catalog/apimart/flux-3-video.model.d.ts +3 -0
- package/dist/catalog/apimart/flux-3-video.model.js +120 -0
- package/dist/catalog/apimart/gemini-omni-1.2-flash.model.d.ts +3 -0
- package/dist/catalog/apimart/gemini-omni-1.2-flash.model.js +175 -0
- package/dist/catalog/apimart/gemini-omni-flash.model.js +27 -23
- package/dist/catalog/apimart/gpt-image-2.5.model.js +1 -1
- package/dist/catalog/apimart/gpt-image-2.6.model.d.ts +3 -0
- package/dist/catalog/apimart/gpt-image-2.6.model.js +103 -0
- package/dist/catalog/apimart/gpt-image-2.model.js +1 -1
- package/dist/catalog/apimart/grok-imagine-2.0.model.js +1 -1
- package/dist/catalog/apimart/grok-imagine-video-1.5.model.d.ts +3 -0
- package/dist/catalog/apimart/grok-imagine-video-1.5.model.js +85 -0
- package/dist/catalog/apimart/happyhorse-1.1.model.d.ts +3 -0
- package/dist/catalog/apimart/happyhorse-1.1.model.js +78 -0
- package/dist/catalog/apimart/kling-3.0-omni.model.js +12 -2
- package/dist/catalog/apimart/kling-3.0-turbo.model.js +5 -2
- package/dist/catalog/apimart/kling-3.0.model.js +1 -1
- package/dist/catalog/apimart/kling-4.0.model.d.ts +3 -0
- package/dist/catalog/apimart/kling-4.0.model.js +149 -0
- package/dist/catalog/apimart/midjourney-video.model.js +31 -32
- package/dist/catalog/apimart/midjourney.model.js +11 -1
- package/dist/catalog/apimart/minimax-h3-max.model.d.ts +3 -0
- package/dist/catalog/apimart/minimax-h3-max.model.js +101 -0
- package/dist/catalog/apimart/minimax-h3.model.js +8 -3
- package/dist/catalog/apimart/nano-banana-2-lite.model.js +1 -1
- package/dist/catalog/apimart/nano-banana-2.1.model.d.ts +2 -0
- package/dist/catalog/apimart/nano-banana-2.1.model.js +49 -0
- package/dist/catalog/apimart/nano-banana-2.model.js +1 -1
- package/dist/catalog/apimart/nano-banana-pro.model.js +1 -1
- package/dist/catalog/apimart/qwen-image-3.0.model.js +1 -1
- package/dist/catalog/apimart/seedance-2.0-fast.model.js +1 -1
- package/dist/catalog/apimart/seedance-2.0-mini.model.js +4 -4
- package/dist/catalog/apimart/seedance-2.0.model.js +1 -1
- package/dist/catalog/apimart/seedance-2.5.model.js +27 -5
- package/dist/catalog/apimart/seedream-5.0-flash.model.d.ts +3 -0
- package/dist/catalog/apimart/seedream-5.0-flash.model.js +52 -0
- package/dist/catalog/apimart/seedream-5.0-lite.model.js +4 -4
- package/dist/catalog/apimart/seedream-5.0-pro.model.js +1 -1
- package/dist/catalog/apimart/veo-3.1.model.d.ts +3 -0
- package/dist/catalog/apimart/veo-3.1.model.js +132 -0
- package/dist/catalog/apimart/wan-2.7-image.model.d.ts +3 -0
- package/dist/catalog/apimart/wan-2.7-image.model.js +80 -0
- package/dist/catalog/apimart/wan-3.0.model.d.ts +3 -0
- package/dist/catalog/apimart/wan-3.0.model.js +101 -0
- package/dist/catalog/apimart/z-image-turbo.model.js +1 -1
- package/dist/catalog/audio/tts-common.d.ts +2 -1
- package/dist/catalog/audio/tts-common.js +5 -1
- package/dist/catalog/bailian/cosyvoice-v3.5.model.js +1 -1
- package/dist/catalog/bailian/minimax-h3.model.d.ts +3 -0
- package/dist/catalog/bailian/minimax-h3.model.js +95 -0
- package/dist/catalog/bailian/minimax-speech-2.8.model.js +1 -1
- package/dist/catalog/bailian/qwen-audio-3.1-tts-flash.model.js +14 -3
- package/dist/catalog/bailian/qwen-audio-3.1-tts-plus.model.d.ts +2 -0
- package/dist/catalog/bailian/qwen-audio-3.1-tts-plus.model.js +44 -0
- package/dist/catalog/bailian/qwen-image-3.0.model.js +1 -1
- package/dist/catalog/bailian/wan-3.0.model.d.ts +3 -0
- package/dist/catalog/bailian/wan-3.0.model.js +104 -0
- package/dist/catalog/bailian/z-image-turbo.model.js +1 -1
- package/dist/catalog/consumer-contract.d.ts +16 -1
- package/dist/catalog/consumer-contract.js +31 -0
- package/dist/catalog/continuation.d.ts +20 -0
- package/dist/catalog/continuation.js +41 -0
- package/dist/catalog/fal/bria-creative-upscale.model.js +1 -1
- package/dist/catalog/fal/eleven-v3-tts.model.js +1 -1
- package/dist/catalog/fal/eleven-v4-tts.model.d.ts +2 -0
- package/dist/catalog/fal/eleven-v4-tts.model.js +38 -0
- package/dist/catalog/fal/flux-3-video.model.d.ts +2 -0
- package/dist/catalog/fal/flux-3-video.model.js +187 -0
- package/dist/catalog/fal/flux-3.model.d.ts +2 -0
- package/dist/catalog/fal/flux-3.model.js +69 -0
- package/dist/catalog/fal/gemini-omni-1.2-flash.model.d.ts +2 -0
- package/dist/catalog/fal/gemini-omni-1.2-flash.model.js +129 -0
- package/dist/catalog/fal/gemini-omni-flash.model.js +1 -1
- package/dist/catalog/fal/gpt-image-2.5.model.js +1 -1
- package/dist/catalog/fal/gpt-image-2.6.model.d.ts +2 -0
- package/dist/catalog/fal/gpt-image-2.6.model.js +97 -0
- package/dist/catalog/fal/gpt-image-2.model.js +1 -1
- package/dist/catalog/fal/grok-imagine-2.0.model.js +1 -1
- package/dist/catalog/fal/grok-imagine-video-1.5.model.d.ts +2 -0
- package/dist/catalog/fal/grok-imagine-video-1.5.model.js +121 -0
- package/dist/catalog/fal/hailuo-02.model.js +8 -4
- package/dist/catalog/fal/hailuo-2.3.model.js +1 -1
- package/dist/catalog/fal/ic-light-v2.model.js +1 -1
- package/dist/catalog/fal/ideogram-upscale.model.js +1 -1
- package/dist/catalog/fal/kling-3.0-omni.model.js +1 -1
- package/dist/catalog/fal/kling-3.0-turbo.model.js +5 -2
- package/dist/catalog/fal/kling-3.0.model.js +4 -1
- package/dist/catalog/fal/kling-4.0-flash.model.d.ts +2 -0
- package/dist/catalog/fal/kling-4.0-flash.model.js +132 -0
- package/dist/catalog/fal/kling-4.0.model.d.ts +2 -0
- package/dist/catalog/fal/kling-4.0.model.js +169 -0
- package/dist/catalog/fal/kling-image-o1.model.js +1 -1
- package/dist/catalog/fal/kling-video-o1.model.js +18 -7
- package/dist/catalog/fal/kling-video-v2.6-pro.model.js +3 -2
- package/dist/catalog/fal/ltx-2.3.model.d.ts +2 -0
- package/dist/catalog/fal/ltx-2.3.model.js +223 -0
- package/dist/catalog/fal/ltx-2.model.js +2 -1
- package/dist/catalog/fal/minimax-h3-max.model.d.ts +2 -0
- package/dist/catalog/fal/minimax-h3-max.model.js +132 -0
- package/dist/catalog/fal/minimax-h3.model.js +3 -4
- package/dist/catalog/fal/minimax-speech-2.8.model.js +1 -1
- package/dist/catalog/fal/nano-banana-2.1.model.d.ts +2 -0
- package/dist/catalog/fal/nano-banana-2.1.model.js +68 -0
- package/dist/catalog/fal/nano-banana-2.model.js +1 -1
- package/dist/catalog/fal/nano-banana-pro.model.js +1 -1
- package/dist/catalog/fal/nano-banana.model.js +1 -1
- package/dist/catalog/fal/pixverse-v5.5.model.js +9 -4
- package/dist/catalog/fal/qwen-image-3.0.model.js +2 -2
- package/dist/catalog/fal/qwen3-tts-1.7b.model.js +4 -3
- package/dist/catalog/fal/seedance-2.0-fast.model.js +1 -1
- package/dist/catalog/fal/seedance-2.0-mini.model.js +1 -1
- package/dist/catalog/fal/seedance-2.0.model.js +1 -1
- package/dist/catalog/fal/seedance-2.5.model.js +5 -2
- package/dist/catalog/fal/seedance.model.js +3 -2
- package/dist/catalog/fal/seedream-5.0-lite.model.js +1 -1
- package/dist/catalog/fal/seedream-5.0-pro.model.js +1 -1
- package/dist/catalog/fal/seedream-v4.5.model.js +1 -1
- package/dist/catalog/fal/seedream-v4.model.js +1 -1
- package/dist/catalog/fal/seedvr2-image-upscale.model.js +1 -1
- package/dist/catalog/fal/topaz-image-upscale.model.js +1 -1
- package/dist/catalog/fal/topaz-transparent-upscale.model.js +1 -1
- package/dist/catalog/fal/utils/klingV4.d.ts +17 -0
- package/dist/catalog/fal/utils/klingV4.js +33 -0
- package/dist/catalog/fal/veo-3.1.model.js +5 -2
- package/dist/catalog/fal/vidu-q2.model.js +20 -8
- package/dist/catalog/fal/wan-2.5-preview.model.js +4 -1
- package/dist/catalog/fal/wan-3.0.model.d.ts +2 -0
- package/dist/catalog/fal/wan-3.0.model.js +135 -0
- package/dist/catalog/fal/z-image-turbo.model.js +10 -9
- package/dist/catalog/grsai/gpt-image-2.5.model.js +13 -31
- package/dist/catalog/grsai/gpt-image-2.6.model.d.ts +2 -0
- package/dist/catalog/grsai/gpt-image-2.6.model.js +37 -0
- package/dist/catalog/grsai/gpt-image-2.model.js +5 -2
- package/dist/catalog/grsai/nano-banana-2-lite.model.js +1 -1
- package/dist/catalog/grsai/nano-banana-2.1.model.d.ts +2 -0
- package/dist/catalog/grsai/nano-banana-2.1.model.js +29 -0
- package/dist/catalog/grsai/nano-banana-2.model.js +1 -1
- package/dist/catalog/grsai/nano-banana-pro.model.js +1 -1
- package/dist/catalog/grsai/wan-3.0.model.d.ts +2 -0
- package/dist/catalog/grsai/wan-3.0.model.js +78 -0
- package/dist/catalog/index.d.ts +1 -0
- package/dist/catalog/index.js +205 -124
- package/dist/catalog/kie/eleven-v3-dialogue.model.js +1 -1
- package/dist/catalog/kie/flux-3-klein.model.d.ts +2 -0
- package/dist/catalog/kie/flux-3-klein.model.js +58 -0
- package/dist/catalog/kie/gemini-3.1-flash-tts.model.js +7 -4
- package/dist/catalog/kie/gemini-3.8-flash-lite-tts.model.d.ts +2 -0
- package/dist/catalog/kie/gemini-3.8-flash-lite-tts.model.js +11 -0
- package/dist/catalog/kie/gemini-3.8-flash-tts.model.d.ts +2 -0
- package/dist/catalog/kie/gemini-3.8-flash-tts.model.js +11 -0
- package/dist/catalog/kie/gemini-omni-video.model.js +3 -4
- package/dist/catalog/kie/gemini38Tts.d.ts +3 -0
- package/dist/catalog/kie/gemini38Tts.js +40 -0
- package/dist/catalog/kie/gpt-image-2.5.model.js +1 -1
- package/dist/catalog/kie/gpt-image-2.6.model.d.ts +2 -0
- package/dist/catalog/kie/gpt-image-2.6.model.js +87 -0
- package/dist/catalog/kie/gpt-image-2.model.js +8 -12
- package/dist/catalog/kie/grok-imagine-2.0.model.js +1 -1
- package/dist/catalog/kie/grok-imagine-video-1.5.model.d.ts +2 -0
- package/dist/catalog/kie/grok-imagine-video-1.5.model.js +52 -0
- package/dist/catalog/kie/grok-imagine-video.model.js +7 -3
- package/dist/catalog/kie/grok-imagine.model.js +4 -2
- package/dist/catalog/kie/hailuo-02.model.js +6 -4
- package/dist/catalog/kie/hailuo-2-3.model.js +1 -1
- package/dist/catalog/kie/happyhorse-1.1.model.js +5 -2
- package/dist/catalog/kie/kling-3.0-omni.model.js +51 -23
- package/dist/catalog/kie/kling-3.0-turbo.model.js +1 -1
- package/dist/catalog/kie/kling-3.0.model.js +1 -8
- package/dist/catalog/kie/kling-4.0-flash.model.d.ts +2 -0
- package/dist/catalog/kie/kling-4.0-flash.model.js +16 -0
- package/dist/catalog/kie/kling-4.0.model.d.ts +2 -0
- package/dist/catalog/kie/kling-4.0.model.js +17 -0
- package/dist/catalog/kie/kling-v2-6.model.js +1 -1
- package/dist/catalog/kie/kling40.d.ts +21 -0
- package/dist/catalog/kie/kling40.js +129 -0
- package/dist/catalog/kie/minimax-h3.model.js +16 -21
- package/dist/catalog/kie/nano-banana-2-lite.model.js +1 -1
- package/dist/catalog/kie/nano-banana-2.1.model.d.ts +2 -0
- package/dist/catalog/kie/nano-banana-2.1.model.js +34 -0
- package/dist/catalog/kie/nano-banana-2.model.js +2 -2
- package/dist/catalog/kie/nano-banana-pro.model.js +1 -1
- package/dist/catalog/kie/qwen-image-3.0.model.js +2 -10
- package/dist/catalog/kie/seedance-1.5-pro.model.js +2 -1
- package/dist/catalog/kie/seedance-2.0-fast.model.js +5 -1
- package/dist/catalog/kie/seedance-2.0-mini.model.js +5 -1
- package/dist/catalog/kie/seedance-2.0.model.js +5 -1
- package/dist/catalog/kie/seedance-2.5.model.js +10 -20
- package/dist/catalog/kie/seedance-v1.model.js +8 -4
- package/dist/catalog/kie/seedream-4.0.model.js +1 -1
- package/dist/catalog/kie/seedream-4.5.model.js +1 -1
- package/dist/catalog/kie/seedream-5.0-lite.model.js +1 -1
- package/dist/catalog/kie/seedream-5.0-pro.model.js +1 -1
- package/dist/catalog/kie/wan-3.0-prime.model.d.ts +2 -0
- package/dist/catalog/kie/wan-3.0-prime.model.js +15 -0
- package/dist/catalog/kie/wan-3.0.model.d.ts +2 -0
- package/dist/catalog/kie/wan-3.0.model.js +15 -0
- package/dist/catalog/kie/wan30.d.ts +10 -0
- package/dist/catalog/kie/wan30.js +78 -0
- package/dist/catalog/kie/z-image.model.js +1 -1
- package/dist/catalog/modelscope/flux-1-krea-dev.model.js +4 -2
- package/dist/catalog/modelscope/majicmix-realistic.model.js +3 -2
- package/dist/catalog/modelscope/modelscope-custom.model.js +3 -2
- package/dist/catalog/modelscope/qwen-image-2512.model.d.ts +5 -0
- package/dist/catalog/modelscope/{qwen-image.model.js → qwen-image-2512.model.js} +11 -8
- package/dist/catalog/modelscope/qwen-image-edit-2511.model.d.ts +5 -0
- package/dist/catalog/modelscope/{qwen-image-edit-2509.model.js → qwen-image-edit-2511.model.js} +9 -7
- package/dist/catalog/modelscope/sdxl-14-ckpt.model.js +3 -2
- package/dist/catalog/modelscope/utils.js +2 -2
- package/dist/catalog/modelscope/z-image-turbo.model.js +3 -2
- package/dist/catalog/ppio/kling-3.0.model.js +4 -1
- package/dist/catalog/ppio/minimax-speech.model.js +2 -1
- package/dist/catalog/shared/mediaPresence.d.ts +8 -1
- package/dist/catalog/shared/mediaPresence.js +21 -1
- package/dist/catalog/shared/nanoBanana21.d.ts +11 -0
- package/dist/catalog/shared/nanoBanana21.js +30 -0
- package/dist/catalog/shared/shotList.d.ts +31 -0
- package/dist/catalog/shared/shotList.js +48 -0
- package/dist/catalog/shared/subjectElements.d.ts +36 -0
- package/dist/catalog/shared/subjectElements.js +93 -0
- package/dist/catalog/siliconflow/moss-ttsd-0.5.model.js +1 -1
- package/dist/catalog/validate.js +14 -1
- package/dist/catalog/volcengine/seedance-2.0-fast.model.d.ts +2 -0
- package/dist/catalog/volcengine/seedance-2.0-fast.model.js +11 -0
- package/dist/catalog/volcengine/seedance-2.0-mini.model.d.ts +2 -0
- package/dist/catalog/volcengine/seedance-2.0-mini.model.js +11 -0
- package/dist/catalog/volcengine/seedance-2.0.model.d.ts +2 -0
- package/dist/catalog/volcengine/seedance-2.0.model.js +11 -0
- package/dist/catalog/volcengine/seedance-2.5.model.d.ts +2 -0
- package/dist/catalog/volcengine/seedance-2.5.model.js +11 -0
- package/dist/catalog/volcengine/seedance.d.ts +17 -0
- package/dist/catalog/volcengine/seedance.js +192 -0
- package/dist/catalog/volcengine/seedream-5.0-lite.model.js +2 -1
- package/dist/catalog/volcengine/seedream-5.0.js +1 -1
- package/dist/catalog/volcengine-speech/seed-icl-2.0.model.js +2 -2
- package/dist/catalog/volcengine-speech/seed-tts-2.0.model.js +2 -2
- package/dist/discovery/index.js +13 -6
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2 -0
- package/dist/llm/bigmodel/preset.js +2 -1
- package/dist/llm/bigmodel/profiles.js +0 -6
- package/dist/llm/chat.d.ts +8 -0
- package/dist/llm/chat.js +18 -2
- package/dist/llm/chatTypes.d.ts +6 -0
- package/dist/llm/defaults.d.ts +2 -2
- package/dist/llm/defaults.js +3 -3
- package/dist/llm/groq/preset.js +18 -2
- package/dist/llm/modelCatalog.d.ts +9 -2
- package/dist/llm/modelCatalog.js +17 -4
- package/dist/llm/modelCatalogEntries.d.ts +2 -0
- package/dist/llm/modelCatalogEntries.js +197 -42
- package/dist/llm/providerPresets.d.ts +3 -0
- package/dist/llm/providerPresets.js +145 -32
- package/dist/llm/providerReasoningRequest.js +28 -11
- package/dist/llm/siliconflow/index.js +1 -1
- package/dist/llm/siliconflow/preset.js +30 -0
- package/dist/llm/types.d.ts +6 -0
- package/dist/packs/models/{ppio/wan-2.5-preview.d.ts → apimart/flux-3-image.d.ts} +1 -1
- package/dist/packs/models/apimart/flux-3-image.js +7 -0
- package/dist/packs/models/apimart/flux-3-video.d.ts +6 -0
- package/dist/packs/models/apimart/flux-3-video.js +7 -0
- package/dist/packs/models/apimart/gemini-omni-1.2-flash.d.ts +6 -0
- package/dist/packs/models/apimart/gemini-omni-1.2-flash.js +7 -0
- package/dist/packs/models/{modelscope/qwen-image.d.ts → apimart/gpt-image-2.6.d.ts} +1 -1
- package/dist/packs/models/apimart/gpt-image-2.6.js +7 -0
- package/dist/packs/models/apimart/grok-imagine-video-1.5.d.ts +6 -0
- package/dist/packs/models/apimart/grok-imagine-video-1.5.js +7 -0
- package/dist/packs/models/apimart/happyhorse-1.1.d.ts +6 -0
- package/dist/packs/models/apimart/happyhorse-1.1.js +7 -0
- package/dist/packs/models/apimart/kling-4.0.d.ts +6 -0
- package/dist/packs/models/apimart/kling-4.0.js +7 -0
- package/dist/packs/models/apimart/minimax-h3-max.d.ts +6 -0
- package/dist/packs/models/apimart/minimax-h3-max.js +7 -0
- package/dist/packs/models/{ppio/minimax-hailuo-2.3.d.ts → apimart/nano-banana-2.1.d.ts} +1 -1
- package/dist/packs/models/{ppio/minimax-hailuo-2.3.js → apimart/nano-banana-2.1.js} +4 -4
- package/dist/packs/models/apimart/seedream-5.0-flash.d.ts +6 -0
- package/dist/packs/models/apimart/seedream-5.0-flash.js +7 -0
- package/dist/packs/models/apimart/veo-3.1.d.ts +6 -0
- package/dist/packs/models/apimart/veo-3.1.js +7 -0
- package/dist/packs/models/apimart/wan-2.7-image.d.ts +6 -0
- package/dist/packs/models/apimart/wan-2.7-image.js +7 -0
- package/dist/packs/models/apimart/wan-3.0.d.ts +6 -0
- package/dist/packs/models/apimart/wan-3.0.js +7 -0
- package/dist/packs/models/bailian/cosyvoice-v3.5.js +1 -1
- package/dist/packs/models/bailian/minimax-h3.d.ts +6 -0
- package/dist/packs/models/bailian/minimax-h3.js +7 -0
- package/dist/packs/models/bailian/minimax-speech-2.8.js +1 -1
- package/dist/packs/models/bailian/qwen-audio-3.1-tts-flash.js +1 -1
- package/dist/packs/models/bailian/qwen-audio-3.1-tts-plus.d.ts +6 -0
- package/dist/packs/models/bailian/qwen-audio-3.1-tts-plus.js +7 -0
- package/dist/packs/models/bailian/qwen-image-3.0.js +1 -1
- package/dist/packs/models/bailian/wan-3.0.d.ts +6 -0
- package/dist/packs/models/bailian/wan-3.0.js +7 -0
- package/dist/packs/models/bailian/z-image-turbo.js +1 -1
- package/dist/packs/models/fal/eleven-v4-tts.d.ts +6 -0
- package/dist/packs/models/{ppio/wan-2.5-preview.js → fal/eleven-v4-tts.js} +4 -4
- package/dist/packs/models/fal/flux-3-video.d.ts +6 -0
- package/dist/packs/models/fal/flux-3-video.js +7 -0
- package/dist/packs/models/{ppio/wan-2.6.d.ts → fal/flux-3.d.ts} +1 -1
- package/dist/packs/models/{ppio/wan-2.6.js → fal/flux-3.js} +4 -4
- package/dist/packs/models/fal/gemini-omni-1.2-flash.d.ts +6 -0
- package/dist/packs/models/fal/gemini-omni-1.2-flash.js +7 -0
- package/dist/packs/models/fal/gpt-image-2.6.d.ts +6 -0
- package/dist/packs/models/fal/gpt-image-2.6.js +7 -0
- package/dist/packs/models/fal/grok-imagine-video-1.5.d.ts +6 -0
- package/dist/packs/models/fal/grok-imagine-video-1.5.js +7 -0
- package/dist/packs/models/fal/kling-4.0-flash.d.ts +6 -0
- package/dist/packs/models/fal/kling-4.0-flash.js +7 -0
- package/dist/packs/models/fal/kling-4.0.d.ts +6 -0
- package/dist/packs/models/{ppio/wan-2.7.js → fal/kling-4.0.js} +4 -4
- package/dist/packs/models/{ppio/wan-2.7.d.ts → fal/ltx-2.3.d.ts} +1 -1
- package/dist/packs/models/fal/ltx-2.3.js +7 -0
- package/dist/packs/models/fal/minimax-h3-max.d.ts +6 -0
- package/dist/packs/models/fal/minimax-h3-max.js +7 -0
- package/dist/packs/models/fal/nano-banana-2.1.d.ts +6 -0
- package/dist/packs/models/fal/nano-banana-2.1.js +7 -0
- package/dist/packs/models/fal/wan-3.0.d.ts +6 -0
- package/dist/packs/models/fal/wan-3.0.js +7 -0
- package/dist/packs/models/grsai/gpt-image-2.6.d.ts +6 -0
- package/dist/packs/models/grsai/gpt-image-2.6.js +7 -0
- package/dist/packs/models/grsai/nano-banana-2.1.d.ts +6 -0
- package/dist/packs/models/grsai/nano-banana-2.1.js +7 -0
- package/dist/packs/models/grsai/wan-3.0.d.ts +6 -0
- package/dist/packs/models/grsai/wan-3.0.js +7 -0
- package/dist/packs/models/kie/flux-3-klein.d.ts +6 -0
- package/dist/packs/models/kie/flux-3-klein.js +7 -0
- package/dist/packs/models/kie/gemini-3.8-flash-lite-tts.d.ts +6 -0
- package/dist/packs/models/kie/gemini-3.8-flash-lite-tts.js +7 -0
- package/dist/packs/models/kie/{eleven-turbo-2.5-tts.d.ts → gemini-3.8-flash-tts.d.ts} +1 -1
- package/dist/packs/models/kie/{eleven-turbo-2.5-tts.js → gemini-3.8-flash-tts.js} +1 -1
- package/dist/packs/models/kie/gpt-image-2.6.d.ts +6 -0
- package/dist/packs/models/kie/gpt-image-2.6.js +7 -0
- package/dist/packs/models/kie/grok-imagine-video-1.5.d.ts +6 -0
- package/dist/packs/models/kie/grok-imagine-video-1.5.js +7 -0
- package/dist/packs/models/kie/kling-4.0-flash.d.ts +6 -0
- package/dist/packs/models/kie/kling-4.0-flash.js +7 -0
- package/dist/packs/models/kie/kling-4.0.d.ts +6 -0
- package/dist/packs/models/kie/kling-4.0.js +7 -0
- package/dist/packs/models/kie/nano-banana-2.1.d.ts +6 -0
- package/dist/packs/models/kie/nano-banana-2.1.js +7 -0
- package/dist/packs/models/kie/wan-3.0-prime.d.ts +6 -0
- package/dist/packs/models/kie/wan-3.0-prime.js +7 -0
- package/dist/packs/models/kie/wan-3.0.d.ts +6 -0
- package/dist/packs/models/kie/wan-3.0.js +7 -0
- package/dist/packs/models/modelscope/flux-1-krea-dev.js +1 -1
- package/dist/packs/models/modelscope/majicmix-realistic.js +1 -1
- package/dist/packs/models/modelscope/modelscope-custom.js +1 -1
- package/dist/packs/models/modelscope/qwen-image-2512.d.ts +6 -0
- package/dist/packs/models/modelscope/{qwen-image.js → qwen-image-2512.js} +2 -2
- package/dist/packs/models/modelscope/{qwen-image-edit-2509.d.ts → qwen-image-edit-2511.d.ts} +1 -1
- package/dist/packs/models/modelscope/{qwen-image-edit-2509.js → qwen-image-edit-2511.js} +2 -2
- package/dist/packs/models/modelscope/sdxl-14-ckpt.js +1 -1
- package/dist/packs/models/modelscope/z-image-turbo.js +1 -1
- package/dist/packs/models/volcengine/seedance-2.0-fast.d.ts +6 -0
- package/dist/packs/models/volcengine/seedance-2.0-fast.js +7 -0
- package/dist/packs/models/volcengine/seedance-2.0-mini.d.ts +6 -0
- package/dist/packs/models/volcengine/seedance-2.0-mini.js +7 -0
- package/dist/packs/models/volcengine/seedance-2.0.d.ts +6 -0
- package/dist/packs/models/volcengine/seedance-2.0.js +7 -0
- package/dist/packs/models/volcengine/seedance-2.5.d.ts +6 -0
- package/dist/packs/models/volcengine/seedance-2.5.js +7 -0
- package/dist/packs/models/volcengine/seedream-5.0-flash.js +1 -1
- package/dist/packs/models/volcengine/seedream-5.0-lite.js +1 -1
- package/dist/packs/models/volcengine/seedream-5.0-pro.js +1 -1
- package/dist/packs/provider-adapters/bailian.js +1 -1
- package/dist/packs/provider-adapters/modelscope.js +1 -1
- package/dist/packs/provider-adapters/volcengine.js +1 -1
- package/dist/packs/provider-packs/apimart.d.ts +1 -1
- package/dist/packs/provider-packs/apimart.js +35 -22
- package/dist/packs/provider-packs/bailian.d.ts +1 -1
- package/dist/packs/provider-packs/bailian.js +8 -5
- package/dist/packs/provider-packs/fal.d.ts +1 -1
- package/dist/packs/provider-packs/fal.js +52 -40
- package/dist/packs/provider-packs/grsai.d.ts +1 -1
- package/dist/packs/provider-packs/grsai.js +8 -5
- package/dist/packs/provider-packs/kie.d.ts +1 -1
- package/dist/packs/provider-packs/kie.js +41 -32
- package/dist/packs/provider-packs/modelscope.js +2 -2
- package/dist/packs/provider-packs/ppio.d.ts +1 -1
- package/dist/packs/provider-packs/ppio.js +2 -6
- package/dist/packs/provider-packs/volcengine.d.ts +1 -1
- package/dist/packs/provider-packs/volcengine.js +8 -4
- package/dist/pricing/index.d.ts +1 -0
- package/dist/pricing/index.js +1 -0
- package/dist/pricing/mediaContext.d.ts +6 -1
- package/dist/pricing/mediaContext.js +12 -5
- package/dist/pricing/tokenPricing.d.ts +36 -0
- package/dist/pricing/tokenPricing.js +26 -0
- package/dist/providers/bailian.d.ts +1 -1
- package/dist/providers/bailian.js +71 -4
- package/dist/providers/fal.js +11 -1
- package/dist/providers/helpers.d.ts +1 -1
- package/dist/providers/helpers.js +17 -5
- package/dist/providers/kie.js +16 -5
- package/dist/providers/metadata.js +2 -2
- package/dist/providers/openai-speech.d.ts +6 -0
- package/dist/providers/openai-speech.js +31 -0
- package/dist/providers/providerAccessErrors.d.ts +3 -0
- package/dist/providers/providerAccessErrors.js +73 -0
- package/dist/providers/siliconflow.js +2 -27
- package/dist/providers/volcengine-speech.js +22 -5
- package/dist/providers/volcengine-voice-clone.js +13 -4
- package/dist/providers/volcengine.d.ts +1 -1
- package/dist/providers/volcengine.js +89 -11
- package/dist/runtime/retry.js +3 -0
- package/dist/tool-packs/fal-erase/models/bria-eraser.model.js +1 -1
- package/dist/tool-packs/fal-erase/models/finegrain-eraser.model.js +1 -1
- package/dist/tool-packs/fal-erase/models/flux-pro-erase.model.js +1 -1
- package/dist/tool-packs/fal-image-utilities/models/control-light.model.js +1 -1
- package/dist/tool-packs/fal-image-utilities/models/outpaint.model.js +1 -1
- package/dist/tool-packs/fal-image-utilities/models/photo-restoration.model.js +1 -1
- package/dist/tool-packs/fal-image-utilities/models/pixelcut-background-removal.model.js +1 -1
- package/dist/tool-packs/fal-image-utilities/models/product-photography.model.js +1 -1
- package/dist/tool-packs/fal-image-utilities/models/relighting.model.js +1 -1
- package/dist/tool-packs/fal-multi-angle/models/flux-2-multiple-angles.model.js +1 -1
- package/dist/tool-packs/fal-multi-angle/models/perspective-change.model.js +1 -1
- package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2511-multiple-angles.model.js +1 -1
- package/dist/types/model.d.ts +68 -12
- package/dist/types/model.js +3 -0
- package/dist/types/modelTags.d.ts +142 -0
- package/dist/types/modelTags.js +44 -0
- package/dist/types/speechTimings.d.ts +15 -0
- package/dist/types/speechTimings.js +1 -0
- package/dist/upload/apimart-upload.d.ts +1 -1
- package/dist/upload/apimart-upload.js +37 -15
- package/dist/upload/bailian-oss-upload.d.ts +32 -0
- package/dist/upload/bailian-oss-upload.js +74 -0
- package/dist/upload/{fal-legacy.js → fal-host-fetch.js} +2 -2
- package/dist/upload/fal-transport.d.ts +6 -0
- package/dist/upload/fal-transport.js +2 -1
- package/dist/upload/index.d.ts +2 -2
- package/dist/upload/index.js +4 -7
- package/dist/upload/kie-upload.d.ts +1 -1
- package/dist/upload/kie-upload.js +34 -12
- package/dist/upload/media-fields.js +7 -2
- package/dist/upload/preprocess-core.d.ts +2 -0
- package/dist/upload/preprocess-core.js +2 -0
- package/dist/upload/preprocess.d.ts +1 -1
- package/dist/upload/preprocess.js +12 -3
- package/dist/upload/provider-preprocessors/apimart.d.ts +1 -1
- package/dist/upload/provider-preprocessors/apimart.js +13 -5
- package/dist/upload/provider-preprocessors/bailian.d.ts +8 -0
- package/dist/upload/provider-preprocessors/bailian.js +45 -0
- package/dist/upload/provider-preprocessors/kie.d.ts +1 -1
- package/dist/upload/provider-preprocessors/kie.js +26 -9
- package/dist/upload/provider-preprocessors/ppio.d.ts +1 -2
- package/dist/upload/provider-preprocessors/ppio.js +2 -29
- package/dist/upload/provider-preprocessors/public-host.d.ts +5 -0
- package/dist/upload/provider-preprocessors/public-host.js +7 -0
- package/dist/upload/provider-preprocessors/volcengine.d.ts +5 -0
- package/dist/upload/provider-preprocessors/volcengine.js +10 -0
- package/dist/upload/public-host-upload.d.ts +7 -0
- package/dist/upload/public-host-upload.js +55 -0
- package/dist/upload/upload-response.js +12 -7
- package/docs/README.md +26 -26
- package/docs/consumers.md +156 -148
- package/docs/llm-adaptation/README.md +180 -166
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +108 -104
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +94 -76
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/MiniMax.md +89 -84
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +126 -126
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +238 -234
- 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 +131 -87
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274Qwen.md +112 -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/Eleven-v4/Eleven-v4_Fal.md +49 -0
- 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/FLUX-3/FLUX-3_APIMart.md +65 -0
- package/docs/model-adaptation/FLUX-3/FLUX-3_Fal.md +48 -0
- package/docs/model-adaptation/FLUX-3-Klein/FLUX-3-Klein_KIE.md +38 -0
- package/docs/model-adaptation/FLUX-3-Video/FLUX-3-Video_APIMart.md +84 -0
- package/docs/model-adaptation/FLUX-3-Video/FLUX-3-Video_Fal.md +80 -0
- 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 +47 -47
- package/docs/model-adaptation/Fun-ASR-Flash-2026-06-15/Fun-ASR-Flash-2026-06-15_/347/231/276/347/202/274.md +45 -45
- package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +57 -57
- 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 +217 -213
- 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 +138 -137
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_KIE.md +97 -93
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_APIMart.md +66 -66
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Fal.md +55 -55
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Grsai.md +59 -53
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_KIE.md +55 -55
- package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_APIMart.md +101 -0
- package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_Fal.md +55 -0
- package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_Grsai.md +32 -0
- package/docs/model-adaptation/GPT-Image-2.6/GPT-Image-2.6_KIE.md +51 -0
- package/docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md +62 -62
- package/docs/model-adaptation/Gemini-3.8-Flash-Lite-TTS/Gemini-3.8-Flash-Lite-TTS_KIE.md +22 -0
- package/docs/model-adaptation/Gemini-3.8-Flash-TTS/Gemini-3.8-Flash-TTS_KIE.md +38 -0
- package/docs/model-adaptation/Gemini-Omni-1.2-Flash/Gemini-Omni-1.2-Flash_APIMart.md +79 -0
- package/docs/model-adaptation/Gemini-Omni-1.2-Flash/Gemini-Omni-1.2-Flash_Fal.md +60 -0
- package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_APIMart.md +131 -125
- 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 +132 -130
- package/docs/model-adaptation/Grok-Imagine/Grok-Imagine_KIE.md +38 -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/Grok-Imagine-Video-1.5/Grok-Imagine-Video-1.5_APIMart.md +68 -0
- package/docs/model-adaptation/Grok-Imagine-Video-1.5/Grok-Imagine-Video-1.5_Fal.md +47 -0
- package/docs/model-adaptation/Grok-Imagine-Video-1.5/Grok-Imagine-Video-1.5_KIE.md +37 -0
- package/docs/model-adaptation/Hailuo-02/Hailuo-02_Fal.md +95 -93
- package/docs/model-adaptation/Hailuo-02/Hailuo-02_KIE.md +58 -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/HappyHorse-1.1/HappyHorse-1.1_APIMart.md +66 -0
- package/docs/model-adaptation/HappyHorse-1.1/HappyHorse-1.1_KIE.md +31 -27
- package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +99 -99
- 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 +91 -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 +120 -119
- package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_APIMart.md +130 -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 +148 -143
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_APIMart.md +88 -85
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_Fal.md +86 -83
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_KIE.md +84 -84
- package/docs/model-adaptation/Kling-4.0/Kling-4.0_APIMart.md +76 -0
- package/docs/model-adaptation/Kling-4.0/Kling-4.0_Fal.md +115 -0
- package/docs/model-adaptation/Kling-4.0/Kling-4.0_KIE.md +61 -0
- package/docs/model-adaptation/Kling-4.0-Flash/Kling-4.0-Flash_Fal.md +55 -0
- package/docs/model-adaptation/Kling-4.0-Flash/Kling-4.0-Flash_KIE.md +33 -0
- package/docs/model-adaptation/LTX-2.3/LTX-2.3_Fal.md +121 -0
- package/docs/model-adaptation/Midjourney/Midjourney_APIMart.md +402 -396
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_APIMart.md +237 -234
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_Fal.md +112 -108
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_KIE.md +118 -111
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_/347/231/276/347/202/274.md +65 -0
- package/docs/model-adaptation/MiniMax-H3-Max/MiniMax-H3-Max_APIMart.md +78 -0
- package/docs/model-adaptation/MiniMax-H3-Max/MiniMax-H3-Max_Fal.md +62 -0
- 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 +72 -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-2.1/Nano-Banana-2.1_APIMart.md +35 -0
- package/docs/model-adaptation/Nano-Banana-2.1/Nano-Banana-2.1_Fal.md +37 -0
- package/docs/model-adaptation/Nano-Banana-2.1/Nano-Banana-2.1_Grsai.md +35 -0
- package/docs/model-adaptation/Nano-Banana-2.1/Nano-Banana-2.1_KIE.md +36 -0
- 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-Audio-3.1-TTS-Plus/Qwen-Audio-3.1-TTS-Plus_/347/231/276/347/202/274.md +59 -0
- 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 +85 -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 -57
- package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +68 -68
- package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +40 -40
- package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +40 -40
- package/docs/model-adaptation/Qwen3-ASR-Flash/Qwen3-ASR-Flash_/347/231/276/347/202/274.md +44 -44
- package/docs/model-adaptation/Qwen3-ASR-Flash-2026-02-10/Qwen3-ASR-Flash-2026-02-10_/347/231/276/347/202/274.md +37 -37
- package/docs/model-adaptation/Qwen3-ASR-Flash-Filetrans/Qwen3-ASR-Flash-Filetrans_/347/231/276/347/202/274.md +45 -45
- package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +58 -58
- 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 +379 -338
- package/docs/model-adaptation/Seed-ICL-2.0/Seed-ICL-2.0_/347/201/253/345/261/261/345/274/225/346/223/216.md +65 -65
- 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 +147 -147
- 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 +87 -86
- package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_/347/201/253/345/261/261/345/274/225/346/223/216.md +101 -0
- 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 +79 -78
- package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_/347/201/253/345/261/261/345/274/225/346/223/216.md +98 -0
- package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_APIMart.md +93 -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 +79 -78
- package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_/347/201/253/345/261/261/345/274/225/346/223/216.md +98 -0
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_APIMart.md +217 -212
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_Fal.md +98 -94
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_KIE.md +94 -89
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_/347/201/253/345/261/261/345/274/225/346/223/216.md +102 -0
- package/docs/model-adaptation/Seedream-5.0-Flash/Seedream-5.0-Flash_APIMart.md +64 -0
- package/docs/model-adaptation/Seedream-5.0-Flash/Seedream-5.0-Flash_/347/201/253/345/261/261/345/274/225/346/223/216.md +18 -18
- package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_APIMart.md +113 -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 +110 -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 +73 -73
- package/docs/model-adaptation/TTS-/345/244/232/344/276/233/345/272/224/345/225/206-2026-09.md +115 -69
- package/docs/model-adaptation/TTS-/346/227/266/351/227/264/346/210/263-2026-10.md +36 -0
- 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/Veo-3.1/Veo-3.1_APIMart.md +90 -0
- package/docs/model-adaptation/Wan-2.7-Image/Wan-2.7-Image_APIMart.md +81 -0
- package/docs/model-adaptation/Wan-3.0/Wan-3.0_APIMart.md +74 -0
- package/docs/model-adaptation/Wan-3.0/Wan-3.0_Fal.md +60 -0
- package/docs/model-adaptation/Wan-3.0/Wan-3.0_Grsai.md +35 -0
- package/docs/model-adaptation/Wan-3.0/Wan-3.0_KIE.md +38 -0
- package/docs/model-adaptation/Wan-3.0/Wan-3.0_/347/231/276/347/202/274.md +96 -0
- package/docs/model-adaptation/Wan-3.0-Prime/Wan-3.0-Prime_KIE.md +20 -0
- package/docs/model-adaptation/Whisper-Large-v3/Whisper-Large-v3_Groq.md +80 -80
- package/docs/model-adaptation/Whisper-Large-v3-Turbo/Whisper-Large-v3-Turbo_Groq.md +79 -79
- 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 +103 -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 +99 -97
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/APIMart.md +240 -240
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Fal.md +190 -172
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Groq.md +136 -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 +159 -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 +170 -147
- 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 +191 -183
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +339 -288
- 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 +180 -153
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md +205 -207
- package/docs/model-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +339 -339
- 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 +38 -38
- 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 +259 -258
- package/dist/catalog/grsai/gptImage25Sizes.d.ts +0 -1
- package/dist/catalog/grsai/gptImage25Sizes.js +0 -76
- package/dist/catalog/kie/eleven-turbo-2.5-tts.model.d.ts +0 -2
- package/dist/catalog/kie/eleven-turbo-2.5-tts.model.js +0 -29
- package/dist/catalog/modelscope/qwen-image-edit-2509.model.d.ts +0 -5
- package/dist/catalog/modelscope/qwen-image.model.d.ts +0 -5
- package/dist/catalog/ppio/minimax-hailuo-2.3.model.d.ts +0 -7
- package/dist/catalog/ppio/minimax-hailuo-2.3.model.js +0 -114
- package/dist/catalog/ppio/wan-2.5-preview.model.d.ts +0 -7
- package/dist/catalog/ppio/wan-2.5-preview.model.js +0 -198
- package/dist/catalog/ppio/wan-2.6.model.d.ts +0 -7
- package/dist/catalog/ppio/wan-2.6.model.js +0 -206
- package/dist/catalog/ppio/wan-2.7.model.d.ts +0 -2
- package/dist/catalog/ppio/wan-2.7.model.js +0 -373
- package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_/346/264/276/346/254/247/344/272/221.md +0 -70
- package/docs/model-adaptation/TeleSpeechASR/TeleSpeechASR_/347/241/205/345/237/272/346/265/201/345/212/250.md +0 -76
- package/docs/model-adaptation/Wan-2.5-Preview/Wan-2.5-Preview_/346/264/276/346/254/247/344/272/221.md +0 -82
- package/docs/model-adaptation/Wan-2.6/Wan-2.6_/346/264/276/346/254/247/344/272/221.md +0 -84
- package/docs/model-adaptation/Wan-2.7/Wan-2.7_/346/264/276/346/254/247/344/272/221.md +0 -122
- /package/dist/upload/{fal-legacy.d.ts → fal-host-fetch.d.ts} +0 -0
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
# SenseVoiceSmall · 硅基流动
|
|
2
|
-
|
|
3
|
-
| 项目 | 内容 |
|
|
4
|
-
|---|---|
|
|
5
|
-
| 最后更新 | 2026-09-21 |
|
|
6
|
-
| 模态 | ASR(同步文件转写) |
|
|
7
|
-
| 供应商 | SiliconFlow / SiliconCloud |
|
|
8
|
-
| 平台模型 ID | `FunAudioLLM/SenseVoiceSmall` |
|
|
9
|
-
| 当前公开价格 | **免费** |
|
|
10
|
-
| 免费前提 | 账号实名认证;固定 Rate Limits,精确数值未公开 |
|
|
11
|
-
| 文档/价格 | 公开无需登录;Key/实名/用量需登录 |
|
|
12
|
-
|
|
13
|
-
## 1. 端点与鉴权
|
|
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
|
-
```text
|
|
24
|
-
file=<binary audio file>
|
|
25
|
-
model=FunAudioLLM/SenseVoiceSmall
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
`file` 必须不超过 1 小时、50 MB。官方 cURL 以 MP3 为示例,但转写页未公开完整文件
|
|
29
|
-
格式白名单。公开协议没有 `language/prompt/response_format`、热词、说话人、情感或音频事件
|
|
30
|
-
参数,也没有 WebSocket/SSE 实时接口。
|
|
31
|
-
|
|
32
|
-
## 2. 响应契约
|
|
33
|
-
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"text": "<string>"
|
|
37
|
-
}
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
响应头包含 `x-siliconcloud-trace-id`。虽然 SenseVoice 开源上游还有多语种、情感与音频事件能力,
|
|
41
|
-
硅基流动当前转写 API 只声明 `text`。SDK 文档与类型不得保证端点会返回上游额外标签。
|
|
42
|
-
|
|
43
|
-
## 3. 价格、账号与限流
|
|
44
|
-
|
|
45
|
-
- 2026-08-31 公开价格页的语音模型栏对 `FunAudioLLM/SenseVoiceSmall` 标注“免费”。
|
|
46
|
-
- 这是免费模型计划,不是一次性赠送金;官方说明账单中调用消耗为 0。
|
|
47
|
-
- 全部免费模型要求实名认证。限流为固定值,但公开 Rate Limits 页未给本模型的精确
|
|
48
|
-
RPM/RPD/音频时长额度;以登录后实际账号页为准。
|
|
49
|
-
- 官方转写页明确保留模型上下线和服务能力调整的可能;价格/可用性需在发布前复核。
|
|
50
|
-
|
|
51
|
-
## 4. 错误与适配要点
|
|
52
|
-
|
|
53
|
-
官方错误体可为 `{code,message,data}` JSON,也可为纯文本。常见状态为 400/401/403/429/
|
|
54
|
-
500/503/504;403 可与实名、模型权限或余额有关。SDK 的 `provider_http_error` 诊断文本保留
|
|
55
|
-
HTTP status、可用的 `code/message/data`、文本 fallback 和脱敏追踪 ID;
|
|
56
|
-
当前通用 `AiRuntimeError` 不提供结构化供应商错误 metadata。
|
|
57
|
-
|
|
58
|
-
Say-It/SDK 接入是简单 Bearer + multipart HTTP,但不得透传硅基流动未公开的 OpenAI ASR
|
|
59
|
-
扩展参数。中国大陆使用 `api.siliconflow.cn`;本轮未发起真实请求,实际账号限流未实测。
|
|
60
|
-
|
|
61
|
-
## 5. 原始链接索引
|
|
62
|
-
|
|
63
|
-
| 信息 | 链接 | 登录 |
|
|
64
|
-
|---|---|---|
|
|
65
|
-
| ASR API、模型 ID、输入限制与响应 | https://docs.siliconflow.cn/docs/api/audio-transcriptions-post | 否 |
|
|
66
|
-
| 当前价格 | https://siliconflow.cn/pricing | 否 |
|
|
67
|
-
| 免费模型/实名/Rate Limits 规则 | https://docs.siliconflow.cn/cn/userguide/rate-limits/rate-limit-and-upgradation | 否 |
|
|
68
|
-
| 错误处理 | https://docs.siliconflow.cn/cn/faqs/error-code | 否 |
|
|
69
|
-
| API Key | https://cloud.siliconflow.cn/account/ak | **是** |
|
|
70
|
-
|
|
71
|
-
## 2026-09-21 文件传输边界复核
|
|
72
|
-
|
|
73
|
-
SDK 本地 multipart 默认上限为 50,000,000 字节(十进制保守解释官方 50 MB),仍受 1 小时时长限制。宿主 describe/readChunk + fetchStream 仅改变传输内存,不改变文件格式。
|
|
1
|
+
# SenseVoiceSmall · 硅基流动
|
|
2
|
+
|
|
3
|
+
| 项目 | 内容 |
|
|
4
|
+
|---|---|
|
|
5
|
+
| 最后更新 | 2026-09-21 |
|
|
6
|
+
| 模态 | ASR(同步文件转写) |
|
|
7
|
+
| 供应商 | SiliconFlow / SiliconCloud |
|
|
8
|
+
| 平台模型 ID | `FunAudioLLM/SenseVoiceSmall` |
|
|
9
|
+
| 当前公开价格 | **免费** |
|
|
10
|
+
| 免费前提 | 账号实名认证;固定 Rate Limits,精确数值未公开 |
|
|
11
|
+
| 文档/价格 | 公开无需登录;Key/实名/用量需登录 |
|
|
12
|
+
|
|
13
|
+
## 1. 端点与鉴权
|
|
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
|
+
```text
|
|
24
|
+
file=<binary audio file>
|
|
25
|
+
model=FunAudioLLM/SenseVoiceSmall
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`file` 必须不超过 1 小时、50 MB。官方 cURL 以 MP3 为示例,但转写页未公开完整文件
|
|
29
|
+
格式白名单。公开协议没有 `language/prompt/response_format`、热词、说话人、情感或音频事件
|
|
30
|
+
参数,也没有 WebSocket/SSE 实时接口。
|
|
31
|
+
|
|
32
|
+
## 2. 响应契约
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"text": "<string>"
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
响应头包含 `x-siliconcloud-trace-id`。虽然 SenseVoice 开源上游还有多语种、情感与音频事件能力,
|
|
41
|
+
硅基流动当前转写 API 只声明 `text`。SDK 文档与类型不得保证端点会返回上游额外标签。
|
|
42
|
+
|
|
43
|
+
## 3. 价格、账号与限流
|
|
44
|
+
|
|
45
|
+
- 2026-08-31 公开价格页的语音模型栏对 `FunAudioLLM/SenseVoiceSmall` 标注“免费”。
|
|
46
|
+
- 这是免费模型计划,不是一次性赠送金;官方说明账单中调用消耗为 0。
|
|
47
|
+
- 全部免费模型要求实名认证。限流为固定值,但公开 Rate Limits 页未给本模型的精确
|
|
48
|
+
RPM/RPD/音频时长额度;以登录后实际账号页为准。
|
|
49
|
+
- 官方转写页明确保留模型上下线和服务能力调整的可能;价格/可用性需在发布前复核。
|
|
50
|
+
|
|
51
|
+
## 4. 错误与适配要点
|
|
52
|
+
|
|
53
|
+
官方错误体可为 `{code,message,data}` JSON,也可为纯文本。常见状态为 400/401/403/429/
|
|
54
|
+
500/503/504;403 可与实名、模型权限或余额有关。SDK 的 `provider_http_error` 诊断文本保留
|
|
55
|
+
HTTP status、可用的 `code/message/data`、文本 fallback 和脱敏追踪 ID;
|
|
56
|
+
当前通用 `AiRuntimeError` 不提供结构化供应商错误 metadata。
|
|
57
|
+
|
|
58
|
+
Say-It/SDK 接入是简单 Bearer + multipart HTTP,但不得透传硅基流动未公开的 OpenAI ASR
|
|
59
|
+
扩展参数。中国大陆使用 `api.siliconflow.cn`;本轮未发起真实请求,实际账号限流未实测。
|
|
60
|
+
|
|
61
|
+
## 5. 原始链接索引
|
|
62
|
+
|
|
63
|
+
| 信息 | 链接 | 登录 |
|
|
64
|
+
|---|---|---|
|
|
65
|
+
| ASR API、模型 ID、输入限制与响应 | https://docs.siliconflow.cn/docs/api/audio-transcriptions-post | 否 |
|
|
66
|
+
| 当前价格 | https://siliconflow.cn/pricing | 否 |
|
|
67
|
+
| 免费模型/实名/Rate Limits 规则 | https://docs.siliconflow.cn/cn/userguide/rate-limits/rate-limit-and-upgradation | 否 |
|
|
68
|
+
| 错误处理 | https://docs.siliconflow.cn/cn/faqs/error-code | 否 |
|
|
69
|
+
| API Key | https://cloud.siliconflow.cn/account/ak | **是** |
|
|
70
|
+
|
|
71
|
+
## 2026-09-21 文件传输边界复核
|
|
72
|
+
|
|
73
|
+
SDK 本地 multipart 默认上限为 50,000,000 字节(十进制保守解释官方 50 MB),仍受 1 小时时长限制。宿主 describe/readChunk + fetchStream 仅改变传输内存,不改变文件格式。
|
package/docs/model-adaptation/TTS-/345/244/232/344/276/233/345/272/224/345/225/206-2026-09.md
CHANGED
|
@@ -1,69 +1,115 @@
|
|
|
1
|
-
# TTS 多供应商适配契约(2026-09-27)
|
|
2
|
-
|
|
3
|
-
本文件记录本次 SDK 适配所需的供应商原始契约。原始范围为文字转语音和对话语音;2026-09-28 补充 Seed-ICL 2.0 官方 V3 声音训练,详见 [语音克隆契约](Seed-ICL-2.0/Seed-ICL-2.0_火山引擎.md)。用户确认:公开价格可核实时显示估算;无法由输入参数可靠估算的价格不显示估算。
|
|
4
|
-
|
|
5
|
-
## 模型与请求矩阵
|
|
6
|
-
|
|
7
|
-
| 平台 | 模型 / 路由 | 协议、输出 | 公开价格 | 官方依据 |
|
|
8
|
-
| --- | --- | --- | --- | --- |
|
|
9
|
-
| 派欧云 | MiniMax Speech 2.8 HD / Turbo | 已有 `/async/minimax-speech-2.8-{hd,turbo}` 轮询;音频 URL | HD ¥3.5、Turbo ¥2 / 万字符 | [派欧云 HD](https://ppio.com/docs/models/reference-minimax-speech-2.8-hd)、[派欧云异步 HD](https://ppio.com/docs/models/reference-minimax-speech-2.8-hd-async) |
|
|
10
|
-
| Fal | `fal-ai/minimax/speech-2.8-hd`、`fal-ai/minimax/speech-2.8-turbo` | Fal queue;`audio.url` | HD $0.10、Turbo $0.06 / 千字符 | [HD API](https://fal.ai/models/fal-ai/minimax/speech-2.8-hd/api)、[Turbo API](https://fal.ai/models/fal-ai/minimax/speech-2.8-turbo/api)、[HD 定价](https://fal.ai/models/fal-ai/minimax/speech-2.8-hd)、[Turbo 定价](https://fal.ai/models/fal-ai/minimax/speech-2.8-turbo) |
|
|
11
|
-
| Fal | `fal-ai/qwen-3-tts/text-to-speech/1.7b` | Fal queue;`audio.url` | $0.09 / 千字符 | [API](https://fal.ai/models/fal-ai/qwen-3-tts/text-to-speech/1.7b/api)、[定价](https://fal.ai/models/fal-ai/qwen-3-tts/text-to-speech/1.7b) |
|
|
12
|
-
| Fal | `fal-ai/elevenlabs/tts/eleven-v3` | Fal queue;`audio.url` | $0.10 / 千字符 | [API](https://fal.ai/models/fal-ai/elevenlabs/tts/eleven-v3/api)、[定价](https://fal.ai/models/fal-ai/elevenlabs/tts/eleven-v3) |
|
|
13
|
-
| 百炼 | `MiniMax/speech-2.8-hd`、`MiniMax/speech-2.8-turbo` | 同步 HTTP;`output.data.audio` 为 hex | HD ¥3.5、Turbo ¥2 / 万字符 | [API](https://help.aliyun.com/zh/model-studio/minimax-synchronous-speech-synthesis-api)、[定价](https://help.aliyun.com/zh/model-studio/model-pricing) |
|
|
14
|
-
| 百炼 | `qwen-audio-3.1-tts-flash` | 同步 HTTP;`output.audio.url`,有效期 24 小时 | 输入 ¥1.5 / 百万 Token、输出 ¥12 / 百万 Token
|
|
15
|
-
| 百炼 | `cosyvoice-v3.5-flash`、`cosyvoice-v3.5-plus` | 同步 HTTP;`output.audio.url`,有效期 24 小时 | Flash ¥0.8、Plus ¥1.5 / 万字符 | [API](https://help.aliyun.com/zh/model-studio/cosyvoice-tts-http-api)、[定价](https://help.aliyun.com/zh/model-studio/model-pricing) |
|
|
16
|
-
| KIE | `google/gemini-3-1-flash-tts` | `createTask` + `recordInfo`;`resultJson.resultUrls` | 输入 $0.7、音频输出 $14 / 百万 Token;提交前无法准确估算输出 Token | [API](https://docs.kie.ai/market/google/gemini-3-1-flash-tts)、[定价](https://kie.ai/pricing) |
|
|
17
|
-
| KIE | `elevenlabs/text-to-speech-turbo-2-5` | 同上 | $0.03 / 千字符 | [API](https://docs.kie.ai/market/elevenlabs/text-to-speech-turbo-2-5)、[定价](https://kie.ai/pricing) |
|
|
18
|
-
| KIE | `elevenlabs/text-to-dialogue-v3` | 同上;输入为 `input.dialogue[]` | $0.07 / 千字符 | [API](https://docs.kie.ai/market/elevenlabs/text-to-dialogue-v3)、[定价](https://kie.ai/pricing) |
|
|
19
|
-
| 火山引擎 | `seed-tts-2.0`、`seed-icl-2.0` | V3 HTTP Chunked;逐帧 JSON 的 `data` 为 base64 音频块 | 2026-09-28 核实:合成及训练试听 ¥3 / 万字符;后付费克隆首次正式合成另收 ¥138 / 音色 | [V3 HTTP](https://docs.volcengine.com/docs/DoubaoVoice/unidirectional-streaming-text-to-speech-http?lang=zh)、[公开刊例](https://docs.volcengine.com/docs/DoubaoVoice/Billinginstructions-21?lang=zh) |
|
|
20
|
-
| 硅基流动 | `FunAudioLLM/CosyVoice2-0.5B`、`fnlp/MOSS-TTSD-v0.5` | `POST /v1/audio/speech`;直接返回音频二进制 | ¥0.05 / 千 UTF-8 字符 | [API](https://docs.siliconflow.cn/docs/api/audio-speech-post)、[定价](https://siliconflow.cn/pricing) |
|
|
21
|
-
|
|
22
|
-
百炼的专属业务空间域名为推荐项,官方明确现有 `dashscope.aliyuncs.com` 域名继续可用;SDK 使用现有域名和北京地域 API Key。百炼 MiniMax 与 Qwen/CosyVoice 的路由不同,不能混用。CosyVoice 3.5 无系统音色,必须使用先前创建的复刻或设计音色 ID。火山语音 V3 使用独立的 `X-Api-Key`,SDK 单列 `volcengine-speech` 供应商以免覆盖方舟图片模型的 Key;复刻音色请求须设 `req_params.model=seed-tts-2.0-standard`。火山 V1 非流式接口明确不支持 Seed-TTS 2.0 音色,不能作为 V3 替代。[百炼 API](https://help.aliyun.com/zh/model-studio/cosyvoice-tts-http-api)、[CosyVoice 音色限制](https://help.aliyun.com/zh/model-studio/non-realtime-tts-user-guide)、[火山 V3](https://docs.volcengine.com/docs/DoubaoVoice/unidirectional-streaming-text-to-speech-http?lang=zh)、[火山 V1 说明](https://docs.volcengine.com/docs/DoubaoVoice/HTTPone-timecompositenon-streaminginterface-V1notrecommended?lang=zh)。
|
|
23
|
-
|
|
24
|
-
## 事件与终态契约
|
|
25
|
-
|
|
26
|
-
| 协议 | 前置/中间状态 | 成功终态与输出 | 失败/空值处理 | 断线、取消和复用 |
|
|
27
|
-
| --- | --- | --- | --- | --- |
|
|
28
|
-
| Fal queue | 提交返回 `request_id` 或 `status_url`;状态 `IN_QUEUE` / `IN_PROGRESS` | `COMPLETED` 后取 `response_url`,要求 `audio.url` | `FAILED`、无结果 URL 报错;状态字段缺失报错 | 中断信号取消本地等待;远端任务是否被取消,官方未说明。状态 URL 限定 Fal queue 域名。 |
|
|
29
|
-
| KIE jobs | 创建返回 `data.taskId`;查询 `waiting` / `queuing` / `generating` | `success`,解析 `data.resultJson.resultUrls` | `fail` 或查询错误报错;空结果报错 | 中断信号取消本地等待;远端任务取消/恢复官方未说明。 |
|
|
30
|
-
| 百炼非流式 HTTP | 单次 JSON 响应;不产生中间事件 | Qwen/CosyVoice `output.finish_reason=stop` 且 `output.audio.url`;MiniMax `output.base_resp.status_code=0`、`output.data.status=2` 且 hex 音频 | 缺输出、错误码、空音频报错 | 中断 HTTP 请求;连接复用由 HTTP transport 处理。 |
|
|
31
|
-
| 火山 V3 HTTP Chunked | 一次提交,分块读取 JSON;每个 `code=0` 的非空 `data` 是音频块 | 完整读取至服务端终止,按原序拼接全部音频块;`usage.text_words` 为计费字符 | `code!=0` 报错;无音频块报错;未完整终止不得产出音频 | 中断信号终止读取并释放 reader;断线不重放付费请求。帧乱序/断线恢复官方未说明。 |
|
|
32
|
-
| 硅基流动 HTTP | 单次请求 | 2xx 且非空音频二进制 | 非 2xx 或空 body 报错 | 中断 HTTP 请求;无任务轮询。 |
|
|
33
|
-
|
|
34
|
-
以上只接入各平台已证实的非流式完整结果路径。Fal 本身的 streaming 和百炼 SSE 属于另外的可选协议,不因页面支持 streaming 就默认在本次实现中启用。官方示例中的占位音频与签名 URL 只用于字段契约 fixture,不能据此宣称真实付费生成成功。
|
|
35
|
-
|
|
36
|
-
### 火山 V3 分块事件矩阵
|
|
37
|
-
|
|
38
|
-
官方把每个 HTTP 分块描述为 JSON 消息;HTTP 读取边界可能拆开或合并 JSON 消息,因此 SDK 按完整 JSON 对象切帧。`code` 为必填数字,`data` 为可选 base64 音频字符串,`usage.text_words` 为可选数字;空 `data` 或缺失 `data` 不产生音频。官方未说明帧乱序、重复、断线恢复或远端任务取消语义,SDK 不对付费 POST 自动重放。
|
|
39
|
-
|
|
40
|
-
| 事件/状态 | 前置状态 | 字段契约(required / optional / nullable) | 空值/缺字段语义 | 下一状态 | 对外输出 | 副作用 | 终态/错误 | 连接复用 |
|
|
41
|
-
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
42
|
-
| 成功音频帧 `code=0` | 请求已提交、流读取中 | `code: number` 必填;`data: string` 可选;`usage.text_words: number` 可选 | 空/缺 `data` 无音频;`null` 不是可解码音频 | 继续读取 | 累积音频块和最近一次用量 | base64 解码、顺序追加 | 非终态 | 继续读取同一响应 |
|
|
43
|
-
| 服务错误帧 `code!=0` | 流读取中 | `code: number` 必填;`message: string` 可选 | 缺 `message` 使用通用错误 | 失败 | 错误 | 释放 reader | 错误终态 | 不复用该响应 |
|
|
44
|
-
| 正常 EOF | 流读取中 | 无新的 JSON 字段 | 尚有不完整 JSON 为无效响应;全程无有效音频为空结果 | 完成或失败 | 单个音频 data URI | 拼接所有音频块、释放 reader | 本地终态;官方未提供单独 final 字段 | 请求结束 |
|
|
45
|
-
| 中断或断线 | 流读取中 | `AbortSignal` 或 HTTP 读取故障 | 不交付部分音频 | 失败/取消 | 原因错误 | 取消并释放 reader | 本地终态;断线能否恢复官方未说明 | 不重放写请求 |
|
|
46
|
-
|
|
47
|
-
状态机不变量:只有正常 EOF 且至少一个非空音频块才能成功;空中间帧可重复;帧中的 JSON 字符串可跨网络分块;错误或取消后不得返回已经累积的部分音频。正常、失败及取消均释放 reader。Fal/KIE 的既有 queue/jobs 状态机沿用原适配器,新增模型仅提供官方 model ID、请求构建和媒体输出字段,不新增轮询协议分支。
|
|
48
|
-
|
|
49
|
-
## 参数边界
|
|
50
|
-
|
|
51
|
-
### 音色目录与账号音色查询(2026-09-27 核对)
|
|
52
|
-
|
|
53
|
-
| 模型范围 | 官方音色来源 | 接入方式与边界 |
|
|
54
|
-
| --- | --- | --- |
|
|
55
|
-
| 百炼 Qwen Audio 3.1 TTS Flash | [官方音色清单](https://help.aliyun.com/zh/model-studio/qwen-audio-tts-voice-list),当前 68 个预置 ID;[复刻音色列表 API](https://help.aliyun.com/en/model-studio/voice-clone-design-http-api) | 预置清单本地展示;以北京地域百炼 Key 请求 `POST https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization`,`model=voice-enrollment`、`input.action=list_voice`、`page_index` 从 0 起、`page_size=50`,读取 `output.voice_list[].voice_id/status`;只呈现 `status=OK` 且属于本模型的 ID。 |
|
|
56
|
-
| 百炼 CosyVoice 3.5 | [复刻音色列表 API](https://help.aliyun.com/en/model-studio/voice-clone-design-http-api) | 同上。无预置音色;只呈现 `cosyvoice-v3.5-` 前缀且状态为 `OK` 的音色。 |
|
|
57
|
-
| 百炼 MiniMax Speech 2.8 | [音色管理 API](https://help.aliyun.com/zh/model-studio/sound-management) | 以百炼 Key 请求 `POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation`,`model=MiniMax/speech-2.8-turbo`、`input.action=get_voice`、`voice_type=all`;读取 `output.system_voice[]` 和 `output.voice_cloning[]` 的 `voice_id/voice_name/description`,检查 `output.base_resp.status_code=0`。未配置 Key 时仅保留本模型已证实默认音色,不借用其他供应商目录。 |
|
|
58
|
-
| 硅基流动 CosyVoice2 | [官方音色文档](https://docs.siliconflow.cn/docs/userguide/capabilities/text-to-speech) | 本地展示 8 个预置音色;用账号 Key 请求 `GET https://api.siliconflow.cn/v1/audio/voice/list`,读取自定义音色 `uri` 和名称。官方文档未给出完整响应外壳,解析器接受直接数组、`data` 数组及 `voices` 数组;实测前不声称所有账号响应形态均已验证。 |
|
|
59
|
-
| 火山 Seed-TTS 2.0 / 豆包语音 2.0 | [官方音色清单](https://docs.volcengine.com/docs/DoubaoVoice/Tonelist-1?lang=zh) | 2026-09-28 核对 2.0 两个章节共 431 个音色 ID,补齐旧清单遗漏的 `ICL_uranus_*` 系统音色;本地提供搜索和选择。控制面 ListSpeakers 需要独立 AK/SK 签名,不能用语音 Key 代替。 |
|
|
60
|
-
| 火山 Seed-ICL 2.0 | [新版按 ID 查询](https://docs.volcengine.com/docs/DoubaoVoice/tone-query-http?lang=zh)、[旧版音色管理说明](https://docs.volcengine.com/docs/DoubaoVoice/Soundreplicationorderingandusageguide?lang=zh) | 新版官方查询只按已知 `speaker_id` 查状态;旧版批量查询接口与当前 V3 凭据/协议不一致,未接入。2026-09-28 接入 V3 训练和状态查询;新音色自动编号并保存到应用音色库,已有预付费槽位可手动导入。 |
|
|
61
|
-
| Fal Eleven v3 / MiniMax 2.8、KIE Eleven、Gemini 3.1、硅基流动 MOSS | [Fal Eleven v3](https://fal.ai/models/fal-ai/elevenlabs/tts/eleven-v3)、[Fal MiniMax](https://fal.ai/models/fal-ai/minimax/speech-2.8-hd/api)、[KIE Eleven Turbo](https://docs.kie.ai/market/elevenlabs/text-to-speech-turbo-2-5)、[KIE Eleven Dialogue](https://docs.kie.ai/market/elevenlabs/text-to-dialogue-v3)、[Google 预置音色](https://ai.google.dev/gemini-api/docs/speech-generation)、[硅基流动 MOSS](https://docs.siliconflow.cn/docs/userguide/capabilities/text-to-speech) | 收录各渠道官方明确列出的预置音色或示例 ID。渠道未公布完整账号音色查询接口的模型保留手填兜底;不可将 ElevenLabs 或其他供应商原生音色 API 直接当成转售渠道的可用列表。 |
|
|
62
|
-
|
|
63
|
-
上述音色查询均为单次 HTTP JSON 读请求,官方没有流式事件、取消远端任务、分页总数或连接复用的特殊契约;HTTP 失败、供应商错误码、响应外壳缺失都应报错,不把错误当成空目录。分页仅用于百炼 `list_voice`,遇不足一页时结束;到达客户端有界页数仍满页时应提示目录未完整读取。自定义音色的名称若官方只返回 ID,则展示 ID。
|
|
64
|
-
|
|
65
|
-
- 各模型的文本来自 SDK 统一 `prompt`/`text` 输入,转换到供应商要求的 `prompt`、`text` 或嵌套 `input.text`。
|
|
66
|
-
- 音色使用各平台官方音色 ID;火山 Seed-ICL 支持直接上传录音克隆;其他供应商复刻音色使用官方列表或已取得的 ID。
|
|
67
|
-
- KIE Gemini 3.1 使用 `speakers[]` 与 `dialogue_turns[]`;Eleven v3 对话使用 `dialogue[]`。SDK 在仅有普通文本时明确构建单说话人/单台词数组;调用方传入结构化数组时保留多说话人能力。痕迹AI 当前通用参数面板只暴露单说话人文本入口。
|
|
68
|
-
- 音频块和二进制响应在 SDK 边界转换为 `data:audio/...;base64,...`,交给宿主已有媒体落盘边界;不得只返回原始 base64/hex 字符串。
|
|
69
|
-
- 派欧云 2.8 的 `emotion`:MiniMax 原厂说明支持情感,但派欧云异步参考页写为仅 2.6/01 生效。平台契约冲突,不能将原厂能力直接视为派欧云 2.8 能力;需在该平台屏蔽未证实的情感选项。[派欧云异步 HD](https://ppio.com/docs/models/reference-minimax-speech-2.8-hd-async)。
|
|
1
|
+
# TTS 多供应商适配契约(2026-09-27)
|
|
2
|
+
|
|
3
|
+
本文件记录本次 SDK 适配所需的供应商原始契约。原始范围为文字转语音和对话语音;2026-09-28 补充 Seed-ICL 2.0 官方 V3 声音训练,详见 [语音克隆契约](Seed-ICL-2.0/Seed-ICL-2.0_火山引擎.md)。用户确认:公开价格可核实时显示估算;无法由输入参数可靠估算的价格不显示估算。
|
|
4
|
+
|
|
5
|
+
## 模型与请求矩阵
|
|
6
|
+
|
|
7
|
+
| 平台 | 模型 / 路由 | 协议、输出 | 公开价格 | 官方依据 |
|
|
8
|
+
| --- | --- | --- | --- | --- |
|
|
9
|
+
| 派欧云 | MiniMax Speech 2.8 HD / Turbo | 已有 `/async/minimax-speech-2.8-{hd,turbo}` 轮询;音频 URL | HD ¥3.5、Turbo ¥2 / 万字符 | [派欧云 HD](https://ppio.com/docs/models/reference-minimax-speech-2.8-hd)、[派欧云异步 HD](https://ppio.com/docs/models/reference-minimax-speech-2.8-hd-async) |
|
|
10
|
+
| Fal | `fal-ai/minimax/speech-2.8-hd`、`fal-ai/minimax/speech-2.8-turbo` | Fal queue;`audio.url` | HD $0.10、Turbo $0.06 / 千字符 | [HD API](https://fal.ai/models/fal-ai/minimax/speech-2.8-hd/api)、[Turbo API](https://fal.ai/models/fal-ai/minimax/speech-2.8-turbo/api)、[HD 定价](https://fal.ai/models/fal-ai/minimax/speech-2.8-hd)、[Turbo 定价](https://fal.ai/models/fal-ai/minimax/speech-2.8-turbo) |
|
|
11
|
+
| Fal | `fal-ai/qwen-3-tts/text-to-speech/1.7b` | Fal queue;`audio.url` | $0.09 / 千字符 | [API](https://fal.ai/models/fal-ai/qwen-3-tts/text-to-speech/1.7b/api)、[定价](https://fal.ai/models/fal-ai/qwen-3-tts/text-to-speech/1.7b) |
|
|
12
|
+
| Fal | `fal-ai/elevenlabs/tts/eleven-v3` | Fal queue;`audio.url` | $0.10 / 千字符 | [API](https://fal.ai/models/fal-ai/elevenlabs/tts/eleven-v3/api)、[定价](https://fal.ai/models/fal-ai/elevenlabs/tts/eleven-v3) |
|
|
13
|
+
| 百炼 | `MiniMax/speech-2.8-hd`、`MiniMax/speech-2.8-turbo` | 同步 HTTP;`output.data.audio` 为 hex | HD ¥3.5、Turbo ¥2 / 万字符 | [API](https://help.aliyun.com/zh/model-studio/minimax-synchronous-speech-synthesis-api)、[定价](https://help.aliyun.com/zh/model-studio/model-pricing) |
|
|
14
|
+
| 百炼 | `qwen-audio-3.1-tts-flash` | 同步 HTTP;`output.audio.url`,有效期 24 小时 | 输入 ¥1.5 / 百万 Token、输出 ¥12 / 百万 Token;提交前按全文慢速输出作保守估算,非官方折算 | [API](https://help.aliyun.com/zh/model-studio/qwen-audio-tts-http-api)、[模型价格](https://help.aliyun.com/zh/model-studio/qwen-audio-3-1-tts-flash) |
|
|
15
|
+
| 百炼 | `cosyvoice-v3.5-flash`、`cosyvoice-v3.5-plus` | 同步 HTTP;`output.audio.url`,有效期 24 小时 | Flash ¥0.8、Plus ¥1.5 / 万字符 | [API](https://help.aliyun.com/zh/model-studio/cosyvoice-tts-http-api)、[定价](https://help.aliyun.com/zh/model-studio/model-pricing) |
|
|
16
|
+
| KIE | `google/gemini-3-1-flash-tts` | `createTask` + `recordInfo`;`resultJson.resultUrls` | 输入 $0.7、音频输出 $14 / 百万 Token;提交前无法准确估算输出 Token | [API](https://docs.kie.ai/market/google/gemini-3-1-flash-tts)、[定价](https://kie.ai/pricing) |
|
|
17
|
+
| KIE | `elevenlabs/text-to-speech-turbo-2-5` | 同上 | $0.03 / 千字符 | [API](https://docs.kie.ai/market/elevenlabs/text-to-speech-turbo-2-5)、[定价](https://kie.ai/pricing) |
|
|
18
|
+
| KIE | `elevenlabs/text-to-dialogue-v3` | 同上;输入为 `input.dialogue[]` | $0.07 / 千字符 | [API](https://docs.kie.ai/market/elevenlabs/text-to-dialogue-v3)、[定价](https://kie.ai/pricing) |
|
|
19
|
+
| 火山引擎 | `seed-tts-2.0`、`seed-icl-2.0` | V3 HTTP Chunked;逐帧 JSON 的 `data` 为 base64 音频块 | 2026-09-28 核实:合成及训练试听 ¥3 / 万字符;后付费克隆首次正式合成另收 ¥138 / 音色 | [V3 HTTP](https://docs.volcengine.com/docs/DoubaoVoice/unidirectional-streaming-text-to-speech-http?lang=zh)、[公开刊例](https://docs.volcengine.com/docs/DoubaoVoice/Billinginstructions-21?lang=zh) |
|
|
20
|
+
| 硅基流动 | `FunAudioLLM/CosyVoice2-0.5B`、`fnlp/MOSS-TTSD-v0.5` | `POST /v1/audio/speech`;直接返回音频二进制 | ¥0.05 / 千 UTF-8 字符 | [API](https://docs.siliconflow.cn/docs/api/audio-speech-post)、[定价](https://siliconflow.cn/pricing) |
|
|
21
|
+
|
|
22
|
+
百炼的专属业务空间域名为推荐项,官方明确现有 `dashscope.aliyuncs.com` 域名继续可用;SDK 使用现有域名和北京地域 API Key。百炼 MiniMax 与 Qwen/CosyVoice 的路由不同,不能混用。CosyVoice 3.5 无系统音色,必须使用先前创建的复刻或设计音色 ID。火山语音 V3 使用独立的 `X-Api-Key`,SDK 单列 `volcengine-speech` 供应商以免覆盖方舟图片模型的 Key;复刻音色请求须设 `req_params.model=seed-tts-2.0-standard`。火山 V1 非流式接口明确不支持 Seed-TTS 2.0 音色,不能作为 V3 替代。[百炼 API](https://help.aliyun.com/zh/model-studio/cosyvoice-tts-http-api)、[CosyVoice 音色限制](https://help.aliyun.com/zh/model-studio/non-realtime-tts-user-guide)、[火山 V3](https://docs.volcengine.com/docs/DoubaoVoice/unidirectional-streaming-text-to-speech-http?lang=zh)、[火山 V1 说明](https://docs.volcengine.com/docs/DoubaoVoice/HTTPone-timecompositenon-streaminginterface-V1notrecommended?lang=zh)。
|
|
23
|
+
|
|
24
|
+
## 事件与终态契约
|
|
25
|
+
|
|
26
|
+
| 协议 | 前置/中间状态 | 成功终态与输出 | 失败/空值处理 | 断线、取消和复用 |
|
|
27
|
+
| --- | --- | --- | --- | --- |
|
|
28
|
+
| Fal queue | 提交返回 `request_id` 或 `status_url`;状态 `IN_QUEUE` / `IN_PROGRESS` | `COMPLETED` 后取 `response_url`,要求 `audio.url` | `FAILED`、无结果 URL 报错;状态字段缺失报错 | 中断信号取消本地等待;远端任务是否被取消,官方未说明。状态 URL 限定 Fal queue 域名。 |
|
|
29
|
+
| KIE jobs | 创建返回 `data.taskId`;查询 `waiting` / `queuing` / `generating` | `success`,解析 `data.resultJson.resultUrls` | `fail` 或查询错误报错;空结果报错 | 中断信号取消本地等待;远端任务取消/恢复官方未说明。 |
|
|
30
|
+
| 百炼非流式 HTTP | 单次 JSON 响应;不产生中间事件 | Qwen/CosyVoice `output.finish_reason=stop` 且 `output.audio.url`;MiniMax `output.base_resp.status_code=0`、`output.data.status=2` 且 hex 音频 | 缺输出、错误码、空音频报错 | 中断 HTTP 请求;连接复用由 HTTP transport 处理。 |
|
|
31
|
+
| 火山 V3 HTTP Chunked | 一次提交,分块读取 JSON;每个 `code=0` 的非空 `data` 是音频块 | 完整读取至服务端终止,按原序拼接全部音频块;`usage.text_words` 为计费字符 | `code!=0` 报错;无音频块报错;未完整终止不得产出音频 | 中断信号终止读取并释放 reader;断线不重放付费请求。帧乱序/断线恢复官方未说明。 |
|
|
32
|
+
| 硅基流动 HTTP | 单次请求 | 2xx 且非空音频二进制 | 非 2xx 或空 body 报错 | 中断 HTTP 请求;无任务轮询。 |
|
|
33
|
+
|
|
34
|
+
以上只接入各平台已证实的非流式完整结果路径。Fal 本身的 streaming 和百炼 SSE 属于另外的可选协议,不因页面支持 streaming 就默认在本次实现中启用。官方示例中的占位音频与签名 URL 只用于字段契约 fixture,不能据此宣称真实付费生成成功。
|
|
35
|
+
|
|
36
|
+
### 火山 V3 分块事件矩阵
|
|
37
|
+
|
|
38
|
+
官方把每个 HTTP 分块描述为 JSON 消息;HTTP 读取边界可能拆开或合并 JSON 消息,因此 SDK 按完整 JSON 对象切帧。`code` 为必填数字,`data` 为可选 base64 音频字符串,`usage.text_words` 为可选数字;空 `data` 或缺失 `data` 不产生音频。官方未说明帧乱序、重复、断线恢复或远端任务取消语义,SDK 不对付费 POST 自动重放。
|
|
39
|
+
|
|
40
|
+
| 事件/状态 | 前置状态 | 字段契约(required / optional / nullable) | 空值/缺字段语义 | 下一状态 | 对外输出 | 副作用 | 终态/错误 | 连接复用 |
|
|
41
|
+
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
|
42
|
+
| 成功音频帧 `code=0` | 请求已提交、流读取中 | `code: number` 必填;`data: string` 可选;`usage.text_words: number` 可选 | 空/缺 `data` 无音频;`null` 不是可解码音频 | 继续读取 | 累积音频块和最近一次用量 | base64 解码、顺序追加 | 非终态 | 继续读取同一响应 |
|
|
43
|
+
| 服务错误帧 `code!=0` | 流读取中 | `code: number` 必填;`message: string` 可选 | 缺 `message` 使用通用错误 | 失败 | 错误 | 释放 reader | 错误终态 | 不复用该响应 |
|
|
44
|
+
| 正常 EOF | 流读取中 | 无新的 JSON 字段 | 尚有不完整 JSON 为无效响应;全程无有效音频为空结果 | 完成或失败 | 单个音频 data URI | 拼接所有音频块、释放 reader | 本地终态;官方未提供单独 final 字段 | 请求结束 |
|
|
45
|
+
| 中断或断线 | 流读取中 | `AbortSignal` 或 HTTP 读取故障 | 不交付部分音频 | 失败/取消 | 原因错误 | 取消并释放 reader | 本地终态;断线能否恢复官方未说明 | 不重放写请求 |
|
|
46
|
+
|
|
47
|
+
状态机不变量:只有正常 EOF 且至少一个非空音频块才能成功;空中间帧可重复;帧中的 JSON 字符串可跨网络分块;错误或取消后不得返回已经累积的部分音频。正常、失败及取消均释放 reader。Fal/KIE 的既有 queue/jobs 状态机沿用原适配器,新增模型仅提供官方 model ID、请求构建和媒体输出字段,不新增轮询协议分支。
|
|
48
|
+
|
|
49
|
+
## 参数边界
|
|
50
|
+
|
|
51
|
+
### 音色目录与账号音色查询(2026-09-27 核对)
|
|
52
|
+
|
|
53
|
+
| 模型范围 | 官方音色来源 | 接入方式与边界 |
|
|
54
|
+
| --- | --- | --- |
|
|
55
|
+
| 百炼 Qwen Audio 3.1 TTS Flash | [官方音色清单](https://help.aliyun.com/zh/model-studio/qwen-audio-tts-voice-list),当前 68 个预置 ID;[复刻音色列表 API](https://help.aliyun.com/en/model-studio/voice-clone-design-http-api) | 预置清单本地展示;以北京地域百炼 Key 请求 `POST https://dashscope.aliyuncs.com/api/v1/services/audio/tts/customization`,`model=voice-enrollment`、`input.action=list_voice`、`page_index` 从 0 起、`page_size=50`,读取 `output.voice_list[].voice_id/status`;只呈现 `status=OK` 且属于本模型的 ID。 |
|
|
56
|
+
| 百炼 CosyVoice 3.5 | [复刻音色列表 API](https://help.aliyun.com/en/model-studio/voice-clone-design-http-api) | 同上。无预置音色;只呈现 `cosyvoice-v3.5-` 前缀且状态为 `OK` 的音色。 |
|
|
57
|
+
| 百炼 MiniMax Speech 2.8 | [音色管理 API](https://help.aliyun.com/zh/model-studio/sound-management) | 以百炼 Key 请求 `POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation`,`model=MiniMax/speech-2.8-turbo`、`input.action=get_voice`、`voice_type=all`;读取 `output.system_voice[]` 和 `output.voice_cloning[]` 的 `voice_id/voice_name/description`,检查 `output.base_resp.status_code=0`。未配置 Key 时仅保留本模型已证实默认音色,不借用其他供应商目录。 |
|
|
58
|
+
| 硅基流动 CosyVoice2 | [官方音色文档](https://docs.siliconflow.cn/docs/userguide/capabilities/text-to-speech) | 本地展示 8 个预置音色;用账号 Key 请求 `GET https://api.siliconflow.cn/v1/audio/voice/list`,读取自定义音色 `uri` 和名称。官方文档未给出完整响应外壳,解析器接受直接数组、`data` 数组及 `voices` 数组;实测前不声称所有账号响应形态均已验证。 |
|
|
59
|
+
| 火山 Seed-TTS 2.0 / 豆包语音 2.0 | [官方音色清单](https://docs.volcengine.com/docs/DoubaoVoice/Tonelist-1?lang=zh) | 2026-09-28 核对 2.0 两个章节共 431 个音色 ID,补齐旧清单遗漏的 `ICL_uranus_*` 系统音色;本地提供搜索和选择。控制面 ListSpeakers 需要独立 AK/SK 签名,不能用语音 Key 代替。 |
|
|
60
|
+
| 火山 Seed-ICL 2.0 | [新版按 ID 查询](https://docs.volcengine.com/docs/DoubaoVoice/tone-query-http?lang=zh)、[旧版音色管理说明](https://docs.volcengine.com/docs/DoubaoVoice/Soundreplicationorderingandusageguide?lang=zh) | 新版官方查询只按已知 `speaker_id` 查状态;旧版批量查询接口与当前 V3 凭据/协议不一致,未接入。2026-09-28 接入 V3 训练和状态查询;新音色自动编号并保存到应用音色库,已有预付费槽位可手动导入。 |
|
|
61
|
+
| Fal Eleven v3 / MiniMax 2.8、KIE Eleven、Gemini 3.1、硅基流动 MOSS | [Fal Eleven v3](https://fal.ai/models/fal-ai/elevenlabs/tts/eleven-v3)、[Fal MiniMax](https://fal.ai/models/fal-ai/minimax/speech-2.8-hd/api)、[KIE Eleven Turbo](https://docs.kie.ai/market/elevenlabs/text-to-speech-turbo-2-5)、[KIE Eleven Dialogue](https://docs.kie.ai/market/elevenlabs/text-to-dialogue-v3)、[Google 预置音色](https://ai.google.dev/gemini-api/docs/speech-generation)、[硅基流动 MOSS](https://docs.siliconflow.cn/docs/userguide/capabilities/text-to-speech) | 收录各渠道官方明确列出的预置音色或示例 ID。渠道未公布完整账号音色查询接口的模型保留手填兜底;不可将 ElevenLabs 或其他供应商原生音色 API 直接当成转售渠道的可用列表。 |
|
|
62
|
+
|
|
63
|
+
上述音色查询均为单次 HTTP JSON 读请求,官方没有流式事件、取消远端任务、分页总数或连接复用的特殊契约;HTTP 失败、供应商错误码、响应外壳缺失都应报错,不把错误当成空目录。分页仅用于百炼 `list_voice`,遇不足一页时结束;到达客户端有界页数仍满页时应提示目录未完整读取。自定义音色的名称若官方只返回 ID,则展示 ID。
|
|
64
|
+
|
|
65
|
+
- 各模型的文本来自 SDK 统一 `prompt`/`text` 输入,转换到供应商要求的 `prompt`、`text` 或嵌套 `input.text`。
|
|
66
|
+
- 音色使用各平台官方音色 ID;火山 Seed-ICL 支持直接上传录音克隆;其他供应商复刻音色使用官方列表或已取得的 ID。
|
|
67
|
+
- KIE Gemini 3.1 使用 `speakers[]` 与 `dialogue_turns[]`;Eleven v3 对话使用 `dialogue[]`。SDK 在仅有普通文本时明确构建单说话人/单台词数组;调用方传入结构化数组时保留多说话人能力。痕迹AI 当前通用参数面板只暴露单说话人文本入口。
|
|
68
|
+
- 音频块和二进制响应在 SDK 边界转换为 `data:audio/...;base64,...`,交给宿主已有媒体落盘边界;不得只返回原始 base64/hex 字符串。
|
|
69
|
+
- 派欧云 2.8 的 `emotion`:MiniMax 原厂说明支持情感,但派欧云异步参考页写为仅 2.6/01 生效。平台契约冲突,不能将原厂能力直接视为派欧云 2.8 能力;需在该平台屏蔽未证实的情感选项。[派欧云异步 HD](https://ppio.com/docs/models/reference-minimax-speech-2.8-hd-async)。
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
## 2026-10-12 外部 MCP 实测复核(t168)
|
|
73
|
+
|
|
74
|
+
- KIE 当前 [Turbo 2.5 输入字段表](https://docs.kie.ai/market/elevenlabs/text-to-speech-turbo-2-5.md) 的 `voice` 是 ID 枚举,默认 James `EkK5I93UQWFDigLMpZcX`,Brian 为 `nPczCjzI2devNBz1zQrb`。旧轮询示例的 Rachel 与输入表冲突,修正 SDK 默认值与宿主选择器,旧名称不做迁移。`text` 上限 5000 字符,`stability` 0–1、`speed` 0.7–1.2;当前已发送字段符合范围。`language_code` 可省略,文档未要求中文必填。
|
|
75
|
+
- 脱敏契约 fixture:`tests/fixtures/tts/kie-turbo-input.json`,从上述官方字段表构造,不是实测成功响应。精确测试验证默认中文请求可通过字段表,以及名称/越界参数不可通过;没有真实付费调用。此前 Internal Error 不能只凭静态核对断言已解决;用户最小确认调用:同一中文短句、James ID、默认 stability/speed、language_code 省略,仅调用一次并保留 taskId 与最终供应商状态。
|
|
76
|
+
- [百炼错误码官方说明](https://help.aliyun.com/zh/model-studio/error-code) 明确 `The product is not activated` 是模型服务未开通。SDK 百炼响应解码时统一转中文、`retryable:false`,日志保留 `providerCode`、`providerMessage`、HTTP status;它是供应商可移植语义,归 SDK,不在 MCP 或 UI 加百炼分支。HTTP 200/400/403、兼容接口嵌套 error 与 MiniMax base_resp 均以离线构造响应覆盖;空的顶层 message 不遮蔽嵌套原因。
|
|
77
|
+
- [Qwen 模型页](https://help.aliyun.com/zh/model-studio/qwen-audio-3-1-tts-flash) 确认输入 ¥1.5/百万 Token、输出 ¥12/百万 Token;[HTTP 文档](https://help.aliyun.com/zh/model-studio/qwen-audio-tts-http-api) 只提供 usage token 统计,未找到该型号音频秒数折算率。其他 Qwen ASR 的 25 Token/秒不能作为此 TTS 计费事实。估价方案待确认,不能宣称账单硬上限。
|
|
78
|
+
|
|
79
|
+
- 其他 NaN 音频仅 KIE Gemini 3.1 Flash TTS:[Google 同名模型窗口](https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-tts-preview) 为输入 8192 / 输出 16384 Token,[官方折算](https://cloud.google.com/text-to-speech/pricing) 为音频 25 Token/秒,即最大输出窗口约 655.36 秒。采用整个 token 窗口乘 KIE 当前 $0.7/$14 百万 Token 费率,保守预留 $0.2351104,`billingMode:estimated`;不以文本语速推断硬上限、不限制产品数量。该窗口来自 Google,KIE 文档没有独立窗口承诺,说明中保留“实际以 KIE 账单为准”。
|
|
80
|
+
|
|
81
|
+
## 2026-10-12 Qwen Audio 3.1 TTS 估算上限
|
|
82
|
+
|
|
83
|
+
BrowserOS neo核对[HTTP API](https://help.aliyun.com/zh/model-studio/qwen-audio-tts-http-api)、[计费](https://help.aliyun.com/zh/model-studio/model-pricing)、[模型说明](https://help.aliyun.com/zh/model-studio/tts-model)、[公开控制台模型卡](https://bailian.console.aliyun.com/cn-beijing/model/market/detail/qwen-audio-3.1-tts-flash)。控制台最大输入、上下文和最大输出长度均为“—”,公开文档只给输入/输出Token用量,没有Token/秒。无法给“官方文本上限对应输出”而不编造官方上限,因此以本次输入全文的字符预算作为可读文本范围,不设产品数量上限。
|
|
84
|
+
|
|
85
|
+
工程保守假设(不声称官方保证):常速最慢合理朗读每秒1字,按rate 0.5–2折算最长合理时长ceil(全文Unicode字符数/rate)秒;每音频秒100Token预算;输入全文及风格指令的UTF-8字节数作为输入Token预算。费用=(输入预算×1.5+音频预算×12)/1e6元。标为“估算上限(非账单保证)”,沿现有约价显示,不再因NaN阻断。并非可证明的绝对账单上限;语音指令、停顿/特殊标记等可能影响输出,应以供应商实际usage为准。未扩大maxOutputTokens或请求参数。未查到需登录的官方折算证据;未进入体验或账号费用页面,未读取Key。
|
|
86
|
+
|
|
87
|
+
展示沿统一 PriceEstimate,pricing.estimateKind=upper-bound 在面板和画布徽标都标“估算上限”,悬浮提示说明保守假设与实际账单结算;无模型ID分支。
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## 2026-10-12 第二轮 MCP 复核(t173)
|
|
91
|
+
|
|
92
|
+
本轮仅通过 BrowserOS neo 会话 `mcp-round2` 阅读官方页面,未发出任何模型 API 请求。KIE 最近相关请求日志为 2026-10-11 15:55:59 UTC,早于 t168 的 2026-10-12 02:02(北京时间)提交及 03:38 合并;旧日志中的 Brian/Rachel 不代表已合并版本。不过请求构建器仍可绕过参数面板发出名称,本轮在 SDK 模型 builder 校验官方 voice ID 枚举,省略时默认 James。
|
|
93
|
+
|
|
94
|
+
KIE [Turbo 输入字段](https://docs.kie.ai/market/elevenlabs/text-to-speech-turbo-2-5):模型 `elevenlabs/text-to-speech-turbo-2-5`,`input.text` 最长 5000 字符,`input.voice` 为官方 67 个 ID,默认 `EkK5I93UQWFDigLMpZcX`,`speed` 0.7–1.2,`stability` 0–1,`language_code` 可选,本轮不发送。只构建不发送的最小请求:
|
|
95
|
+
|
|
96
|
+
```json
|
|
97
|
+
{"model":"elevenlabs/text-to-speech-turbo-2-5","input":{"text":"测试一下。","voice":"EkK5I93UQWFDigLMpZcX","stability":0.5,"speed":1.05}}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
公开错误分类依据:
|
|
101
|
+
|
|
102
|
+
| 官方来源 | 可确认契约 | SDK 分类 |
|
|
103
|
+
|---|---|---|
|
|
104
|
+
| [百炼错误码](https://help.aliyun.com/zh/model-studio/error-code) | Arrearage;AccessDenied.Unpurchased;Model.AccessDenied;MiniMax 的明确 product is not activated 文案 | 账户余额;产品未开通;模型权限 |
|
|
105
|
+
| [KIE 任务详情](https://docs.kie.ai/market/common/get-task-detail) | code=402;fail + Internal Error;422 参数失败 | 账户余额;供应商内部失败;参数拒绝 |
|
|
106
|
+
| [PPIO 错误码](https://ppio.com/docs/models/reference-error-code) | BILLING_BALANCE_NOT_ENOUGH / NOT_ENOUGH_BALANCE;API_NOT_ALLOWED / ACCESS_DENY | 账户余额;模型权限 |
|
|
107
|
+
| [硅基流动错误码](https://api-docs.siliconflow.cn/docs/userguide/faqs/error-code) | HTTP 402;403 访问/实名条件 | 账户余额;模型权限 |
|
|
108
|
+
| [APIMart 任务状态](https://docs.apimart.ai/cn/api-reference/tasks/status) | HTTP/响应 code 402;403 | 账户余额;模型权限 |
|
|
109
|
+
| [火山方舟错误码](https://docs.volcengine.com/docs/ark/error-codes?lang=zh) | AccountOverdueError;ModelNotOpen / OperationDenied.ServiceNotOpen;AccessDenied / OperationDenied.PermissionDenied | 账户余额;产品未开通;模型权限 |
|
|
110
|
+
| [Fal FAQ](https://fal.ai/docs/documentation/model-apis/faq) | 余额低于阈值会锁定账户,但未给可确认的 wire 错误码/原文 | 不猜测,保留原错误 |
|
|
111
|
+
| [Grsai 公共文档](https://grsai.ai/zh/dashboard/documents/other) | 可查 credits,未找到余额/权限失败码表 | 不猜测,保留原错误 |
|
|
112
|
+
|
|
113
|
+
响应/终态矩阵:正常 JSON 沿原解码;明确准入失败立即抛 `provider_product_not_activated` / `provider_model_access_denied` / `provider_insufficient_balance`,`retryable:false`,不自动重发;未知 403 或 BILLING_FAILED 保留 provider_http_error;KIE 任务 fail + Internal Error 返回 `provider_internal_error`,允许用户稍后手动提交,但 `terminal:true` 禁止自动继续轮询;422 返回 provider_invalid_request,保留供应商说明。非 JSON 响应沿原 invalid_json,不猜测业务错误;没有新增流、重连、远端取消或成功结构。
|
|
114
|
+
|
|
115
|
+
fixture 正反例覆盖上述正式码、未知失败、终态不续查、默认音色和 Brian/Rachel 拒绝。断牙:临时移除共享 access 分类,15 个测试中 14 个失败、1 个未知错误测试通过;恢复实现后 15 个通过。工作区不构建/发布 SDK;宿主新错误码以 mock 验证,合并后由总管理者在主仓重建 SDK 再做宿主联动。
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# TTS 原生时间戳核实(t177,2026-10-12)
|
|
2
|
+
|
|
3
|
+
仅核实本仓当前接入的接口,不把模型官网或另一供应商的能力等同于当前接口能力。使用 BrowserOS neo 的 `tts-timestamps` 会话,自建标签页逐页读取;没有登录、读取密钥或执行生成。表中“未声明”不等于供应商绝对不支持,“未见附加费”不等于供应商保证免费。
|
|
4
|
+
|
|
5
|
+
| 模型(规格) | 当前接口 | 时间戳与粒度 | 开启参数 / 返回字段 | 计费证据 | 本批 |
|
|
6
|
+
|---|---|---|---|---|---|
|
|
7
|
+
| 百炼 Qwen Audio 3.1 TTS Flash | HTTP SpeechSynthesizer,当前非流式 | 仅流式输出支持词级时间戳;有音色限制 | `word_timestamp_enabled`;`output.sentence.words[].begin_time/end_time`,毫秒 | 未见时间戳单列费用;合成正常计费 | 不切换协议,未接;[官方](https://help.aliyun.com/zh/model-studio/qwen-audio-tts-http-api) |
|
|
8
|
+
| 百炼 CosyVoice 3.5 Flash / Plus | HTTP SpeechSynthesizer,当前非流式 | 仅流式,文档明确克隆音色支持 | 同上 | 未见单列费用 | 未接;[官方](https://help.aliyun.com/zh/model-studio/cosyvoice-tts-http-api) |
|
|
9
|
+
| 百炼 MiniMax Speech 2.8 HD / Turbo | 同步 HTTP multimodal-generation | 非流式可开启字幕,但官方响应表未定义字幕载荷 | `input.subtitle_enable=true`;本次公开页面/HTML 均未给字幕字段或单位 | 未明确字幕附加费,不能承诺免费 | 暂未接,缺可验证返回契约;[官方](https://help.aliyun.com/zh/model-studio/minimax-synchronous-speech-synthesis-api) |
|
|
10
|
+
| PPIO MiniMax Speech 2.8 HD / Turbo | async 提交/轮询 | 当前接口文档未声明时间戳 | 无可核实参数和返回字段 | 正常合成计费 | 未接;[HD](https://ppio.com/docs/models/reference-minimax-speech-2.8-hd-async)、[Turbo](https://ppio.com/docs/models/reference-minimax-speech-2.8-turbo-async) |
|
|
11
|
+
| Fal MiniMax Speech 2.8 HD / Turbo | Fal queue speech-2.8-hd / turbo | 当前输入/输出 schema 未声明时间戳 | 输出 audio | 正常合成计费 | 未接;[HD](https://fal.ai/models/fal-ai/minimax/speech-2.8-hd/api)、[Turbo](https://fal.ai/models/fal-ai/minimax/speech-2.8-turbo/api) |
|
|
12
|
+
| 火山 Seed-TTS 2.0 | HTTP Chunked `/api/v3/tts/unidirectional` | 支持字级,仅中英文;无需 WebSocket | `req_params.audio_params.enable_subtitle=true`;`sentence.words[].word/startTime/endTime/confidence`,秒 | 合成 3 元/万字符;[计费页](https://docs.volcengine.com/docs/DoubaoVoice/Billinginstructions-21?lang=zh)未单列该开关费用;独立字幕打轴收费不等于本字段收费 | 已接;[官方](https://docs.volcengine.com/docs/DoubaoVoice/unidirectional-streaming-text-to-speech-http?lang=zh) |
|
|
13
|
+
| 火山 Seed-ICL 2.0(合成模式) | 同上,克隆音色用 seed-icl-2.0 资源 | 同上;训练接口不产音频时间戳 | 同上;自定义音色保留原激活同意流程 | 合成同上,音色训练/激活另沿原确认路径 | 已接;[官方](https://docs.volcengine.com/docs/DoubaoVoice/unidirectional-streaming-text-to-speech-http?lang=zh) |
|
|
14
|
+
| KIE Eleven v3 对话 | createTask / recordInfo | 当前接口未声明 | resultJson.resultUrls,未见时间戳 | 正常合成计费 | 未接;[官方](https://docs.kie.ai/market/elevenlabs/text-to-dialogue-v3) |
|
|
15
|
+
| Fal Eleven v3 | Fal queue elevenlabs/tts/eleven-v3 | 声明支持词级;输出类型仅 list<void> | `timestamps=true`;输出 `timestamps`,条目字段/时间单位未定义 | 未找到开关附加费用说明 | 暂未接,缺条目契约;[官方](https://fal.ai/models/fal-ai/elevenlabs/tts/eleven-v3/api) |
|
|
16
|
+
| Fal Qwen3 TTS 1.7B | Fal queue qwen-3-tts/text-to-speech/1.7b | 当前接口未声明 | 输出 audio | 正常合成计费 | 未接;[官方](https://fal.ai/models/fal-ai/qwen-3-tts/text-to-speech/1.7b/api) |
|
|
17
|
+
| 硅基流动 CosyVoice2 | POST /v1/audio/speech,非流式音频 | 未声明 | 二进制音频,未见时间戳元数据 | 正常合成计费 | 未接;[官方](https://docs.siliconflow.cn/docs/api/audio-speech-post) |
|
|
18
|
+
| 硅基流动 MOSS-TTSD v0.5 | 同上 | 未声明 | 同上 | 正常合成计费 | 未接;[官方](https://docs.siliconflow.cn/docs/api/audio-speech-post) |
|
|
19
|
+
| KIE Gemini 3.1 Flash TTS | createTask / recordInfo | 当前接口未声明 | resultJson.resultUrls | 正常合成计费 | 未接;[官方](https://docs.kie.ai/market/google/gemini-3-1-flash-tts) |
|
|
20
|
+
| 补查:KIE Eleven Turbo 2.5 | createTask / recordInfo | 输入示例有 timestamps,但 resultJson 未说明时间戳载荷 | `input.timestamps`,无可核实返回条目 | 附加费未明确 | 未接;[官方](https://docs.kie.ai/market/elevenlabs/text-to-speech-turbo-2-5) |
|
|
21
|
+
|
|
22
|
+
## 公共结果契约
|
|
23
|
+
|
|
24
|
+
SDK 返回 `metadata.outputTimings: GenerationOutputTimings`,数组项为 `{ outputIndex, timings: { granularity: 'char' | 'word' | 'sentence', items: [{ text, startMs, endMs, confidence? }] } }`。outputIndex 对应输出媒体序号,时间是源音频毫秒;confidence 为供应商可选的 0–1 数值。没有时间戳时省略,不能把空音频或非法区间伪装成可用结果。火山当前单音频输出序号为 0,按流帧收集 `sentence.words`,保留原音频拼接路径;非法时间拒绝并取消响应流,不重发生成。
|
|
25
|
+
|
|
26
|
+
Seed-TTS / ICL 的 catalog 自动开启字幕并声明 `timestamps` 标签,宿主模型 schema 和搜索沿同一 meta.tags 投影。只覆盖合成,不为音色训练伪造字幕。仅中英文的官方限制仍成立。
|
|
27
|
+
|
|
28
|
+
官方响应 fixture:`packages/ai-sdk/tests/fixtures/tts/volcengine-subtitle.json`,正文和秒数取自官方示例,音频占位替换为 ID3 三字节;异常 fixture 为测试构造,未冒充线上采样。两模型的请求参数和解析都有精确测试。
|
|
29
|
+
|
|
30
|
+
## 资料缺口及最小核验
|
|
31
|
+
|
|
32
|
+
百炼 MiniMax 的公开页声明 subtitle_enable,却没有字幕返回字段;Fal Eleven v3 的返回类型是 list<void>;KIE Turbo 示例开关没有相应结果字段。本次不猜字段名或时间单位,尚未完成这些原生适配。总管理者可先向官方取得带字幕的响应 schema/脱敏响应样本;需付费调用时另行授权。
|
|
33
|
+
|
|
34
|
+
火山最小合成参数:`{prompt:'你好,语音测试',volcSeedTtsSpeaker:'zh_female_vv_uranus_bigtts'}`。ICL 使用已有已激活音色,`{prompt:'你好,语音测试',volcSeedIclSpeaker:'已有音色ID',volcIclActivationConsent:true}`;此处只是后续测试建议,没有执行。核查跨句时钟是否连续、是否重复 sentence、中英混读标点覆盖和音频实际对齐精度。当前公开文档未给出重复帧与句时钟重置规则,因此不擅自加偏移或去重。
|
|
35
|
+
|
|
36
|
+
未遇到需要用户登录的资料页面。未切换 Qwen/CosyVoice 到流式或 WebSocket,没有 npm publish。
|
|
@@ -1,87 +1,87 @@
|
|
|
1
|
-
# Topaz 图片放大(Fal)
|
|
2
|
-
|
|
3
|
-
## 定位
|
|
4
|
-
|
|
5
|
-
- 端点:`topaz/upscale/image/precision`、`topaz/upscale/image/creative`、`topaz/upscale/image/generative`。
|
|
6
|
-
- 类型:单图输入、单图输出的专业放大工具。
|
|
7
|
-
- 产品边界:精确模式偏忠实放大;创意和生成模式会推断或重建细节,界面不得宣传为“无损”。
|
|
8
|
-
- 官方资料核查日期:2026-08-29;文档公开,无需登录,真实调用需要 Fal API Key。
|
|
9
|
-
|
|
10
|
-
## 公共协议
|
|
11
|
-
|
|
12
|
-
| 项目 | 契约 |
|
|
13
|
-
|---|---|
|
|
14
|
-
| Base URL | 队列提交 `https://queue.fal.run/<endpoint-id>` |
|
|
15
|
-
| 鉴权 | `Authorization: Key <FAL_KEY>` |
|
|
16
|
-
| 提交 | `POST /<endpoint-id>`,请求体直接发送模型输入对象 |
|
|
17
|
-
| 查询 | `GET /<endpoint-id>/requests/<request_id>/status` |
|
|
18
|
-
| 结果 | `GET /<endpoint-id>/requests/<request_id>` |
|
|
19
|
-
| 取消 | `PUT /<endpoint-id>/requests/<request_id>/cancel` |
|
|
20
|
-
| 状态 | `IN_QUEUE` → `IN_PROGRESS` → `COMPLETED`;完成后仍需检查错误字段 |
|
|
21
|
-
| 输出 | `image: File`,SDK 复用 Fal 通用 URL 提取与下载链路 |
|
|
22
|
-
|
|
23
|
-
## 模式与字段
|
|
24
|
-
|
|
25
|
-
| 模式 | 子模型 | 应用开放字段 | 隐藏或固定字段 |
|
|
26
|
-
|---|---|---|---|
|
|
27
|
-
| Precision | Standard V2、High Fidelity V3/V2、Low Resolution V2、CGI、Text Refine | 模型、2×/4×、人脸增强 | `crop_to_fill=false`;不发送 `output_format`、subject detection、sharpen、denoise 等高级字段 |
|
|
28
|
-
| Creative | Bloom 2、Bloom、Bloom Realism | 模型、2×/4×;Bloom 2 额外开放 creativity 1~9 与颜色保留 | Bloom 2 的 autoprompt 使用 Topaz 默认;不发送 `output_format` |
|
|
29
|
-
| Generative | Wonder 3.5/3/2、Wonder、Recover 3、Standard MAX、Recovery V2/Recovery | 模型、2×/4×、人脸增强;Wonder 3/3.5 开放重建强度 | 不发送 `output_format`、seed、prompt;Redefine 因依赖提示词引导而暂不开放 |
|
|
30
|
-
|
|
31
|
-
应用默认使用 Precision / High Fidelity V3 / 2×,人脸增强默认关闭。启用人脸增强时固定下发
|
|
32
|
-
`face_enhancement_creativity=0` 与 `face_enhancement_strength=0.8`,优先降低人物身份漂移。
|
|
33
|
-
|
|
34
|
-
## 请求示例
|
|
35
|
-
|
|
36
|
-
```json
|
|
37
|
-
{
|
|
38
|
-
"image_url": "https://example.com/source.jpg",
|
|
39
|
-
"model": "High Fidelity V3",
|
|
40
|
-
"upscale_factor": 2,
|
|
41
|
-
"crop_to_fill": false,
|
|
42
|
-
"face_enhancement": false
|
|
43
|
-
}
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Bloom 2 会按需追加:
|
|
47
|
-
|
|
48
|
-
```json
|
|
49
|
-
{
|
|
50
|
-
"creativity": 4,
|
|
51
|
-
"color_preservation": true
|
|
52
|
-
}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## 价格
|
|
56
|
-
|
|
57
|
-
Fal 以实际输出像素按“每开始一档”计费,应用在上传前根据源图尺寸与倍率计算预计输出 MP:
|
|
58
|
-
|
|
59
|
-
| 模式/子模型 | 官方单价 |
|
|
60
|
-
|---|---|
|
|
61
|
-
| Precision | 每开始 24 输出 MP `$0.08` |
|
|
62
|
-
| Creative | 每开始 2 输出 MP `$0.08` |
|
|
63
|
-
| Generative · Wonder 3.5 / Wonder 3 | 每开始 8 输出 MP `$0.08` |
|
|
64
|
-
| Generative · 其他已开放子模型 | 每开始 4 输出 MP `$0.08` |
|
|
65
|
-
|
|
66
|
-
Topaz 主入口在画布侧限制预计输出不超过 48MP,超过时在上传和创建付费任务前阻止。输入文件沿用应用
|
|
67
|
-
20MiB 安全上限。透明图片改用独立的 Topaz Transparent 或 Bria 模型。
|
|
68
|
-
|
|
69
|
-
## 适配与验证
|
|
70
|
-
|
|
71
|
-
- SDK canonical ID:`topaz-image-upscale`;应用模型 ID:`fal-ai-topaz-image-upscale`。
|
|
72
|
-
- 模式通过端点选择器路由,不在宿主或画布 UI 里按模型 ID 拼请求。
|
|
73
|
-
- SDK 通过 `pricing.mediaContext` 声明输入/输出 MP 需求;宿主共享价格层读取源图尺寸并结合倍率计算,生成面板与画布共用,不发送给 Fal。画布执行前预检仍会复核同一输出 MP 与 48MP 上限。
|
|
74
|
-
- 媒体指标尚未读取成功时不显示第一档兜底价,避免 2×/4× 被误报为同价。
|
|
75
|
-
- 已完成端点、请求构建、非法参数回落、单图限制和四种计价档位的离线契约测试;未执行真实付费生成。
|
|
76
|
-
|
|
77
|
-
## 一手资料
|
|
78
|
-
|
|
79
|
-
| 信息 | 链接 | 登录 |
|
|
80
|
-
|---|---|---|
|
|
81
|
-
| Precision API | https://fal.ai/models/topaz/upscale/image/precision/api | 否 |
|
|
82
|
-
| Creative API | https://fal.ai/models/topaz/upscale/image/creative/api | 否 |
|
|
83
|
-
| Generative API | https://fal.ai/models/topaz/upscale/image/generative/api | 否 |
|
|
84
|
-
| Precision OpenAPI | https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=topaz/upscale/image/precision | 否 |
|
|
85
|
-
| Creative OpenAPI | https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=topaz/upscale/image/creative | 否 |
|
|
86
|
-
| Generative OpenAPI | https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=topaz/upscale/image/generative | 否 |
|
|
87
|
-
| API Key | https://fal.ai/dashboard/keys | 是 |
|
|
1
|
+
# Topaz 图片放大(Fal)
|
|
2
|
+
|
|
3
|
+
## 定位
|
|
4
|
+
|
|
5
|
+
- 端点:`topaz/upscale/image/precision`、`topaz/upscale/image/creative`、`topaz/upscale/image/generative`。
|
|
6
|
+
- 类型:单图输入、单图输出的专业放大工具。
|
|
7
|
+
- 产品边界:精确模式偏忠实放大;创意和生成模式会推断或重建细节,界面不得宣传为“无损”。
|
|
8
|
+
- 官方资料核查日期:2026-08-29;文档公开,无需登录,真实调用需要 Fal API Key。
|
|
9
|
+
|
|
10
|
+
## 公共协议
|
|
11
|
+
|
|
12
|
+
| 项目 | 契约 |
|
|
13
|
+
|---|---|
|
|
14
|
+
| Base URL | 队列提交 `https://queue.fal.run/<endpoint-id>` |
|
|
15
|
+
| 鉴权 | `Authorization: Key <FAL_KEY>` |
|
|
16
|
+
| 提交 | `POST /<endpoint-id>`,请求体直接发送模型输入对象 |
|
|
17
|
+
| 查询 | `GET /<endpoint-id>/requests/<request_id>/status` |
|
|
18
|
+
| 结果 | `GET /<endpoint-id>/requests/<request_id>` |
|
|
19
|
+
| 取消 | `PUT /<endpoint-id>/requests/<request_id>/cancel` |
|
|
20
|
+
| 状态 | `IN_QUEUE` → `IN_PROGRESS` → `COMPLETED`;完成后仍需检查错误字段 |
|
|
21
|
+
| 输出 | `image: File`,SDK 复用 Fal 通用 URL 提取与下载链路 |
|
|
22
|
+
|
|
23
|
+
## 模式与字段
|
|
24
|
+
|
|
25
|
+
| 模式 | 子模型 | 应用开放字段 | 隐藏或固定字段 |
|
|
26
|
+
|---|---|---|---|
|
|
27
|
+
| Precision | Standard V2、High Fidelity V3/V2、Low Resolution V2、CGI、Text Refine | 模型、2×/4×、人脸增强 | `crop_to_fill=false`;不发送 `output_format`、subject detection、sharpen、denoise 等高级字段 |
|
|
28
|
+
| Creative | Bloom 2、Bloom、Bloom Realism | 模型、2×/4×;Bloom 2 额外开放 creativity 1~9 与颜色保留 | Bloom 2 的 autoprompt 使用 Topaz 默认;不发送 `output_format` |
|
|
29
|
+
| Generative | Wonder 3.5/3/2、Wonder、Recover 3、Standard MAX、Recovery V2/Recovery | 模型、2×/4×、人脸增强;Wonder 3/3.5 开放重建强度 | 不发送 `output_format`、seed、prompt;Redefine 因依赖提示词引导而暂不开放 |
|
|
30
|
+
|
|
31
|
+
应用默认使用 Precision / High Fidelity V3 / 2×,人脸增强默认关闭。启用人脸增强时固定下发
|
|
32
|
+
`face_enhancement_creativity=0` 与 `face_enhancement_strength=0.8`,优先降低人物身份漂移。
|
|
33
|
+
|
|
34
|
+
## 请求示例
|
|
35
|
+
|
|
36
|
+
```json
|
|
37
|
+
{
|
|
38
|
+
"image_url": "https://example.com/source.jpg",
|
|
39
|
+
"model": "High Fidelity V3",
|
|
40
|
+
"upscale_factor": 2,
|
|
41
|
+
"crop_to_fill": false,
|
|
42
|
+
"face_enhancement": false
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Bloom 2 会按需追加:
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"creativity": 4,
|
|
51
|
+
"color_preservation": true
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## 价格
|
|
56
|
+
|
|
57
|
+
Fal 以实际输出像素按“每开始一档”计费,应用在上传前根据源图尺寸与倍率计算预计输出 MP:
|
|
58
|
+
|
|
59
|
+
| 模式/子模型 | 官方单价 |
|
|
60
|
+
|---|---|
|
|
61
|
+
| Precision | 每开始 24 输出 MP `$0.08` |
|
|
62
|
+
| Creative | 每开始 2 输出 MP `$0.08` |
|
|
63
|
+
| Generative · Wonder 3.5 / Wonder 3 | 每开始 8 输出 MP `$0.08` |
|
|
64
|
+
| Generative · 其他已开放子模型 | 每开始 4 输出 MP `$0.08` |
|
|
65
|
+
|
|
66
|
+
Topaz 主入口在画布侧限制预计输出不超过 48MP,超过时在上传和创建付费任务前阻止。输入文件沿用应用
|
|
67
|
+
20MiB 安全上限。透明图片改用独立的 Topaz Transparent 或 Bria 模型。
|
|
68
|
+
|
|
69
|
+
## 适配与验证
|
|
70
|
+
|
|
71
|
+
- SDK canonical ID:`topaz-image-upscale`;应用模型 ID:`fal-ai-topaz-image-upscale`。
|
|
72
|
+
- 模式通过端点选择器路由,不在宿主或画布 UI 里按模型 ID 拼请求。
|
|
73
|
+
- SDK 通过 `pricing.mediaContext` 声明输入/输出 MP 需求;宿主共享价格层读取源图尺寸并结合倍率计算,生成面板与画布共用,不发送给 Fal。画布执行前预检仍会复核同一输出 MP 与 48MP 上限。
|
|
74
|
+
- 媒体指标尚未读取成功时不显示第一档兜底价,避免 2×/4× 被误报为同价。
|
|
75
|
+
- 已完成端点、请求构建、非法参数回落、单图限制和四种计价档位的离线契约测试;未执行真实付费生成。
|
|
76
|
+
|
|
77
|
+
## 一手资料
|
|
78
|
+
|
|
79
|
+
| 信息 | 链接 | 登录 |
|
|
80
|
+
|---|---|---|
|
|
81
|
+
| Precision API | https://fal.ai/models/topaz/upscale/image/precision/api | 否 |
|
|
82
|
+
| Creative API | https://fal.ai/models/topaz/upscale/image/creative/api | 否 |
|
|
83
|
+
| Generative API | https://fal.ai/models/topaz/upscale/image/generative/api | 否 |
|
|
84
|
+
| Precision OpenAPI | https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=topaz/upscale/image/precision | 否 |
|
|
85
|
+
| Creative OpenAPI | https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=topaz/upscale/image/creative | 否 |
|
|
86
|
+
| Generative OpenAPI | https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=topaz/upscale/image/generative | 否 |
|
|
87
|
+
| API Key | https://fal.ai/dashboard/keys | 是 |
|