SDKs
Python

Python SDK

本SDK主要面向使用Python的用户,自动签名并简化调用过程。下载以下文件,并另存为api.py

函数说明

.call(params)

调用API。返回值:Dictionary

参数类型默认值说明
paramsDictionary调用参数,更多信息请查询API文档。其中的PublicKeyPrivateKeySignature这3个公共参数无需填写。

.localImg2Base64(path)

从本地获取图片或遮罩并转换为Base64编码格式。返回值:String

参数类型默认值说明
pathString图片或遮罩的本地路径。

.remoteImg2Base64(url)

远程获取图片或遮罩并转换为Base64编码格式。返回值:String

参数类型默认值说明
urlString图片或遮罩的链接地址。如果url并非以“https://”开头,本SDK会尝试自动修正。

.pollingTask(taskUID, interval, callback)

轮询一个任务。返回值:Dictionary

参数类型默认值说明
taskUIDString调用生成和修改类API后获得的任务ID。
intervalInt3000非必要。轮询的时间间隔,单位为毫秒。
callbackFunctionnull非必要。轮训时的回调函数,该函数会返回一个Dictionary,包含了当前任务的详细信息。
为了简化使用,如果没有设置interval,callback可直接作为第二个参数。

.setKeys(publicKey, privateKey)

设置调用API所需的公私钥。返回值:None

参数类型默认值说明
publicKeyString公钥,可在用户中心页面获得。
privateKeyString私钥,可在用户中心页面获得。
gatewayStringhttps://api.picpik.ai/ (opens in a new tab)非必要。API网关,如您是国内站用户,请修改为 https://api.picpikai.com/
如果url并非以“https://”开头,本SDK会尝试自动修正。

使用示例

示例:生成一只鸟的图片,并去除背景。

import api
 
# 设置调用API所需的公私钥。登陆官网后,可在用户中心页面找到您的密钥。
api.setKeys(
    publicKey = "Your Public Key",
    privateKey = "Your Private Key"
)
 
# 获取模型列表。生成图片时,需要指定一个主模型及其参数。与直接调用不同,本SDK在调用API时会自动填写“PublicKey”、“PrivateKey”和“Signature”这些公共参数。
data = api.call({
    "Action": "ListModels"
})
model = data["MainModels"]["PICPIK General"]
 
# 选择模型列表中的一个模型,并生成图片
data = api.call({
    "Action": "GenerateImages",
    "MainModel": model,
    "PositivePrompts": ["One Bird"],
})
taskUID = data["TaskUID"]
 
# 利用获得的task UID,轮训任务状态。
data = api.pollingTask(taskUID, lambda taskDetail:print(taskDetail["Status"]))
 
# 任务完成后,获得生成图片的URL并编码为Base64格式。
imageURL = data["ImgList"][0]
base64Img = api.remoteImg2Base64(imageURL)
 
# 去除背景
data = api.call({
    "Action": "RemoveBackground",
    "RawImage": base64Img
})
taskUID = data["TaskUID"]
 
# 利用获得的task UID,轮训任务状态。
data = api.pollingTask(taskUID, lambda taskDetail:print(taskDetail["Status"]))
 
# 任务完成后,获得生成图片的URL
imageURL = "https://" + data["ImgList"][0]
print(imageURL)