@henjicc/ai-sdk 0.6.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/CHANGELOG.md +45 -33
  2. package/README.md +60 -60
  3. package/dist/catalog/audio/tts-common.d.ts +5 -0
  4. package/dist/catalog/audio/tts-common.js +17 -0
  5. package/dist/catalog/bailian/cosyvoice-v3.5.model.d.ts +2 -0
  6. package/dist/catalog/bailian/cosyvoice-v3.5.model.js +40 -0
  7. package/dist/catalog/bailian/minimax-speech-2.8.model.d.ts +2 -0
  8. package/dist/catalog/bailian/minimax-speech-2.8.model.js +38 -0
  9. package/dist/catalog/bailian/qwen-audio-3.1-tts-flash.model.d.ts +2 -0
  10. package/dist/catalog/bailian/qwen-audio-3.1-tts-flash.model.js +35 -0
  11. package/dist/catalog/fal/eleven-v3-tts.model.d.ts +2 -0
  12. package/dist/catalog/fal/eleven-v3-tts.model.js +31 -0
  13. package/dist/catalog/fal/minimax-speech-2.8.model.d.ts +2 -0
  14. package/dist/catalog/fal/minimax-speech-2.8.model.js +39 -0
  15. package/dist/catalog/fal/qwen3-tts-1.7b.model.d.ts +2 -0
  16. package/dist/catalog/fal/qwen3-tts-1.7b.model.js +33 -0
  17. package/dist/catalog/index.js +116 -90
  18. package/dist/catalog/kie/eleven-turbo-2.5-tts.model.d.ts +2 -0
  19. package/dist/catalog/kie/eleven-turbo-2.5-tts.model.js +29 -0
  20. package/dist/catalog/kie/eleven-v3-dialogue.model.d.ts +2 -0
  21. package/dist/catalog/kie/eleven-v3-dialogue.model.js +46 -0
  22. package/dist/catalog/kie/gemini-3.1-flash-tts.model.d.ts +2 -0
  23. package/dist/catalog/kie/gemini-3.1-flash-tts.model.js +40 -0
  24. package/dist/catalog/ppio/minimax-speech.model.js +1 -3
  25. package/dist/catalog/siliconflow/cosyvoice2-tts.model.d.ts +2 -0
  26. package/dist/catalog/siliconflow/cosyvoice2-tts.model.js +27 -0
  27. package/dist/catalog/siliconflow/moss-ttsd-0.5.model.d.ts +2 -0
  28. package/dist/catalog/siliconflow/moss-ttsd-0.5.model.js +28 -0
  29. package/dist/catalog/volcengine-speech/seed-icl-2.0.model.d.ts +2 -0
  30. package/dist/catalog/volcengine-speech/seed-icl-2.0.model.js +26 -0
  31. package/dist/catalog/volcengine-speech/seed-tts-2.0.model.d.ts +2 -0
  32. package/dist/catalog/volcengine-speech/seed-tts-2.0.model.js +25 -0
  33. package/dist/packs/models/bailian/cosyvoice-v3.5.d.ts +6 -0
  34. package/dist/packs/models/bailian/cosyvoice-v3.5.js +7 -0
  35. package/dist/packs/models/bailian/minimax-speech-2.8.d.ts +6 -0
  36. package/dist/packs/models/bailian/minimax-speech-2.8.js +7 -0
  37. package/dist/packs/models/bailian/qwen-audio-3.1-tts-flash.d.ts +6 -0
  38. package/dist/packs/models/bailian/qwen-audio-3.1-tts-flash.js +7 -0
  39. package/dist/packs/models/fal/eleven-v3-tts.d.ts +6 -0
  40. package/dist/packs/models/fal/eleven-v3-tts.js +7 -0
  41. package/dist/packs/models/fal/minimax-speech-2.8.d.ts +6 -0
  42. package/dist/packs/models/fal/minimax-speech-2.8.js +7 -0
  43. package/dist/packs/models/fal/qwen3-tts-1.7b.d.ts +6 -0
  44. package/dist/packs/models/fal/qwen3-tts-1.7b.js +7 -0
  45. package/dist/packs/models/kie/eleven-turbo-2.5-tts.d.ts +6 -0
  46. package/dist/packs/models/kie/eleven-turbo-2.5-tts.js +7 -0
  47. package/dist/packs/models/kie/eleven-v3-dialogue.d.ts +6 -0
  48. package/dist/packs/models/kie/eleven-v3-dialogue.js +7 -0
  49. package/dist/packs/models/kie/gemini-3.1-flash-tts.d.ts +6 -0
  50. package/dist/packs/models/kie/gemini-3.1-flash-tts.js +7 -0
  51. package/dist/packs/models/siliconflow/cosyvoice2-tts.d.ts +6 -0
  52. package/dist/packs/models/siliconflow/cosyvoice2-tts.js +7 -0
  53. package/dist/packs/models/siliconflow/moss-ttsd-0.5.d.ts +6 -0
  54. package/dist/packs/models/siliconflow/moss-ttsd-0.5.js +7 -0
  55. package/dist/packs/models/volcengine-speech/seed-icl-2.0.d.ts +6 -0
  56. package/dist/packs/models/volcengine-speech/seed-icl-2.0.js +7 -0
  57. package/dist/packs/models/volcengine-speech/seed-tts-2.0.d.ts +6 -0
  58. package/dist/packs/models/volcengine-speech/seed-tts-2.0.js +7 -0
  59. package/dist/packs/provider-adapters/siliconflow.d.ts +3 -0
  60. package/dist/packs/provider-adapters/siliconflow.js +5 -0
  61. package/dist/packs/provider-adapters/volcengine-speech.d.ts +3 -0
  62. package/dist/packs/provider-adapters/volcengine-speech.js +5 -0
  63. package/dist/packs/provider-packs/bailian.d.ts +1 -1
  64. package/dist/packs/provider-packs/bailian.js +6 -3
  65. package/dist/packs/provider-packs/fal.d.ts +1 -1
  66. package/dist/packs/provider-packs/fal.js +41 -38
  67. package/dist/packs/provider-packs/kie.d.ts +1 -1
  68. package/dist/packs/provider-packs/kie.js +33 -30
  69. package/dist/packs/provider-packs/siliconflow.d.ts +4 -0
  70. package/dist/packs/provider-packs/siliconflow.js +7 -0
  71. package/dist/packs/provider-packs/volcengine-speech.d.ts +4 -0
  72. package/dist/packs/provider-packs/volcengine-speech.js +7 -0
  73. package/dist/providers/audio-data.d.ts +2 -0
  74. package/dist/providers/audio-data.js +21 -0
  75. package/dist/providers/bailian.js +30 -2
  76. package/dist/providers/index.d.ts +1 -0
  77. package/dist/providers/index.js +5 -0
  78. package/dist/providers/metadata.js +8 -0
  79. package/dist/providers/siliconflow.d.ts +3 -0
  80. package/dist/providers/siliconflow.js +34 -0
  81. package/dist/providers/tts-voices.d.ts +9 -0
  82. package/dist/providers/tts-voices.js +139 -0
  83. package/dist/providers/volcengine-speech.d.ts +3 -0
  84. package/dist/providers/volcengine-speech.js +143 -0
  85. package/dist/types/model.d.ts +4 -4
  86. package/dist/types/model.js +3 -1
  87. package/docs/consumers.md +130 -119
  88. package/docs/llm-adaptation/README.md +29 -29
  89. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/DeepSeek.md +14 -14
  90. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206/Kimi.md +3 -3
  91. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//345/260/217/347/261/263MiMo.md +42 -42
  92. package/docs/llm-adaptation//344/276/233/345/272/224/345/225/206//346/231/272/350/260/261GLM.md +3 -3
  93. package/docs/model-adaptation/Fun-ASR-Realtime/Fun-ASR-Realtime_/347/231/276/347/202/274.md +22 -22
  94. package/docs/model-adaptation/GLM-5.3-Flash/GLM-5.3-Flash_/346/231/272/350/260/261.md +6 -6
  95. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_APIMart.md +66 -66
  96. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Fal.md +55 -55
  97. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_Grsai.md +53 -53
  98. package/docs/model-adaptation/GPT-Image-2.5/GPT-Image-2.5_KIE.md +55 -55
  99. package/docs/model-adaptation/HappyHorse-1.1/HappyHorse-1.1_KIE.md +27 -27
  100. package/docs/model-adaptation/IC-Light-v2/IC-Light-v2_Fal.md +14 -14
  101. package/docs/model-adaptation/Qwen-MT-Flash/Qwen-MT-Flash_/347/231/276/347/202/274.md +24 -24
  102. package/docs/model-adaptation/Qwen-MT-Lite/Qwen-MT-Lite_/347/231/276/347/202/274.md +3 -3
  103. package/docs/model-adaptation/Qwen-MT-Plus/Qwen-MT-Plus_/347/231/276/347/202/274.md +3 -3
  104. package/docs/model-adaptation/Qwen3-ASR-Flash-Realtime/Qwen3-ASR-Flash-Realtime_/347/231/276/347/202/274.md +25 -25
  105. package/docs/model-adaptation/README.md +16 -10
  106. 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 +7 -7
  107. 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
  108. package/docs/model-adaptation/TTS-/345/244/232/344/276/233/345/272/224/345/225/206-2026-09.md +69 -0
  109. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//346/264/276/346/254/247/344/272/221.md +9 -9
  110. 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 +11 -11
  111. package/docs/model-adaptation//344/276/233/345/272/224/345/225/206//347/231/276/347/202/274.md +31 -31
  112. 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 +67 -67
  113. package/docs/model-adaptation//346/226/207/346/241/243/351/207/207/351/233/206/346/211/213/345/206/214.md +8 -8
  114. package/examples/form-renderer/package.json +1 -1
  115. package/examples/llm-chat/README.md +8 -8
  116. package/examples/llm-chat/index.ts +1 -1
  117. package/examples/llm-chat/package.json +1 -1
  118. package/examples/minimal-node/package.json +1 -1
  119. package/package.json +258 -258
