Dall-E绘画
<p>[TOC]</p>
<h5>简要描述</h5>
<ul>
<li>生成图片接口</li>
</ul>
<h5>请求URL</h5>
<ul>
<li><code>https://api.hellogptworld.com/v1/images/generations</code></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST</li>
</ul>
<h5>请求头信息</h5>
<ul>
<li>Content-Type: application/json</li>
<li>Authorization: Bearer 密钥信息 (你的密钥,在 [api对接](<a href="https://vip.gptchatclub.com/api">https://vip.gptchatclub.com/api</a> "api对接") 中查看)</li>
</ul>
<h5>请求参数说明</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">model</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>支持的模型:dall-e-2、dall-e-3,默认为dall-e-2</td>
</tr>
<tr>
<td style="text-align: left;">prompt</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>生成图像的文本描述:dall-e-2支持最大长度1000个字符,dall-e-3支持最大长度4000个字符</td>
</tr>
<tr>
<td style="text-align: left;">n</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">int</td>
<td>生成图片的张数,必须介于 1 到 10 之间,默认为1。对于dall-e-3, 仅支持n=1</td>
</tr>
<tr>
<td style="text-align: left;">quality</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>生成图像的质量:standard、hd,默认为standard。此参数仅支持dall-e-3</td>
</tr>
<tr>
<td style="text-align: left;">response_format</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>返回生成的图像的格式:url、b64_json,默认url。url仅在图像生成后60分钟内有效</td>
</tr>
<tr>
<td style="text-align: left;">size</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>生成图像的大小:对于dall-e-2必须是256x256、512x512或1024x1024,对于dall-e-3必须是1024x1024、1792x1024、或1024x1792,默认为1024x1024。</td>
</tr>
<tr>
<td style="text-align: left;">style</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>生成图像的风格:vivid、natural,默认为vivid。vivid使模型倾向于生成超真实和戏剧性的图像,natural使模型生成更自然、不太真实的图像。此参数仅支持dall-e-3</td>
</tr>
<tr>
<td style="text-align: left;">user</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">string</td>
<td>当前请求用户标识,业务方自行生成,最大64个字符,可以帮助OpenAI监控和检测滥用行为</td>
</tr>
</tbody>
</table>
<h5>请求示例</h5>
<pre><code>{
&quot;model&quot;:&quot;dall-e-3&quot;,
&quot;prompt&quot;: &quot;生成一只可爱的小狗&quot;,
&quot;n&quot;:1,
&quot;user&quot;:&quot;d7e68cb9-f494-4d78-89ce-735eeab4b107&quot;,
&quot;response_format&quot;:&quot;b64_json&quot;,
&quot;size&quot;:&quot;1024x1024&quot;,
&quot;style&quot;:&quot;natural&quot;
}
</code></pre>
<h5>正确返回示例</h5>
<pre><code>// 返回url
{
&quot;created&quot;: 1589478378,
&quot;data&quot;: [
{
&quot;url&quot;: &quot;https://...&quot;
},
{
&quot;url&quot;: &quot;https://...&quot;
}
]
}
// 返回base64,建议使用这个
{
&quot;created&quot;: 1589478378,
&quot;data&quot;: [
{
&quot;b64_json&quot;: &quot;data:image/png;base64,iVBOR...&quot;
},
{
&quot;b64_json&quot;: &quot;data:image/png;base64,iVBOR...&quot;
}
]
}</code></pre>
<h5>错误返回示例</h5>
<pre><code>
// 密钥没传
{
&quot;error&quot;: {
&quot;message&quot;: &quot;You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you're accessing the API from your browser and are prompted for a username and password. You can obtain an API key from https://vip.gptchatclub.com/api.&quot;,
&quot;type&quot;: &quot;talk_api_error&quot;,
&quot;param&quot;: null,
&quot;code&quot;: &quot;invalid_api_key&quot;
}
}
// 密钥传的不对
{
&quot;error&quot;: {
&quot;message&quot;: &quot;Incorrect API key provided: sk-1afsp*****************************************k5R2. You can find your API key at https://vip.gptchatclub.com/api.&quot;,
&quot;type&quot;: &quot;invalid_request_error&quot;,
&quot;param&quot;: null,
&quot;code&quot;: &quot;invalid_api_key&quot;
}
}
// 模型不对
{
&quot;error&quot;: {
&quot;message&quot;: &quot;Unsupported model.&quot;,
&quot;type&quot;: &quot;talk_api_error&quot;,
&quot;param&quot;: null,
&quot;code&quot;: &quot;invalid_model&quot;
}
}
// 余额不足
{
&quot;error&quot;: {
&quot;message&quot;: &quot;User quota is not enough.&quot;,
&quot;type&quot;: &quot;talk_api_error&quot;,
&quot;param&quot;: null,
&quot;code&quot;: &quot;insufficient_user_quota&quot;
}
}
// 图像描述没传或者传null
{
&quot;error&quot;: {
&quot;message&quot;: &quot;Unsupported messages.&quot;,
&quot;type&quot;: &quot;talk_api_error&quot;,
&quot;param&quot;: null,
&quot;code&quot;: &quot;invalid_messages&quot;
}
}
// 服务内部错误
{
&quot;error&quot;: {
&quot;message&quot;: &quot;Internal server error.&quot;,
&quot;type&quot;: &quot;talk_api_error&quot;,
&quot;param&quot;: null,
&quot;code&quot;: &quot;internal_error&quot;
}
}</code></pre>
<h5>返回参数说明</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">created</td>
<td style="text-align: left;">long</td>
<td>创建时间</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">object</td>
<td>返回数据</td>
</tr>
</tbody>
</table>
<p>data字段说明</p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">b64_json</td>
<td style="text-align: left;">string</td>
<td>返回图片的base64</td>
</tr>
<tr>
<td style="text-align: left;">url</td>
<td style="text-align: left;">string</td>
<td>返回图片url</td>
</tr>
</tbody>
</table>
<h5>备注</h5>
<ul>
<li>暂无</li>
</ul>