体验中心
体验中国电信星辰大模型效果
API Path
/aipaas/mllm/v1/xingchenVideoGen/multimodal
请求协议
HTTPS
请求方法
POST
请求头部:
| 头部标签 | 必填 | 说明 | 类型 | 数据字典 | 限制 | 头部内容 | 示例 |
|---|---|---|---|---|---|---|---|
| Content-Type | 是 | 内容类型 | application/json | application/json | |||
| X-APP-ID | 是 | 控制台--应用管理--AppID | |||||
| Device-Uuid | 是 | 设备管理-设备uuid | |||||
| Authorization | 是 | 鉴权信息 |
请求参数 Json
Object
| 参数名 | 说明 | 必填 | 类型 | 数据字典 | 限制 | 示例 |
|---|---|---|---|---|---|---|
| seq_id | 请求序列号,请求的唯一标识,建议长度不超过256,不做强校验 | 是 | [string] | 0 | 5183b530-4c0c-11f0-b384-61e09dc788ee | |
| task_id | 算法能力编号【30012】 | 是 | [int] | 0 | 30012 | |
| image_type | 0,url;1,base64;默认0,本服务仅支持0 | 否 | [int] | 0 | 0 | |
| image | url,仅支持0-2张图输入;不传入图片: 不传入该字段或[],使用文生视频功能; 传入1张图片: 格式为["http://xxx"],使用图生视频(首帧生视频) 格式为["", "http://"]等首张图片为空的形式,使用尾帧生视频; 传入2张图片: 格式为["http://xxx","http://xxx"],使用首尾帧生视频 | 否 | [array] | 0 | ["http://xxxx.jpg"] | |
| prompt | 文本内容,支持中英文,建议长度不超过512 | 是 | [string] | 0 | 蓝天草地马儿跑 | |
| resolution | 支持[480,480]和[720,720],默认值[720,720] (该参数表示的是生成视频的分辨率为480p/720p) | 否 | [array] | 0 | [720,720] | |
| resolution_ratio | 生成视频比例 ,仅文生视频有效,其他功能会自动忽略此参数,根据输入图片比例作为生成视频比例;支持[9,16],[16,9],[3,4],[4,3],[1,1],[21,9],默认值[16,9] | 否 | [array] | 0 | [16,9] | |
| extra_message | 扩展参数列表,,填充规则见4.1中请求扩展参数说明 | 否 | [array] | 0 | ||
| extra_message>>key | 参数名称 | 否 | [string] | 0 | video_seed | |
| extra_message>>value | 参数值 | 否 | [object] | 0 | 100 | |
| callback_url | 结果回调地址 | 否 | [string] | 0 | http://0.0.0.0:7777/callback | |
| return_mode | 结果返回模式,0:push,1:pull,默认为0。push模式即提供callback_url接收最终结果回调;pull模型即通过大模型异步调用结果回查接口查询最终调用结果,接口文档详见开发指南下的大模型异步调用结果回查。 | 否 | [int] | 32 |
响应内容:
返回结果
成功 (200)
Json
Object
| 参数名 | 说明 | 必填 | 类型 | 数据字典 | 限制 | 示例 |
|---|---|---|---|---|---|---|
| seq_id | 请求序列号,同输入的seq_id | 是 | [string] | 0 | 5183b530-4c0c-11f0-b384-61e09dc788ee | |
| send_pts_ms | 时间戳 | 是 | [long] | 0 | 1750239877 | |
| code | 状态响应码。参考错误编码规范 | 是 | [string] | 0 | 10000 | |
| message | 调用结果描述。参考错误编码规范 | 是 | [string] | 0 | 服务执行成功 | |
| task_id | 算法能力编号,同输入的task_id | 是 | [int] | 0 | 10001 | |
| flag | 业务上成功或失败:1成功,0失败 | 是 | [int] | 0 | 1 | |
| data | 返回结果 | 是 | [object] | 0 | ||
| data>>status | 状态:0-未开始,1-执行中,2-执行成功,3-执行失败 | 是 | [int] | 0 | 2 | |
| data>>task_result | 任务执行结果,code码不是10000时此字段为空字典 | 是 | [object] | 0 | ||
| data>>task_result>>out_video | 结果视频,["http://***.mp4"],返回存放mp4数据的url地址,或本地mp4文件地址,生成失败则返回空列表。结果资源获取请参见开发指南-异步调用结果获取-获取大模型生成结果文件信息。 | 是 | [array] | 0 | ["http://***.mp4"] | |
| data>>task_result>>out_text | 实际使用的prompt ["xxxxxxxxxx"], 返回生成视频实际使用的prompt,可能与原始数据相同也可能经过提示词增强,生成失败则返回空列表 | 否 | [array] | 0 | ["xxxxx"] |
成功示例
{
"seq_id": "5183b530-4c0c-11f0-b384-61e09dc788ee",
"send_pts_ms": 1750239877,
"code": "10000",
"message": "服务执行成功",
"task_id": 30012,
"flag": 1,
"data": {
"status": 2,
"task_result": {
"out_video": ["http://***.mp4"],
"out_text": ["xxxxx"]
}
}
}
星辰视频生成,支持文生视频,图生视频(首帧生视频),首尾帧生视频。
V1.0.0
| 修订日期 | 算法版本号 | 修订内容 |
|---|---|---|
| 2026-09-11 | V1.0.0 | 算法初版,支持文生视频,图生视频(首帧生视频),首尾帧生视频 |
服务接口调用时需要严格遵循服务鉴权规则,服务调用鉴权规则请参见:开发指南 - 接口签名认证。
参数路径:extra_message
| 参数中文名 | 参数名称(key) | 参数值(value) | 必填 | 内部数据类型 | 备注 |
|---|---|---|---|---|---|
| 视频算法种子 | video_seed | 不填默认0 | 否 | int | |
| 生成视频时长 | duration | 不填默认5.0 | 否 | float,兼容int | 取值范围[4.0,20.0] |
| 是否启用提示词增强,启用后需配置llm | enable_prompt_enhance | 默认false,改版本不支持true | 否 | bool |
返回的图片的为url链接,使用的话需要做下载,具体下载路径需要在返回的链接前拼接上星河的代理,具体可参考星河接入规范
{
"seq_id": "test_30012",
"task_id": 30012,
"prompt": "专业健身房内,年轻人汗水淋漓举重训练,肌肉线条清晰动作标准,背景镜子反射动力十足的健康生活场景。",
"callback_url": "http://localhost:7777/callback",
"resolution_ratio": [21,9],
"extra_message": [
{"key": "enable_prompt_enhance",
"value": true}
]
}
{
"seq_id": "test_30012",
"task_id": 30012,
"image": [
"http://0.0.0.0:11111/0013.png"
],
"image_type": 0,
"prompt": "镜头后拉,红色汽车在苹果园中行驶,两侧苹果树上的苹果纷纷掉落,车头笑脸图案微笑,车内男子左右张望。",
"callback_url": "http://localhost:7777/callback",
"extra_message": [
{"key": "enable_prompt_enhance",
"value": true}
]
}
{
"seq_id": "test_30012",
"task_id": 30012,
"image": [
"http://0.0.0.0:11111/image_3.0-1_image_0.jpg",
"http://0.0.0.0:11111/image_3.0-1_image_1.jpg"
],
"image_type": 0,
"prompt": "用连贯的镜头从前一帧过渡到后一帧,保持主体的连续性,单个镜头,不要晃动,镜头完整。",
"callback_url": "http://localhost:7777/callback",
"extra_message": [
{"key": "enable_prompt_enhance",
"value": true},
{"key": "duration","value": 10}
]
}
| 状态码 | 状态描述 | 状态说明 |
|---|---|---|
| 10000 | 服务执行成功 | 服务执行成功 |
| 10200 | 图片下载异常 | 图片url访问失败,下载异常 |
| 10201 | 图片格式错误 | 下载后的图片格式不对,非图片(除jpeg, png, jpg外,其余格式没有经过批量测试,不建议使用) |
| 10202 | 算法推理异常 | 算法推理失败 |
| 10203 | 文件上传异常 | 结果图片上传ceph/minIO失败 |
| 10304 | 服务入参错误 | 服务必填参数缺失或部分参数存在限制说明,会针对入参做校验返回 |
| 10903 | 服务执行失败 | 服务执行失败(可能存在组件连接异常、算法模型程序运行异常等情况,导致服务无法正常运行) |
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import com.alibaba.fastjson.JSONObject;
import java.util.HashMap;
import java.util.Map;
/**
* 为保证示例可以正常运行,请确认maven中是否存在以下依赖:
* <dependency>
* <groupId>cn.hutool</groupId>
* <artifactId>hutool-all</artifactId>
* <version>5.8.29</version>
* </dependency>
* <dependency>
* <groupId>com.alibaba</groupId>
* <artifactId>fastjson</artifactId>
* <version>1.2.83</version>
* </dependency>
*/
public class Example {
public static void example() {
try {
// 算法调用地址,请根据实际情况修改
String url = "算法调用地址";
// 设置请求头
Map<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json");
headers.put("Device-Uuid", "2018619061498245122");
headers.put("X-APP-ID", "你实际的AppId");
headers.put("Authorization", "你实际的Authorization");
// 设置请求参数,请根据实际情况修改
String requestString = "{\n" +
" \"callback_url\":\"http://0.0.0.0:7777/callback\",\n" +
" \"image\":[],\n" +
" \"seq_id\":\"5183b530-4c0c-11f0-b384-61e09dc788ee\",\n" +
" \"task_id\":30012,\n" +
" \"prompt\":\"蓝天草地马儿跑\",\n" +
" \"resolution\":[],\n" +
" \"extra_message\":[\n" +
" {\n" +
" \"value\":{},\n" +
" \"key\":\"video_seed\"\n" +
" }\n" +
" ],\n" +
" \"image_type\":0,\n" +
" \"resolution_ratio\":[]\n" +
"}";
// 发起HTTP请求
HttpResponse response = HttpRequest.post(url)
.headerMap(headers, true)
.body(requestString)
.execute();
// 输出响应结果
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
example();
}
}
import json
import hashlib
import hmac
import time
import re
import urllib.parse
import requests
import warnings
from datetime import datetime
import logging
# 配置日志,设置日志级别为INFO,并指定日志格式
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
# 配置环境变量
X_APP_ID = "yourAppId"
AUTHORIZATION = "yourAuthorization"
# 请求的URL
url = "算法调用地址"
# 请求数据
request_data = {
"callback_url":"http://0.0.0.0:7777/callback",
"image":[],
"seq_id":"5183b530-4c0c-11f0-b384-61e09dc788ee",
"task_id":30012,
"prompt":"蓝天草地马儿跑",
"resolution":[],
"extra_message":[
{
"value":{},
"key":"video_seed"
}
],
"image_type":0,
"resolution_ratio":[]
}
# 构建请求头
headers = {
"Content-Type": "application/json",
"Device-Uuid": "2018619061498245122",
"X-APP-ID": X_APP_ID,
"Authorization": AUTHORIZATION
}
def timeSimple(timestamp):
# 将时间戳转换为HH:MM:SS格式的时间字符串
dt_object = datetime.fromtimestamp(timestamp)
formatted_time = dt_object.strftime("%H:%M:%S")
return formatted_time
def send_request(url):
try:
start_time = time.time()
logging.info(f"请求路径: {url}")
logging.info(f"开始发送: {timeSimple(start_time)}")
with requests.post(
url, json=request_data, headers=headers, stream=True, verify=False
) as response:
first_packet_time = None
if response.status_code == 200:
logging.info(f"接受到返回: {timeSimple(time.time())}")
for chunk in response.iter_content(chunk_size=1024):
if chunk:
if first_packet_time is None:
first_packet_time = time.time()
logging.info(
f"Received chunk: {timeSimple(time.time())} {chunk.decode('utf-8')}"
)
end_time = time.time()
logging.info(f"Time to first byte (TTFB): {first_packet_time - start_time:.3f} seconds")
logging.info(f"Request completed in {end_time - start_time:.3f} seconds")
else:
logging.error(f"Request failed with status code {response.status_code}")
except Exception as e:
logging.error(f"An error occurred: {e}")
# 发送请求
send_request(url)
logging.info(f"headers = {headers}")