@@ -2,7 +2,7 @@
2
2
 
3
3
  | 项目 | 内容 |
4
4
  |---|---|
5
- | 最后更新 | 2026-09-10 |
5
+ | 最后更新 | 2026-09-10 |
6
6
  | 模态 | 图片编辑 / 重打光 |
7
7
  | 供应商 | fal.ai(聚合平台) |
8
8
  | 平台模型 ID | `fal-ai/iclight-v2` |
@@ -30,20 +30,20 @@ IC-Light v2 接收一张源图,通过文字描述和离散的初始光照偏
30
30
  | `prompt` | string | 是 | — | 由手动模式提示词编译器生成 |
31
31
  | `image_url` | string | 是 | — | 恰好一张源图,由现有 Fal 上传链路提供 |
32
32
  | `initial_latent` | enum | 否 | `None` | 仅 `None` / `Left` / `Right` / `Top` / `Bottom` |
33
- | `image_size` | enum/object | 否 | — | 按源图实际比例计算约 1MP 自定义整数宽高,不吸附到预设比例;两边均为 1–14142 |
33
+ | `image_size` | enum/object | 否 | — | 按源图实际比例计算约 1MP 自定义整数宽高,不吸附到预设比例;两边均为 1–14142 |
34
34
  | `num_images` | integer | 否 | `1` | 固定 `1` |
35
35
  | `num_inference_steps` | integer | 否 | `28` | 固定 `28` |
36
- | `cfg` | number | 否 | `1` | 固定 `1`,范围 0.01–5;旧文档的 `cfg_scale` 不属于官方字段 |
36
+ | `cfg` | number | 否 | `1` | 固定 `1`,范围 0.01–5;旧文档的 `cfg_scale` 不属于官方字段 |
37
37
  | `guidance_scale` | number | 否 | `5` | 固定 `5` |
38
38
  | `lowres_denoise` | number | 否 | `0.98` | 固定 `0.98` |
39
39
  | `highres_denoise` | number | 否 | `0.95` | 固定 `0.95` |
40
- | `hr_downscale` | number | 否 | `0.5` | 固定 `0.5`,范围 0.01–1;旧文档的 `highres_scale` 不属于官方字段 |
40
+ | `hr_downscale` | number | 否 | `0.5` | 固定 `0.5`,范围 0.01–1;旧文档的 `highres_scale` 不属于官方字段 |
41
41
  | `enable_hr_fix` | boolean | 否 | `false` | 固定 `false`,首版避免额外成本与时延 |
42
42
  | `enable_safety_checker` | boolean | 否 | `true` | 固定 `true` |
43
- | `mask_image_url` | string | 否 | — | 首版不开放 |
43
+ | `mask_image_url` | string | 否 | — | 首版不开放 |
44
44
  | `negative_prompt` | string | 否 | — | 不展示、不发送 |
45
45
  | `seed` | integer | 否 | — | 不展示、不发送 |
46
- | `output_format` | enum | 否 | `jpeg` | 不展示、不发送,沿用供应商默认 |
46
+ | `output_format` | enum | 否 | `jpeg` | 不展示、不发送,沿用供应商默认 |
47
47
 
48
48
  ## 4. 请求示例
49
49
 
@@ -52,14 +52,14 @@ IC-Light v2 接收一张源图,通过文字描述和离散的初始光照偏
52
52
  "prompt": "Preserve the subject and composition. Apply a soft warm key light from the left.",
53
53
  "image_url": "https://.../source.png",
54
54
  "initial_latent": "Left",
55
- "image_size": { "width": 1365, "height": 768 },
55
+ "image_size": { "width": 1365, "height": 768 },
56
56
  "num_images": 1,
57
57
  "num_inference_steps": 28,
58
- "cfg": 1,
58
+ "cfg": 1,
59
59
  "guidance_scale": 5,
60
60
  "lowres_denoise": 0.98,
61
61
  "highres_denoise": 0.95,
62
- "hr_downscale": 0.5,
62
+ "hr_downscale": 0.5,
63
63
  "enable_hr_fix": false,
64
64
  "enable_safety_checker": true
65
65
  }
@@ -70,17 +70,17 @@ IC-Light v2 接收一张源图,通过文字描述和离散的初始光照偏
70
70
  ```json
71
71
  {
72
72
  "images": [
73
- { "url": "https://...", "width": 1365, "height": 768, "content_type": "image/jpeg" }
73
+ { "url": "https://...", "width": 1365, "height": 768, "content_type": "image/jpeg" }
74
74
  ]
75
75
  }
76
76
  ```
77
77
 
78
78
  Fal 模型页公开价格为 **$0.10/百万像素**。首版固定约 1MP、单张输出,目录保守估算为 **$0.10/次**。实际账单仍以 Fal 返回和账户账单为准,登录后的额度、地区可用性与最终账单尚待真实验证。
