Browse Source

模特图-场景图

rambo 2 months ago
parent
commit
13a9c6555b
2 changed files with 58 additions and 6 deletions
  1. 8 2
      python/api.py
  2. 50 4
      python/service/online_request/module_online_data.py

+ 8 - 2
python/api.py

@@ -559,7 +559,10 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
                     continue
                 aigc_clazz.center_paste_image(ceshi_image_path, save_image_path)
                 try:
-                    image_path = aigc_clazz.generateProductScene(
+                    # image_path = aigc_clazz.generateProductScene(
+                    #     save_image_path, product_scene_prompt, save_image_path
+                    # )
+                    image_path = aigc_clazz.generateProductSceneQW(
                         save_image_path, product_scene_prompt, save_image_path
                     )
                     goods_art_dict_info["场景图"] = image_path
@@ -618,7 +621,10 @@ async def process_handle_detail(request: Request, params: HandlerDetail):
                     continue
                 shutil.copy(ceshi_image_path, save_image_path)
                 try:
-                    image_path = aigc_clazz.generateUpperShoes(
+                    # image_path = aigc_clazz.generateUpperShoes(
+                    #     save_image_path, model_id, save_image_path
+                    # )
+                    image_path = aigc_clazz.generateModelShoesQW(
                         save_image_path, model_id, save_image_path
                     )
                     goods_art_dict_info["模特图"] = image_path

+ 50 - 4
python/service/online_request/module_online_data.py

@@ -54,7 +54,7 @@ class AIGCDataRequest(object):
         resultData = self.s.post(
             url, files={"file": open(local_path, "rb")}, headers=post_headers
         ).json()
-        
+
         return resultData["data"]["url"]
 
     def center_paste_image(
@@ -126,7 +126,7 @@ class AIGCDataRequest(object):
         """生成场景图"""
         url = settings.DOMAIN + "/api/ai_image/inspired/command_to_image"
         resultData = self.s.post(url, data=data, headers=self.post_headers).json()
-        
+
         code = resultData.get("code", 0)
         message = resultData.get("message", "")
         if code != 0:
@@ -138,13 +138,59 @@ class AIGCDataRequest(object):
         save_image_path = download_image_with_pil(image_url, save_path)
         return save_image_path
 
+    def generateProductSceneQW(self, local_path, prompt, save_path):
+        '''千问生成场景图'''
+        imageUrl = self.uploadImage(local_path)
+        data = {
+            "machine_type": 0,  # 0鞋;1服装
+            "generate_type": 0,  # 生成类型,这里指代得是场景图还是模特图;0场景图;1模特图
+            "base_image": imageUrl,
+            "prompt": prompt
+        }
+        """生成场景图"""
+        url = settings.DOMAIN + "/api/ai_image/main/image_edit_generate"
+        resultData = self.s.post(url, data=data, headers=self.post_headers).json()
+
+        code = resultData.get("code", 0)
+        message = resultData.get("message", "")
+        if code != 0:
+            raise UnicornException(message)
+        image_url = resultData.get("data", None).get("image_url", '')
+        if image_url == "" or image_url is None:
+            raise UnicornException("场景图生成失败")
+        save_image_path = download_image_with_pil(image_url, save_path)
+        return save_image_path
+
+    def generateModelShoesQW(self, local_path, model_id, save_path):
+        '''千问生成场景图'''
+        imageUrl = self.uploadImage(local_path)
+        data = {
+            "machine_type": 0,  # 0鞋;1服装
+            "generate_type": 1,  # 生成类型,这里指代得是场景图还是模特图;0场景图;1模特图
+            "base_image": imageUrl,
+            "model_template_id": model_id,
+        }
+        """生成场景图"""
+        url = settings.DOMAIN + "/api/ai_image/main/image_edit_generate"
+        resultData = self.s.post(url, data=data, headers=self.post_headers).json()
+
+        code = resultData.get("code", 0)
+        message = resultData.get("message", "")
+        if code != 0:
+            raise UnicornException(message)
+        image_url = resultData.get("data", None).get("image_url", '')
+        if image_url == "" or image_url is None:
+            raise UnicornException("模特图生成失败")
+        save_image_path = download_image_with_pil(image_url, save_path)
+        return save_image_path
+
     def searchProgress(self, id):
         """查询进度"""
         url = settings.DOMAIN + "/api/ai_image/main/search_bacth_progress"
         data = {"site": 1, "generate_ids": [id], "type": "aigc_pro"}
         resultData = self.s.post(url, json=data, headers=self.post_headers)
         resultData = resultData.json()
-        
+
         code = resultData.get("code", 0)
         message = resultData.get("message", "")
         if code != 0:
@@ -175,7 +221,7 @@ class AIGCDataRequest(object):
         """生成上脚图"""
         url = settings.DOMAIN + "/api/ai_image/main/upper_footer"
         resultData = self.s.post(url, data=data, headers=self.post_headers).json()
-        
+
         code = resultData.get("code", 0)
         message = resultData.get("message", "")
         if code != 0: