Skip to content

gpt-4-all(生成图片)

POST  v1/images/completions

根据提示词以及其他参数创建图片

官方文档:https://platform.openai.com/docs/api-reference/images/create

❗️ 注意事项:

还在世的艺术家名称(如「宫崎骏」、「新海诚」等)会触发 moderation_blocked 报错,导致生成失败。你可以通过「吉卜力」、「明亮的现代日式动漫风格」等非敏感词来规避。衣着暴露或含有暗示的图片同理。总的来说,「风格」比「艺术家」安全,像是「皮克斯」也是支持的。更稳妥的做法是采用已故艺术家或对应的风格,如「梵高」、「蒙娜丽莎」等。

对于单次请求生成 2-10 张图片的情况,如果系统检测到请求涉嫌违反平台政策,该请求中的违规部分将不会被生成。这可能导致实际生成图片数量少于用户请求数量,然而多图的情况下,不会抛出 moderation_blocked。 因此,请在创作中主动规避潜在的知识产权(IP)或版权问题,以减少生成被系统拦截的风险,确保创作顺利完成。

✍️ 关键提示:

避免直接使用已知的受版权保护角色、品牌标志、名人肖像等可以采用「风格借鉴」「创意改编」「泛指描述」等方式表达若需引用特定元素,请提前确认该元素是否处于公有领域

✍️ 实用提示

支持任何语言,中文绘制也很稳定,但我们也不建议绘制大量的文本

size 参数不支持显示传入 size=“auto”,默认即 auto

画幅比例可以在 prompt 中指定,支持 2:3、3:2、1:1,也可以在 size 参数中设置。

支持控制敏感度的 moderation 参数,但这个参数设为 low 也可能被拒,比如说维纳斯过于暴露

edits 端口不支持 moderation 参数

文本描述和参考图搭配,融图效果更准确

上传的图片可以做压缩预处理,提升速度

支持透明背景,免抠图。——只需要在 Prompt 中补充要求

请求参数

Authorization

在 Header 添加参数 Authorization,其值为在 Bearer 之后拼接 Token。

Authorization: Bearer ******************

Body 参数

Content-Type: application/json

参数名类型必填说明
modelstring必需模型名称。用于指定图像生成的模型(例如 dall-e-2dall-e-3)。
messagesarray [object]必需模型聊天记录
└─rolestring可选角色类型:user / assistant / system
└─contentstring可选文本内容
promptstring必需提示词。期望生成图片的文本描述。 • dall-e-2:最大长度 1000 字符 • dall-e-3:最大长度 4000 字符 提示:描述需具体详细,包含关键视觉元素、艺术风格及构图视角。
ninteger必需生成数量。要生成的图片数量(范围 1-10)。 • 注意:dall-e-3 仅支持 n=1
sizestring必需图片尺寸。 • dall-e-2:支持 256x256, 512x512, 1024x1024 • dall-e-3:支持 1024x1024 (正方形), 1792x1024 (横向), 1024x1792 (纵向)
qualitystring可选图片质量。仅 dall-e-3 支持。 • hd:生成更细致、更一致的图像。
stylestring可选图片风格。仅 dall-e-3 支持。 • vivid:超现实、戏剧性风格。 • natural:更自然、写实风格。
userstring可选用户标识。代表最终用户的唯一 ID,用于帮助 OpenAI 监控和检测滥用行为。

请求示例 (JSON)

{
    "model": "gpt-4-all",
    "messages": [
        {
            "role": "user",
            "content": "画一只猫"
        }
    ]
}

返回响应

200 成功

Content-Type: application/json

响应参数

参数类型必填说明
idstring必需聊天补全对象的唯一标识符。
objectstring必需对象类型,通常为 "chat.completion"。
createdinteger必需补全创建时的 Unix 时间戳(秒)。
modelstring必需用于生成此补全的模型。
choicesarray [object]必需模型生成的补全列表。
└─indexinteger可选此补全在其列表中的索引。
└─messageobject可选包含模型生成的响应消息的对象。
└─logprobsnull可选如果请求中设置了 logprobs,则包含标记的对数概率。
└─finish_reasonstring可选模型停止生成补全的原因。可能是 "stop"、"length" 或 "tool_calls"。
usageobject必需此补全请求使用的令牌统计信息。
└─prompt_tokensinteger必需提示中使用的令牌数量。
└─completion_tokensinteger必需补全中生成的令牌数量。
└─total_tokensinteger必需使用的总令牌数(提示 + 补全)。

响应示例

{
    "id": "chatcmpl-123",
    "object": "chat.completion",
    "created": 1677652288,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "\n\nHello there, how may I assist you today?"
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 9,
        "completion_tokens": 12,
        "total_tokens": 21
    }
}

示例代码

python
import http.client
import json

conn = http.client.HTTPSConnection("nxaiapp.com")
payload = json.dumps({
   "model": "gpt-4-all",
   "messages": [
      {
         "role": "user",
         "content": "画一只猫"
      }
   ]
})
headers = {
   'Authorization': 'Bearer <token>',
   'Content-Type': 'application/json'
}
conn.request("POST", "/v1/chat/completions", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))