79
79
 
80
- ## 6. 错误与降级
81
-
82
- - 2026-09-10 重核官方 OpenAPI:自定义宽高合法,不存在只能选择五种比例的限制。旧代码把约 2:3 原图选成约 3:4 输出,属于本地请求尺寸策略错误;改为直接使用源图比例,仅有整数像素舍入误差。上传原图和下载结果不作非等比拉伸,也不为预设比例额外裁切。Fal 内部如何变换图像未在公开 schema 中说明,不能把输出人物变化全部归因于本地缩放。
83
- - 亮度、色调和轮廓光只有提示词意图,没有对应数值 API 字段;颜色传达正确不代表生成结果能精确还原预览。手动提示词将主光颜色放在开头,并明确彩色光照射主体,仍需真实生成评估效果。
80
+ ## 6. 错误与降级
81
+
82
+ - 2026-09-10 重核官方 OpenAPI:自定义宽高合法,不存在只能选择五种比例的限制。旧代码把约 2:3 原图选成约 3:4 输出,属于本地请求尺寸策略错误;改为直接使用源图比例,仅有整数像素舍入误差。上传原图和下载结果不作非等比拉伸,也不为预设比例额外裁切。Fal 内部如何变换图像未在公开 schema 中说明,不能把输出人物变化全部归因于本地缩放。
83
+ - 亮度、色调和轮廓光只有提示词意图,没有对应数值 API 字段;颜色传达正确不代表生成结果能精确还原预览。手动提示词将主光颜色放在开头,并明确彩色光照射主体,仍需真实生成评估效果。
84
84
 
85
85
  - 缺少源图或源图超过一张:在请求构建前失败,不提交任务。
86
86
  - Fal 凭据、端点或余额不可用:显示明确失败,不自动切换模型。
@@ -2,7 +2,7 @@
2
2
 
3
3
  | 项目 | 内容 |
4
4
  |---|---|
5
- | 最后更新 | 2026-09-24 |
5
+ | 最后更新 | 2026-09-24 |
6
6
  | 能力 | 文本翻译(增量流式 / 非流式) |
7
7
  | 平台模型 ID | `qwen-mt-flash` |
8
8
  | 地域 | 北京、新加坡、美国(弗吉尼亚)、德国(法兰克福);以区域模型实际开通为准 |
@@ -35,34 +35,34 @@ Authorization: Bearer <API Key>
35
35
  - 按需入口:`@henjicc/ai-sdk/capabilities/translation/bailian`,工厂 `createQwenMtFlashTranslationModule()`。
36
36
  - 默认走 OpenAI 兼容 Chat Completions 并开启 SSE;将官方增量块统一成 `delta(mode=append)`,最终输出完整 `item`,Token 计入 `usage`。
37
37
  - Say-It 当前保存的常用语言代码会先映射为官方英文语言名;术语表映射到 `terms`,翻译记忆映射到 `tm_list`,通用 `context` 映射到英文领域提示 `domains`。
38
- - 未核实的独立最大输出数不设默认值,也不发送 `max_tokens`。当前只有官方示例 fixture/单测证据,尚无真实付费请求证据。
39
-
40
- ### 三模型共享事件契约与回归矩阵(2026-09-24)
41
-
42
- 本节只复核响应及生命周期,价格和输入上限未重新调研。依据同页 OpenAI 兼容 API 的流式/非流式响应定义:Flash/Lite 增量、Plus 累积;生成中 `finish_reason=null`,自然结束为 `stop`,长度截断为 `length`。官方样例包含空首帧、两次相同 `stop` 帧及 `choices=[]` 用量帧。
43
-
44
- | 事件/序列 | SDK 行为 | 回归依据 |
45
- |---|---|---|
46
- | 空 `content` 中间块、连续增量/累积内容 | 等待或更新部分结果,不报失败 | 官方 fixture;既有三模型测试 |
47
- | 重复 `stop` + 独立 usage + DONE/正常 EOF | 只产出一次完整 item;累计模型重复最终快照不重复追加 | fixture 补齐官方重复结束块;生命周期测试 |
48
- | 空 `choices` 且有用量 | 用量通知,不作为完成依据 | 官方 usage 块 |
49
- | 部分结果后 DONE/EOF、末块无空行 | 缺少可分发最终块时报 `provider_response_invalid`;不补造 SSE 空行 | 删除结束块/截断分隔符的受控变异 |
50
- | `length`(流式及非流式) | `provider_task_failed`,details 保留 `finishReason=length`;不把截断译文作为完整 item | 官方枚举的受控变异 |
51
- | 缺少 choices/content/结束原因,字段错类型,最终内容继续变化 | 明确拒绝,不作为空状态通知跳过 | 从官方结果块移除或替换字段 |
52
- | 错误对象缺少 code、SSE `event:error`、HTTP 错误 | 明确失败,保留实际模型/协议/阶段及安全错误码;不默认输出原始 message | 错误 envelope 的受控注入 |
53
- | 未知具名 SSE 扩展事件 | 不提供成功或失败依据;继续等已知协议结果 | 扩展通知 + 正常/缺失结束序列 |
54
- | 取消、断流、回调失败、DONE 后连接未关闭 | 中止或失败,取消剩余流并释放锁;取消后不再发送 item/completed | Mock 流与取消回放 |
55
-
56
- `content` 必须是字符串,但不凭经验添加“最终译文必须非空”的限制;空输入本地短路仍受取消约束。SSE 分帧与聊天共用 `src/protocols/sse-events.ts`,结果校验和增量/累积语义保持在各适配器内。
57
-
58
- 证据:`tests/fixtures/bailian-translation/official-qwen-mt-examples.json`、`tests/bailian-qwen-mt.test.ts`、`tests/bailian-qwen-mt-lifecycle.test.ts`。负例是明确标注的受控变异,不声称来自真实付费请求。
38
+ - 未核实的独立最大输出数不设默认值,也不发送 `max_tokens`。当前只有官方示例 fixture/单测证据,尚无真实付费请求证据。
39
+
40
+ ### 三模型共享事件契约与回归矩阵(2026-09-24)
41
+
42
+ 本节只复核响应及生命周期,价格和输入上限未重新调研。依据同页 OpenAI 兼容 API 的流式/非流式响应定义:Flash/Lite 增量、Plus 累积;生成中 `finish_reason=null`,自然结束为 `stop`,长度截断为 `length`。官方样例包含空首帧、两次相同 `stop` 帧及 `choices=[]` 用量帧。
43
+
44
+ | 事件/序列 | SDK 行为 | 回归依据 |
45
+ |---|---|---|
46
+ | 空 `content` 中间块、连续增量/累积内容 | 等待或更新部分结果,不报失败 | 官方 fixture;既有三模型测试 |
47
+ | 重复 `stop` + 独立 usage + DONE/正常 EOF | 只产出一次完整 item;累计模型重复最终快照不重复追加 | fixture 补齐官方重复结束块;生命周期测试 |
48
+ | 空 `choices` 且有用量 | 用量通知,不作为完成依据 | 官方 usage 块 |
49
+ | 部分结果后 DONE/EOF、末块无空行 | 缺少可分发最终块时报 `provider_response_invalid`;不补造 SSE 空行 | 删除结束块/截断分隔符的受控变异 |
50
+ | `length`(流式及非流式) | `provider_task_failed`,details 保留 `finishReason=length`;不把截断译文作为完整 item | 官方枚举的受控变异 |
51
+ | 缺少 choices/content/结束原因,字段错类型,最终内容继续变化 | 明确拒绝,不作为空状态通知跳过 | 从官方结果块移除或替换字段 |
52
+ | 错误对象缺少 code、SSE `event:error`、HTTP 错误 | 明确失败,保留实际模型/协议/阶段及安全错误码;不默认输出原始 message | 错误 envelope 的受控注入 |
53
+ | 未知具名 SSE 扩展事件 | 不提供成功或失败依据;继续等已知协议结果 | 扩展通知 + 正常/缺失结束序列 |
54
+ | 取消、断流、回调失败、DONE 后连接未关闭 | 中止或失败,取消剩余流并释放锁;取消后不再发送 item/completed | Mock 流与取消回放 |
55
+
56
+ `content` 必须是字符串,但不凭经验添加“最终译文必须非空”的限制;空输入本地短路仍受取消约束。SSE 分帧与聊天共用 `src/protocols/sse-events.ts`,结果校验和增量/累积语义保持在各适配器内。
57
+
58
+ 证据:`tests/fixtures/bailian-translation/official-qwen-mt-examples.json`、`tests/bailian-qwen-mt.test.ts`、`tests/bailian-qwen-mt-lifecycle.test.ts`。负例是明确标注的受控变异,不声称来自真实付费请求。
59
59
 
