Python 使用 Stable Diffusion API 生成图片示例

这篇具有很好参考价值的文章主要介绍了Python 使用 Stable Diffusion API 生成图片示例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python 使用 Stable Diffusion API 生成图片示例,Python,Stable Diffusion,python,stable diffusion
Python 使用 Stable Diffusion API 生成图片示例,Python,Stable Diffusion,python,stable diffusion
代码:

import base64
import datetime
import json
import os

import requests


def submit_post(url: str, data: dict):
    """
    Submit a POST request to the given URL with the given data.
    :param url:  url
    :param data: data
    :return:  response
    """
    return requests.post(url, data=json.dumps(data))


def save_encoded_image(b64_image: str, output_path: str):
    """
    Save the given image to the given output path.
    :param b64_image:  base64 encoded image
    :param output_path:  output path
    :return:  None
    """
    # 判断当前目录下是否存在 output 文件夹,如果不存在则创建
    if not os.path.exists("output"):
        os.mkdir("output")
    timestamp = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
    output_path = f"{output_path}_{timestamp}" + ".png"
    # 将文件放入当前目录下的 output 文件夹中
    output_path = f"output/{output_path}"
    with open(output_path, "wb") as f:
        f.write(base64.b64decode(b64_image))


def save_json_file(data: dict, output_path: str):
    """
    Save the given data to the given output path.
    :param data:  data
    :param output_path:  output path
    :return:  None
    """
    # 忽略 data 中的 images 字段
    data.pop('images')
    # 将 data 中的 info 字段转为 json 字符串,info 当前数据需要转义
    data['info'] = json.loads(data['info'])

    # 输出 data.info.infotexts
    info_texts = data['info']['infotexts']
    for info_text in info_texts:
        print(info_text)

    # 判断当前目录下是否存在 output 文件夹,如果不存在则创建
    if not os.path.exists("output"):
        os.mkdir("output")
    timestamp = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
    output_path = f"{output_path}_{timestamp}" + ".json"
    # 将文件放入当前目录下的 output 文件夹中
    output_path = f"output/{output_path}"
    with open(output_path, "w") as f:
        json.dump(data, f, indent=4, ensure_ascii=False)


if __name__ == '__main__':
    """
    Example usage: python3 txt2img.py
    """
    txt2img_url = "http://192.168.2.82:7860/sdapi/v1/txt2img" # 服务器地址
    prompt = input("请输入提示词:")
    negative_prompt = input("请输入反面提示词:")
    data = {'prompt': prompt, 'negative_prompt': negative_prompt}
    # 将 data.prompt 中的文本,删除文件名非法字符,已下划线分隔,作为文件名
    output_path = data['prompt'].replace(" ", "_").replace("/", "_").replace("\\", "_").replace(":", "_").replace("\"",
                                                                                                                  "_").replace(
        "<", "_").replace(">", "_").replace("|", "_")
    response = submit_post(txt2img_url, data)
    save_encoded_image(response.json()['images'][0], output_path)
    save_json_file(response.json(), output_path)

输出:

>> python txt2img.py
请输入提示词:masterpiece, best quality, 1boy, orc, male focus, mecha, robot, science fiction, solo, black background <lora:nijiMecha:1> <lora:wzh-000022:1>
请输入反面提示词:(worst quality, low quality:1.4), greyscale, monochrome, watermark, signature

masterpiece, best quality, 1boy, orc, male focus, mecha, robot, science fiction, solo, black background <lora:nijiMecha:1> <lora:wzh-000022:1>
Negative prompt: (worst quality, low quality:1.4), greyscale, monochrome, watermark, signature
Steps: 50, Sampler: Euler, CFG scale: 7.0, Seed: 274772779, Size: 512x512, Model hash: ce67b54cf2, Model: oukaNiji5_v10, Seed resize from: -1x-1, Denoising strength: 0, Clip skip: 2


说明:

  • 运行后,图片以及 JSON 将会输出到当前目录下 output 中;

TIP:文章来源地址https://www.toymoban.com/news/detail-568059.html

  • 当然前提是你已经部署好 Stable Diffusion API 服务;
  • 并且安装好跟我一样的模型以及一些相关的 LoRA

print('HELLO WORLD') # http://www.skyner.cn

