(
context,
req: GenerateImageRequest,
task_data: RenderTaskData,
models_data: ModelsData,
output_format: OutputFormatData,
save_data: SaveToDiskData,
data_queue: queue.Queue,
task_temp_images: list,
step_callback,
task,
)
| 164 | |
| 165 | |
| 166 | def make_images_internal( |
| 167 | context, |
| 168 | req: GenerateImageRequest, |
| 169 | task_data: RenderTaskData, |
| 170 | models_data: ModelsData, |
| 171 | output_format: OutputFormatData, |
| 172 | save_data: SaveToDiskData, |
| 173 | data_queue: queue.Queue, |
| 174 | task_temp_images: list, |
| 175 | step_callback, |
| 176 | task, |
| 177 | ): |
| 178 | from easydiffusion.backend_manager import backend |
| 179 | |
| 180 | # prep the nsfw_filter |
| 181 | if task_data.block_nsfw: |
| 182 | filter_nsfw([Image.new("RGB", (1, 1))]) # hack - ensures that the model is available |
| 183 | |
| 184 | images = generate_images_internal( |
| 185 | context, |
| 186 | req, |
| 187 | task_data, |
| 188 | models_data, |
| 189 | output_format, |
| 190 | data_queue, |
| 191 | task_temp_images, |
| 192 | step_callback, |
| 193 | task_data.stream_image_progress, |
| 194 | task_data.stream_image_progress_interval, |
| 195 | ) |
| 196 | user_stopped = isinstance(task.error, StopAsyncIteration) |
| 197 | |
| 198 | filters, filter_params = task_data.filters, task_data.filter_params |
| 199 | if len(filters) > 0 and not user_stopped: |
| 200 | filtered_images = backend.filter_images(context, images, filters, filter_params, input_type="base64") |
| 201 | else: |
| 202 | filtered_images = images |
| 203 | |
| 204 | if task_data.block_nsfw: |
| 205 | filtered_images = filter_nsfw(filtered_images) |
| 206 | |
| 207 | if save_data.save_to_disk_path is not None: |
| 208 | images_pil = [base64_str_to_img(img) for img in images] |
| 209 | filtered_images_pil = [base64_str_to_img(img) for img in filtered_images] |
| 210 | save_images_to_disk(images_pil, filtered_images_pil, req, task_data, models_data, output_format, save_data) |
| 211 | |
| 212 | seeds = [*range(req.seed, req.seed + len(images))] |
| 213 | if task_data.show_only_filtered_image or filtered_images is images: |
| 214 | return filtered_images, seeds |
| 215 | else: |
| 216 | return images + filtered_images, seeds + seeds |
| 217 | |
| 218 | |
| 219 | def generate_images_internal( |
no test coverage detected