Просмотр исходного кода

1.延长文生图等待时间为15分钟2.文生图使用seedream大模型时生成多图时增加提示词指定

lh 1 неделя назад
Родитель
Сommit
f540a98df3

+ 6 - 3
app/Services/AIGeneration/AIImageGenerationService.php

@@ -749,11 +749,14 @@ class AIImageGenerationService
             }
 
             // 生成多图或者单图
-            if ((int)$task->image_num === 1) {
+            $imageNum = (int)$task->image_num;
+            if ($imageNum === 1) {
                 $apiParams['sequential_image_generation'] = 'disabled';
-            }else if ($task->image_num > 1) {
+            }else if ($imageNum > 1) {
+                // 组图模式下由模型决定实际生成张数,这里在提示词末尾明确要求生成对应数量,并将组图上限设置为目标张数
+                $apiParams['prompt'] = rtrim((string)$task->prompt) . "\n生成{$imageNum}张图片";
                 $apiParams['sequential_image_generation'] = 'auto';
-                $apiParams['sequential_image_generation_options']['max_images'] = $task->image_num;
+                $apiParams['sequential_image_generation_options']['max_images'] = $imageNum;
             }
 
             dLog('generate')->info('火山图片生成API参数: ', $apiParams);

+ 2 - 2
app/Services/Anime/AnimeService.php

@@ -6322,9 +6322,9 @@ class AnimeService
             $isGptModel = in_array($model, \App\Consts\BaseConst::GPT_IMAGE2_MODELS);
             $isSyncModel = $isVolcModel || $isGptModel;
 
-            // 即梦AI需要轮询获取结果(5分钟超时,每3秒查询一次)
+            // 任务需要轮询获取结果(15分钟超时,每3秒查询一次)
             $start_time = time();
-            $timeout = 300; // 5分钟
+            $timeout = 900; // 15分钟
             $img_url = '';
             $img_urls = [];
             $lastQueueMessageTime = $start_time; // 记录上次发送队列消息的时间