最便宜的稳定扩散API—如何在Omniinfer中尝试图生图?

258 阅读3分钟

1. 创建账户

如果您尚未注册 OmniInfer 帐户,您可以访问此链接轻松创建一个帐户。 目前,我们只提供 Google 登录和 github 登录验证方法。我们计划在未来加入更多登录选项。

2. 创建 API 密钥

登录时,我们会默认为您创建一个密钥。 点击链接去创建一个API 密钥,请按提示进行创建。

您可以使用添加新密钥来创建自己的密钥

3. 为账户充值

在账户仪表板中,您将看到 "信用 "部分。我们为每位登录用户提供 50 次免费生成图片的机会。点击链接,您将看到账户的历史使用数据:

点击这个链接,你可以为账户充值:

4. 带正常参数的请求

请在 HTTP 请求中将 Content-Type 标头设置为 application/json,以表明您正在发送 JSON 数据。目前只支持 JSON 格式。

Request:
curl --location --request POST 'http://api.omniinfer.io/v2/txt2img' \
--header 'User-Agent: Apifox/1.0.0 (https://www.apifox.cn)' \
--header 'Content-Type: application/json' \
--header 'X-Omni-Key: ${your Key in step 2}' \
--data-raw '{
  "prompt": "fantastic,Best quality, masterpiece, ultra high res, (photorealistic:1.4), raw photo, 1girl, offshoulder, in the dark, deep shadow",
  "negative_prompt": "nsfw,ng_deepnegative_v1_75t, badhandv4, (worst quality:2), (low quality:2), (normal quality:2), lowres, ((monochrome)), ((grayscale)), watermark",
  "sampler_name": "DPM++ SDE Karras",
  "batch_size": 1,
  "n_iter": 1,
  "steps": 20,
  "cfg_scale": 7,
  "seed": -1,
  "height": 1024,
  "width": 1024,
  "model_name": "sd_xl_base_1.0.safetensors"
}'
Response:
{
    "code": 0,
    "msg": "",
    "data": {
    "task_id": "bec2bcfe-47c6-4536-af34-f26cfe6fd457"
    }
 }
Use task_id to get images

2xx 范围内的 HTTP 状态代码表示请求已被成功接受,而 5xx 范围内的状态代码表示服务器内部出错。 您可以从响应的 imgs 中获取图片网址。

Request:
curl --location --request GET 'http://api.omniinfer.io/v2/progress?task_id=d6a4e2bb-476d-49b5-bbb0-62eac05ff9b4' \
--header 'User-Agent: Apifox/1.0.0 (https://www.apifox.cn)' \
--header 'X-Omni-Key: ${your Key in step 2}'
Response:
{
    "code": 0,
    "msg": "",
     "data": {
        "status": 2,
        "progress": 1,
        "eta_relative": 0,
        "imgs": [
        "https://stars-test.s3.amazonaws.com/free-prod/bec2bcfe-47c6-4536-af34-f26cfe6fd457-0.png"
        ],
        "info": "{"prompt": "Best quality, masterpiece, ultra high res, (photorealistic:1.4), raw photo, 1girl, offshoulder, in the dark, deep shadow", "all_prompts": ["Best quality, masterpiece, ultra high res, (photorealistic:1.4), raw photo, 1girl, offshoulder, in the dark, deep shadow"], "negative_prompt": "nsfw,ng_deepnegative_v1_75t, badhandv4, (worst quality:2), (low quality:2), (normal quality:2), lowres, ((monochrome)), ((grayscale)), watermark", "all_negative_prompts": ["nsfw,ng_deepnegative_v1_75t, badhandv4, (worst quality:2), (low quality:2), (normal quality:2), lowres, ((monochrome)), ((grayscale)), watermark"], "seed": 4204593425, "all_seeds": [4204593425], "subseed": 332111771, "all_subseeds": [332111771], "subseed_strength": 0, "width": 1024, "height": 1024, "sampler_name": "DPM++ SDE Karras", "cfg_scale": 7.0, "steps": 20, "batch_size": 1, "restore_faces": false, "face_restoration_model": null, "sd_model_hash": "1f69731261", "seed_resize_from_w": -1, "seed_resize_from_h": -1, "denoising_strength": 0, "extra_generation_params": {}, "index_of_first_image": 0, "infotexts": ["Best quality, masterpiece, ultra high res, (photorealistic:1.4), raw photo, 1girl, offshoulder, in the dark, deep shadow\nNegative prompt: nsfw,ng_deepnegative_v1_75t, badhandv4, (worst quality:2), (low quality:2), (normal quality:2), lowres, ((monochrome)), ((grayscale)), watermark\nSteps: 20, Sampler: DPM++ SDE Karras, CFG scale: 7.0, Seed: 4204593425, Size: 1024x1024, Model hash: 1f69731261, Model: sd_xl_base_0.9, Denoising strength: 0, Version: v1.5.0-RC"], "styles": [], "job_timestamp": "20230726100311", "clip_skip": 1, "is_using_inpainting_conditioning": false}",
        "failed_reason": "",
        "current_images": null,
        "submit_time": "2023-07-26 18:03:11",
        "execution_time": "2023-07-26 18:03:11",
        "txt2img_time": "2023-07-26 18:03:27",
        "finish_time": "2023-07-26 18:03:27"
      }
}

