AI绘画高级版
<p>[TOC]</p>
<h3>简介</h3>
<ul>
<li>根据用户输入的文本,自动创作图片,每次可自定义生成1至8张图片</li>
<li>涉及2个接口,分别为:提交请求、查询结果</li>
</ul>
<h3>接入流程</h3>
<ol>
<li>提交请求:传入文本、分辨率、数量、参考图等参数,创建 AI 作画任务,获得任务ID </li>
<li>查询结果:用于在任务创建后,查看图片生成状态。待图片生成完毕,通过查询接口即可查看生成图片的地址链接</li>
</ol>
<h3>计费规则</h3>
<p>根据尺寸和张数计费</p>
<ul>
<li>
<p>以下尺寸按每张按1次计费:
512x512、640x360、360x640、1024x1024、1280x720、720x1280</p>
</li>
<li>以下尺寸按每张按2次计费:
2048x2048、2560x1440、1440x2560</li>
</ul>
<p>举例1:
尺寸512x512,绘制2张,则尺寸按1次,张数按2次,共计费1 * 2 = 2次</p>
<p>举例2:
尺寸2560x1440,绘制3张,则尺寸按2次,张数按3次,共计费2 * 3 = 6次</p>
<h3>接口调用说明</h3>
<h4>请求方式</h4>
<p>如接口没有单独说明,所有接口均为:<strong>POST</strong></p>
<h4>请求格式</h4>
<p>如接口没有单独说明,所有接口均为:<strong>application/form-data</strong></p>
<h4>请求参数</h4>
<p>请求参数均包括公共参数和业务参数(业务参数见具体接口说明)
如接口没有单独说明,所有接口调用时,均需要把<strong>公共参数</strong>和<strong>业务参数</strong>一并放在<strong>请求参数</strong>中提交</p>
<p><a name="公共请求参数"></a></p>
<h5>公共请求参数</h5>
<table>
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th>必须</th>
<th><div style="width:420px;">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>服务商分配的唯一标识</td>
</tr>
<tr>
<td>timestamp</td>
<td>Long</td>
<td>是</td>
<td>当前时间戳(毫秒)</td>
</tr>
<tr>
<td>sign</td>
<td>String</td>
<td>是</td>
<td>签名,详见签名算法说明</td>
</tr>
</tbody>
</table>
<h5>签名算法说明</h5>
<pre><code>sign = sha256(appId + appSecret + timestamp)</code></pre>
<p>用服务商分配的 <strong>appId</strong>、服务商分配的 <strong>appSecret</strong>,当前时间戳(毫秒) <strong>timestamp</strong>,按上述顺序拼接成字符串,再进行 <strong>sha256</strong> 哈希得到。如下:</p>
<pre><code class="language-java">String appId = &quot;xyzxy2121zxyz&quot;;
String timestamp = &quot;1555378976238&quot;;
String appSecret = &quot;efcefcef1121cefcefc1212121&quot;;
String str = appId + appSecret + timestamp;
String sign = sha256(str);</code></pre>
<h4>返回说明</h4>
<h5>返回字段说明</h5>
<p>所有接口均返回以下公共字段:</p>
<table>
<thead>
<tr>
<th>字段名</th>
<th><div style="width:420px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>返回码,详见:code返回码说明</td>
</tr>
<tr>
<td>msg</td>
<td>code对应的描述</td>
</tr>
<tr>
<td>charge</td>
<td>计费标志 true为计费,false为不计费</td>
</tr>
<tr>
<td>taskNo</td>
<td>本次请求号</td>
</tr>
<tr>
<td>data</td>
<td>返回具体结果,object类型,详见data返回字段描述</td>
</tr>
</tbody>
</table>
<p><a name="code返回码说明"></a></p>
<h5>code返回码说明</h5>
<table>
<thead>
<tr>
<th>code</th>
<th><div style="width:420px;">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>200</td>
<td>成功</td>
</tr>
<tr>
<td>201</td>
<td>taskId无效</td>
</tr>
<tr>
<td>202</td>
<td>文本黄反拦截/图片黄反拦截</td>
</tr>
<tr>
<td>400</td>
<td>参数错误</td>
</tr>
<tr>
<td>404</td>
<td>接口地址不正确</td>
</tr>
<tr>
<td>500</td>
<td>系统维护,请稍候再试</td>
</tr>
<tr>
<td>601</td>
<td>接口未开通</td>
</tr>
<tr>
<td>602</td>
<td>账号停用</td>
</tr>
<tr>
<td>604</td>
<td>接口停用</td>
</tr>
<tr>
<td>606</td>
<td>调用超限,请稍候再试</td>
</tr>
<tr>
<td>607</td>
<td>ip不在白名单</td>
</tr>
<tr>
<td>609</td>
<td>请求过于频繁,请稍候再试</td>
</tr>
<tr>
<td>610</td>
<td>请求超时</td>
</tr>
<tr>
<td>999</td>
<td>其他,以实际返回为准</td>
</tr>
</tbody>
</table>
<hr />
<h3>提交请求</h3>
<h4>请求地址</h4>
<p><code>https://api.jumdata.com/ai/draw/v2/submit</code></p>
<h4>业务参数</h4>
<table>
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th>必须</th>
<th><div style="width:420px;">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>text</td>
<td>String</td>
<td>是</td>
<td>生图的文本描述,仅支持中文、日常标点符号。不支持英文,特殊符号,限制 200 字</td>
</tr>
<tr>
<td>width</td>
<td>Integer</td>
<td>是</td>
<td>图片宽度,512x512、640x360、360x640、1024x1024、1280x720、720x1280、2048x2048、2560x1440、1440x2560</td>
</tr>
<tr>
<td>height</td>
<td>Integer</td>
<td>是</td>
<td>图片高度,512x512、640x360、360x640、1024x1024、1280x720、720x1280、2048x2048、2560x1440、1440x2560</td>
</tr>
<tr>
<td>imageNum</td>
<td>Integer</td>
<td>否</td>
<td>生成图片数量,默认一张,支持生成 1-8 张</td>
</tr>
<tr>
<td>image</td>
<td>String</td>
<td>否</td>
<td>参考图图片的base64</td>
</tr>
<tr>
<td>pdf</td>
<td>String</td>
<td>否</td>
<td>参考图PDF文件的base64</td>
</tr>
<tr>
<td>pdfNum</td>
<td>Integer</td>
<td>否</td>
<td>参考图PDF文件的对应页码,当pdf参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页</td>
</tr>
<tr>
<td>file</td>
<td>file</td>
<td>否</td>
<td>参考图图片文件</td>
</tr>
<tr>
<td>url</td>
<td>String</td>
<td>否</td>
<td>参考图图片的url</td>
</tr>
<tr>
<td>changeDegree</td>
<td>Integer</td>
<td>否</td>
<td>参考图影响因子,当 file、image、url或 pdf 字段存在时,为必需项,支持 1-10 ,数值越大参考图影响越大</td>
</tr>
</tbody>
</table>
<p>> 参考图大小不超过10M,最短边至少 15px,最长边最大 8192px
> 如需参考图,image、pdf、file、url 提供一个即可,优先级:image> pdf > file > url
> 公共请求参数请参阅:<a href="#公共请求参数">公共请求参数</a></p>
<h4>成功返回样例</h4>
<pre><code class="language-json">{
&quot;code&quot;: 200,// 返回码,详见返回码说明
&quot;msg&quot;: &quot;成功&quot;,// 返回码对应描述
&quot;taskNo&quot;: &quot;043439882226367117195632&quot;,// 本次请求号
&quot;charge&quot;: true, // 计费标志
&quot;data&quot;: {
&quot;task_id&quot;: &quot;xxxx&quot;, //生成图片任务task_id,用于查询任务结果
}
}</code></pre>
<h4>失败返回样例</h4>
<pre><code class="language-json">{
&quot;code&quot;: 400,// 返回码,详见返回码说明
&quot;taskNo&quot;: &quot;255033697205413852131601&quot;,// 本次请求号
&quot;charge&quot;: false,// 计费标志
&quot;msg&quot;: &quot;text不能为空&quot;// 返回码对应描述
}</code></pre>
<hr />
<h3>查询结果</h3>
<h4>请求地址</h4>
<p><code>https://api.jumdata.com/ai/draw/v2/query</code></p>
<h4>业务参数</h4>
<table>
<thead>
<tr>
<th>名称</th>
<th><div style="width:420px;">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>taskId</td>
<td>提交请求接口返回的taskId</td>
</tr>
</tbody>
</table>
<h4>成功返回样例</h4>
<pre><code class="language-json">{
&quot;code&quot;: 200,// 返回码,详见返回码说明
&quot;msg&quot;: &quot;成功&quot;,// 返回码对应描述
&quot;taskNo&quot;: &quot;837476569147263548147406&quot;,// 本次请求号
&quot;charge&quot;: false,//计费标志
&quot;data&quot;: {
&quot;task_progress&quot;: 1,//图片生成总进度,进度包含2种,0为未处理完,1为处理完成
&quot;task_status&quot;: &quot;SUCCESS&quot;,//计算总状态。有 INIT(初始化),WAIT(排队中), RUNNING(生成中), FAILED(失败), SUCCESS(成功)四种状态,只有 SUCCESS 为成功状态
&quot;sub_task_result_list&quot;: [ //子任务生成结果列表
{
&quot;sub_task_error_code&quot;: 0,//风格任务错误码。0:正常;501:文本黄反拦截;201:模型生图失败
&quot;sub_task_progress&quot;: 1,//单任务图片生成进度,进度包含2种,0为未处理完,1为处理完成
&quot;sub_task_status&quot;: &quot;SUCCESS&quot;,//单风格图片状态。有 INIT(初始化),WAIT(排队中), RUNNING(生成中), FAILED(失败), SUCCESS(成功)四种状态,只有 SUCCESS 为成功状态
&quot;final_image_list&quot;: [//单风格任务产出的最终图列表
{
&quot;img_url&quot;: &quot;xxx.jpg&quot;,//图片地址,有效期3个月
&quot;width&quot;: 1024,//图片像素信息-宽度
&quot;height&quot;: 1024,//图片像素信息-高度
&quot;img_approve_conclusion&quot;: &quot;pass&quot;//图片机审结果,&quot;block&quot;:输出图片违规;&quot;review&quot;: 输出图片疑似违规;&quot;pass&quot;: 输出图片未发现问题;
}
]
}
]
}
}
</code></pre>
<h4>失败返回样例</h4>
<pre><code class="language-json">{
&quot;code&quot;: 201,// 返回码,详见返回码说明
&quot;taskNo&quot;: &quot;255033697205413852131601&quot;,// 本次请求号
&quot;msg&quot;: &quot;taskId无效&quot; // 返回码对应描述
}</code></pre>