Spaces:
Running on Zero
Running on Zero
File size: 2,928 Bytes
f0d9a3e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | # 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)
|