Leap AI + Python 开发绘图应用

        使用python语言,并借助Leap AI网站的api key,可以轻松实现AI绘图功能。使用时,用户只要输入prompt提示词,几秒钟之内服务器就能生成图片并返回图片的链接地址。开发人员可以利用这个功能开发个性化的绘图软件,或者整合到其他应用中。

文后附上代码示例和部分有趣的作品。

首先,你需要在Leap AI网站上获得API密钥。只需登录网站并点击右上角的API_KEY即可获得。将你的API密钥复制到代码中的API_KEY变量中,准备开始创作吧!

在代码示例中,你可以看到一个名为generate_image的函数。该函数接受两个参数:model_id和prompt。model_id是指对应Realistic Vision模型的ID,通过它我们可以选择使用不同的模型进行图像生成。prompt是用于生成图像的提示词,你可以根据自己的喜好和创作需求输入不同的提示。

在函数中,我们使用了Leap AI的API来发送POST请求,并传递了必要的参数。服务器将根据你的提示生成图像,并将其存储在特定的URI中。你可以通过调用get_inference_job函数来获取生成的图像。这个函数发送GET请求,并返回生成图像的状态和URI。

代码中还包含了一个循环,用于检查图像生成的状态。当状态为"finished"时,表示图像已生成完毕。通过循环等待,我们可以确保获取到完整的图像列表。

让我们一起运行代码并创造一些有趣的图像吧!你可以根据自己的喜好和想象力来输入不同的提示词。比如:"a cute puppy and a kitten smiling at you"。你会惊喜地发现,服务器将会为你生成出一幅惊人的图像,展现出可爱的小狗和小猫微笑的场景。

# get api key from Leap AI https://www.tryleap.ai
API_KEY = "????????????????????"  #此处输入你的api key,登录网站点击右上角API_KEY 即可获取

HEADERS = {
    "accept": "application/json",
    "content-type": "application/json",
    "authorization": f"Bearer {API_KEY}"
}
def generate_image(model_id, prompt):
    url = f"https://api.tryleap.ai/api/v1/images/models/{model_id}/inferences"

    payload = {
        "prompt": prompt,
        "steps": 50,
        "width": 512,
        "height": 512,
        "numberOfImages": 4,
        "promptStrength": 7,
        "enhancePrompt": False,
        "restoreFaces": True,
        "upscaleBy": "x1"
    }

    response = requests.post(url, json=payload, headers=HEADERS)
    data = json.loads(response.text)

    print(data)
    inference_id = data["id"]
    status = data["status"]

    print(f"Inference ID: {inference_id}. Status: {status}")

    return inference_id, status


def get_inference_job(model_id, inference_id):
    url = f"https://api.tryleap.ai/api/v1/images/models/{model_id}/inferences/{inference_id}"

    response = requests.get(url, headers=HEADERS)
    data = json.loads(response.text)

    inference_id = data["id"]
    state = data["state"]
    images = None

    if len(data["images"]):
        images = data["images"]

    print(f"Inference ID: {inference_id}. State: {state}")

    return inference_id, state, images


# modelID refers to Realistic Vision model. We can now use it to generate images from.
# For more models go here: https://docs.tryleap.ai/reference/pre-trained-models
model_id = "eab32df0-de26-4b83-a908-a83f3015e971"
inference_id, status = generate_image(
    model_id,
    prompt="a cute puppy and a kitten smiling at you"
)
while status != "finished":
    time.sleep(10)
    inference_id, status, images = get_inference_job(model_id, inference_id)

for image in images:
    print("Image ready:", image["uri"])

 

猜你喜欢

转载自blog.csdn.net/weixin_45387160/article/details/131664046