5. 具有不同功能的图生图

5.1使用 controlNet 发送请求

请在 HTTP 请求中将 Content-Type 标头设置为 application/json,以表明您发送的是 JSON 数据。目前只支持 JSON 格式。

Request:
curl --location --request POST 'http://api.omniinfer.io/v2/txt2img' \
--header 'User-Agent: Apifox/1.0.0 (https://www.apifox.cn)' \
--header 'Content-Type: application/json' \
--header 'X-Omni-Key: ${your Key in step 2}' \
--data-raw '{
  "model_name": "babes_20.safetensors",
  "prompt": "photorealistic, ultra realistic, glowing cyan hair, closed eyes,([Mila Kunis|Emily Blunt|Ariana Grande]:0.85), 21 year old woman, sparkling starburst green eyes, red theme,eyeshadow, mascara, plush lips, pink lipstick, smile, straight white teeth, realistic skin texture, skin pores, shiny skin, selfie, red dress,photo shoot, red background,alluring, attractive,amazing photograph, masterpiece, best quality, <lora:add_detail_44319:1>",
  "negative_prompt": "bad anatomy, bad hands, text, error, missing fingers, extra digit, extra ears, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, out of focus, ugly, old, deformed, amateur, fat, morphing, lowres",
  "batch_size": 1,
  "width": 512,
  "height": 512,
  "sampler_name": "DPM++ 2M Karras",
  "cfg_scale": 7,
  "steps": 30
}'
Response:

{
    "code": 0,
    "msg": "",
    "data": {
        "task_id": "bec2bcfe-47c6-4536-af34-f26cfe6fd457"
    }
}

5.2 带内绘的请求

请在 HTTP 请求中将 Content-Type 标头设置为 application/json,以表示正在发送 JSON 数据。目前只支持 JSON 格式。

正文的"model_name":"dreamshaper_331-inpainting_11232.safetensors" 代表 Inpainting 模型,可在 API /v2/models 中使用 sd_name 访问,如 %inpainting%。

Request:

