Open 服务微服务 API 接口文档 (针对外部调用方)
open 模块聚合了包括火山引擎(大模型、视频/图片生成、语音合成)以及阿里云(ICE 媒体处理)等核心 AI 及基建能力。 此文档旨在为**外部服务端(如 hotel-web 等)**提供调用指引。
1. 基础约定
- 服务前缀:
/open/service - 接口协议: HTTPS / HTTP
- 数据格式: 请求与响应均采用
application/json - 鉴权方式: 基于 Header 的无状态签名校验 (AppKey + AppSecret)
2. 鉴权机制 (ServiceAuth)
为了安全控制流量并识别调用方,所有 /open/service/* 路由均要求提供签名。调用方需向平台申请分配 App-Id 和 App-Secret。
2.1 必须的 HTTP Header
在每次发起 HTTP 请求时,必须在 Header 中携带以下字段:
X-App-Id: 分配的 AppId (例如:hotel_web)X-Timestamp: 当前时间戳 (Unix Timestamp,精确到秒。注意:服务端会校验时间戳,超过 5 分钟的请求将被拒绝)X-App-Signature: 签名字符串 (小写)
2.2 签名生成算法
签名采用标准的 MD5 算法: Signature = MD5( AppId + AppSecret + Timestamp )
PHP 示例代码:
php
$appId = 'hotel_web';
$appSecret = 'hotel_web_secret_key_2026'; // 请替换为实际分配的 Secret
$timestamp = time();
// 拼接字符串并求 MD5
$signature = md5($appId . $appSecret . $timestamp);
$headers = [
'X-App-Id: ' . $appId,
'X-Timestamp: ' . $timestamp,
'X-App-Signature: ' . $signature,
'Content-Type: application/json'
];3. 最佳实践与避坑指南 (前端 SDK 直连推荐)
强烈建议:前端或外部系统尽量采用“STS凭证 + 官方SDK直连”的架构模式。
- 原因:大模型生成的长文本、长视频轮询、媒体文件直传,如果在
open后端进行代理中转,会极大消耗服务器带宽并引发cURL timeout(超时)问题。 - 做法:调用本开放平台的
/sts或/token接口获取具有短期有效性的临时鉴权凭证。前端拿到凭证后,初始化火山/阿里官方提供的 Web SDK 或 Node SDK,由客户端直接与云厂商的边缘节点通信。
4. API 接口列表
4.1 火山引擎大模型能力 (Volcengine)
4.1.0 获取火山引擎临时安全凭证 (STS) 🔥推荐
- 接口路径:
GET /open/service/volcengine/sts - 说明: 返回前端初始化火山 SDK 所需的临时凭证(包含 AccessKeyId, SecretAccessKey, SessionToken 等)。
- 主要参数:
ttl(int, 选填): 凭证有效期(秒),默认 3600。
4.1.1 获取可用模型列表
- 接口路径:
GET /open/service/volcengine/models - 说明: 获取当前系统支持的火山引擎及 DeepSeek 模型列表。
4.1.2 大模型对话生成 (Chat)
- 接口路径:
POST /open/service/volcengine/ark - 说明: 发送会话消息,获取大模型回复。
- 主要参数:
model(string, 必填): 模型名称,如doubao-seed-2-0-pro-260215messages(array, 必填): OpenAI 格式的消息数组
4.1.3 大模型纯文本生成 (Text)
- 接口路径:
POST /open/service/volcengine/text - 说明: 非流式/非会话的直接文本生成,通常用于短文本或指令执行。
4.1.4 提交视觉生成任务 (图片/视频)
- 接口路径:
POST /open/service/volcengine/visual/submit - 说明: 提交基于 Seedance/Seedream 的视频或图片生成异步任务。
- 主要参数:
req_key(string, 必填): 任务类型标识prompt(string): 提示词image_urls(array): 参考图数组
4.1.5 查询视觉生成结果
- 接口路径:
POST /open/service/volcengine/visual/result - 说明: 根据
task_id轮询查询异步生成任务的结果。 - 主要参数:
req_key(string, 必填): 任务类型标识task_id(string, 必填): 提交时返回的 Task ID
4.1.6 语音合成 TTS (V1)
- 接口路径:
POST /open/service/volcengine/tts/synthesize - 说明: 基于火山 1.0 的文本转语音。
4.1.7 语音合成 TTS (V3 Seed-TTS)
- 接口路径:
POST /open/service/volcengine/tts/v3/synthesize - 说明: 基于火山最新 Seed-TTS 模型的拟真语音合成。
- 主要参数:
text(string, 必填): 要合成的文本voice_type(string, 必填): 音色 ID
4.1.8 获取可用音色列表
- 接口路径:
GET /open/service/volcengine/tts/voices - 说明: 获取 TTS 服务支持的所有音色列表。
4.2 阿里百炼 / 通义千问能力 (Bailian)
目前系统将阿里云的大模型能力统一聚合在了 bailian 路由前缀下,既包含标准的对话/文本能力,也包含了视频分析和选题生成的特色能力。
4.2.0 获取百炼临时直连 Token 🔥推荐
- 接口路径:
GET /open/service/bailian/token - 说明: 返回前端直连百炼 WebSocket 或 HTTP 大模型流式输出所需的临时鉴权 Token。
- 主要参数:
ttl(int, 选填): 凭证有效期(秒),默认 3600。
4.2.1 百炼大模型对话
- 接口路径:
POST /open/service/bailian/chat - 说明: 标准的 OpenAI 兼容对话接口。
- 主要参数:
model(string): 模型名称,如qwen-plus、qwen3-maxmessages(array): 会话消息数组options(array): 采样参数(如 temperature)
4.2.2 百炼文本生成
- 接口路径:
POST /open/service/bailian/text - 说明: 纯文本生成,通常用于系统内部的 Prompt 组装任务。
4.2.3 获取百炼可用模型
- 接口路径:
GET /open/service/bailian/models
4.2.4 视频内容分析
- 接口路径:
POST /open/service/bailian/analyze - 说明: 基于传入的视频链接,利用多模态大模型分析视频特征与受众。
- 主要参数:
videoLinks(array)
4.2.5 选题生成
- 接口路径:
POST /open/service/bailian/topics - 说明: 基于上一步的视频分析结果,生成相关短视频选题。
4.3 阿里云媒体服务 (Aliyun ICE)
4.2.1 URL 上传媒体文件
- 接口路径:
POST /open/service/ali/ice/uploadMediaByUrl - 说明: 将公网可访问的音视频 URL 异步拉取并注册到 ICE 媒体库中。
4.2.2 查询 URL 上传进度
- 接口路径:
POST /open/service/ali/ice/getUrlUploadInfos - 说明: 查询上一步异步拉取的进度及生成的
MediaId。
4.2.3 提交智能媒体合成任务
- 接口路径:
POST /open/service/ali/ice/submitMediaProducing - 说明: 根据指定的 Timeline (时间线) 结构,向云端提交视频剪辑与合成任务。
4.2.4 查询合成任务状态
- 接口路径:
POST /open/service/ali/ice/getMediaProducingJob - 说明: 轮询查询视频剪辑任务的完成状态及最终成片地址。
4.3.5 获取阿里云临时安全凭证 (STS) 🔥推荐
- 接口路径:
GET /open/service/ali/sts - 说明: 获取直传阿里云 OSS 或调用前端 SDK 所需的临时 Token 凭证(包含 AccessKeyId, AccessKeySecret, SecurityToken 等)。这是前端直连阿里云的最佳实践。
4.3.6 获取预签名 URL (PresignUrl)
- 接口路径:
POST /open/service/ali/ice/getPresignUrl - 说明: 获取 OSS 文件的带签名访问链接,常用于私有 Bucket 文件的临时预览。
- 主要参数:
bucket(string, 必填): 存储空间名称key(string, 必填): 文件路径/对象键region(string, 选填): 区域,默认为cn-shenzhen
4.3.7 获取直传临时 URL (DirectUploadUrl)
- 接口路径:
POST /open/service/ali/ice/getDirectUploadUrl - 说明: 获取一个可以直接用于 PUT 上传文件的预签名 URL。
- 主要参数:
bucket(string, 必填): 存储空间名称key(string, 必填): 上传目标路径expires(int, 选填): 有效期秒数,默认 3600region(string, 选填): 区域,默认为cn-shenzhen
4.3.8 注册媒体素材信息
- 接口路径:
POST /open/service/ali/ice/registerMediaInfo - 说明: 注册 OSS 或 URL 素材为 ICE 媒体,返回该素材在媒资库中的
MediaId。 - 主要参数:
- 参照阿里云 ICE API 官方的 RegisterMediaInfo 参数结构。