@henjicc/ai-sdk 0.2.8 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +153 -143
- package/README.md +486 -461
- package/dist/capabilities/embedding/bailian.d.ts +23 -0
- package/dist/capabilities/embedding/bailian.js +10 -0
- package/dist/capabilities/embedding/bigmodel.d.ts +9 -0
- package/dist/capabilities/embedding/bigmodel.js +5 -0
- package/dist/capabilities/embedding/index.d.ts +1 -0
- package/dist/capabilities/embedding/index.js +1 -0
- package/dist/capabilities/embedding/ppio.d.ts +7 -0
- package/dist/capabilities/embedding/ppio.js +5 -0
- package/dist/capabilities/embedding/siliconflow.d.ts +21 -0
- package/dist/capabilities/embedding/siliconflow.js +10 -0
- package/dist/capabilities/embedding/volcengine.d.ts +10 -0
- package/dist/capabilities/embedding/volcengine.js +6 -0
- package/dist/capabilities/rerank/bailian.d.ts +21 -0
- package/dist/capabilities/rerank/bailian.js +14 -0
- package/dist/capabilities/rerank/bigmodel.d.ts +9 -0
- package/dist/capabilities/rerank/bigmodel.js +5 -0
- package/dist/capabilities/rerank/index.d.ts +1 -0
- package/dist/capabilities/rerank/index.js +1 -0
- package/dist/capabilities/rerank/ppio.d.ts +7 -0
- package/dist/capabilities/rerank/ppio.js +5 -0
- package/dist/capabilities/rerank/siliconflow.d.ts +21 -0
- package/dist/capabilities/rerank/siliconflow.js +10 -0
- package/dist/capabilities/retrieval/http.d.ts +3 -0
- package/dist/capabilities/retrieval/http.js +48 -0
- package/dist/capabilities/retrieval/module.d.ts +11 -0
- package/dist/capabilities/retrieval/module.js +110 -0
- package/dist/capabilities/retrieval/types.d.ts +54 -0
- package/dist/capabilities/retrieval/types.js +1 -0
- package/dist/capabilities/retrieval/validation.d.ts +10 -0
- package/dist/capabilities/retrieval/validation.js +65 -0
- package/dist/capabilities/types.d.ts +1 -1
- package/dist/catalog/apimart/gpt-image-2.5.model.d.ts +2 -0
- package/dist/catalog/apimart/gpt-image-2.5.model.js +51 -0
- package/dist/catalog/fal/gpt-image-2.5.model.d.ts +2 -0
- package/dist/catalog/fal/gpt-image-2.5.model.js +53 -0
- package/dist/catalog/fal/ic-light-v2.model.js +9 -13
- package/dist/catalog/grsai/gpt-image-2.5.model.d.ts +2 -0
- package/dist/catalog/grsai/gpt-image-2.5.model.js +54 -0
- package/dist/catalog/grsai/gptImage25Sizes.d.ts +1 -0
- package/dist/catalog/grsai/gptImage25Sizes.js +76 -0
- package/dist/catalog/index.js +112 -104
- package/dist/catalog/kie/gpt-image-2.5.model.d.ts +2 -0
- package/dist/catalog/kie/gpt-image-2.5.model.js +38 -0
- package/dist/catalog/shared/gptImage25.d.ts +16 -0
- package/dist/catalog/shared/gptImage25.js +48 -0
- package/dist/catalog/shared/gptImage25Pricing.d.ts +12 -0
- package/dist/catalog/shared/gptImage25Pricing.js +508 -0
- package/dist/llm/defaults.d.ts +1 -1
- package/dist/llm/defaults.js +1 -1
- package/dist/llm/modelCatalogEntries.js +16 -0
- package/dist/llm/providerPresets.js +2 -2
- package/dist/packs/models/apimart/gpt-image-2.5.d.ts +6 -0
- package/dist/packs/models/apimart/gpt-image-2.5.js +7 -0
- package/dist/packs/models/fal/gpt-image-2.5.d.ts +6 -0
- package/dist/packs/models/fal/gpt-image-2.5.js +7 -0
- package/dist/packs/models/grsai/gpt-image-2.5.d.ts +6 -0
- package/dist/packs/models/grsai/gpt-image-2.5.js +7 -0
- package/dist/packs/models/kie/gpt-image-2.5.d.ts +6 -0
- package/dist/packs/models/kie/gpt-image-2.5.js +7 -0
- package/dist/packs/provider-packs/apimart.d.ts +1 -1
- package/dist/packs/provider-packs/apimart.js +21 -20
- package/dist/packs/provider-packs/fal.d.ts +1 -1
- package/dist/packs/provider-packs/fal.js +37 -36
- package/dist/packs/provider-packs/grsai.d.ts +1 -1
- package/dist/packs/provider-packs/grsai.js +6 -5
- package/dist/packs/provider-packs/kie.d.ts +1 -1
- package/dist/packs/provider-packs/kie.js +28 -27
- package/dist/packs/tool-models/fal/{qwen-image-edit-2509-multiple-angles.d.ts → qwen-image-edit-2511-multiple-angles.d.ts} +1 -1
- package/dist/packs/tool-models/fal/{qwen-image-edit-2509-multiple-angles.js → qwen-image-edit-2511-multiple-angles.js} +1 -1
- package/dist/packs/tool-packs/fal-multi-angle-tools.js +1 -1
- package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2511-multiple-angles.model.d.ts +2 -0
- package/dist/tool-packs/fal-multi-angle/models/{qwen-image-edit-2509-multiple-angles.model.js → qwen-image-edit-2511-multiple-angles.model.js} +20 -17
- package/docs/README.md +26 -26
- package/docs/consumers.md +54 -48
- package/docs/llm-adaptation/README.md +139 -139
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +103 -91
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +75 -75
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/MiniMax.md +84 -84
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +85 -85
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +232 -232
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/201/253/345/261/261/345/274/225/346/223/216.md +87 -87
- package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274Qwen.md +84 -84
- package/docs/llm-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +88 -88
- package/docs/model-adaptation/Bria-Eraser/Bria-Eraser_Fal.md +32 -32
- package/docs/model-adaptation/Bria-/345/210/233/346/204/217/346/224/276/345/244/247/Bria-/345/210/233/346/204/217/346/224/276/345/244/247_Fal.md +31 -31
- package/docs/model-adaptation/ControlLight/ControlLight_Fal.md +85 -85
- package/docs/model-adaptation/FLUX-2-/345/244/232/350/247/222/345/272/246/FLUX-2-/345/244/232/350/247/222/345/272/246_Fal.md +107 -107
- package/docs/model-adaptation/Finegrain-Eraser/Finegrain-Eraser_Fal.md +31 -31
- package/docs/model-adaptation/Flux-Pro-Erase/Flux-Pro-Erase_Fal.md +34 -34
- package/docs/model-adaptation/Fun-ASR/Fun-ASR_/347/231/276/347/202/274.md +43 -43
- package/docs/model-adaptation/Fun-ASR-Flash-2026-06-15/Fun-ASR-Flash-2026-06-15_/347/231/276/347/202/274.md +41 -41
- package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +37 -37
- package/docs/model-adaptation/Fun-ASR-Realtime-2026-02-28/Fun-ASR-Realtime-2026-02-28_/347/231/276/347/202/274.md +39 -39
- package/docs/model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_/346/231/272/350/260/261.md +207 -207
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_APIMart.md +173 -173
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Fal.md +94 -94
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_Grsai.md +137 -137
- package/docs/model-adaptation/GPT-Image-2/GPT-Image-2_KIE.md +93 -93
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_APIMart.md +66 -0
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Fal.md +55 -0
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Grsai.md +53 -0
- package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_KIE.md +55 -0
- package/docs/model-adaptation/GPT-OSS-20B/GPT-OSS-20B_Groq.md +62 -62
- package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_APIMart.md +124 -124
- package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_Fal.md +84 -84
- package/docs/model-adaptation/Gemini-Omni-Flash/Gemini-Omni-Flash_KIE.md +129 -129
- package/docs/model-adaptation/Grok-Imagine/Grok-Imagine_KIE.md +36 -36
- package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_APIMart.md +250 -250
- package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_Fal.md +84 -84
- package/docs/model-adaptation/Grok-Imagine-2.0/Grok-Imagine-2.0_KIE.md +105 -105
- package/docs/model-adaptation/Hailuo-02/Hailuo-02_Fal.md +93 -93
- package/docs/model-adaptation/Hailuo-02/Hailuo-02_KIE.md +56 -56
- package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_Fal.md +88 -88
- package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_KIE.md +51 -51
- package/docs/model-adaptation/Hailuo-2.3/Hailuo-2.3_/346/264/276/346/254/247/344/272/221.md +70 -70
- package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +97 -94
- package/docs/model-adaptation/Ideogram-/345/233/276/347/211/207/346/224/276/345/244/247/Ideogram-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +41 -41
- package/docs/model-adaptation/Image-Apps-v2-/345/225/206/345/223/201/346/221/204/345/275/261/Image-Apps-v2-/345/225/206/345/223/201/346/221/204/345/275/261_Fal.md +72 -72
- package/docs/model-adaptation/Image-Apps-v2-/346/211/251/345/233/276/Image-Apps-v2-/346/211/251/345/233/276_Fal.md +93 -93
- package/docs/model-adaptation/Image-Apps-v2-/347/205/247/347/211/207/344/277/256/345/244/215/Image-Apps-v2-/347/205/247/347/211/207/344/277/256/345/244/215_Fal.md +86 -86
- package/docs/model-adaptation/Image-Apps-v2-/351/207/215/346/211/223/345/205/211/Image-Apps-v2-/351/207/215/346/211/223/345/205/211_Fal.md +84 -84
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_APIMart.md +112 -112
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_Fal.md +89 -89
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_KIE.md +106 -106
- package/docs/model-adaptation/Kling-3.0/Kling-3.0_/346/264/276/346/254/247/344/272/221.md +119 -119
- package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_APIMart.md +125 -125
- package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_Fal.md +107 -107
- package/docs/model-adaptation/Kling-3.0-Omni/Kling-3.0-Omni_KIE.md +143 -143
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_APIMart.md +85 -85
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_Fal.md +83 -83
- package/docs/model-adaptation/Kling-3.0-Turbo/Kling-3.0-Turbo_KIE.md +84 -84
- package/docs/model-adaptation/Midjourney/Midjourney_APIMart.md +396 -396
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_APIMart.md +234 -234
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_Fal.md +108 -108
- package/docs/model-adaptation/MiniMax-H3/MiniMax-H3_KIE.md +111 -111
- package/docs/model-adaptation/MiniMax-Speech/MiniMax-Speech_/346/264/276/346/254/247/344/272/221.md +170 -170
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_APIMart.md +89 -89
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Fal.md +99 -99
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_Grsai.md +82 -82
- package/docs/model-adaptation/Nano-Banana-2/Nano-Banana-2_KIE.md +70 -70
- package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_APIMart.md +79 -79
- package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_Grsai.md +65 -65
- package/docs/model-adaptation/Nano-Banana-2-Lite/Nano-Banana-2-Lite_KIE.md +64 -64
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_APIMart.md +83 -83
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Fal.md +89 -89
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_Grsai.md +82 -82
- package/docs/model-adaptation/Nano-Banana-Pro/Nano-Banana-Pro_KIE.md +64 -64
- package/docs/model-adaptation/Pixelcut-/350/203/214/346/231/257/347/247/273/351/231/244/Pixelcut-/350/203/214/346/231/257/347/247/273/351/231/244_Fal.md +79 -79
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_APIMart.md +117 -117
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_Fal.md +84 -84
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_KIE.md +103 -103
- package/docs/model-adaptation/Qwen-Image-3.0/Qwen-Image-3.0_/347/231/276/347/202/274.md +138 -138
- package/docs/model-adaptation/Qwen-Image-Edit-2511-/345/244/232/350/247/222/345/272/246/Qwen-Image-Edit-2511-/345/244/232/350/247/222/345/272/246_Fal.md +57 -0
- package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +47 -47
- package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +39 -39
- package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +39 -39
- package/docs/model-adaptation/Qwen3-ASR-Flash/Qwen3-ASR-Flash_/347/231/276/347/202/274.md +40 -40
- package/docs/model-adaptation/Qwen3-ASR-Flash-2026-02-10/Qwen3-ASR-Flash-2026-02-10_/347/231/276/347/202/274.md +33 -33
- package/docs/model-adaptation/Qwen3-ASR-Flash-Filetrans/Qwen3-ASR-Flash-Filetrans_/347/231/276/347/202/274.md +41 -41
- package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +35 -35
- package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime-2026-02-10/Qwen3-ASR-Flash-Realtime-2026-02-10_/347/231/276/347/202/274.md +37 -37
- package/docs/model-adaptation/README.md +313 -295
- package/docs/model-adaptation/SeedASR-2.0-File/SeedASR-2.0-File_/347/201/253/345/261/261/345/274/225/346/223/216.md +115 -115
- package/docs/model-adaptation/SeedASR-2.0-Realtime/SeedASR-2.0-Realtime_/347/201/253/345/261/261/345/274/225/346/223/216.md +143 -143
- package/docs/model-adaptation/SeedVR2-/345/233/276/347/211/207/346/224/276/345/244/247/SeedVR2-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +45 -45
- package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_APIMart.md +121 -121
- package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_Fal.md +97 -97
- package/docs/model-adaptation/Seedance-2.0/Seedance-2.0_KIE.md +86 -86
- package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_APIMart.md +89 -89
- package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_Fal.md +95 -95
- package/docs/model-adaptation/Seedance-2.0-Fast/Seedance-2.0-Fast_KIE.md +78 -78
- package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_APIMart.md +89 -89
- package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_Fal.md +96 -96
- package/docs/model-adaptation/Seedance-2.0-Mini/Seedance-2.0-Mini_KIE.md +78 -78
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_APIMart.md +212 -212
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_Fal.md +94 -94
- package/docs/model-adaptation/Seedance-2.5/Seedance-2.5_KIE.md +89 -89
- package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_APIMart.md +106 -106
- package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_Fal.md +91 -91
- package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_KIE.md +89 -89
- package/docs/model-adaptation/Seedream-5.0-Lite/Seedream-5.0-Lite_/347/201/253/345/261/261/345/274/225/346/223/216.md +108 -108
- package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_APIMart.md +194 -194
- package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_Fal.md +100 -100
- package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_KIE.md +141 -141
- package/docs/model-adaptation/Seedream-5.0-Pro/Seedream-5.0-Pro_/347/201/253/345/261/261/345/274/225/346/223/216.md +137 -137
- package/docs/model-adaptation/SenseVoiceSmall/SenseVoiceSmall_/347/241/205/345/237/272/346/265/201/345/212/250.md +69 -69
- package/docs/model-adaptation/TeleSpeechASR/TeleSpeechASR_/347/241/205/345/237/272/346/265/201/345/212/250.md +72 -72
- package/docs/model-adaptation/Topaz-/345/233/276/347/211/207/346/224/276/345/244/247/Topaz-/345/233/276/347/211/207/346/224/276/345/244/247_Fal.md +87 -87
- package/docs/model-adaptation/Topaz-/351/200/217/346/230/216/345/233/276/346/224/276/345/244/247/Topaz-/351/200/217/346/230/216/345/233/276/346/224/276/345/244/247_Fal.md +34 -34
- package/docs/model-adaptation/Wan-2.5-Preview/Wan-2.5-Preview_/346/264/276/346/254/247/344/272/221.md +82 -82
- package/docs/model-adaptation/Wan-2.6/Wan-2.6_/346/264/276/346/254/247/344/272/221.md +84 -84
- package/docs/model-adaptation/Wan-2.7/Wan-2.7_/346/264/276/346/254/247/344/272/221.md +122 -122
- package/docs/model-adaptation/Whisper-Large-v3/Whisper-Large-v3_Groq.md +76 -76
- package/docs/model-adaptation/Whisper-Large-v3-Turbo/Whisper-Large-v3-Turbo_Groq.md +75 -75
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_APIMart.md +88 -88
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_Fal.md +95 -95
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_KIE.md +71 -71
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/347/231/276/347/202/274.md +122 -122
- package/docs/model-adaptation/Z-Image-Turbo/Z-Image-Turbo_/351/255/224/346/220/255.md +97 -97
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/APIMart.md +238 -238
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Fal.md +172 -172
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Groq.md +121 -121
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/Grsai.md +217 -217
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206/KIE.md +131 -131
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//345/200/231/351/200/211/344/276/233/345/272/224/345/225/206/350/260/203/347/240/224-/345/233/276/347/211/207/345/267/245/345/205/267.md +151 -151
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//345/277/253/351/200/237/351/200/202/351/205/215/344/276/233/345/272/224/345/225/206.md +65 -65
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//346/264/276/346/254/247/344/272/221.md +147 -138
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/201/253/345/261/261/345/274/225/346/223/216.md +181 -171
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +237 -227
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/241/205/345/237/272/346/265/201/345/212/250.md +110 -88
- package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//351/255/224/346/220/255.md +207 -207
- package/docs/model-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +338 -311
- package/docs/model-adaptation//351/200/217/350/247/206/345/217/230/346/215/242//351/200/217/350/247/206/345/217/230/346/215/242_Fal.md +59 -59
- package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Electron.md +77 -77
- package/docs//346/216/245/345/205/245/346/214/207/345/215/227/Tauri.md +81 -81
- package/docs//346/216/245/345/205/245/346/214/207/345/215/227/UXP.md +169 -169
- package/docs//346/216/245/345/205/245/346/214/207/345/215/227//344/276/233/345/272/224/345/225/206/345/237/237/345/220/215.md +83 -83
- package/docs//346/216/245/345/205/245/346/214/207/345/215/227//351/224/231/350/257/257/345/244/204/347/220/206.md +72 -72
- package/examples/form-renderer/README.md +17 -17
- package/examples/form-renderer/cli.ts +32 -32
- package/examples/form-renderer/index.ts +144 -144
- package/examples/form-renderer/package.json +16 -16
- package/examples/form-renderer/tsconfig.json +14 -14
- package/examples/llm-chat/README.md +32 -32
- package/examples/llm-chat/index.ts +100 -100
- package/examples/llm-chat/package.json +19 -19
- package/examples/llm-chat/tsconfig.json +14 -14
- package/examples/minimal-node/README.md +31 -31
- package/examples/minimal-node/index.ts +138 -138
- package/examples/minimal-node/package.json +17 -17
- package/examples/minimal-node/tsconfig.json +14 -14
- package/package.json +252 -197
- package/dist/tool-packs/fal-multi-angle/models/qwen-image-edit-2509-multiple-angles.model.d.ts +0 -2
- package/docs/model-adaptation/Qwen-Image-Edit-2509-/345/244/232/350/247/222/345/272/246/Qwen-Image-Edit-2509-/345/244/232/350/247/222/345/272/246_Fal.md +0 -116
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
# SeedASR 2.0 File · 火山引擎
|
|
2
|
-
|
|
3
|
-
| 项目 | 内容 |
|
|
4
|
-
|---|---|
|
|
5
|
-
| 最后更新 | 2026-08-31 |
|
|
6
|
-
| 能力 | 录音文件异步识别(submit/query) |
|
|
7
|
-
| SDK `modelId` | `seedasr-2.0-file` |
|
|
8
|
-
| 火山请求模型 | `request.model_name="bigmodel"` + 2.0 资源 ID `volc.seedasr.auc` |
|
|
9
|
-
| P0 输入 | 供应商可读取的 HTTP(S) 远端 URL |
|
|
10
|
-
| 文档/价格 | 公开;API Key、开通和用量需登录 |
|
|
11
|
-
|
|
12
|
-
## 1. 端点与新版鉴权
|
|
13
|
-
|
|
14
|
-
```text
|
|
15
|
-
POST https://openspeech.bytedance.com/api/v3/auc/bigmodel/submit
|
|
16
|
-
POST https://openspeech.bytedance.com/api/v3/auc/bigmodel/query
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
P0 只实现新版控制台单 Key 鉴权:
|
|
20
|
-
|
|
21
|
-
```text
|
|
22
|
-
X-Api-Key: <API Key>
|
|
23
|
-
X-Api-Resource-Id: volc.seedasr.auc
|
|
24
|
-
X-Api-Request-Id: <客户端生成的 UUID,也是任务 ID>
|
|
25
|
-
Content-Type: application/json
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
提交还带 `X-Api-Sequence: -1`。查询沿用同一个 UUID;可把提交响应的 `X-Tt-Logid` 回传到查询头,便于服务定位。旧版 `X-Api-App-Key + X-Api-Access-Key` 没有进入 P0,也不得和 `X-Api-Key` 混发。
|
|
29
|
-
|
|
30
|
-
文档同页还列出 1.0 的 `volc.bigasr.auc`。本模型是 SeedASR 2.0,不能因为旧附件的默认值仍是 `volc.bigasr.auc` 就降级到 1.0。
|
|
31
|
-
|
|
32
|
-
## 2. 提交请求
|
|
33
|
-
|
|
34
|
-
```json
|
|
35
|
-
{
|
|
36
|
-
"user": { "uid": "<request UUID>" },
|
|
37
|
-
"audio": {
|
|
38
|
-
"url": "https://audio.example/meeting.mp3",
|
|
39
|
-
"format": "mp3",
|
|
40
|
-
"language": "zh-CN"
|
|
41
|
-
},
|
|
42
|
-
"request": {
|
|
43
|
-
"model_name": "bigmodel",
|
|
44
|
-
"enable_itn": true,
|
|
45
|
-
"enable_punc": true,
|
|
46
|
-
"enable_ddc": false,
|
|
47
|
-
"show_utterances": true
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
| 字段 | P0 行为 |
|
|
53
|
-
|---|---|
|
|
54
|
-
| `audio.url` | 必填,只接受 HTTP(S);本地 bytes 和 `media-ref` 明确报 `unsupported_media_source` |
|
|
55
|
-
| `audio.format` | 必填;只接受官方标准版枚举 `raw/wav/mp3/ogg`,可由 MIME、文件名或 URL 后缀推断 |
|
|
56
|
-
| `audio.language` | 可选,来自通用输入 `language`;不应误放进 `request` |
|
|
57
|
-
| `request.model_name` | 固定 `bigmodel`;2.0 由资源 ID 区分 |
|
|
58
|
-
| `enable_itn` | 默认 `true` |
|
|
59
|
-
| `enable_punc` | 默认 `true`,受通用 `punctuation` 控制 |
|
|
60
|
-
| `enable_ddc` | P0 默认 `false` |
|
|
61
|
-
| `show_utterances` | 默认 `true`,用于结构化句段/时间戳 |
|
|
62
|
-
|
|
63
|
-
提交成功时 Response body 为空,结果必须从响应头判断:`X-Api-Status-Code=20000000`、`X-Api-Message`、`X-Tt-Logid`。不能因为 HTTP 200 就假定任务已提交成功。
|
|
64
|
-
|
|
65
|
-
## 3. 查询状态与结果
|
|
66
|
-
|
|
67
|
-
查询 body 固定 `{}`。P0 状态矩阵:
|
|
68
|
-
|
|
69
|
-
| `X-Api-Status-Code` | 分类 | SDK 行为 |
|
|
70
|
-
|---|---|---|
|
|
71
|
-
| `20000000` | 成功终态 | 解析 JSON,发 `final/completed` |
|
|
72
|
-
| `20000001` | 处理中 | 发 `processing`,继续轮询 |
|
|
73
|
-
| `20000002` | 排队中 | 发 `processing`,继续轮询 |
|
|
74
|
-
| `20000003` | 静音终态 | `provider_task_failed`,不伪造空成功 |
|
|
75
|
-
| `45xxxxxx` | 请求/音频错误终态 | `provider_task_failed`,停止轮询 |
|
|
76
|
-
| `55xxxxxx` | 服务端错误终态 | `provider_task_failed`,停止轮询 |
|
|
77
|
-
| 缺少状态头 | 非法响应 | `invalid_response` |
|
|
78
|
-
|
|
79
|
-
成功 JSON 的稳定读取路径:
|
|
80
|
-
|
|
81
|
-
```text
|
|
82
|
-
result.text
|
|
83
|
-
result.utterances[].text/start_time/end_time/words[]
|
|
84
|
-
audio_info.duration
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
SDK 将毫秒字段归一到 `durationMs/segments[].startMs/endMs/words[]`。成功终态却没有非空 `result.text` 时严格报 `invalid_response`。
|
|
88
|
-
|
|
89
|
-
官方没有为该 submit/query 流程给出 P0 可依赖的远端取消端点。用户取消只中止当前 HTTP/等待和后续轮询,不再发送查询,也不声称已取消服务端任务。
|
|
90
|
-
|
|
91
|
-
## 4. 价格与免费额度
|
|
92
|
-
|
|
93
|
-
| 项目 | 官方公开值 |
|
|
94
|
-
|---|---|
|
|
95
|
-
| 后付费 | 0.8 元/小时 |
|
|
96
|
-
| 免费试用 | 20 小时 |
|
|
97
|
-
| 有效期 | 开通后 6 个月 |
|
|
98
|
-
|
|
99
|
-
20 小时是需要在豆包语音控制台开通的试用额度,不是每月自动刷新。创建应用、开通服务和免费试用均需用户在控制台操作;实际扣费以最新价格页和账单为准。
|
|
100
|
-
|
|
101
|
-
## 5. Fixture 与验证来源
|
|
102
|
-
|
|
103
|
-
| Fixture | 分类 | 用途 |
|
|
104
|
-
|---|---|---|
|
|
105
|
-
| `asr-seedasr-field-construction.json` | `field-construction` | 官方未给文件成功字面样例;按字段表构造状态头、成功结果与 SDK 出站请求 |
|
|
106
|
-
| `asr-seedasr-synthetic.json` | `synthetic-negative` | 静音/错误等断牙负例,不冒充真实返回 |
|
|
107
|
-
|
|
108
|
-
## 6. 原始链接索引
|
|
109
|
-
|
|
110
|
-
| 信息 | 链接 | 登录 |
|
|
111
|
-
|---|---|---|
|
|
112
|
-
| SeedASR 2.0 文件 API | https://docs.volcengine.com/docs/6561/1354868?lang=zh | 否 |
|
|
113
|
-
| 文件识别示例/附件 | https://docs.volcengine.com/docs/6561/2628951?lang=zh | 否 |
|
|
114
|
-
| 计费与免费试用 | https://docs.volcengine.com/docs/6561/1359369?lang=zh | 否 |
|
|
115
|
-
| 豆包语音控制台 | https://console.volcengine.com/speech/new/overview | **是** |
|
|
1
|
+
# SeedASR 2.0 File · 火山引擎
|
|
2
|
+
|
|
3
|
+
| 项目 | 内容 |
|
|
4
|
+
|---|---|
|
|
5
|
+
| 最后更新 | 2026-08-31 |
|
|
6
|
+
| 能力 | 录音文件异步识别(submit/query) |
|
|
7
|
+
| SDK `modelId` | `seedasr-2.0-file` |
|
|
8
|
+
| 火山请求模型 | `request.model_name="bigmodel"` + 2.0 资源 ID `volc.seedasr.auc` |
|
|
9
|
+
| P0 输入 | 供应商可读取的 HTTP(S) 远端 URL |
|
|
10
|
+
| 文档/价格 | 公开;API Key、开通和用量需登录 |
|
|
11
|
+
|
|
12
|
+
## 1. 端点与新版鉴权
|
|
13
|
+
|
|
14
|
+
```text
|
|
15
|
+
POST https://openspeech.bytedance.com/api/v3/auc/bigmodel/submit
|
|
16
|
+
POST https://openspeech.bytedance.com/api/v3/auc/bigmodel/query
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
P0 只实现新版控制台单 Key 鉴权:
|
|
20
|
+
|
|
21
|
+
```text
|
|
22
|
+
X-Api-Key: <API Key>
|
|
23
|
+
X-Api-Resource-Id: volc.seedasr.auc
|
|
24
|
+
X-Api-Request-Id: <客户端生成的 UUID,也是任务 ID>
|
|
25
|
+
Content-Type: application/json
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
提交还带 `X-Api-Sequence: -1`。查询沿用同一个 UUID;可把提交响应的 `X-Tt-Logid` 回传到查询头,便于服务定位。旧版 `X-Api-App-Key + X-Api-Access-Key` 没有进入 P0,也不得和 `X-Api-Key` 混发。
|
|
29
|
+
|
|
30
|
+
文档同页还列出 1.0 的 `volc.bigasr.auc`。本模型是 SeedASR 2.0,不能因为旧附件的默认值仍是 `volc.bigasr.auc` 就降级到 1.0。
|
|
31
|
+
|
|
32
|
+
## 2. 提交请求
|
|
33
|
+
|
|
34
|
+
```json
|
|
35
|
+
{
|
|
36
|
+
"user": { "uid": "<request UUID>" },
|
|
37
|
+
"audio": {
|
|
38
|
+
"url": "https://audio.example/meeting.mp3",
|
|
39
|
+
"format": "mp3",
|
|
40
|
+
"language": "zh-CN"
|
|
41
|
+
},
|
|
42
|
+
"request": {
|
|
43
|
+
"model_name": "bigmodel",
|
|
44
|
+
"enable_itn": true,
|
|
45
|
+
"enable_punc": true,
|
|
46
|
+
"enable_ddc": false,
|
|
47
|
+
"show_utterances": true
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
| 字段 | P0 行为 |
|
|
53
|
+
|---|---|
|
|
54
|
+
| `audio.url` | 必填,只接受 HTTP(S);本地 bytes 和 `media-ref` 明确报 `unsupported_media_source` |
|
|
55
|
+
| `audio.format` | 必填;只接受官方标准版枚举 `raw/wav/mp3/ogg`,可由 MIME、文件名或 URL 后缀推断 |
|
|
56
|
+
| `audio.language` | 可选,来自通用输入 `language`;不应误放进 `request` |
|
|
57
|
+
| `request.model_name` | 固定 `bigmodel`;2.0 由资源 ID 区分 |
|
|
58
|
+
| `enable_itn` | 默认 `true` |
|
|
59
|
+
| `enable_punc` | 默认 `true`,受通用 `punctuation` 控制 |
|
|
60
|
+
| `enable_ddc` | P0 默认 `false` |
|
|
61
|
+
| `show_utterances` | 默认 `true`,用于结构化句段/时间戳 |
|
|
62
|
+
|
|
63
|
+
提交成功时 Response body 为空,结果必须从响应头判断:`X-Api-Status-Code=20000000`、`X-Api-Message`、`X-Tt-Logid`。不能因为 HTTP 200 就假定任务已提交成功。
|
|
64
|
+
|
|
65
|
+
## 3. 查询状态与结果
|
|
66
|
+
|
|
67
|
+
查询 body 固定 `{}`。P0 状态矩阵:
|
|
68
|
+
|
|
69
|
+
| `X-Api-Status-Code` | 分类 | SDK 行为 |
|
|
70
|
+
|---|---|---|
|
|
71
|
+
| `20000000` | 成功终态 | 解析 JSON,发 `final/completed` |
|
|
72
|
+
| `20000001` | 处理中 | 发 `processing`,继续轮询 |
|
|
73
|
+
| `20000002` | 排队中 | 发 `processing`,继续轮询 |
|
|
74
|
+
| `20000003` | 静音终态 | `provider_task_failed`,不伪造空成功 |
|
|
75
|
+
| `45xxxxxx` | 请求/音频错误终态 | `provider_task_failed`,停止轮询 |
|
|
76
|
+
| `55xxxxxx` | 服务端错误终态 | `provider_task_failed`,停止轮询 |
|
|
77
|
+
| 缺少状态头 | 非法响应 | `invalid_response` |
|
|
78
|
+
|
|
79
|
+
成功 JSON 的稳定读取路径:
|
|
80
|
+
|
|
81
|
+
```text
|
|
82
|
+
result.text
|
|
83
|
+
result.utterances[].text/start_time/end_time/words[]
|
|
84
|
+
audio_info.duration
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
SDK 将毫秒字段归一到 `durationMs/segments[].startMs/endMs/words[]`。成功终态却没有非空 `result.text` 时严格报 `invalid_response`。
|
|
88
|
+
|
|
89
|
+
官方没有为该 submit/query 流程给出 P0 可依赖的远端取消端点。用户取消只中止当前 HTTP/等待和后续轮询,不再发送查询,也不声称已取消服务端任务。
|
|
90
|
+
|
|
91
|
+
## 4. 价格与免费额度
|
|
92
|
+
|
|
93
|
+
| 项目 | 官方公开值 |
|
|
94
|
+
|---|---|
|
|
95
|
+
| 后付费 | 0.8 元/小时 |
|
|
96
|
+
| 免费试用 | 20 小时 |
|
|
97
|
+
| 有效期 | 开通后 6 个月 |
|
|
98
|
+
|
|
99
|
+
20 小时是需要在豆包语音控制台开通的试用额度,不是每月自动刷新。创建应用、开通服务和免费试用均需用户在控制台操作;实际扣费以最新价格页和账单为准。
|
|
100
|
+
|
|
101
|
+
## 5. Fixture 与验证来源
|
|
102
|
+
|
|
103
|
+
| Fixture | 分类 | 用途 |
|
|
104
|
+
|---|---|---|
|
|
105
|
+
| `asr-seedasr-field-construction.json` | `field-construction` | 官方未给文件成功字面样例;按字段表构造状态头、成功结果与 SDK 出站请求 |
|
|
106
|
+
| `asr-seedasr-synthetic.json` | `synthetic-negative` | 静音/错误等断牙负例,不冒充真实返回 |
|
|
107
|
+
|
|
108
|
+
## 6. 原始链接索引
|
|
109
|
+
|
|
110
|
+
| 信息 | 链接 | 登录 |
|
|
111
|
+
|---|---|---|
|
|
112
|
+
| SeedASR 2.0 文件 API | https://docs.volcengine.com/docs/6561/1354868?lang=zh | 否 |
|
|
113
|
+
| 文件识别示例/附件 | https://docs.volcengine.com/docs/6561/2628951?lang=zh | 否 |
|
|
114
|
+
| 计费与免费试用 | https://docs.volcengine.com/docs/6561/1359369?lang=zh | 否 |
|
|
115
|
+
| 豆包语音控制台 | https://console.volcengine.com/speech/new/overview | **是** |
|
|
@@ -1,143 +1,143 @@
|
|
|
1
|
-
# SeedASR 2.0 Realtime · 火山引擎
|
|
2
|
-
|
|
3
|
-
| 项目 | 内容 |
|
|
4
|
-
|---|---|
|
|
5
|
-
| 最后更新 | 2026-08-31 |
|
|
6
|
-
| 能力 | 双向实时语音识别(二进制 WebSocket) |
|
|
7
|
-
| SDK `modelId` | `seedasr-2.0-realtime` |
|
|
8
|
-
| 火山请求模型 | `request.model_name="bigmodel"` + 2.0 资源 ID `volc.seedasr.sauc.duration` |
|
|
9
|
-
| P0 音频 | PCM S16LE、16 kHz、16 bit、单声道 |
|
|
10
|
-
| 文档/价格 | 公开;API Key、开通和用量需登录 |
|
|
11
|
-
|
|
12
|
-
## 1. 端点与新版鉴权
|
|
13
|
-
|
|
14
|
-
P0 使用官方双向流式优化端点:
|
|
15
|
-
|
|
16
|
-
```text
|
|
17
|
-
wss://openspeech.bytedance.com/api/v3/sauc/bigmodel_async
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
握手头:
|
|
21
|
-
|
|
22
|
-
```text
|
|
23
|
-
X-Api-Key: <API Key>
|
|
24
|
-
X-Api-Resource-Id: volc.seedasr.sauc.duration
|
|
25
|
-
X-Api-Request-Id: <客户端生成的 UUID>
|
|
26
|
-
X-Api-Sequence: -1
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
只支持新版 `X-Api-Key`。同一官方页面同时列出 1.0 的 `volc.bigasr.sauc.*` 与 2.0 的 `volc.seedasr.sauc.*`;本模型固定 2.0 小时版资源 ID。并发版 `volc.seedasr.sauc.concurrent` 属于另一计费形态,不在 P0 中静默切换。
|
|
30
|
-
|
|
31
|
-
## 2. 首帧与音频规格
|
|
32
|
-
|
|
33
|
-
首帧 JSON 经 UTF-8 + gzip 后装入二进制帧:
|
|
34
|
-
|
|
35
|
-
```json
|
|
36
|
-
{
|
|
37
|
-
"user": { "uid": "<request UUID>" },
|
|
38
|
-
"audio": {
|
|
39
|
-
"format": "pcm",
|
|
40
|
-
"codec": "raw",
|
|
41
|
-
"rate": 16000,
|
|
42
|
-
"bits": 16,
|
|
43
|
-
"channel": 1
|
|
44
|
-
},
|
|
45
|
-
"request": {
|
|
46
|
-
"model_name": "bigmodel",
|
|
47
|
-
"enable_itn": true,
|
|
48
|
-
"enable_punc": true,
|
|
49
|
-
"enable_ddc": false,
|
|
50
|
-
"show_utterances": true,
|
|
51
|
-
"enable_nonstream": false,
|
|
52
|
-
"result_type": "full"
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
P0 不在 SDK 内转码:输入不符合 PCM S16LE/16 kHz/mono 时,在建立付费连接前失败。每个 PCM16 音频块的字节数必须为偶数。官方示例建议每 200 ms 一包,即 6400 字节;分块节奏由宿主负责。
|
|
58
|
-
|
|
59
|
-
`bigmodel_async` 当前契约不发送 `audio.language`;传入 `language` 或热词 `hints` 会明确报不支持,避免静默丢参数。
|
|
60
|
-
|
|
61
|
-
## 3. 二进制帧契约
|
|
62
|
-
|
|
63
|
-
### 3.1 4 字节头
|
|
64
|
-
|
|
65
|
-
| 位置 | 高 4 bit | 低 4 bit |
|
|
66
|
-
|---|---|---|
|
|
67
|
-
| byte 0 | version=`1` | header size=`1`(4 字节) |
|
|
68
|
-
| byte 1 | message type | flags |
|
|
69
|
-
| byte 2 | serialization | compression |
|
|
70
|
-
| byte 3 | reserved | reserved |
|
|
71
|
-
|
|
72
|
-
消息与标志:
|
|
73
|
-
|
|
74
|
-
| 值 | 含义 |
|
|
75
|
-
|---|---|
|
|
76
|
-
| message type `1` | client full request |
|
|
77
|
-
| message type `2` | client audio-only request |
|
|
78
|
-
| message type `9` | server full response |
|
|
79
|
-
| message type `15` | server error response |
|
|
80
|
-
| flag bit `1` | 帧含 4 字节大端有符号 sequence |
|
|
81
|
-
| flag bit `2` | 最后一包 |
|
|
82
|
-
| flag bit `4` | 帧含 4 字节大端 event |
|
|
83
|
-
| serialization `0/1` | none / JSON |
|
|
84
|
-
| compression `0/1` | none / gzip |
|
|
85
|
-
|
|
86
|
-
完整响应布局为 `header → [sequence] → [event] → uint32 payload_size → payload`;错误响应为 `header → [sequence] → [event] → uint32 error_code → uint32 payload_size → payload`。解析器要求声明长度与实际剩余字节完全一致,断牙和尾随字节都报 `invalid_response`。服务端 payload 同时接受 `compression=none/gzip`,其他压缩或序列化值拒绝。
|
|
87
|
-
|
|
88
|
-
### 3.2 当前官方附件的客户端帧
|
|
89
|
-
|
|
90
|
-
| 帧 | 头 hex | sequence | payload |
|
|
91
|
-
|---|---|---|---|
|
|
92
|
-
| 首帧 | `11 11 11 00` | `1` | JSON UTF-8 + gzip |
|
|
93
|
-
| 普通音频 | `11 21 11 00` | 正数,从 `2` 递增 | 原始 PCM + gzip |
|
|
94
|
-
| 最后一块真实音频 | `11 23 11 00` | 当前序号取负数 | 原始 PCM + gzip |
|
|
95
|
-
|
|
96
|
-
协议字段表把原始音频描述为 `serialization=none`,但 2026-08-08 当前官方 Python 附件对音频帧实际写入 `serialization=JSON` 标志(第三字节 `0x11`),附件自带成功 `run.log` 也使用这一结构。P0 以可复现的当前官方附件为准锁定 `0x11`;这是已记录的官方资料内部差异,后续若官方修正文档或附件需重新验证,而不是同时猜两套发送协议。
|
|
97
|
-
|
|
98
|
-
SDK 对音频保留一块延迟:收到下一块时才把上一块以正 sequence 发出;`finish()` 把最后一块真实音频以负 sequence 发送。不会制造空终止音频包。无任何真实音频就 `finish()` 会报 `invalid_audio`。
|
|
99
|
-
|
|
100
|
-
## 4. 服务端事件矩阵
|
|
101
|
-
|
|
102
|
-
| 服务端帧/字段 | Capability 事件 | 终态 | 行为 |
|
|
103
|
-
|---|---|---|---|
|
|
104
|
-
| 首个合法 type `9` full response | `started` | 否 | 官方附件该帧 `result.text=""`;SDK 不要求必须为空,也不产生空 partial |
|
|
105
|
-
| type `9`,非空 `result.text` | `partial` | 否 | 文本变化才发,重复内容去重 |
|
|
106
|
-
| `result.utterances[].definite=true` | `final` | 否 | 表示句段已确定,不等于整个连接结束;按时间范围/文本去重 |
|
|
107
|
-
| flag bit `2`(last) | `completed` | 是 | 只有客户端已 `finish()` 后才合法;输出 `result.text/utterances/audio_info.duration` |
|
|
108
|
-
| type `15` | 无 | 是(错误) | 读取 uint32 错误码;错误 payload 可为 JSON 或安全 UTF-8 文本 |
|
|
109
|
-
| 未知 `event` 数字 | 无 | 否 | 只记脱敏 warning,仍按 type/payload 处理 |
|
|
110
|
-
| WebSocket 提前断开 | 无 | 是(错误) | `provider_connection_closed`,不误报完成 |
|
|
111
|
-
| text WebSocket frame | 无 | 是(错误) | 协议要求二进制,报 `invalid_response` |
|
|
112
|
-
|
|
113
|
-
`utterances[].definite=true` 只能判断句段 final,整个会话终态必须看帧头 last 标志。整个终帧仍无有效文本时严格报 `invalid_response`。
|
|
114
|
-
|
|
115
|
-
用户主动取消只关闭连接,不发送负 sequence 终帧,也不把取消伪装成正常完成。full request 默认在 15 秒内必须收到首个服务端响应,可用 `openTimeoutMs` 显式调整;超时会关闭半开连接。`finish()`、连接释放和显式 `close()` 都幂等;发送失败、服务端错误、断线、超时和取消都走同一个释放边界。
|
|
116
|
-
|
|
117
|
-
## 5. 价格与免费额度
|
|
118
|
-
|
|
119
|
-
| 项目 | 官方公开值 |
|
|
120
|
-
|---|---|
|
|
121
|
-
| 后付费(小时版) | 1 元/小时 |
|
|
122
|
-
| 免费试用 | 20 小时 |
|
|
123
|
-
| 有效期 | 开通后 6 个月 |
|
|
124
|
-
|
|
125
|
-
20 小时为需在豆包语音控制台开通的试用额度,不是每月自动刷新。并发版的资源与计费方式不同,不应把本页小时版单价套到并发版。
|
|
126
|
-
|
|
127
|
-
## 6. Fixture 与验证来源
|
|
128
|
-
|
|
129
|
-
| Fixture | 分类 | 用途 |
|
|
130
|
-
|---|---|---|
|
|
131
|
-
| `asr-seedasr-official.json` | `official-redacted` | 官方附件成功 `run.log` 的握手/空进度/终帧;仅 `log_id` 脱敏 |
|
|
132
|
-
| `asr-seedasr-field-construction.json` | `field-construction` | 按官方当前附件构造三类客户端帧与首帧字段 |
|
|
133
|
-
| `asr-seedasr-synthetic.json` | `synthetic-negative` | 未知 event、错误码、断牙/尾随字节等负例 |
|
|
134
|
-
|
|
135
|
-
## 7. 原始链接索引
|
|
136
|
-
|
|
137
|
-
| 信息 | 链接 | 登录 |
|
|
138
|
-
|---|---|---|
|
|
139
|
-
| 流式 API/二进制协议 | https://docs.volcengine.com/docs/6561/1354869?lang=zh | 否 |
|
|
140
|
-
| 双向流式优化端点与当前附件 | https://docs.volcengine.com/docs/6561/2630027?lang=zh | 否 |
|
|
141
|
-
| 流式调用示例/资源 ID | https://docs.volcengine.com/docs/6561/2628951?lang=zh | 否 |
|
|
142
|
-
| 计费与免费试用 | https://docs.volcengine.com/docs/6561/1359369?lang=zh | 否 |
|
|
143
|
-
| 豆包语音控制台 | https://console.volcengine.com/speech/new/overview | **是** |
|
|
1
|
+
# SeedASR 2.0 Realtime · 火山引擎
|
|
2
|
+
|
|
3
|
+
| 项目 | 内容 |
|
|
4
|
+
|---|---|
|
|
5
|
+
| 最后更新 | 2026-08-31 |
|
|
6
|
+
| 能力 | 双向实时语音识别(二进制 WebSocket) |
|
|
7
|
+
| SDK `modelId` | `seedasr-2.0-realtime` |
|
|
8
|
+
| 火山请求模型 | `request.model_name="bigmodel"` + 2.0 资源 ID `volc.seedasr.sauc.duration` |
|
|
9
|
+
| P0 音频 | PCM S16LE、16 kHz、16 bit、单声道 |
|
|
10
|
+
| 文档/价格 | 公开;API Key、开通和用量需登录 |
|
|
11
|
+
|
|
12
|
+
## 1. 端点与新版鉴权
|
|
13
|
+
|
|
14
|
+
P0 使用官方双向流式优化端点:
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
wss://openspeech.bytedance.com/api/v3/sauc/bigmodel_async
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
握手头:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
X-Api-Key: <API Key>
|
|
24
|
+
X-Api-Resource-Id: volc.seedasr.sauc.duration
|
|
25
|
+
X-Api-Request-Id: <客户端生成的 UUID>
|
|
26
|
+
X-Api-Sequence: -1
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
只支持新版 `X-Api-Key`。同一官方页面同时列出 1.0 的 `volc.bigasr.sauc.*` 与 2.0 的 `volc.seedasr.sauc.*`;本模型固定 2.0 小时版资源 ID。并发版 `volc.seedasr.sauc.concurrent` 属于另一计费形态,不在 P0 中静默切换。
|
|
30
|
+
|
|
31
|
+
## 2. 首帧与音频规格
|
|
32
|
+
|
|
33
|
+
首帧 JSON 经 UTF-8 + gzip 后装入二进制帧:
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"user": { "uid": "<request UUID>" },
|
|
38
|
+
"audio": {
|
|
39
|
+
"format": "pcm",
|
|
40
|
+
"codec": "raw",
|
|
41
|
+
"rate": 16000,
|
|
42
|
+
"bits": 16,
|
|
43
|
+
"channel": 1
|
|
44
|
+
},
|
|
45
|
+
"request": {
|
|
46
|
+
"model_name": "bigmodel",
|
|
47
|
+
"enable_itn": true,
|
|
48
|
+
"enable_punc": true,
|
|
49
|
+
"enable_ddc": false,
|
|
50
|
+
"show_utterances": true,
|
|
51
|
+
"enable_nonstream": false,
|
|
52
|
+
"result_type": "full"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
P0 不在 SDK 内转码:输入不符合 PCM S16LE/16 kHz/mono 时,在建立付费连接前失败。每个 PCM16 音频块的字节数必须为偶数。官方示例建议每 200 ms 一包,即 6400 字节;分块节奏由宿主负责。
|
|
58
|
+
|
|
59
|
+
`bigmodel_async` 当前契约不发送 `audio.language`;传入 `language` 或热词 `hints` 会明确报不支持,避免静默丢参数。
|
|
60
|
+
|
|
61
|
+
## 3. 二进制帧契约
|
|
62
|
+
|
|
63
|
+
### 3.1 4 字节头
|
|
64
|
+
|
|
65
|
+
| 位置 | 高 4 bit | 低 4 bit |
|
|
66
|
+
|---|---|---|
|
|
67
|
+
| byte 0 | version=`1` | header size=`1`(4 字节) |
|
|
68
|
+
| byte 1 | message type | flags |
|
|
69
|
+
| byte 2 | serialization | compression |
|
|
70
|
+
| byte 3 | reserved | reserved |
|
|
71
|
+
|
|
72
|
+
消息与标志:
|
|
73
|
+
|
|
74
|
+
| 值 | 含义 |
|
|
75
|
+
|---|---|
|
|
76
|
+
| message type `1` | client full request |
|
|
77
|
+
| message type `2` | client audio-only request |
|
|
78
|
+
| message type `9` | server full response |
|
|
79
|
+
| message type `15` | server error response |
|
|
80
|
+
| flag bit `1` | 帧含 4 字节大端有符号 sequence |
|
|
81
|
+
| flag bit `2` | 最后一包 |
|
|
82
|
+
| flag bit `4` | 帧含 4 字节大端 event |
|
|
83
|
+
| serialization `0/1` | none / JSON |
|
|
84
|
+
| compression `0/1` | none / gzip |
|
|
85
|
+
|
|
86
|
+
完整响应布局为 `header → [sequence] → [event] → uint32 payload_size → payload`;错误响应为 `header → [sequence] → [event] → uint32 error_code → uint32 payload_size → payload`。解析器要求声明长度与实际剩余字节完全一致,断牙和尾随字节都报 `invalid_response`。服务端 payload 同时接受 `compression=none/gzip`,其他压缩或序列化值拒绝。
|
|
87
|
+
|
|
88
|
+
### 3.2 当前官方附件的客户端帧
|
|
89
|
+
|
|
90
|
+
| 帧 | 头 hex | sequence | payload |
|
|
91
|
+
|---|---|---|---|
|
|
92
|
+
| 首帧 | `11 11 11 00` | `1` | JSON UTF-8 + gzip |
|
|
93
|
+
| 普通音频 | `11 21 11 00` | 正数,从 `2` 递增 | 原始 PCM + gzip |
|
|
94
|
+
| 最后一块真实音频 | `11 23 11 00` | 当前序号取负数 | 原始 PCM + gzip |
|
|
95
|
+
|
|
96
|
+
协议字段表把原始音频描述为 `serialization=none`,但 2026-08-08 当前官方 Python 附件对音频帧实际写入 `serialization=JSON` 标志(第三字节 `0x11`),附件自带成功 `run.log` 也使用这一结构。P0 以可复现的当前官方附件为准锁定 `0x11`;这是已记录的官方资料内部差异,后续若官方修正文档或附件需重新验证,而不是同时猜两套发送协议。
|
|
97
|
+
|
|
98
|
+
SDK 对音频保留一块延迟:收到下一块时才把上一块以正 sequence 发出;`finish()` 把最后一块真实音频以负 sequence 发送。不会制造空终止音频包。无任何真实音频就 `finish()` 会报 `invalid_audio`。
|
|
99
|
+
|
|
100
|
+
## 4. 服务端事件矩阵
|
|
101
|
+
|
|
102
|
+
| 服务端帧/字段 | Capability 事件 | 终态 | 行为 |
|
|
103
|
+
|---|---|---|---|
|
|
104
|
+
| 首个合法 type `9` full response | `started` | 否 | 官方附件该帧 `result.text=""`;SDK 不要求必须为空,也不产生空 partial |
|
|
105
|
+
| type `9`,非空 `result.text` | `partial` | 否 | 文本变化才发,重复内容去重 |
|
|
106
|
+
| `result.utterances[].definite=true` | `final` | 否 | 表示句段已确定,不等于整个连接结束;按时间范围/文本去重 |
|
|
107
|
+
| flag bit `2`(last) | `completed` | 是 | 只有客户端已 `finish()` 后才合法;输出 `result.text/utterances/audio_info.duration` |
|
|
108
|
+
| type `15` | 无 | 是(错误) | 读取 uint32 错误码;错误 payload 可为 JSON 或安全 UTF-8 文本 |
|
|
109
|
+
| 未知 `event` 数字 | 无 | 否 | 只记脱敏 warning,仍按 type/payload 处理 |
|
|
110
|
+
| WebSocket 提前断开 | 无 | 是(错误) | `provider_connection_closed`,不误报完成 |
|
|
111
|
+
| text WebSocket frame | 无 | 是(错误) | 协议要求二进制,报 `invalid_response` |
|
|
112
|
+
|
|
113
|
+
`utterances[].definite=true` 只能判断句段 final,整个会话终态必须看帧头 last 标志。整个终帧仍无有效文本时严格报 `invalid_response`。
|
|
114
|
+
|
|
115
|
+
用户主动取消只关闭连接,不发送负 sequence 终帧,也不把取消伪装成正常完成。full request 默认在 15 秒内必须收到首个服务端响应,可用 `openTimeoutMs` 显式调整;超时会关闭半开连接。`finish()`、连接释放和显式 `close()` 都幂等;发送失败、服务端错误、断线、超时和取消都走同一个释放边界。
|
|
116
|
+
|
|
117
|
+
## 5. 价格与免费额度
|
|
118
|
+
|
|
119
|
+
| 项目 | 官方公开值 |
|
|
120
|
+
|---|---|
|
|
121
|
+
| 后付费(小时版) | 1 元/小时 |
|
|
122
|
+
| 免费试用 | 20 小时 |
|
|
123
|
+
| 有效期 | 开通后 6 个月 |
|
|
124
|
+
|
|
125
|
+
20 小时为需在豆包语音控制台开通的试用额度,不是每月自动刷新。并发版的资源与计费方式不同,不应把本页小时版单价套到并发版。
|
|
126
|
+
|
|
127
|
+
## 6. Fixture 与验证来源
|
|
128
|
+
|
|
129
|
+
| Fixture | 分类 | 用途 |
|
|
130
|
+
|---|---|---|
|
|
131
|
+
| `asr-seedasr-official.json` | `official-redacted` | 官方附件成功 `run.log` 的握手/空进度/终帧;仅 `log_id` 脱敏 |
|
|
132
|
+
| `asr-seedasr-field-construction.json` | `field-construction` | 按官方当前附件构造三类客户端帧与首帧字段 |
|
|
133
|
+
| `asr-seedasr-synthetic.json` | `synthetic-negative` | 未知 event、错误码、断牙/尾随字节等负例 |
|
|
134
|
+
|
|
135
|
+
## 7. 原始链接索引
|
|
136
|
+
|
|
137
|
+
| 信息 | 链接 | 登录 |
|
|
138
|
+
|---|---|---|
|
|
139
|
+
| 流式 API/二进制协议 | https://docs.volcengine.com/docs/6561/1354869?lang=zh | 否 |
|
|
140
|
+
| 双向流式优化端点与当前附件 | https://docs.volcengine.com/docs/6561/2630027?lang=zh | 否 |
|
|
141
|
+
| 流式调用示例/资源 ID | https://docs.volcengine.com/docs/6561/2628951?lang=zh | 否 |
|
|
142
|
+
| 计费与免费试用 | https://docs.volcengine.com/docs/6561/1359369?lang=zh | 否 |
|
|
143
|
+
| 豆包语音控制台 | https://console.volcengine.com/speech/new/overview | **是** |
|
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
# SeedVR2 图片放大(Fal)
|
|
2
|
-
|
|
3
|
-
## 契约
|
|
4
|
-
|
|
5
|
-
| 项目 | 内容 |
|
|
6
|
-
|---|---|
|
|
7
|
-
| endpoint ID | `fal-ai/seedvr/upscale/image` |
|
|
8
|
-
| 输入 | `image_url`,应用严格要求 1 张图片 |
|
|
9
|
-
| 官方模式 | `factor` 或 `target`;应用只开放 factor 模式 |
|
|
10
|
-
| 应用参数 | 2×/4×、`noise_scale` 0~1(默认 0.1) |
|
|
11
|
-
| 隐藏字段 | `seed`、`output_format`、`sync_mode`、target resolution |
|
|
12
|
-
| 输出 | `image: File` |
|
|
13
|
-
| 价格 | Fal 标价 `$0.001/MP` |
|
|
14
|
-
| 资料核查 | 2026-08-29;公开,无需登录 |
|
|
15
|
-
|
|
16
|
-
官方价格只标明 megapixels billing unit,没有在公开页明确它指输入还是输出。应用采用“预计输出 MP ×
|
|
17
|
-
$0.001”的保守展示口径,并在价格文案中明确这是估价;SDK 通过 `pricing.mediaContext` 声明源图像素与
|
|
18
|
-
2×/4× 面积倍率,宿主共享价格层统一读取媒体指标。指标未解析成功时不显示伪造兜底价;实际账单仍以
|
|
19
|
-
Fal billing event 为准。
|
|
20
|
-
|
|
21
|
-
## 请求示例
|
|
22
|
-
|
|
23
|
-
```json
|
|
24
|
-
{
|
|
25
|
-
"image_url": "https://example.com/source.jpg",
|
|
26
|
-
"upscale_mode": "factor",
|
|
27
|
-
"upscale_factor": 4,
|
|
28
|
-
"noise_scale": 0.1
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## 队列与适配
|
|
33
|
-
|
|
34
|
-
使用 `Authorization: Key <FAL_KEY>` 调用 `https://queue.fal.run`,状态为 `IN_QUEUE`、
|
|
35
|
-
`IN_PROGRESS`、`COMPLETED`。canonical ID 为 `seedvr2-image-upscale`,应用模型 ID 为
|
|
36
|
-
`fal-ai-seedvr2-image-upscale`。默认 JPG 输出不保证 alpha,因此画布预检会提示透明图改用专用模型。
|
|
37
|
-
已完成端点、字段钳制、单图限制、2×/4×预检和输出 MP 估价的离线测试;未执行真实付费生成。
|
|
38
|
-
|
|
39
|
-
## 一手资料
|
|
40
|
-
|
|
41
|
-
| 信息 | 链接 | 登录 |
|
|
42
|
-
|---|---|---|
|
|
43
|
-
| API 文档 | https://fal.ai/models/fal-ai/seedvr/upscale/image/api | 否 |
|
|
44
|
-
| OpenAPI | https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=fal-ai/seedvr/upscale/image | 否 |
|
|
45
|
-
| API Key | https://fal.ai/dashboard/keys | 是 |
|
|
1
|
+
# SeedVR2 图片放大(Fal)
|
|
2
|
+
|
|
3
|
+
## 契约
|
|
4
|
+
|
|
5
|
+
| 项目 | 内容 |
|
|
6
|
+
|---|---|
|
|
7
|
+
| endpoint ID | `fal-ai/seedvr/upscale/image` |
|
|
8
|
+
| 输入 | `image_url`,应用严格要求 1 张图片 |
|
|
9
|
+
| 官方模式 | `factor` 或 `target`;应用只开放 factor 模式 |
|
|
10
|
+
| 应用参数 | 2×/4×、`noise_scale` 0~1(默认 0.1) |
|
|
11
|
+
| 隐藏字段 | `seed`、`output_format`、`sync_mode`、target resolution |
|
|
12
|
+
| 输出 | `image: File` |
|
|
13
|
+
| 价格 | Fal 标价 `$0.001/MP` |
|
|
14
|
+
| 资料核查 | 2026-08-29;公开,无需登录 |
|
|
15
|
+
|
|
16
|
+
官方价格只标明 megapixels billing unit,没有在公开页明确它指输入还是输出。应用采用“预计输出 MP ×
|
|
17
|
+
$0.001”的保守展示口径,并在价格文案中明确这是估价;SDK 通过 `pricing.mediaContext` 声明源图像素与
|
|
18
|
+
2×/4× 面积倍率,宿主共享价格层统一读取媒体指标。指标未解析成功时不显示伪造兜底价;实际账单仍以
|
|
19
|
+
Fal billing event 为准。
|
|
20
|
+
|
|
21
|
+
## 请求示例
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"image_url": "https://example.com/source.jpg",
|
|
26
|
+
"upscale_mode": "factor",
|
|
27
|
+
"upscale_factor": 4,
|
|
28
|
+
"noise_scale": 0.1
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 队列与适配
|
|
33
|
+
|
|
34
|
+
使用 `Authorization: Key <FAL_KEY>` 调用 `https://queue.fal.run`,状态为 `IN_QUEUE`、
|
|
35
|
+
`IN_PROGRESS`、`COMPLETED`。canonical ID 为 `seedvr2-image-upscale`,应用模型 ID 为
|
|
36
|
+
`fal-ai-seedvr2-image-upscale`。默认 JPG 输出不保证 alpha,因此画布预检会提示透明图改用专用模型。
|
|
37
|
+
已完成端点、字段钳制、单图限制、2×/4×预检和输出 MP 估价的离线测试;未执行真实付费生成。
|
|
38
|
+
|
|
39
|
+
## 一手资料
|
|
40
|
+
|
|
41
|
+
| 信息 | 链接 | 登录 |
|
|
42
|
+
|---|---|---|
|
|
43
|
+
| API 文档 | https://fal.ai/models/fal-ai/seedvr/upscale/image/api | 否 |
|
|
44
|
+
| OpenAPI | https://fal.ai/api/openapi/queue/openapi.json?endpoint_id=fal-ai/seedvr/upscale/image | 否 |
|
|
45
|
+
| API Key | https://fal.ai/dashboard/keys | 是 |
|