2024-11-21 一站式 AI 平台生日大派对!2024-11-21 一站式 AI 平台生日大派对! 无问芯穹特别推出多项超值福利!立即参与
Skip to content

GenStudio SD API 服务使用教程

欢迎使用无问芯穹大模型服务平台(GenStudio)的 Stable Diffusion API 服务。本教程将指导您如何通过 API 调用来生成图像,检查任务状态,并获取生成结果。

NOTE

前提条件

步骤 0:注册账号

首先,请访问 无问芯穹智算云平台 注册账号。这是使用 API 服务的必要步骤。

步骤 1:获取 API 密钥

所有 API 调用都需要通过 API 密钥进行身份验证。请按照以下步骤获取您的 API 密钥:

  1. 登录到 密钥管理 页面。
  2. 创建一个 API 密钥。
  3. 点击复制按钮获取密钥。您可能需要完成二次验证。

API 密钥管理界面

提示:首次复制 API 密钥时,可能需要绑定手机号并完成二次验证。

使用 API 服务进行文生图

现在,让我们开始使用 API 服务来生成图像。

步骤 1:创建生成任务

首先,我们需要创建一个图像生成任务。

bash
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:检查任务排队状态

接下来,我们可以检查任务的排队状态。

bash
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:获取生成结果

一旦任务完成,我们就可以获取生成的图像结果。

bash
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 解码,然后才能使用。

bash
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. 无问芯穹智算云平台 注册账号。
  2. 获取 API 密钥(参考 密钥管理 页面)。

步骤 1:上传初始图像

首先,我们需要上传一张初始图像作为图生图的输入。

bash
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:创建图生图任务

接下来,我们使用上传的图像创建一个图生图任务。

bash
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:检查任务排队状态

现在,我们可以检查任务的排队状态。

bash
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:获取生成结果

一旦任务完成,我们就可以获取生成的图像结果。

bash
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 链接。

json
{"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 解码,然后才能使用。

bash
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 文档或联系客户支持。祝您使用愉快!