使用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, statusdef 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 = Noneif 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"])