Spaces:
Running
Running
Commit
·
bdec242
1
Parent(s):
97ebe70
upgraded novita_client to 0.5.0
Browse files- README.md +1 -1
- app.py +47 -68
- requirements.txt +1 -1
README.md
CHANGED
|
@@ -4,7 +4,7 @@ emoji: 📈
|
|
| 4 |
colorFrom: indigo
|
| 5 |
colorTo: red
|
| 6 |
sdk: gradio
|
| 7 |
-
sdk_version: 4.
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: mit
|
|
|
|
| 4 |
colorFrom: indigo
|
| 5 |
colorTo: red
|
| 6 |
sdk: gradio
|
| 7 |
+
sdk_version: 4.19.2
|
| 8 |
app_file: app.py
|
| 9 |
pinned: false
|
| 10 |
license: mit
|
app.py
CHANGED
|
@@ -7,7 +7,7 @@ import base64
|
|
| 7 |
from io import BytesIO
|
| 8 |
import PIL.Image
|
| 9 |
from typing import Tuple
|
| 10 |
-
from novita_client import NovitaClient, V3TaskResponseStatus
|
| 11 |
from time import time
|
| 12 |
|
| 13 |
from style_template import styles
|
|
@@ -120,26 +120,26 @@ LORA_MODELS = [
|
|
| 120 |
|
| 121 |
|
| 122 |
CONTROLNET_DICT = dict(
|
| 123 |
-
pose=
|
| 124 |
-
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
depth=
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
canny=
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
lineart=
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
)
|
| 144 |
|
| 145 |
last_check = 0
|
|
@@ -309,62 +309,41 @@ def generate_image (
|
|
| 309 |
height = int(height * scaling)
|
| 310 |
|
| 311 |
(
|
| 312 |
-
CONTROLNET_DICT['pose']
|
| 313 |
-
CONTROLNET_DICT['canny']
|
| 314 |
-
CONTROLNET_DICT['depth']
|
| 315 |
-
CONTROLNET_DICT['lineart']
|
| 316 |
) = [controlnet_strength_1, controlnet_strength_2, controlnet_strength_3, controlnet_strength_4]
|
| 317 |
|
| 318 |
-
|
| 319 |
-
|
| 320 |
-
res = client._post('/v3/async/instant-id', {
|
| 321 |
-
'extra': {
|
| 322 |
-
'response_image_type': 'jpeg',
|
| 323 |
-
},
|
| 324 |
-
'model_name': f'{model_name}.safetensors',
|
| 325 |
-
'face_image_assets_ids': [face_image_uploaded],
|
| 326 |
-
'ref_image_assets_ids': [ref_image_uploaded],
|
| 327 |
-
'prompt': prompt,
|
| 328 |
-
'negative_prompt': negative_prompt,
|
| 329 |
-
'controlnet': {
|
| 330 |
-
'units': [CONTROLNET_DICT[name] for name in controlnet_selection if name in CONTROLNET_DICT],
|
| 331 |
-
},
|
| 332 |
-
'loras': [dict(
|
| 333 |
-
model_name=f'{name}.safetensors',
|
| 334 |
-
scale=1,
|
| 335 |
-
) for name in lora_selection],
|
| 336 |
-
'image_num': 1,
|
| 337 |
-
'steps': num_steps,
|
| 338 |
-
'seed': seed,
|
| 339 |
-
'guidance_scale': guidance_scale,
|
| 340 |
-
'sampler_name': scheduler,
|
| 341 |
-
'id_strength': identitynet_strength_ratio,
|
| 342 |
-
'adapter_strength': adapter_strength_ratio,
|
| 343 |
-
'width': width,
|
| 344 |
-
'height': height,
|
| 345 |
-
})
|
| 346 |
-
|
| 347 |
-
print('task_id:', res['task_id'])
|
| 348 |
-
def progress (x):
|
| 349 |
global last_check
|
| 350 |
t = time()
|
| 351 |
if t > last_check + 5:
|
| 352 |
last_check = t
|
| 353 |
-
print('progress:', t, x
|
| 354 |
-
|
| 355 |
-
|
| 356 |
-
|
| 357 |
-
|
| 358 |
-
|
| 359 |
-
|
| 360 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 361 |
except Exception as e:
|
| 362 |
raise gr.Error(f'Error: {e}')
|
| 363 |
|
| 364 |
-
|
| 365 |
-
#print('final_res.images_encoded:', final_res.images_encoded)
|
| 366 |
-
|
| 367 |
-
image = PIL.Image.open(BytesIO(base64.b64decode(final_res.images_encoded[0])))
|
| 368 |
|
| 369 |
return image, gr.update(visible=True)
|
| 370 |
|
|
|
|
| 7 |
from io import BytesIO
|
| 8 |
import PIL.Image
|
| 9 |
from typing import Tuple
|
| 10 |
+
from novita_client import NovitaClient, V3TaskResponseStatus, InstantIDControlnetUnit
|
| 11 |
from time import time
|
| 12 |
|
| 13 |
from style_template import styles
|
|
|
|
| 120 |
|
| 121 |
|
| 122 |
CONTROLNET_DICT = dict(
|
| 123 |
+
pose=InstantIDControlnetUnit(
|
| 124 |
+
model_name='controlnet-openpose-sdxl-1.0',
|
| 125 |
+
strength=1,
|
| 126 |
+
preprocessor='openpose',
|
| 127 |
+
),
|
| 128 |
+
depth=InstantIDControlnetUnit(
|
| 129 |
+
model_name='controlnet-depth-sdxl-1.0',
|
| 130 |
+
strength=1,
|
| 131 |
+
preprocessor='depth',
|
| 132 |
+
),
|
| 133 |
+
canny=InstantIDControlnetUnit(
|
| 134 |
+
model_name='controlnet-canny-sdxl-1.0',
|
| 135 |
+
strength=1,
|
| 136 |
+
preprocessor='canny',
|
| 137 |
+
),
|
| 138 |
+
lineart=InstantIDControlnetUnit(
|
| 139 |
+
model_name='controlnet-softedge-sdxl-1.0',
|
| 140 |
+
strength=1,
|
| 141 |
+
preprocessor='lineart',
|
| 142 |
+
),
|
| 143 |
)
|
| 144 |
|
| 145 |
last_check = 0
|
|
|
|
| 309 |
height = int(height * scaling)
|
| 310 |
|
| 311 |
(
|
| 312 |
+
CONTROLNET_DICT['pose'].strength,
|
| 313 |
+
CONTROLNET_DICT['canny'].strength,
|
| 314 |
+
CONTROLNET_DICT['depth'].strength,
|
| 315 |
+
CONTROLNET_DICT['lineart'].strength,
|
| 316 |
) = [controlnet_strength_1, controlnet_strength_2, controlnet_strength_3, controlnet_strength_4]
|
| 317 |
|
| 318 |
+
def progress_ (x):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 319 |
global last_check
|
| 320 |
t = time()
|
| 321 |
if t > last_check + 5:
|
| 322 |
last_check = t
|
| 323 |
+
print('progress:', t, x)
|
| 324 |
+
|
| 325 |
+
res = client.instant_id(
|
| 326 |
+
model_name=f'{model_name}.safetensors',
|
| 327 |
+
face_images=[face_image_path],
|
| 328 |
+
ref_images=[ref_image_path],
|
| 329 |
+
prompt=prompt,
|
| 330 |
+
negative_prompt=negative_prompt,
|
| 331 |
+
controlnets=[CONTROLNET_DICT[name] for name in controlnet_selection if name in CONTROLNET_DICT],
|
| 332 |
+
steps=num_steps,
|
| 333 |
+
seed=seed,
|
| 334 |
+
guidance_scale=guidance_scale,
|
| 335 |
+
sampler_name=scheduler,
|
| 336 |
+
id_strength=identitynet_strength_ratio,
|
| 337 |
+
adapter_strength=adapter_strength_ratio,
|
| 338 |
+
width=width,
|
| 339 |
+
height=height,
|
| 340 |
+
#response_image_type='jpeg', # wait for novita_client 0.5.1 to fix this argument
|
| 341 |
+
callback=progress_,
|
| 342 |
+
)
|
| 343 |
except Exception as e:
|
| 344 |
raise gr.Error(f'Error: {e}')
|
| 345 |
|
| 346 |
+
image = PIL.Image.open(BytesIO(base64.b64decode(res.images_encoded[0])))
|
|
|
|
|
|
|
|
|
|
| 347 |
|
| 348 |
return image, gr.update(visible=True)
|
| 349 |
|
requirements.txt
CHANGED
|
@@ -1,2 +1,2 @@
|
|
| 1 |
-
novita_client==0.
|
| 2 |
gradio==4.15.0
|
|
|
|
| 1 |
+
novita_client==0.5.0
|
| 2 |
gradio==4.15.0
|