From a7df8ae15c82bb3ad4c2e1c466733bd6c7983d34 Mon Sep 17 00:00:00 2001 From: Will Miao <13051207myq@gmail.com> Date: Wed, 10 Sep 2025 23:28:19 +0800 Subject: [PATCH] feat(civitai_client): enrich model version info with additional metadata --- py/services/civitai_client.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/py/services/civitai_client.py b/py/services/civitai_client.py index 6f87fbe4..04d56d29 100644 --- a/py/services/civitai_client.py +++ b/py/services/civitai_client.py @@ -62,13 +62,30 @@ class CivitaiClient: async def get_model_by_hash(self, model_hash: str) -> Optional[Dict]: try: downloader = await get_downloader() - success, result = await downloader.make_request( + success, version = await downloader.make_request( 'GET', f"{self.base_url}/model-versions/by-hash/{model_hash}", use_auth=True ) if success: - return result + # Get model ID from version data + model_id = version.get('modelId') + if model_id: + # Fetch additional model metadata + success_model, data = await downloader.make_request( + 'GET', + f"{self.base_url}/models/{model_id}", + use_auth=True + ) + if success_model: + # Enrich version_info with model data + version['model']['description'] = data.get("description") + version['model']['tags'] = data.get("tags", []) + + # Add creator from model data + version['creator'] = data.get("creator") + + return version return None except Exception as e: logger.error(f"API Error: {str(e)}")