生成多张

This commit is contained in:
2023-06-22 04:24:49 +08:00
parent 5cfa43dc3a
commit b8f871d676
3 changed files with 44 additions and 22 deletions

View File

@@ -103,15 +103,15 @@ func ImagesPost(w http.ResponseWriter, r *http.Request) {
// 通过模型推理生成图像, 为图像标记任务批次
if match, _ := regexp.MatchString("application/json", r.Header.Get("Content-Type")); match {
template := &struct {
FromImage int `json:"from_image"` // 来源图片(图生图时使用)
Prompt string `json:"prompt"` // 提示词
NegativePrompt string `json:"negative_prompt"` // 负面提示词
NumInferenceSteps int `json:"num_inference_steps"` // 推理步数
GuidanceScale float32 `json:"guidance_scale"` // 引导比例
Scheduler string `json:"scheduler"` // 调度器
Seed string `json:"seed"` // 随机种子(单张图生成时使用)
Number int `json:"number"` // 生成数量
ModelID int `json:"model_id"` // 模型ID
FromImage int `json:"from_image"` // 来源图片(图生图时使用)
Prompt string `json:"prompt"` // 提示词
NegativePrompt string `json:"negative_prompt"` // 负面提示词
Steps int `json:"steps"` // 推理步数
GuidanceScale float32 `json:"guidance_scale"` // 引导比例
Scheduler string `json:"scheduler"` // 调度器
Seed string `json:"seed"` // 随机种子(单张图生成时使用)
NIter int `json:"n_iter"` // 生成数量
ModelID int `json:"model_id"` // 模型ID
}{}
body, err := ioutil.ReadAll(r.Body)
if err != nil {
@@ -125,11 +125,11 @@ func ImagesPost(w http.ResponseWriter, r *http.Request) {
}
// 输入检查
if template.Number <= 0 {
template.Number = 1
if template.NIter <= 0 {
template.NIter = 1
}
if template.NumInferenceSteps <= 0 {
template.NumInferenceSteps = 20
if template.Steps <= 0 {
template.Steps = 50
}
if template.GuidanceScale <= 0 {
template.GuidanceScale = 1
@@ -157,7 +157,7 @@ func ImagesPost(w http.ResponseWriter, r *http.Request) {
// 直接创建一组图片
var image_list []models.Image
var task string = uuid.New().String()
for i := 0; i < template.Number; i++ {
for i := 0; i < template.NIter; i++ {
var image models.Image
image.UserID = account.ID
image.Task = task
@@ -165,7 +165,7 @@ func ImagesPost(w http.ResponseWriter, r *http.Request) {
image.FromImage = template.FromImage
image.Prompt = template.Prompt
image.NegativePrompt = template.NegativePrompt
image.NumInferenceSteps = template.NumInferenceSteps
image.NumInferenceSteps = template.Steps
image.GuidanceScale = template.GuidanceScale
image.Scheduler = template.Scheduler
image.Seed = template.Seed