diff --git a/py/routes/api_routes.py b/py/routes/api_routes.py index 6db816ab..8e74a1c6 100644 --- a/py/routes/api_routes.py +++ b/py/routes/api_routes.py @@ -356,7 +356,7 @@ class ApiRoutes: # Fetch additional model metadata (description and tags) if we have model ID model_id = civitai_metadata['modelId'] if model_id: - model_metadata = await client.get_model_metadata(str(model_id)) + model_metadata, _ = await client.get_model_metadata(str(model_id)) if model_metadata: local_metadata['modelDescription'] = model_metadata.get('description', '') local_metadata['tags'] = model_metadata.get('tags', []) @@ -756,7 +756,7 @@ class ApiRoutes: # If description is not in metadata, fetch from CivitAI if not description: logger.info(f"Fetching model metadata for model ID: {model_id}") - model_metadata = await self.civitai_client.get_model_metadata(model_id) + model_metadata, _ = await self.civitai_client.get_model_metadata(model_id) if model_metadata: description = model_metadata.get('description') diff --git a/py/services/download_manager.py b/py/services/download_manager.py index e8d72843..f3a259cd 100644 --- a/py/services/download_manager.py +++ b/py/services/download_manager.py @@ -51,6 +51,16 @@ class DownloadManager: # 5. 准备元数据 metadata = LoraMetadata.from_civitai_info(version_info, file_info, save_path) + # 5.1 获取并更新模型标签和描述信息 + model_id = version_info.get('modelId') + if model_id: + model_metadata, _ = await self.civitai_client.get_model_metadata(str(model_id)) + if model_metadata: + if model_metadata.get("tags"): + metadata.tags = model_metadata.get("tags", []) + if model_metadata.get("description"): + metadata.modelDescription = model_metadata.get("description", "") + # 6. 开始下载流程 result = await self._execute_download( download_url=download_url,