邀请好友,获取免费 Tokens!了解更多

创建聊天创作图 (非流式)

该接口用于向模型发送一个提示(包含文本或图片),模型将返回一个或多个生成的回复。该接口特别适用于支持多模态输入(如图片处理、美化、识图创作)的模型,如 gpt-4o-image-vip

接口信息

  • 接口地址: https://api.codingplanx.ai/v1/chat/completions
  • 请求方法: POST
  • 内容类型: application/json
  • 响应类型: application/json

请求头 (Headers)

参数名称必选类型示例值说明
Content-TypeStringapplication/json请求体格式
AcceptStringapplication/json期望响应格式
AuthorizationStringBearer {{YOUR_API_KEY}}用于身份验证的 API 密钥

请求参数 (Body)

请求体为 JSON 对象,包含以下字段:

参数名称类型必选默认值说明
modelString-要使用的模型 ID。例如:gpt-4o-image-vip
messagesArray-对话消息列表。每个对象包含 role (user/assistant/system) 和 contentcontent 可以是字符串,也可以是包含类型和图片 URL 的对象数组。
toolsArray-模型可以调用的一组工具列表。目前仅支持函数。
tool_choiceObjectnone控制模型调用哪个函数。none 不调用,auto 自动选择。
temperatureNumber1采样温度 (0-2)。越高越随机,越低越集中。
top_pNumber1核采样。只考虑概率质量前 P 的标记。建议与 temperature 二选一调整。
nInteger1为每个输入生成多少个聊天补全选择。
streamBooleanfalse是否流式传输。当前接口定义为非流式。
max_tokensIntegerinf生成的最大标记数。
stopString/Arraynull停止符。API 将停止生成进一步的标记。
presence_penaltyNumber0-2.0 到 2.0 之间。惩罚已出现标记,增加谈论新话题的可能性。
frequency_penaltyNumber0-2.0 到 2.0 之间。根据频率惩罚重复标记。
response_formatObject-指定输出格式,如 { "type": "json_object" } 启用 JSON 模式。
userString-代表最终用户的唯一标识符,用于监控滥用。
seenInteger-(测试版) 指定种子值以尽力实现确定性采样。

响应参数

参数名称类型说明
idString该次请求的唯一标识符。
objectString对象类型,固定为 chat.completion
createdIntegerUnix 时间戳(秒)。
choicesArray包含生成的响应选项。
└ indexInteger选项的索引。
└ messageObject包含 rolecontent 的消息对象。
└ finish_reasonString停止原因(如 stop, length)。
usageObject令牌使用情况。
└ prompt_tokensInteger提示消耗的令牌数。
└ completion_tokensInteger补全消耗的令牌数。
└ total_tokensInteger总消耗。

示例

请求示例 (图片美化/创作)

{
    "model": "gpt-4o-image-vip",
    "messages": [
      {
            "role": "user",
            "content": [
                {"type": "text", "text": "美化一下这种图片,加上 我爱中国 四个字 尺寸[4:3] "},
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://lsky.zhongzhuan.chat/i/2024/10/17/6711068a14527.png"
                    }
                }
            ]
        }
    ],
    "tools": [],
    "tool_choice": "none"
}

响应示例

{
    "id": "chatcmpl-123",
    "object": "chat.completion",
    "created": 1677652288,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "好的,已经为您处理好图片。您可以查看以下生成结果:[图片链接/描述]"
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 9,
        "completion_tokens": 12,
        "total_tokens": 21
    }
}

FAQs (常见问题)

Q: 为什么在使用 response_format: { "type": "json_object" } 时请求会报错? A: 使用 JSON 模式时,您必须在 messages 中明确指示模型生成 JSON(例如:系统提示词中加入“请以 JSON 格式回答”)。否则,模型可能会因为输出非 JSON 内容而导致死循环或报错。

Q: 如何确保每次请求生成的结果一致? A: 虽然 AI 模型具有随机性,但您可以尝试设置 seen (seed) 参数并保持 temperature 为 0,同时关注响应中的 system_fingerprint 字段来监控后端环境是否发生变化。

Q: max_tokens 设置多大比较合适? A: 这取决于您的应用场景。对于简短的图片描述,100-300 即可;如果需要详细的分析或长文本创作,建议设置在 1000 以上。请注意,输入标记(包含图片)和输出标记的总和不能超过模型的上下文限制。

Q: 如何处理图片输入? A: 在 messagescontent 中,使用 type: "image_url"。目前建议使用公网可访问的 HTTPS 图片链接。

Q: toolstool_choice 是必须的吗? A: 根据此接口定义,这两个字段被标记为必选。如果您不需要调用特定工具,请将 tools 设为空数组 [],并将 tool_choice 设为 "none"