调用OpenAI图像生成API时遭遇400错误,请求排查
解决调用OpenAI图像生成API时的400错误
排查API密钥有效性
确认密钥为sk-开头的完整有效密钥,同时检查OpenAI账户是否有可用额度(额度耗尽会触发请求错误),以及账户是否开通了DALL-E相关权限。校验请求参数合法性
- 避免空提示词:发送请求前先对输入内容做非空校验,防止提交无效请求:
const promptText = inputElm.value.trim(); if (!promptText) { alert("请输入有效提示词"); return; } - 匹配模型参数要求:若使用DALL-E 3模型,
n参数仅支持设为1,当前代码中n:4会导致参数错误。可显式指定模型并调整参数:body: JSON.stringify({ prompt: promptText, n: 1, size: "1024x1024", model: "dall-e-3" }),
若使用DALL-E 2,
n取值范围为1-10,需确保账户权限支持对应数量的图像生成。- 避免空提示词:发送请求前先对输入内容做非空校验,防止提交无效请求:
获取详细错误信息定位问题
当前代码仅捕获HTTP状态码,无法获取OpenAI返回的具体错误原因,修改错误处理逻辑以解析API返回的错误详情:try { const response = await fetch( "https://api.openai.com/v1/images/generations", options ); if (!response.ok) { const errorData = await response.json(); throw new Error(`请求失败: ${errorData.error.message} (状态码: ${response.status})`); } // ... 后续处理逻辑 } catch (error) { console.error(error); }调整后控制台会输出具体错误提示,比如密钥无效、参数不合法、额度不足等,精准定位问题。
核对请求头格式
确保Authorization请求头格式正确,为Bearer 你的API密钥,无多余空格或特殊符号。
内容的提问来源于stack exchange,提问作者Md Fahimul Kabir Chowdhury
相关产品推荐
相关产品推荐

