Implement LoRA tag extraction in /sdapi/v1/txt2img and /sdapi/v1/img2img API endpoints.
#1231
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The sd-server ignores
<lora:name:weight>tags in prompts sent via the/sdapi/v1/txt2imgand/sdapi/v1/img2imgAPI endpoints.LoRA tags work correctly in the CLI (
sd-cli) because it callsextract_and_remove_lora()on every generation. However, the server only calls this function once at startup when parsing command-line arguments. When handling API requests, the server copiesdefault_gen_params, updates the prompt, but never re-parses the new prompt for LoRA tags.Solution
This patch adds
extract_and_remove_lora()to thesdapi_any2imghandler function, which services both txt2img and img2img endpoints. The fix clears any pre-existing LoRA data and extracts LoRA tags from the incoming prompt, matching the behavior of the CLI.