到了这里,关于Python 使用 Stable Diffusion API 生成图片示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AI图片生成Stable Diffusion参数及使用方式详细介绍

            Stable Diffusion环境搭建与运行请参考上一篇博文《AI图片生成Stable Diffusion环境搭建与运行》,地址为“https://blog.csdn.net/suiyingy/article/details/128896426”。运行成功后,网页浏览器显示页面主要包括txt2img、img2img、Extras、PNG Info、Checkpoint Merger、Train、Settings和Extensions等八

    2024年02月08日
    浏览(89)
  • 多模态——使用stable-video-diffusion将图片生成视频

    近期,stabilityAI发布了一个新的项目,是将图片作为基础,生成一个相关的小视频,其实也算是其之前研究内容的扩展。早在stable-diffusion的模型开源出来的时候,除了由prompt生成图片之外,也可以生成连续帧的短视频。 本文主要是体验一下stable-video-diffusion的使用,以及对其

    2024年02月05日
    浏览(87)
  • 图生图—AI图片生成Stable Diffusion参数及使用方式详细介绍

            本文为博主原创文章,未经博主允许不得转载。         本文为专栏《Python从零开始进行AIGC大模型训练与推理》系列文章,地址为“https://blog.csdn.net/suiyingy/article/details/130169592”。         Stable Diffusion webui的详细安装步骤以及文生图(txt2img)功能详细介绍

    2024年02月08日
    浏览(89)
  • 阿里云免费使用stable diffusion三个月【ai生成图片】详细教程【保姆级】

    这两天关注了ai生成图片,尝试了mijiourney服务【比较贵没入手】,结果免费的没有了,没用上,换了国内的一些小程序体验了下 综合体验式是太慢了,而他们是基于国外开源的stable diffiusion模型开发的【可以比肩mijiourney】,所以我动了开发一个自己用的念头 不会的同学可以

    2024年02月05日
    浏览(138)
  • Stable Diffusion 图片换脸插件Roop保姆教程 附错误解决办法和API使用

    换脸技术已经不是新鲜事物,但如何实现简单、快速、高效的换脸操作呢?Roop插件正是为解决这一问题而生的。 sd-webui-roop 插件适用于已经本地部署了SD的用户。相较于传统的换脸技术,Roop插件几乎不需要训练,只需一张照片,即可在10秒内完成换脸。 但是要注意到是必须注

    2024年02月08日
    浏览(47)
  • 使用Unity 接入 Stable-Diffusion-WebUI的 文生图api 并生成图像

    在无聊的时候,想瞅一下sd生图遂做了一下 注意:我采用了异步处理,每点击一次发送一次请求,不需要等待生成完再点击。后面生成的画面会覆盖掉之前的。 1、启动SD的api设置 注意,运行后的api相关功能可以在:http://127.0.0.1:7860/docs 查看 比如这一次我们要的生图的地址就是

    2024年04月23日
    浏览(70)
  • 【AIGC】如何在使用stable-diffusion-webui生成图片时看到完整请求参数

    通过代码调用Stable Diffusion的txt2img、img2img接口时,很多时候都不知道应该怎么传参,比如如何指定模型、如何开启并使用Controlnet、如何开启面部修复等等,在sd-webui上F12看到的请求也不是正式调用SD的请求,所以当引入新插件或需要使用新功能时,怎么传参成了一个大问题,

    2024年02月08日
    浏览(56)
  • stable diffusion API 调用,超级详细代码示例和说明

    本文主要介绍 stable diffusion API 调用,准确来说是对 stable diffusion webui 的 API 调用。接口文档可以查看: http://sd-webui.test.cn/docs 这里的 sd-webui.test.cn 是自己的 sd webui Endpoint。 文生图是: /sdapi/v1/txt2img 这个 POST 接口。 图生图是: /sdapi/v1/img2img 这个 POST 接口。 本文主要介绍文生

    2024年02月12日
    浏览(47)
  • Stable Diffusion生成图片

    画质 masterpiece,best quality,illustration,extremely detail CG unity 8k wallpaper,ultra-detailed,depth of field 杰作,最佳质量,插图,极度详细的8K壁纸,超高详细度,景深 画风 Chinese ink painting,water color,oil painting,sketch,realistic 中国水墨画,水彩,油画,素描,写实 人物 1girl,solo,upper body,black hair,

    2024年02月07日
    浏览(44)
  • Stable Diffusion 生成高清图片

    记录一下使用 Stable Diffusion 生成高清图片使用的插件和过程。 打开 Stable Diffusion,单击 “扩展” = “从网址安装”, 输入下面项目,单击 “安装”, 扩展的 git 仓库网址: https://github.com/Coyote-A/ultimate-upscale-for-automatic1111 然后单击 “已安装\\\",确认 “ultimate-upscale-for-automatic1

    2024年02月08日
    浏览(104)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包