体验中心
体验中国电信星辰大模型效果
API Path
/aipaas/mllm/v1/aiGeneratedImage/multimodal
请求协议
HTTPS
请求方法
POST
请求头部 :
| 头部标签 | 必填 | 说明 | 类型 | 数据字典 | 限制 | 头部内容 | 示例 |
|---|---|---|---|---|---|---|---|
| Content-Type | 是 | 内容类型 | application/json | application/json | |||
| X-APP-ID | 是 | 控制台--应用管理--AppID | |||||
| Device-Uuid | 是 | 设备管理-设备uuid | |||||
| Authorization | 是 | 鉴权信息 |
请求参数 Json
Object
| 参数名 | 说明 | 必填 | 类型 | 数据字典 | 限制 | 示例 |
|---|---|---|---|---|---|---|
| seq_id | 请求序列号,请求的唯一标识,最大长度256,最小长度1 | 是 | [string] | 0 | 5183b530-4c0c-11f0-b384-61e09dc788ee | |
| task_id | 算法能力编号 - 10001 | 是 | [int] | 0 | 10001 | |
| prompt | 文本内容 | 是 | [string] | 0 | 蓝天草地马儿跑 | |
| batch_size | 生成图片的数量,支持1~4 | 否 | [int] | 0 | 1 | |
| resolution_ratio | 输出结果分辨率比例,默认[1,1],可选[9,16]、[16,9]、[4,3]、[3, 4]、[2,3]、[3,2] | 否 | [array] | 0 | [1,1] | |
| extra_message | 扩展参数列表,,填充规则见4.1中请求扩展参数说明 | 否 | [array] | 0 | ||
| extra_message>>key | 参数名称,如果填入的名称不是quality也不是task不会报错 | 否 | [string] | 0 | quality | |
| extra_message>>value | 参数值 | 否 | [object] | 0 | normal | |
| 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_image | 输出的图片url、base64或者图片详细信息【各算法自定义并在接口文档中体现】 | 否 | [array] | 0 | [ "http://xxx.xxx/xxx.jpg", "/9j***", { "edge_analysis": "/9j***", "lighting_analysis": "/9j***", "saturation_analysis": "/9j** ", "noise_analysis": "/9j", "frequency_analysis": "/9j ", "compression_alignment_analysis": "/9j", "cfa_analysis": "/9j *" } ] | |
| data>>task_result>>out_extra _message | 扩展参数列表,,填充规则见5.1中响应扩展参数说明 | 否 | [array] | 0 | ||
| data>>task_result>>out_extra _message>>key | 参数名称 | 是 | [string] | 0 | ||
| data>>task_result>>out_extra _message>>value | 参数值 | 是 | [object] | 0 |
成功示例
{
"seq_id": "test_20019-0",
"task_id": 10001,
"send_pts_ms": 1765871965726,
"code": "10000",
"message": "ok",
"flag": 1,
"data": {
"status": 2,
"task_result": {
"out_image": ["wanglaigc/lsstest/test_20019-0_1765871965_0_output.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20251216%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20251216T075925Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=0ebe0801fb50f0c09d5c21306ffd5b883b4687b23bb9c1f3dde85af0c4e9eb09"]
}
}
}
本算法根据输入的文本生成图片,并将生成的图片上传S3,返回上传后的url,采用异步方式调用
| 修订日期 | 算法版本号 | 修订内容 |
|---|---|---|
| 2026-10-09 | V7.6.4 | 1、新增计费;2、支持1~4batch;3、更新健康检查接口;4、适配百炼:新增任务队列接口;5、适配百炼:算法内部生成文件上传支持S3上传或PVC挂载本地写入两种方式 |
| 2026-07-15 | V7.6.2 | 910B版本,支持batch1~4;提示词用2.0-qwen3.5 ;5090版本,只支持单batch |
| 2026-03-25 | V7.6.0 | 权重更新 |
| 2025-02-06 | V7.3.2 | 镜像更新 |
| 2025-12-27 | V7.3.1 | 改为异步调用,添加callback_url入参作为回调地址 |
| 2025-12-16 | V7.3.0 | 算法更新模型,并添加task和quality作为额外参数 |
服务接口调用时需要严格遵循服务鉴权规则,服务调用鉴权规则请参见:开发指南 - 接口签名认证。
参数路径: extra_message
| 参数中文名 | 参数名称(key) | 参数值(value) | 必填 | 内部数据类型 | 备注 |
|---|---|---|---|---|---|
| 生成图片的质量 | quality | 枚举值为:"highres", "midres", "lowres", "normal" | 否 | string | 不填默认使用normal,lowres处理耗时最长不建议使用,midres耗时最短 |
| 任务类型 | task | 枚举值为:"t2i", "s2v" | 否 | string | 不填默认使用t2i,t2i表示生成图片,s2v表示生成数字人首图 |
返回的图片的为url链接,使用的话需要做下载,具体下载路径需要在返回的链接前拼接上星河的代理,具体可参考星河接入规范
参数路径: out_extra _message
| 参数中文名 | 参数名称(key) | 参数值(value) | 必填 | 内部数据类型 | 备注 |
|---|---|---|---|---|---|
| 图片数量 | num_images | 例如1 | 否 | int | |
| 图片的长,像素数 | width | 例如1080 | 否 | int | |
| 图片的宽,像素数 | height | 例如1080 | 否 | int | |
| 折算系数 | conversion_factor | 文生图固定1 | 否 | int |
{
"seq_id": "test_10001",
"task_id": 10001,
"resolution_ratio":[1,1],
"batch_size":1,
"prompt": "一个中学学校宿舍的柜子,能够看到里面的东西,比较整齐",
"callback_url":"http://0.0.0.0:7777/callback",
"extra_message": [
{
"key": "quality",
"value": "midres"
},
{
"key": "task",
"value": "t2i"
}
]
}
| 状态码 | 状态描述 | 状态说明 |
|---|---|---|
| 10000 | 服务执行成功 | 服务执行成功 |
| 10100 | 算法模型异常 | 算法模型调用失败(超时) |
| 10202 | 算法推理异常 | 算法推理失败 |
| 10203 | 文件上传异常 | 结果图片上传ceph/minIO失败 |
| 10304 | 服务入参错误 | 参数未填写或参数输入不符合预期,部分参数存在限制说明,会针对入参做校验返回;prompt入参不合规等情况 |
| 10401 | 任务繁忙 | 当前服务内部排队队列已满 |
| 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" +
" \"batch_size\":1,\n" +
" \"seq_id\":\"5183b530-4c0c-11f0-b384-61e09dc788ee\",\n" +
" \"task_id\":10001,\n" +
" \"prompt\":\"蓝天草地马儿跑\",\n" +
" \"extra_message\":[\n" +
" {\n" +
" \"value\":{},\n" +
" \"key\":\"quality\"\n" +
" }\n" +
" ],\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",
"batch_size":1,
"seq_id":"5183b530-4c0c-11f0-b384-61e09dc788ee",
"task_id":10001,
"prompt":"蓝天草地马儿跑",
"extra_message":[
{
"value":{},
"key":"quality"
}
],
"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}")