curl --location --request POST 'http://api.omniinfer.io/v2/txt2img' \
--header 'User-Agent: Apifox/1.0.0 (https://www.apifox.cn)' \
--header 'Content-Type: application/json' \
--header 'X-Omni-Key: ${your Key in step 2}' \
--data-raw '{
  "denoising_strength": 0,
  "prompt": "summer,  sunny, 1girl,(masterpiece, best quality:1.3), reflections, extremely detailed, (extremely detailed CG unity 8k wallpaper), cinematic lighting",
  "negative_prompt": "NSFW,(worst quality,low quality,normal quality, lowres:1.5), nude, badhandv4, EasyNegativeV2, ng_deepnegative_v1_75t, verybadimagenegative_v1.3,bad_pictures,watermark, character watermark, photo date watermark, date watermark,jpeg artifacts,signature,watermark,username,blurry,",
  "model_name": "CounterfeitV30_v30.safetensors",
  "seed": -1,
  "batch_size": 2,
  "n_iter": 2,
  "steps": 30,
  "cfg_scale": 7,
  "width": 512,
  "height": 512,
  "sampler_name": "Euler a",
  "controlnet_units": [
    {
      "control_mode": 0,
      "model": "control_v1p_sd15_qrcode_monster_v2",
      "weight": 1.6,
      "module": "none",
      "input_image": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAIAAAAP3aGbAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAHzElEQVR4nO3dwZEbwRFFwV0F/XeZMoF9KJXqAZkGgINZ8EVffvTv379/fwAK/vP/fgCAV4IFZAgWkCFYQIZgARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkCFYQIZgARmCBWQIFpAhWECGYAEZggVkCBaQ8Wfqg35/f6c+qmjzeseXV33teX7mHmnzl1Z85oMGf41OWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkCFYQIZgARmCBWSMbQlfbA7cpiyvwIo7wYN/1pdHOrjvO/gm/2n5NTphARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkLG6JXxRvHXu0eYub+rfGnxFBx+p6IP/g7xwwgIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCDj3Jbwg01dljc1uJtapT0uzja/fvQ6Rf7JCQvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMW0JipiaQy1NKRjhhARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkHFuS/jly6zN+wRfXHuen5NXLm46+EibnLCADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIWN0SLo/Ornn5+lNLsS/fAL6Yep7Bcd+X/wd54YQFZAgWkCFYQIZgARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGb9ffi/jps0l7fJq98XUI33wJan8kxMWkCFYQIZgARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGWMXqRavwPxgB28J/dS/2uAzb84bD65NXzhhARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkLF6L+G1pdjgd9+8dO/aKO/xNRbvE1z+xRZvpVzeJDphARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkHFuS3jteQZtrremXNstPrr2Kzp4wd+1X9EjJywgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyVreEL64N05Yv3ZtycAN48JFGDH6vzZsrXxycSTphARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkDG2JZyaHV2bLw2uwKZMDe4O3pNY/DUO+tSv715C4BsJFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkCFYQMafzX/s2q1z13aLTIn+1a79IA/OLZ2wgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBjbEn7qxXwH7yV8ce2Gu0EHH+mfHp+nOLZd5oQFZAgWkCFYQIZgARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGecuUp2arU4Nmw8ue6c+5+WrDX79g480YvB5rn21F8vP7IQFZAgWkCFYQIZgARmCBWQIFpAhWECGYAEZggVkCBaQIVhAxtiWcGopVvycZdFLUqPrzn9a/oUUv/7gMzthARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkPG7OU0q7gQf38/mouravHHwFU2Jvuprj31w/umEBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkCFYQMbYlvDavu/gCqy4N/zyV735Gh//uWvj3xe2hMA3EiwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsICMc/cSTjl4L+GUa3vDR9dmidee52f3L3tt/frICQvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsICM5L2EL6JLseIKbPA1HnykouV93yYnLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjL+TH3Q1Hxpcwa1PLm6NrdkxMFf0ebnvBh8RU5YQIZgARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZIxtCb984PapE8jN+w0fFSeZj//Wp14SOsgJC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIEOwgAzBAjLGxs8vlleyIw7uP6ce6eXPMfgnm1rkbl7Zu/mqDzr42E5YQIZgARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZKxuCV9sbvcOTqWmTA3lBl/RwUcacXBteu0VDXLCAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyBAsIOPclvCDFS/UGxz3HXyktc8ZVHyNg5ywgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwgQ7CADMECMgQLyLAl3FNcb23uFh996v2GP82d4PKrdsICMgQLyBAsIEOwgAzBAjIEC8gQLCBDsIAMwQIyBAvIECwg49yW8ODC65qp9dbL5wzuBK890vIE8sW1meTBSaYTFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkCFYQIZgARm/m7OjD/bNK7DlveGLL/81vti8cdK9hMA3EiwgQ7CADMECMgQLyBAsIEOwgAzBAjIEC8gQLCBDsICMsS0hwP+aExaQIVhAhmABGYIFZAgWkCFYQIZgARmCBWQIFpAhWECGYAEZggVkCBaQIVhAhmABGYIFZAgWkCFYQIZgARmCBWQIFpAhWECGYAEZggVk/BcMf2D//g3xdQAAAABJRU5ErkJggg==",
      "mask": null,
      "resize_mode": 0,
      "lowvram": false,
      "processor_res": 512,
      "threshold_a": 100,
      "threshold_b": 200,
      "guidance_start": 0,
      "guidance_end": 0.9
    }
  ]
}'
Response:

{
    "code": 0,
    "msg": "",
    "data": {
        "task_id": "bec2bcfe-47c6-4536-af34-f26cfe6fd457"
    }
}

如果在使用API的过程中,遇到任何困难都可以随时发送discord和我们取得联系。