GenStudio SD API 服务使用教程
欢迎使用无问芯穹大模型服务平台(GenStudio)的 Stable Diffusion API 服务。本教程将指导您如何通过 API 调用来生成图像,检查任务状态,并获取生成结果。
NOTE
- 关于 API 端点的路径、参数等细节,详见 GenStudio SD API 参考文档。
- 暂仅支持
majicMIX realistic 麦橘写实_v7.safetensors
。如有需求,欢迎联系无问芯穹 400-806-6058。 - 欢迎了解 GenStudio ComfyUI 工作流托管 API 服务,平台已内置主流 ckpt 与节点。
前提条件
步骤 0:注册账号
首先,请访问 无问芯穹智算云平台 注册账号。这是使用 API 服务的必要步骤。
步骤 1:获取 API 密钥
所有 API 调用都需要通过 API 密钥进行身份验证。请按照以下步骤获取您的 API 密钥:
- 登录到 密钥管理 页面。
- 创建一个 API 密钥。
- 点击复制按钮获取密钥。您可能需要完成二次验证。
提示:首次复制 API 密钥时,可能需要绑定手机号并完成二次验证。
使用 API 服务进行文生图
现在,让我们开始使用 API 服务来生成图像。
步骤 1:创建生成任务
首先,我们需要创建一个图像生成任务。
curl -X POST https://cloud.infini-ai.com/api/maas/sd_task_api/create \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"type": "txt2img",
"prompt": "a beautiful landscape with mountains and a lake, digital art",
"negative_prompt": "disfigured,blurry,watermark,",
"seed": 123456798,
"batch_size": 1,
"width": 512,
"height": 512,
"inpainting_fill": 0,
"clip_skip": 2,
"sampler_name": "DDIM",
"scheduler": "Karras",
"steps": 30,
"cfg_scale": 7,
"randn_source": "GPU",
"n_iter": 1,
"restore_faces": false,
"tiling": false,
"enable_hr": false,
"override_settings": {
"sd_model_checkpoint": "majicMIX realistic 麦橘写实_v7.safetensors",
"sd_vae": "vae-84m-pruned_2.0.safetensors"
},
"alwayson_scripts": {}
}'
请将 YOUR_API_KEY
替换为您在前面步骤中获取的 API 密钥。
成功后,您将收到一个 sd_task_id
,请记录下来,我们将在后续步骤中使用它。
步骤 2:检查任务排队状态
接下来,我们可以检查任务的排队状态。
curl -X POST https://cloud.infini-ai.com/api/maas/sd_task_api/get_rank_info \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"sd_task_ids": ["YOUR_SD_TASK_ID"]
}'
请将 YOUR_SD_TASK_ID
替换为上一步获得的任务 ID。
根据返回的 status
值,您可以了解任务是否正在排队或已经完成。
步骤 3:获取生成结果
一旦任务完成,我们就可以获取生成的图像结果。
curl -X POST https://cloud.infini-ai.com/api/maas/sd_task_api/get_result \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"sd_task_ids": ["YOUR_SD_TASK_ID"],
"expire_time": 3600
}'
返回的 images
数组中包含了生成图像的 OSS 链接。
步骤 4:下载生成的图像
最后,使用返回的 OSS 链接下载生成的图像。
WARNING
返回的 OSS 链接已使用 Unicode encoding 进行 URL 编码。请务必对 URL 进行 Unicode 解码,然后才能使用。
url_encoded='https://infini-imagegen.oss-cn-beijing.aliyuncs.com/te-c637fngp2sne3h2q%2Fac-c64avxhr7gi4ho3w%2Fsd-c7tyacdis3y5ibot%2FZ7wfutL1a1rXcHXO.png?Expires=1722490021\u0026OSSAccessKeyId=LTAI5tBgzFapTV38XHKZjHPa\u0026Signature=h1vZIp0w%2Bh7DELozqJdzoeGszUM%3D'
decoded_url=$(printf '%b' "$url_encoded")
curl -o myfile.png "$decoded_url"
恭喜!您已经成功使用文生图 API 服务生成了一张图像!
注意事项
- 请确保在每次 API 调用中都使用有效的 API 密钥。
- 生成的图像将在上传后一天自动删除,请及时下载并保存。
- 如果遇到任何问题,请查看 API 文档或联系客户支持。
希望本教程能帮助您顺利使用无问芯穹大模型服务平台的文生图 API 服务。祝您使用愉快!
使用 API 服务进行图生图
欢迎使用无问芯穹大模型服务平台(GenStudio)的图生图 API 服务。本教程将指导您如何通过 API 调用来上传初始图像,创建图生图任务,检查任务状态,并获取生成结果。
请确保您已完成以下步骤:
步骤 1:上传初始图像
首先,我们需要上传一张初始图像作为图生图的输入。
curl -X POST https://cloud.infini-ai.com/api/maas/sd_task_api/upload_image \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H "Content-Type: multipart/form-data" \
-F "source_file=@/path/to/your/image.jpg"
请将 YOUR_API_KEY
替换为您的 API 密钥,/path/to/your/image.jpg
替换为您要上传的图像文件路径。
成功后,您将收到一个 image_id
,请记录下来,我们将在下一步中使用它。
步骤 2:创建图生图任务
接下来,我们使用上传的图像创建一个图生图任务。
curl -X POST https://cloud.infini-ai.com/api/maas/sd_task_api/create \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"type": "img2img",
"prompt": "a cute cartoon cat",
"image": "YOUR_IMAGE_ID",
"width": 512,
"height": 512,
"sampler_name": "DDIM",
"steps": 30,
"cfg_scale": 7,
"denoising_strength": 0.75
}'
请将 YOUR_API_KEY
替换为您的 API 密钥,YOUR_IMAGE_ID
替换为上一步获得的 image_id
。
成功后,您将收到一个 sd_task_id
,请记录下来,我们将在后续步骤中使用它。
步骤 3:检查任务排队状态
现在,我们可以检查任务的排队状态。
curl -X POST https://cloud.infini-ai.com/api/maas/sd_task_api/get_rank_info \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"sd_task_ids": ["YOUR_SD_TASK_ID"]
}'
请将 YOUR_SD_TASK_ID
替换为上一步获得的任务 ID。
步骤 4:获取生成结果
一旦任务完成,我们就可以获取生成的图像结果。
curl -X POST https://cloud.infini-ai.com/api/maas/sd_task_api/get_result \
-H "Authorization: Bearer ${YOUR_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"sd_task_ids": ["YOUR_SD_TASK_ID"],
"expire_time": 3600
}'
返回的 images
数组中包含了生成图像的 OSS 链接。
{"code":0,"msg":"Success","data":{"sd_task_result":[{"sd_task_id":"sd-c7zd7hssrn4enco4","status":1,"errMsg":"","images":["https://infini-imagegen.oss-cn-beijing.aliyuncs.com/te-b905754427352261%2Fac-c66h4ddlwutmbinv%2Fsd-c7zd7hssrn4enco4%2FW1UmNS8W7LM1lsYy.png?Expires=1725515560\u0026OSSAccessKeyId=LTAI5tBgzFapTV38XHKZjHPa\u0026Signature=CBO0BzYH65%2F573PwdzJA8Swgt7U%3D"]}]}}%
步骤 5:下载生成的图像
最后,使用返回的 OSS 链接下载生成的图像。
WARNING
返回的 OSS 链接已使用 Unicode encoding 进行 URL 编码。请务必对 URL 进行 Unicode 解码,然后才能使用。
url_encoded='https://infini-imagegen.oss-cn-beijing.aliyuncs.com/te-c637fngp2sne3h2q%2Fac-c64avxhr7gi4ho3w%2Fsd-c7tyacdis3y5ibot%2FZ7wfutL1a1rXcHXO.png?Expires=1722490021\u0026OSSAccessKeyId=LTAI5tBgzFapTV38XHKZjHPa\u0026Signature=h1vZIp0w%2Bh7DELozqJdzoeGszUM%3D'
decoded_url=$(printf '%b' "$url_encoded")
curl -o myfile.png "$decoded_url"
恭喜!您已经成功使用图生图 API 服务生成了一张新图像!
注意事项
- 上传的初始图像将在上传后一天自动删除,请及时使用。
denoising_strength
参数控制对原始图像的修改程度,范围从 0 到 1。值越大,生成的图像与原始图像的差异越大。- 您可以调整
cfg_scale
(引导系数)来控制生成图像与提示词的匹配程度。 - 如需进行局部修改,可以使用
mask
参数上传一个蒙版图像。
希望本教程能帮助您顺利使用无问芯穹大模型服务平台的图生图 API 服务。如果遇到任何问题,请查看 API 文档或联系客户支持。祝您使用愉快!