主题
文生图(Text to Image)
根据文字描述生成图像。
基本信息
| 项目 | 值 |
|---|---|
| 接口路径 | POST /image/text2image |
| 所需 Scope | text2image 或 * |
| 任务类型 | 异步,返回 taskId |
请求参数
json
{
"requestId": "可选,调用方自定义唯一 ID",
"positive": "正向提示词(必填)",
"negative": "负向提示词(可选)",
"ar": "宽高比,默认 1:1",
"seed": 42,
"count": 1,
"imageModel": "base_v1",
"styleIds": [101, 202],
"styleStrengths": [0.8, 0.6]
}参数说明
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
requestId | string | 否 | null | 调用方请求 ID,用于去重和支持定位 |
positive | string | 是 | — | 正向提示词,描述想要生成的内容 |
negative | string | 否 | null | 负向提示词,描述不希望出现的内容 |
ar | string | 否 | 1:1 | 图像宽高比,可选值:1:1、16:9、4:3、3:2(横向)、9:16、3:4、2:3(纵向) |
seed | integer | 否 | null | 随机种子(≥0),相同 seed 生成结果更稳定 |
count | integer | 是 | 1 | 生成图像数量(1 ~ 4) |
imageModel | string | 否 | base_v1 | 图像模型,可选值:base_v1(默认)、base_v2、text_enhance_v1、text_enhance_v2 |
styleIds | integer[] | 否 | null | 风格 ID 列表,与 styleStrengths 对应 |
styleStrengths | number[] | 否 | null | 各风格强度(0.0 ~ 1.0),与 styleIds 对应 |
请求示例
最简请求:
bash
curl -s -X POST \
-H "Authorization: Bearer $TUSEN_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"positive": "a serene mountain lake at sunrise, photorealistic"
}' \
"https://magiqsight.com/openapi/v1/image/text2image"完整请求:
bash
curl -s -X POST \
-H "Authorization: Bearer $TUSEN_API_TOKEN" \
-H "X-Request-Id: req-$(date +%s)" \
-H "Content-Type: application/json" \
-d '{
"positive": "a serene mountain lake at sunrise, photorealistic, high detail",
"negative": "blurry, low quality, overexposed",
"ar": "16:9",
"seed": 12345,
"count": 2,
"imageModel": "base_v1"
}' \
"https://magiqsight.com/openapi/v1/image/text2image"响应示例
提交成功:
json
{
"code": 0,
"msg": null,
"data": {
"requestId": "req-1717200000",
"taskId": "img-abc123def456"
}
}错误 — 积分不足:
json
{
"code": 1004008000,
"msg": "用户积分余额不足",
"data": null
}获取结果
提交后使用 taskId 轮询结果,详见异步任务文档。
任务成功(status: 1)后,imageUrls 字段包含生成图像的完整分辨率 URL。imagePreviewUrls 包含压缩预览图,通常先于完整图就绪。
若 count > 1,多张图像按顺序排列在 imageUrls 数组中。
常见问题
Q:提示词用中文还是英文?
A:均支持。英文提示词通常效果更稳定,建议优先尝试英文。
Q:如何让同样的提示词每次出相同结果?
A:设置固定 seed 值,并保持其他参数不变。
Q:count=2 消耗几个积分?
A:每次请求消耗 1 个积分,不管 count 值是多少。