60
60
  ## 5. 原始链接索引
61
61
 
62
62
  | 信息 | 链接 | 登录 |
63
63
  |---|---|---|
64
- | API/请求/响应 | https://help.aliyun.com/zh/model-studio/qwen-mt-api | 否 |
65
- | SSE 分帧与 EOF | https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation | 否 |
64
+ | API/请求/响应 | https://help.aliyun.com/zh/model-studio/qwen-mt-api | 否 |
65
+ | SSE 分帧与 EOF | https://html.spec.whatwg.org/multipage/server-sent-events.html#event-stream-interpretation | 否 |
66
66
  | 选型/语言/限制 | https://help.aliyun.com/zh/model-studio/machine-translation | 否(本次访问触发验证码,未取正文) |
67
67
  | 价格 | https://help.aliyun.com/zh/model-studio/model-pricing | 否 |
68
68
  | API Key | https://bailian.console.aliyun.com/?apiKey=1#/api-key | **是** |
@@ -2,7 +2,7 @@
2
2
 
3
3
  | 项目 | 内容 |
4
4
  |---|---|
5
- | 最后更新 | 2026-09-24 |
5
+ | 最后更新 | 2026-09-24 |
6
6
  | 能力 | 文本翻译(增量流式 / 非流式) |
7
7
  | 平台模型 ID | `qwen-mt-lite` |
8
8
  | 地域 | 北京、新加坡、美国(弗吉尼亚)、德国(法兰克福);以实际开通为准 |
@@ -27,8 +27,8 @@ OpenAI 兼容 `POST /compatible-mode/v1/chat/completions` 或 DashScope `POST /a
27
27
  - 按需入口:`@henjicc/ai-sdk/capabilities/translation/bailian`,工厂 `createQwenMtLiteTranslationModule()`。
28
28
  - 默认走 OpenAI 兼容 SSE;官方增量块归一为追加事件,使用 SDK 自带 UTF-8 增量解码器,不要求 UXP 等宿主提供 `TextDecoder`。
29
29
  - 支持 usage、术语、翻译记忆、领域提示、Say-It 常用语言代码兼容;密钥、原文和译文不写入结构化日志。
30
- - 未核实的独立最大输出数不设默认值,也不发送 `max_tokens`。当前只有官方示例 fixture/单测证据,尚无真实付费请求证据。
31
- - 2026-09-24 复核结束语义、合法空帧、用量、错误、截断及取消;详见 [三模型共享事件契约与回归矩阵](../Qwen-MT-Flash/Qwen-MT-Flash_百炼.md#三模型共享事件契约与回归矩阵2026-09-24)。Lite 保持增量拼接,错误诊断保留实际 `qwen-mt-lite` 模型名。
30
+ - 未核实的独立最大输出数不设默认值,也不发送 `max_tokens`。当前只有官方示例 fixture/单测证据,尚无真实付费请求证据。
31
+ - 2026-09-24 复核结束语义、合法空帧、用量、错误、截断及取消;详见 [三模型共享事件契约与回归矩阵](../Qwen-MT-Flash/Qwen-MT-Flash_百炼.md#三模型共享事件契约与回归矩阵2026-09-24)。Lite 保持增量拼接,错误诊断保留实际 `qwen-mt-lite` 模型名。
32
32
 
33
33
  ## 4. 原始链接索引
34
34
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  | 项目 | 内容 |
4
4
  |---|---|
5
- | 最后更新 | 2026-09-24 |
5
+ | 最后更新 | 2026-09-24 |
6
6
  | 能力 | 文本翻译(非流式 / 累积流式) |
7
7
  | 平台模型 ID | `qwen-mt-plus` |
8
8
  | 地域 | 北京、新加坡、美国(弗吉尼亚)、德国(法兰克福);以实际开通为准 |
@@ -27,8 +27,8 @@ OpenAI 兼容 `POST /compatible-mode/v1/chat/completions` 或 DashScope `POST /a
27
27
  - 按需入口:`@henjicc/ai-sdk/capabilities/translation/bailian`,工厂 `createQwenMtPlusTranslationModule()`。
28
28
  - 默认走 OpenAI 兼容 SSE;SDK 对官方累积序列计算前缀差,正常情况统一发 `delta(mode=append)`,供应商改写既有前缀时明确发 `mode=replace`,最终 `item` 始终是完整译文。
29
29
  - 支持单条/带稳定 id 的批量输入、usage 汇总、术语、翻译记忆、领域提示以及 Say-It 常用语言代码兼容。
