生成多张
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user