API参考
图片生成

生成图片

Action GenerateImages

简介

此接口用于生成图片。

请求

参数名类型描述信息必填
ActionString对应的 API 指令名称
PublicKeyString用户公钥,可从 PICPIK用户中心 (opens in a new tab) 获取
SignatureString根据公钥及 API 指令生成的用户签名,参见 签名算法
request_uuidString请求uuid,采用uuid生成方式随机生成,可用于管理您业务和客户的请求
参数名类型描述信息必填
MainModelModel主模型
SubModelList[]Model子模型列表,包含LoRA、Embedding和HyperNetwork
PositivePrompts[]String希望在画面中出现的内容描述
NegativePrompts[]String不希望在画面中出现的内容描述
TranslatePromptsBool是否将内容描述翻译成英文,支持的语言列表见此处。默认值:true
SeedInt种子编号(-1~2147483647),-1代表随机种子,默认值:-1
WidthInt图片宽度(64~2560),默认值:1024
HeightInt图片高度(64~2560),默认值:1024
BatchSizeInt批量生图的数量(1~16),默认值:1
UseMainModelVAEBool是否使用主模型自带的编解码器,默认值:false
参数名类型描述信息必填
ControlNetList[]ControlNet生成图像所需的ControlNet模型(最多三个)和参数
Image2ImageImage2Image以图生图时,参考图的相关参数
TileableBool是否生成可平铺的图片,主要用于生成可拼接的纹理图案,默认值:false
ImageAndMaskList[]Base64Base64编码的图片和蒙版遮罩列表

复杂数据类型说明

Model

字段名类型描述信息必填
NameString模型名称
ModelCodeString模型编码
IsOfficialBool是否为官方模型
TriggerWordList[]String触发词列表(仅模型为lora时生效)
InferenceParamsInferenceParams推理用的参数

ControlNet

参数名类型描述信息必填
ImageIndexInt图片在ImageAndMaskList索引,从0开始
MaskIndexInt图片在ImageAndMaskList索引,从0开始。蒙版可独立绘制或通过去背景和内容提取API获得。
InvertMaskBool是否需要反转遮罩,默认值:false
PreProcessorPreProcessor预处理器的模型与参数
ControlModelControlModelControlNet的模型与参数

Image2Image

参数名类型描述信息默认值范围步长必填
ImageIndexInt图片在ImageAndMaskListImageList中的索引编号,从0开始
ReferStrengthFloat参考强度(0~1) 默认值: 0.50.50~10.01

PreProcessor

参数名类型描述信息必填
ModelCodeStringControlNet预处理器编码
InferenceParamsInferenceParamsControlNet预处理器推理参数

ControlModel

参数名类型描述信息必填
ModelCodeStringControlModel模型编码
InferenceParamsInferenceParamsControlModel推理参数

InferenceParams

注意:特定参数仅对某个特定的模型数据类型(父级)生效,并不通用。

参数名类型有效的父级类型描述信息默认值范围步长必填
LoraWeightFloatModel推理时的模型权重, 仅对 LoRA模型生效1-1~20.01
ResolutionIntPreProcessorControlnet预处理器的生成分辨率51264~204864
ControlWeightFloatControlModelControlNet模型的推理权重10~20.01
StartingStepFloatControlModelControlNet模型开始介入推理的时机(比率)00~10.01
EndingStepFloatControlModelControlNet模型退出推理过程的时机(比率)10~10.01

参数传递技巧

💡

您可以直接将ListModels接口内的MainModels参数所返回的某个Model对象最为值传入本接口的MainModel参数。以Python为例:

# 假设变量“sdModels”为成功请求“ListModels”接口后返回的JSON数据
{
    "MainModel": sdModels["MainModels"]["PICPIK General"],
}

SubModelListControlNetList这些包含模型数据的参数也可以使用同样的方式传递。

简单请求示例

{
	"Action": "GenerateImages",
	"PublicKey": "ALLaXAM4cNdHXPDJAJJ4k8Hh1hZS2EgJF1D0FlPwfl",
	"Signature": "83f3ce02e110bbb25cecb5092637934a95e3bdc8",
	"request_uuid": "432c57d3-102b-4817-9e98-28054b33db8e",
	"MainModel": {
		"ModelCode": "PICPIK Anime"
	},
	"PositivePrompts": [
		"一只猫在沙发上"
	]
}

复杂请求示例

{
    "Action": "GenerateImages",
    "PublicKey": "ALLak9M4cNdHXKOJAJJ4k8Hh1hZS2EgJF1D0FlPwfl",
    "Signature": "59734dfd3985e96d452a2072533f47c766d52c19",
    "request_uuid": "9e3f5da5-8020-463c-af54-a24912f4eb0e",
    "MainModel": {
        "ModelCode": "PICPIK General"
    },
    "SubModelList": [
        {
            "InferenceParams": {
                "LoraWeight": 1
            },
            "ModelCode": "lora_model1_20230825_165436"
        }
    ],
    "NegativePrompts": [],
    "PositivePrompts": [
        "一只猫在沙发上"
    ],
    "TranslatePrompts": true,
    "Width": 512,
    "Height": 512,
    "BatchSize": 1,
    "Seed": -1,
    "Image2Image": {
        "ImageIndex": 0,
        "ReferStrength": 0.5
    },
    "ControlNetList": [
        {
            "ImageIndex": 1,
            "MaskIndex": 2,
            "InvertMask": false,
            "PreProcessor": {
                "InferenceParams": {
                    "Resolution": 512
                },
                "ModelCode": "mlsd"
            },
            "ControlModel": {
                "InferenceParams": {
                    "ControlWeight": 1,
                    "EndingStep": 1,
                    "StartingStep": 0
                },
                "ModelCode": "control_v11p_sd15_mlsd"
            }
        }
    ],
    "Tileable": false,
    "UseMainModelVAE": false,
    "ImageAndMaskList": ["data:image/png;base64,xxx","data:image/png;base64,xxx","data:image/png;base64,xxx"]
}

响应

字段名类型描述信息必填
RetCodeInt返回状态码,为 0 则为成功返回,非 0 为失败
ActionString操作指令名称
MessageString返回错误消息,当 RetCode 非 0 时提供详细的描述信息
request_uuidString返回请求时填写的uuid
参数名类型描述信息必填
TaskUIDString任务UID,用于查询任务详情与获取结果

响应示例

{
	"Action": "GenerateImages",
	"RetCode": 0,
	"Message": "",
	"request_uuid": "432c57d3-102b-4817-9e98-28054b33db8e",
	"TaskUID": "ckt3uqlrh4miq8mr9lgg"
}