30
- - 未核实的独立最大输出数不设默认值,也不发送 `max_tokens`。当前只有官方示例 fixture/单测证据,尚无真实付费请求证据。
31
- - 2026-09-24 复核结束语义、合法空帧、重复最终快照、用量、错误、截断及取消;详见 [三模型共享事件契约与回归矩阵](../Qwen-MT-Flash/Qwen-MT-Flash_百炼.md#三模型共享事件契约与回归矩阵2026-09-24)。Plus 仍按累积快照计算变化;只有 `stop` 才交付完整 item,`length` 明确报告截断。
30
+ - 未核实的独立最大输出数不设默认值,也不发送 `max_tokens`。当前只有官方示例 fixture/单测证据,尚无真实付费请求证据。
31
+ - 2026-09-24 复核结束语义、合法空帧、重复最终快照、用量、错误、截断及取消;详见 [三模型共享事件契约与回归矩阵](../Qwen-MT-Flash/Qwen-MT-Flash_百炼.md#三模型共享事件契约与回归矩阵2026-09-24)。Plus 仍按累积快照计算变化;只有 `stop` 才交付完整 item,`length` 明确报告截断。
32
32
 
33
33
  ## 4. 原始链接索引
34
34
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  | 项目 | 内容 |
4
4
  |---|---|
5
- | 最后更新 | 2026-09-24 |
5
+ | 最后更新 | 2026-09-24 |
6
6
  | 能力 | 实时语音识别(WebSocket,VAD/Manual) |
7
7
  | 平台模型 ID | `qwen3-asr-flash-realtime`(稳定别名,官方当前等同 `qwen3-asr-flash-realtime-2025-10-27`) |
8
8
  | 地域 | 华北2(北京)、新加坡 |
@@ -24,30 +24,30 @@
24
24
 
25
25
  稳定别名与 2026-02-10 快照并列注册;不把官方当前指向的 2025-10-27 快照写死到请求构建器。该序列与 Fun-ASR 事件序列分开实现。
26
26
 
27
- ## 4. 服务端事件矩阵(稳定别名与 2026-02-10 快照共用)
28
-
29
- 2026-09-24 核对官方服务端事件页,字段表构造样本见 `tests/fixtures/bailian/asr-realtime-qwen.json`。ID 和文本均为固定占位;删字段、改类型为测试中的 synthetic-negative,不代表真实供应商响应。
30
-
31
- | 事件 | 前置阶段与字段语义 | 迁移 / 输出 | 结束与资源 |
32
- |---|---|---|---|
33
- | `session.created` | opening;服务端默认 session,可含 null 配置 | 发送 update,等待 ready;不输出文字 | 继续 |
34
- | `session.updated` | opening;update 成功确认 | active,通知 started | 继续 |
35
- | `input_audio_buffer.speech_started` | VAD 检测语音;item_id 字符串、audio_start_ms 非负整数 | 已知状态通知,无文本 | 继续 |
36
- | `input_audio_buffer.speech_stopped` | VAD 停止语音;item_id 字符串、audio_end_ms 非负整数 | 已知状态通知,不当作 final | 继续 |
37
- | `input_audio_buffer.committed` | 音频提交确认;item_id 字符串 | 已知通知,不代替识别结果 | 继续 |
38
- | `conversation.item.created` | item 含 input_audio,transcript 固定为 null | 已知通知;item.status=completed 不等于识别完成 | 继续 |
39
- | `conversation.item.input_audio_transcription.text` | active/finishing;text/stash 均为字符串,任一可为空 | 原样 text + stash 作为 partial,不能分别 trim 破坏单词边界 | 继续 |
40
- | `conversation.item.input_audio_transcription.completed` | active/finishing;transcript 字符串 | final;不以未定义的 text 字段替代缺失 transcript | 句终态,仍等待会话结束 |
41
- | `conversation.item.input_audio_transcription.failed` | 某 item 识别失败;error.code/message | provider_task_failed,保留 code,不默认暴露完整 message | 失败并释放 |
42
- | `error` | 任一阶段;服务端或输入错误 | 同上,不能作为空事件忽略 | 失败并释放 |
43
- | `session.finished` | 仅客户端 finish 后;本事件无需 transcript | finishing → finished;使用累计 final,无有效 final 则 invalid_response | 主动断开,不复用 |
44
- | 有名未知事件 | 官方未定义扩展语义 | unknown 警告,不生成完成或文本 | 等待已有协议终态 |
45
- | 缺失 type / 错类型 / 无效必要结果字段 | 不能判定合法事件 | invalid_response,包含实际 model/protocol/阶段 | 失败并释放 |
46
- | 提前断开 / 取消 | 任一未完成阶段;无协议恢复事件 | 断连错误或取消,不当正常完成 | 关闭连接 |
47
-
48
- 官方展示了 text 空而 stash 非空、以及相反的中间状态,未提供两者同时为空的有效结果示例;本次不据推测放宽该边界。现有 SDK 对有效 final 的要求仍是非空 transcript。状态通知不能掩盖缺失必要状态字段;不把所有未知扩展视为错误。错误诊断仅包含模型、协议、阶段、事件类型与供应商代码,不包含密钥、音频和完整识别/错误正文。
49
-
50
- ## 5. 原始链接索引
27
+ ## 4. 服务端事件矩阵(稳定别名与 2026-02-10 快照共用)
28
+
29
+ 2026-09-24 核对官方服务端事件页,字段表构造样本见 `tests/fixtures/bailian/asr-realtime-qwen.json`。ID 和文本均为固定占位;删字段、改类型为测试中的 synthetic-negative,不代表真实供应商响应。
30
+
31
+ | 事件 | 前置阶段与字段语义 | 迁移 / 输出 | 结束与资源 |
32
+ |---|---|---|---|
33
+ | `session.created` | opening;服务端默认 session,可含 null 配置 | 发送 update,等待 ready;不输出文字 | 继续 |
34
+ | `session.updated` | opening;update 成功确认 | active,通知 started | 继续 |
35
+ | `input_audio_buffer.speech_started` | VAD 检测语音;item_id 字符串、audio_start_ms 非负整数 | 已知状态通知,无文本 | 继续 |
36
+ | `input_audio_buffer.speech_stopped` | VAD 停止语音;item_id 字符串、audio_end_ms 非负整数 | 已知状态通知,不当作 final | 继续 |
37
+ | `input_audio_buffer.committed` | 音频提交确认;item_id 字符串 | 已知通知,不代替识别结果 | 继续 |
38
+ | `conversation.item.created` | item 含 input_audio,transcript 固定为 null | 已知通知;item.status=completed 不等于识别完成 | 继续 |
39
+ | `conversation.item.input_audio_transcription.text` | active/finishing;text/stash 均为字符串,任一可为空 | 原样 text + stash 作为 partial,不能分别 trim 破坏单词边界 | 继续 |
40
+ | `conversation.item.input_audio_transcription.completed` | active/finishing;transcript 字符串 | final;不以未定义的 text 字段替代缺失 transcript | 句终态,仍等待会话结束 |
41
+ | `conversation.item.input_audio_transcription.failed` | 某 item 识别失败;error.code/message | provider_task_failed,保留 code,不默认暴露完整 message | 失败并释放 |
42
+ | `error` | 任一阶段;服务端或输入错误 | 同上,不能作为空事件忽略 | 失败并释放 |
43
+ | `session.finished` | 仅客户端 finish 后;本事件无需 transcript | finishing → finished;使用累计 final,无有效 final 则 invalid_response | 主动断开,不复用 |
44
+ | 有名未知事件 | 官方未定义扩展语义 | unknown 警告,不生成完成或文本 | 等待已有协议终态 |
45
+ | 缺失 type / 错类型 / 无效必要结果字段 | 不能判定合法事件 | invalid_response,包含实际 model/protocol/阶段 | 失败并释放 |
46
+ | 提前断开 / 取消 | 任一未完成阶段;无协议恢复事件 | 断连错误或取消,不当正常完成 | 关闭连接 |
47
+
48
+ 官方展示了 text 空而 stash 非空、以及相反的中间状态,未提供两者同时为空的有效结果示例;本次不据推测放宽该边界。现有 SDK 对有效 final 的要求仍是非空 transcript。状态通知不能掩盖缺失必要状态字段;不把所有未知扩展视为错误。错误诊断仅包含模型、协议、阶段、事件类型与供应商代码,不包含密钥、音频和完整识别/错误正文。
49
+
50
+ ## 5. 原始链接索引
51
51
 
52
52
  | 信息 | 链接 | 登录 |
53
53
  |---|---|---|
@@ -5,27 +5,33 @@
5
5
 
6
6
  | 项目 | 内容 |
7
7
  |---|---|
8
- | 最后更新 | 2026-09-24 |
8
+ | 最后更新 | 2026-09-27 |
9
9
  | 模型数量 | 生成主清单 20(图片 11 / 视频 9)+ 主清单外存量 12 + SDK 跨项目能力模型 20(ASR 15 / 翻译 3 / LLM 2) |
10
10
  | 模型供应商文档数量 | 生成/存量 84 + SDK 跨项目能力 20(另有 Fal 工具 12) |
11
11
  | 覆盖供应商 | 火山引擎(官方生成/ASR)、百炼(官方)、硅基流动(官方 ASR)、智谱(官方 LLM)、Groq(官方 LLM/ASR)、APIMart、KIE、Fal、派欧云、魔搭、Grsai |
12
12
 
13
- 另有 12 个按能力按需分发的 Fal 图像工具,不进入默认 111 模型兼容目录:
13
+ 另有 12 个按能力按需分发的 Fal 图像工具,不进入默认 124 模型兼容目录:
14
14
 
15
15
  - 消除:[Flux Pro Erase](Flux-Pro-Erase/Flux-Pro-Erase_Fal.md)、[Bria Eraser](Bria-Eraser/Bria-Eraser_Fal.md)、[Finegrain Eraser](Finegrain-Eraser/Finegrain-Eraser_Fal.md)。
16
16
  - 图片实用工具:[Image Apps v2 重打光](Image-Apps-v2-重打光/Image-Apps-v2-重打光_Fal.md)、[ControlLight](ControlLight/ControlLight_Fal.md)、[Image Apps v2 扩图](Image-Apps-v2-扩图/Image-Apps-v2-扩图_Fal.md)、[Image Apps v2 商品摄影](Image-Apps-v2-商品摄影/Image-Apps-v2-商品摄影_Fal.md)、[Image Apps v2 照片修复](Image-Apps-v2-照片修复/Image-Apps-v2-照片修复_Fal.md)、[Pixelcut 背景移除](Pixelcut-背景移除/Pixelcut-背景移除_Fal.md)。
17
17
  - 多角度:[Qwen Image Edit 2511 多角度](Qwen-Image-Edit-2511-多角度/Qwen-Image-Edit-2511-多角度_Fal.md)、[透视变换](透视变换/透视变换_Fal.md)、[FLUX 2 多角度](FLUX-2-多角度/FLUX-2-多角度_Fal.md)。
18
18
 
19
- 工具均复用 Fal 队列、上传与结果解析;它们是独立的按需 SDK 入口,不是新的执行内核。Henji-AI 运行客户端显式装载三个 pack,但普通模型选择器仍固定为 111 个默认模型:六个图片实用工具通过图片能力菜单创建固定模型节点,三个多角度工具由专用多角度节点选择,消除工具保留给后续遮罩能力接入。真实质量、延迟和账单仍待获得付费授权后验证。
20
-
21
- ## 2026-09-24 已适配更新
19
+ 工具均复用 Fal 队列、上传与结果解析;它们是独立的按需 SDK 入口,不是新的执行内核。Henji-AI 运行客户端显式装载三个 pack,但普通模型选择器为 124 个默认模型:六个图片实用工具通过图片能力菜单创建固定模型节点,三个多角度工具由专用多角度节点选择,消除工具保留给后续遮罩能力接入。真实质量、延迟和账单仍待获得付费授权后验证。
20
+
21
+ ## 2026-09-27 TTS 适配
22
22
 
23
- - [HappyHorse 1.1 · KIE](HappyHorse-1.1/HappyHorse-1.1_KIE.md):文生、图生与多图参考。
24
- - [Seedream 5.0 Flash · 火山方舟](Seedream-5.0-Flash/Seedream-5.0-Flash_火山引擎.md):生成、编辑与图层拆分。
25
- - [GLM Flash / FlashX](GLM-5.3-Flash/GLM-5.3-Flash_智谱.md):新增 FlashX 与 JSON 契约。
26
- - [百炼 ASR](供应商/百炼.md):新增 Qwen-Audio 3.1 三种语音识别协议预设。
27
- - [MiMo 2.6 与 Responses](../llm-adaptation/供应商/小米MiMo.md)、[Kimi 缓存价格](../llm-adaptation/供应商/Kimi.md)。
23
+ [TTS 多供应商适配契约](TTS-多供应商-2026-09.md):新增 13 个文字转语音模型,覆盖 Fal、百炼、KIE、硅基流动与火山语音;派欧云 MiniMax Speech 2.8 继续使用已有接入。记录官方接口、价格、音色前提、流式响应和测试样本来源。
28
24
 
25
+ 2026-09-27 补充官方音色目录及账号查询接口:Qwen Audio 3.1、Seed-TTS 2.0 使用核对后的预置清单;百炼 MiniMax / Qwen / CosyVoice 与硅基流动 CosyVoice2 支持按账号查询可用音色。接口字段、适用模型和不可查询渠道的边界见上方契约。
26
+
27
+ ## 2026-09-24 已适配更新
28
+
29
+ - [HappyHorse 1.1 · KIE](HappyHorse-1.1/HappyHorse-1.1_KIE.md):文生、图生与多图参考。
30
+ - [Seedream 5.0 Flash · 火山方舟](Seedream-5.0-Flash/Seedream-5.0-Flash_火山引擎.md):生成、编辑与图层拆分。
31
+ - [GLM Flash / FlashX](GLM-5.3-Flash/GLM-5.3-Flash_智谱.md):新增 FlashX 与 JSON 契约。
32
+ - [百炼 ASR](供应商/百炼.md):新增 Qwen-Audio 3.1 三种语音识别协议预设。
33
+ - [MiMo 2.6 与 Responses](../llm-adaptation/供应商/小米MiMo.md)、[Kimi 缓存价格](../llm-adaptation/供应商/Kimi.md)。
34
+
29
35
  ## 一、目录结构约定
30
36
 
31
37
  ### 文本 Embedding / Rerank(2026-09-11)
@@ -2,7 +2,7 @@
2
2
 
3
3
  | 项目 | 内容 |
4
4
  |---|---|
5
- | 最后更新 | 2026-09-24 |
5
+ | 最后更新 | 2026-09-24 |
6
6
  | 能力 | 双向实时语音识别(二进制 WebSocket) |
7
7
  | SDK `modelId` | `seedasr-2.0-realtime` |
8
8
  | 火山请求模型 | `request.model_name="bigmodel"` + 2.0 资源 ID `volc.seedasr.sauc.duration` |
@@ -105,18 +105,18 @@ SDK 对音频保留一块延迟:收到下一块时才把上一块以正 sequen
105
105
  | type `9`,非空 `result.text` | `partial` | 否 | 文本变化才发,重复内容去重 |
106
106
  | `result.utterances[].definite=true` | `final` | 否 | 表示句段已确定,不等于整个连接结束;按时间范围/文本去重 |
107
107
  | flag bit `2`(last) | `completed` | 是 | 只有客户端已 `finish()` 后才合法;输出 `result.text/utterances/audio_info.duration` |
108
- | type `15` | 无 | 是(错误) | 读取 uint32 错误码;错误 payload 可为 JSON 或 UTF-8 文本,默认异常/日志只保留错误码,不带原始 message |
108
+ | type `15` | 无 | 是(错误) | 读取 uint32 错误码;错误 payload 可为 JSON 或 UTF-8 文本,默认异常/日志只保留错误码,不带原始 message |
109
109
  | 未知 `event` 数字 | 无 | 否 | 只记脱敏 warning,仍按 type/payload 处理 |
110
110
  | WebSocket 提前断开 | 无 | 是(错误) | `provider_connection_closed`,不误报完成 |
111
111
  | text WebSocket frame | 无 | 是(错误) | 协议要求二进制,报 `invalid_response` |
112
112
 
113
113
  `utterances[].definite=true` 只能判断句段 final,整个会话终态必须看帧头 last 标志。整个终帧仍无有效文本时严格报 `invalid_response`。
114
114
 
115
- 用户主动取消只关闭连接,不发送负 sequence 终帧,也不把取消伪装成正常完成。full request 默认在 15 秒内必须收到首个服务端响应,可用 `openTimeoutMs` 显式调整;超时会关闭半开连接。`finish()`、连接释放和显式 `close()` 都幂等;发送失败、服务端错误、断线、超时和取消都走同一个释放边界。
116
-
117
- 同一响应帧可能同时产生 partial 与一个或多个 final。每次事件回调后重新检查取消/关闭,避免调用方在 partial 回调取消后,SDK 仍继续发出该帧的 final;该场景使用官方响应 payload 调整 last 标志构造,不代表新的供应商事件类型。
118
-
119
- 2026-09-24 诊断复核:异常 details 保留实际 `modelId=seedasr-2.0-realtime`、`protocol=volcengine-binary-v1`、会话阶段、操作与最后一帧的序号/event/last 标志。原始服务端 message 和宿主异常可能包含识别内容或凭据,不进入默认诊断。握手失败后若关闭也失败,继续报告首个故障,并附 `cleanupFailed=true`。`volcengine-realtime-asr.test.ts` 使用既有官方帧结构、受控敏感文本错误与 Mock close 拒绝验证这些边界;不是额外真实服务实录。
115
+ 用户主动取消只关闭连接,不发送负 sequence 终帧,也不把取消伪装成正常完成。full request 默认在 15 秒内必须收到首个服务端响应,可用 `openTimeoutMs` 显式调整;超时会关闭半开连接。`finish()`、连接释放和显式 `close()` 都幂等;发送失败、服务端错误、断线、超时和取消都走同一个释放边界。
116
+
117
+ 同一响应帧可能同时产生 partial 与一个或多个 final。每次事件回调后重新检查取消/关闭,避免调用方在 partial 回调取消后,SDK 仍继续发出该帧的 final;该场景使用官方响应 payload 调整 last 标志构造,不代表新的供应商事件类型。
118
+
119
+ 2026-09-24 诊断复核:异常 details 保留实际 `modelId=seedasr-2.0-realtime`、`protocol=volcengine-binary-v1`、会话阶段、操作与最后一帧的序号/event/last 标志。原始服务端 message 和宿主异常可能包含识别内容或凭据,不进入默认诊断。握手失败后若关闭也失败,继续报告首个故障,并附 `cleanupFailed=true`。`volcengine-realtime-asr.test.ts` 使用既有官方帧结构、受控敏感文本错误与 Mock close 拒绝验证这些边界;不是额外真实服务实录。
120
120
 
121
121
  ## 5. 价格与免费额度
122
122
 
@@ -1,18 +1,18 @@
1
- # Seedream 5.0 Flash · 火山方舟
2
-
3
- 核对日期:2026-09-24;公开无需登录,未执行付费生成。
4
-
5
- 来源:[发布公告](https://docs.volcengine.com/docs/ark/model-release-announcement?lang=zh)、[Pro / Flash 教程](https://docs.volcengine.com/docs/ark/seedream-5-0-pro?lang=zh)、[价格](https://docs.volcengine.com/docs/ark/model-pricing?lang=zh)。官方明确基础调用只替换 Model ID,公共契约复用 Pro 实现。
6
-
7
- - Model ID:`doubao-seedream-5-0-flash-260915`;`POST https://ark.cn-beijing.volces.com/api/v3/images/generations`,Bearer 认证。
8
- - 文生、图生/多图参考、交互编辑、图层拆分;输入上限 10 张,拆分必须 1 张;1K/1.5K/2K,PNG/JPEG;Flash 只支持标准提示词优化。
9
- - SDK 沿用 Pro 的生成/编辑与拆分模式、图片上传、智能比例和结构化图层输出。旧 Pro 参数名与模型 ID 保持不变。
10
- - 输入图免费,输出 ¥0.12/张;拆分数量只有返回后可知,提交前返回不可估算,不能显示 ¥0.12 为整单总价。
11
-
12
- | 响应 | 字段与行为 |
13
- |---|---|
14
- | 同步成功 | `data` 图片数组,`url` 字符串;由共享图片适配器收集 URL |
15
- | 图层拆分 | 与 Pro 相同的 layers/base-image 元数据,经 `parseSeedreamLayerStack` 返回结构化图层 |
16
- | 错误、缺失产物、取消 | 沿共享 Volcengine provider 失败收口;不把空结果当成功,不建立重复收费重试 |
17
-
18
- 官方字面调用中的 Pro Model ID 可按同页明确说明替换成 Flash;测试将此区别标为官方字段构造,不能冒充 Flash 真网样本。共享 Pro 正反测试继续运行,新增 Flash 定向验证模型路由、图片限制、价格和拆分不可估算。
1
+ # Seedream 5.0 Flash · 火山方舟
2
+
3
+ 核对日期:2026-09-24;公开无需登录,未执行付费生成。
4
+
5
+ 来源:[发布公告](https://docs.volcengine.com/docs/ark/model-release-announcement?lang=zh)、[Pro / Flash 教程](https://docs.volcengine.com/docs/ark/seedream-5-0-pro?lang=zh)、[价格](https://docs.volcengine.com/docs/ark/model-pricing?lang=zh)。官方明确基础调用只替换 Model ID,公共契约复用 Pro 实现。
6
+
7
+ - Model ID:`doubao-seedream-5-0-flash-260915`;`POST https://ark.cn-beijing.volces.com/api/v3/images/generations`,Bearer 认证。
8
+ - 文生、图生/多图参考、交互编辑、图层拆分;输入上限 10 张,拆分必须 1 张;1K/1.5K/2K,PNG/JPEG;Flash 只支持标准提示词优化。
9
+ - SDK 沿用 Pro 的生成/编辑与拆分模式、图片上传、智能比例和结构化图层输出。旧 Pro 参数名与模型 ID 保持不变。
10
+ - 输入图免费,输出 ¥0.12/张;拆分数量只有返回后可知,提交前返回不可估算,不能显示 ¥0.12 为整单总价。
11
+
12
+ | 响应 | 字段与行为 |
13
+ |---|---|
14
+ | 同步成功 | `data` 图片数组,`url` 字符串;由共享图片适配器收集 URL |
15
+ | 图层拆分 | 与 Pro 相同的 layers/base-image 元数据,经 `parseSeedreamLayerStack` 返回结构化图层 |
16
+ | 错误、缺失产物、取消 | 沿共享 Volcengine provider 失败收口;不把空结果当成功,不建立重复收费重试 |
17
+
18
+ 官方字面调用中的 Pro Model ID 可按同页明确说明替换成 Flash;测试将此区别标为官方字段构造,不能冒充 Flash 真网样本。共享 Pro 正反测试继续运行,新增 Flash 定向验证模型路由、图片限制、价格和拆分不可估算。
@@ -0,0 +1,69 @@
1
+ # TTS 多供应商适配契约(2026-09-27)
2
+
3
+ 本文件记录本次 SDK 适配所需的供应商原始契约。范围限定为文字转语音和对话语音;声音训练、音乐生成不在本次模型清单内。用户确认:公开价格可核实时显示估算;无法由输入参数可靠估算的价格不显示估算。
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;提交前无法准确估算输出 Token | [API](https://help.aliyun.com/zh/model-studio/cosyvoice-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 音频块 | 资源包有公开价;按量单价仍需进一步核实,暂不显示预估 | [V3 HTTP](https://docs.volcengine.com/docs/DoubaoVoice/unidirectional-streaming-text-to-speech-http?lang=zh)、[产品价格入口](https://docs.volcengine.com/docs/DoubaoVoice?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 | [官方音色清单](https://docs.volcengine.com/docs/DoubaoVoice/Tonelist-1?lang=zh) | 2026-09-27 页面去重后 230 个音色 ID,本地提供搜索和选择。 |
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 凭据/协议不一致,未接入。暂保留手填复刻音色 ID。 |
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;复刻音色仅允许已在供应商侧取得的 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)。
@@ -136,12 +136,12 @@ MiniMax Speech 的公开商品注册表使用 `(单价 × 字符数 + 999999) /
136
136
  | API 鉴权方式 | https://ppio.com/docs/api/authentication | 否 |
137
137
  | API 错误码 | https://ppio.com/docs/api/error-codes | 否 |
138
138
  | API Key 管理 | https://ppio.com/settings/key-management | **是** |
139
- # 2026-09-11:文本检索能力
140
-
141
- 公开来源:https://ppio.com/model/embedding/baai/bge-m3 、https://ppio.com/model/reranker/baai/bge-reranker-v2-m3 、https://ppio.com/docs/models/reference-llm-create-rerank 、https://ppio.com/docs/announcement/announcement 。
142
-
143
- - Bearer JSON POST,根地址 `https://api.ppio.com/openai/v1`;Embedding `/embeddings`,Rerank `/rerank`。注意与旧文档 `/v3/openai` 不混用。
144
- - `baai/bge-m3`:input 字符串或数组,encoding_format=float;8192 token上下文,返回 data[].embedding/index。输入0.07元/百万 token,输出0。
145
- - `baai/bge-reranker-v2-m3`:model/query/documents/top_n;返回 results[].index/relevance_score、可选 document.text、usage.prompt_tokens/completion_tokens/total_tokens。模型页显示输入/输出均0.07元/百万 token。未公布最大文档数量,不猜限制。
146
- - `qwen/qwen3-reranker-8b` 已在2026-01-08下线公告中列出,不因旧上架文章仍可搜索就重新加入。
147
- - 同步成功必须有合法结果;错误响应、缺失/重复/越界索引、非有限数值拒绝。取消沿用 AbortSignal,不自动截断或重试。SDK 返回对应输入文本,不依赖供应商是否回传原文。
139
+ # 2026-09-11:文本检索能力
140
+
141
+ 公开来源:https://ppio.com/model/embedding/baai/bge-m3 、https://ppio.com/model/reranker/baai/bge-reranker-v2-m3 、https://ppio.com/docs/models/reference-llm-create-rerank 、https://ppio.com/docs/announcement/announcement 。
142
+
143
+ - Bearer JSON POST,根地址 `https://api.ppio.com/openai/v1`;Embedding `/embeddings`,Rerank `/rerank`。注意与旧文档 `/v3/openai` 不混用。
144
+ - `baai/bge-m3`:input 字符串或数组,encoding_format=float;8192 token上下文,返回 data[].embedding/index。输入0.07元/百万 token,输出0。
145
+ - `baai/bge-reranker-v2-m3`:model/query/documents/top_n;返回 results[].index/relevance_score、可选 document.text、usage.prompt_tokens/completion_tokens/total_tokens。模型页显示输入/输出均0.07元/百万 token。未公布最大文档数量,不猜限制。
146
+ - `qwen/qwen3-reranker-8b` 已在2026-01-08下线公告中列出,不因旧上架文章仍可搜索就重新加入。
147
+ - 同步成功必须有合法结果;错误响应、缺失/重复/越界索引、非有限数值拒绝。取消沿用 AbortSignal,不自动截断或重试。SDK 返回对应输入文本,不依赖供应商是否回传原文。
@@ -1,14 +1,14 @@
1
- # 火山引擎 · 供应商基础文档
2
-
3
- ## 2026-09-11 文本检索核对
4
-
5
- 方舟当前 `doubao-embedding-vision-251215` 通过 `POST https://ark.cn-beijing.volces.com/api/v3/embeddings/multimodal` 调用,Bearer API Key。SDK 本轮只暴露文本:`input: [{type:"text",text}]`,固定 float,维度 1024/2048;响应 `data.embedding` 是单个融合向量,故每次只接受一条文本,拒绝把多个独立文档合并。usage 使用 prompt_tokens/total_tokens。省略维度时供应商默认 2048。
6
-
7
- - [官方接口字段](https://www.volcengine.com/docs/82379/1523520):HTTP 成功但缺向量、空向量或非数值向量均判错误;HTTP 失败、取消、超时不产生成功结果、不自动重试。
8
- - [模型使用说明](https://www.volcengine.com/docs/82379/1409291)、[官方价格](https://www.volcengine.com/docs/82379/1544106):文本输入 0.70 元/百万 tokens,图片 1.80 元/百万 tokens(本入口不收图片)。
9
- - [官方 OpenViking 配置](https://github.com/volcengine/OpenViking/blob/main/docs/en/guides/01-configuration.md):VikingDB Rerank 使用 AK/SK,与方舟 Bearer 是不同服务;本轮未实现其签名协议,不宣称火山没有重排模型。
10
-
11
- 官方页面 HTML 中 MDContent 可读取,浏览器路径本次连接失败。模拟字段 fixture,不是真实付费请求。
1
+ # 火山引擎 · 供应商基础文档
2
+
3
+ ## 2026-09-11 文本检索核对
4
+
5
+ 方舟当前 `doubao-embedding-vision-251215` 通过 `POST https://ark.cn-beijing.volces.com/api/v3/embeddings/multimodal` 调用,Bearer API Key。SDK 本轮只暴露文本:`input: [{type:"text",text}]`,固定 float,维度 1024/2048;响应 `data.embedding` 是单个融合向量,故每次只接受一条文本,拒绝把多个独立文档合并。usage 使用 prompt_tokens/total_tokens。省略维度时供应商默认 2048。
6
+
7
+ - [官方接口字段](https://www.volcengine.com/docs/82379/1523520):HTTP 成功但缺向量、空向量或非数值向量均判错误;HTTP 失败、取消、超时不产生成功结果、不自动重试。
8
+ - [模型使用说明](https://www.volcengine.com/docs/82379/1409291)、[官方价格](https://www.volcengine.com/docs/82379/1544106):文本输入 0.70 元/百万 tokens,图片 1.80 元/百万 tokens(本入口不收图片)。
9
+ - [官方 OpenViking 配置](https://github.com/volcengine/OpenViking/blob/main/docs/en/guides/01-configuration.md):VikingDB Rerank 使用 AK/SK,与方舟 Bearer 是不同服务;本轮未实现其签名协议,不宣称火山没有重排模型。
10
+
11
+ 官方页面 HTML 中 MDContent 可读取,浏览器路径本次连接失败。模拟字段 fixture,不是真实付费请求。
12
12
 
13
13
  | 项目 | 内容 |
14
14
  |---|---|