diff --git a/CHANGELOG.md b/CHANGELOG.md index 7dea21326..2f490ed68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,6 +31,8 @@ - **ipex** simplify internal implementation - refactor to use new libraries - styles and wildcards now use same seed as main generate for reproducible results + - **api** new endpoint POST `/sdapi/v1/civitai` to trigger civitai models metadata update + accepts optional `page` parameter to search specific networks page - **Fixes** - framepack: add explicit hf-login before framepack load - benchmark: remove forced sampler from system info benchmark diff --git a/modules/civitai/api_civitai.py b/modules/civitai/api_civitai.py index 92add902f..4041f3f36 100644 --- a/modules/civitai/api_civitai.py +++ b/modules/civitai/api_civitai.py @@ -54,6 +54,15 @@ def get_civitai( return JSONResponse(content=[], status_code=200) +def post_civitai(page:str=None): + from modules.civitai import metadata_civitai + result = [] + for r in metadata_civitai.civit_search_metadata(title=page, raw=True): + result = r # get the last yielded result + return result + + def register_api(): from modules.shared import api api.add_api_route("/sdapi/v1/civitai", get_civitai, methods=["GET"], response_model=list) + api.add_api_route("/sdapi/v1/civitai", post_civitai, methods=["POST"], response_model=list) diff --git a/modules/civitai/metadata_civitai.py b/modules/civitai/metadata_civitai.py index 6d4315860..fab22e78f 100644 --- a/modules/civitai/metadata_civitai.py +++ b/modules/civitai/metadata_civitai.py @@ -26,7 +26,7 @@ class CivitModel: self.status = 'Not found' -def civit_update_metadata(): +def civit_update_metadata(raw:bool=False): def create_update_metadata_table(rows: list[CivitModel]): html = """