答案是:直接可用的chatgpt api调用模板需严格遵循/v1/chat/completions接口规范,含正确url、json格式body(含model/messages/temperature)、bearer认证headers及application/json类型。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要一个能直接复制进代码里、不报错、不需额外修改的ChatGPT API调用提示词模板,而不是网上搜到的带占位符、缺参数、漏headers或忘记加JSON格式校验的半成品。
确认API版本与基础结构
打开OpenAI官方文档,定位到 /v1/chat/completions 接口说明页,确认当前稳定版本是 v1,不是 beta 或 legacy 路径。旧版 /v1/engines/{model}/completions 已停用,强行用会返回 404。
请求必须是 POST 方法,URL 固定为 【https://api.openai.com/v1/chat/completions】,少一个斜杠或写成 http 都会失败。
构造最小可用请求体
方法一:纯文本问答(最简场景)
在 JSON body 中只保留三个必填字段:model、messages、temperature。model 填 gpt-3.5-turbo 或 gpt-4o;messages 是数组,至少含一个 role: "user" 的对象;temperature 设为 0.7——设为 0 会导致输出过于死板,设为 1.2 会触发 API 拒绝(服务器端校验上限是 2.0,但实际 >1.0 就容易乱码)。
{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "你好,请用中文简单解释量子纠缠"}], "temperature": 0.7}
用于在用户想通过浏览器自动化与 Google Gemini 或 ChatGPT 交互时。触发短语包括“ask Gemini”“ask ChatGPT”“ask GPT”“让...”。
方法二:带系统角色与多轮上下文
把 system 角色放在 messages 数组最前面,内容控制模型行为,比如 "你是一名严谨的物理教师,回答要准确、简洁,不编造术语";后续 user 和 assistant 交替出现,构成真实对话链。注意:assistant 的 content 不能为空字符串,也不能为 null,否则请求被拒绝。
{"model": "gpt-4o", "messages": [{"role": "system", "content": "你是一名严谨的物理教师,回答要准确、简洁,不编造术语"}, {"role": "user", "content": "什么是波粒二象性?"}, {"role": "assistant", "content": "微观粒子既表现出波动性(如干涉、衍射),又表现出粒子性(如光电效应中的能量量子化)。"}, {"role": "user", "content": "举一个实验例子。"}], "temperature": 0.5}
补全请求头与认证
第一步:获取有效 API Key → 登录 platform.openai.com → 点击右上角个人头像 → View API Keys → Create new secret key。
第二步:在请求 headers 中添加 Authorization 字段,值为 【Bearer sk-xxx】,注意 Bearer 后有一个空格,sk- 开头的密钥不能硬编码进前端 JS,仅限后端调用。
第三步:固定设置 Content-Type: application/json,少写或写成 text/plain 会导致 status 400 并返回模糊错误 "invalid request"。










