使用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"])