图像生成与编辑
字段名 | 字段类型 | 是否必传 | 字段默认值 | 字段说明 |
|---|---|---|---|---|
| model | string | 否 | "qwen-image-2.0-pro" | 模型名称,SDK 会自动设置为当前模型实例的 modelName |
| messages | Array<{ role: "user"; content: Array<{ type: "text"; text: string } | { type: "image_url"; image_url: { url: string } } | { type: "image"; image: string }> }> | 是 | - | 输入消息数组;SDK 优先读取首条 user 消息 |
| messages.role | "user" | 是 | - | 消息角色,当前仅支持 user |
| messages.content | array | 是 | - | 内容数组,支持文本与图片混合输入 |
| messages.content.text | string | 是(至少 1 条) | - | 文本提示词;若传多段 text,SDK 会拼接为 1 条 prompt |
| messages.content.image_url.url | string | 否 | - | 输入图片 URL(图像编辑时传) |
| messages.content.image | string | 否 | - | 输入图片(与 image_url.url 二选一,兼容写法) |
| parameters | object | 否 | {} | 生成控制参数对象,SDK 会与默认值合并 |
| parameters.negative_prompt | string | 否 | "" | 不希望出现的内容描述 |
| parameters.size | string | 否 | 下游默认 | 输出分辨率,格式 宽*高 (如 2048*2048 ) |
| parameters.n | integer | 否 | 1 | 生成数量,推荐 1-6 |
| parameters.prompt_extend | boolean | 否 | true | 是否开启提示词智能扩写 |
| parameters.watermark | boolean | 否 | false | 是否添加水印 |
| parameters.seed | integer | 否 | 随机 | 随机种子,便于复现 |
说明:
非流式响应(SDK 标准化):
字段名 | 字段类型 | 是否必传 | 字段默认值 | 字段说明 |
|---|---|---|---|---|
| id | string | 否 | - | 请求/响应 ID(优先取 id ,回退 request_id ) |
| object | string | 否 | "chat.completion" | 对象类型 |
| created | number | 否 | 当前时间戳 | 秒级时间戳 |
| model | string | 否 | 当前模型名 | 实际模型名 |
| log_id | string | 否 | 同 id | 日志追踪 ID |
| error | string | 否 | "" | 错误信息 |
| code | number | 否 | 0 | 错误码 |
| choices | Array<{ index: number; message: { role: "assistant"; type: "image"|"error"; content: string }; finish_reason: string }> | 是 | - | 结果列表; content 为首张图片 URL(或错误文本) |
| usage | { prompt_tokens: number; completion_tokens: number; knowledge_tokens: number; reasoning_tokens: number; total_tokens: number } | 否 | 全 0 | SDK 统一 token 统计结构(图像模型当前固定 0) |
流式响应(SDK 标准化):
字段名 | 字段类型 | 是否必传 | 字段默认值 | 字段说明 |
|---|---|---|---|---|
| object | string | 否 | "chat.completion.chunk" | 流片段对象类型 |
| choices | 同上(单条) | 是 | - | SDK 将同步结果包装为单帧 chunk 返回 |
| 其余字段 | 同非流式 | 否 | - | 含 id/model/code/error/usage 等一致字段 |
async sendMessage(message) {
try {
if (!message?.msg) {
return { code: -1, msg: "请输入图片描述" };
}
const model = this.createModel("qwen-image-2.0-pro");
const modelResponse = await model.streamText({
messages: [
{
role: "user",
content: [{ type: "text", text: message.msg }],
},
],
parameters: {
size: "2048*2048",
n: 1,
prompt_extend: true,
watermark: false,
},
negative_prompt: "模糊, 低质量, 变形, 失真",
});
for await (const chunk of modelResponse) {
this.sseSender.send({ data: chunk });
}
this.sseSender.end();
} catch (error) {
console.error("qwen-image-2.0-pro stream error:", error);
this.sseSender.end();
}
}