Maikeu Locatelli
Add initial implementation of Flux Seamless Texture LoRA application
f0d9a3e
|
Raw
History Blame Contribute Delete
2.93 kB
# API Documentation
## ModelHandler
### `generate(prompt, **kwargs)`
Generate an image from a text prompt.
**Parameters:**
- `prompt` (str): Text prompt for generation
- `negative_prompt` (str, optional): Negative prompt. Default: ""
- `guidance_scale` (float, optional): Guidance scale. Default: 7.5
- `num_inference_steps` (int, optional): Number of inference steps. Default: 50
- `seed` (int, optional): Random seed. Default: None (random)
- `width` (int, optional): Image width. Default: 1024
- `height` (int, optional): Image height. Default: 1024
- `cfg_scale` (float, optional): CFG scale. Default: None (uses guidance_scale)
- `lora_strength` (float, optional): LoRA strength. Default: 1.0
**Returns:**
- `tuple`: (image, metadata_dict)
**Example:**
```python
from src.model_handler import ModelHandler
handler = ModelHandler()
image, metadata = handler.generate(
prompt="seamless wood texture",
guidance_scale=7.5,
num_inference_steps=50,
seed=12345,
)
```
### `generate_batch(prompts, base_params=None)`
Generate multiple images in batch.
**Parameters:**
- `prompts` (List[str]): List of prompts to generate
- `base_params` (dict, optional): Base parameters for all generations
**Returns:**
- `Generator`: Yields (image, metadata, index) tuples
**Example:**
```python
prompts = ["wood texture", "fabric texture", "metal texture"]
for image, metadata, idx in handler.generate_batch(prompts):
# Process each image
pass
```
## Image Processor
### `save_image(image, prompt, params, metadata=None)`
Save an image with metadata.
**Parameters:**
- `image` (PIL.Image): Image to save
- `prompt` (str): Prompt used
- `params` (dict): Generation parameters
- `metadata` (dict, optional): Additional metadata
**Returns:**
- `Path`: Path to saved image file
### `create_thumbnail(image, size=(256, 256))`
Create a thumbnail from an image.
**Parameters:**
- `image` (PIL.Image): Source image
- `size` (tuple): Thumbnail size (width, height)
**Returns:**
- `PIL.Image`: Thumbnail image
### `create_zip(files, output_path)`
Create a ZIP archive from multiple files.
**Parameters:**
- `files` (List[Path]): List of file paths
- `output_path` (Path): Output ZIP path
**Returns:**
- `Path`: Path to created ZIP file
## Presets
### `get_preset(name)`
Get a preset by name.
**Parameters:**
- `name` (str): Preset name
**Returns:**
- `dict` or `None`: Preset dictionary
### `list_presets()`
List all available preset names.
**Returns:**
- `List[str]`: List of preset names
## Utils
### `validate_prompt(prompt, max_length=500)`
Validate a prompt string.
**Parameters:**
- `prompt` (str): Prompt to validate
- `max_length` (int): Maximum allowed length
**Returns:**
- `tuple`: (is_valid, error_message)
### `validate_params(params)`
Validate generation parameters.
**Parameters:**
- `params` (dict): Parameters to validate
**Returns:**
- `tuple`: (is_valid, error_message)