Spaces:
Running
Running
Commit
·
3062328
1
Parent(s):
b9247d3
init
Browse files
util.py
CHANGED
|
@@ -455,7 +455,7 @@ def process_local_image_edit(base_image, layers, prompt, progress_callback=None)
|
|
| 455 |
time_id = int(time.time())
|
| 456 |
|
| 457 |
if progress_callback:
|
| 458 |
-
progress_callback("
|
| 459 |
|
| 460 |
# 从layers创建mask图片
|
| 461 |
mask_image = create_mask_from_layers(base_image, layers)
|
|
@@ -463,12 +463,12 @@ def process_local_image_edit(base_image, layers, prompt, progress_callback=None)
|
|
| 463 |
# 检查mask是否有内容
|
| 464 |
mask_array = np.array(mask_image)
|
| 465 |
if np.max(mask_array) == 0:
|
| 466 |
-
return None, "
|
| 467 |
|
| 468 |
print(f"📝 创建mask图片成功,绘制区域像素数: {np.sum(mask_array > 0)}")
|
| 469 |
|
| 470 |
if progress_callback:
|
| 471 |
-
progress_callback("
|
| 472 |
|
| 473 |
# 处理并上传原始图片
|
| 474 |
temp_dir = tempfile.mkdtemp()
|
|
@@ -482,19 +482,19 @@ def process_local_image_edit(base_image, layers, prompt, progress_callback=None)
|
|
| 482 |
# 上传原始图片
|
| 483 |
uploaded_url = upload_user_img_r2(client_ip, time_id, temp_img_path)
|
| 484 |
if not uploaded_url:
|
| 485 |
-
return None, "
|
| 486 |
|
| 487 |
# 从上传 URL 中提取实际的图片 URL
|
| 488 |
if "?" in uploaded_url:
|
| 489 |
uploaded_url = uploaded_url.split("?")[0]
|
| 490 |
|
| 491 |
if progress_callback:
|
| 492 |
-
progress_callback("
|
| 493 |
|
| 494 |
# 上传mask图片
|
| 495 |
mask_url = upload_mask_image_r2(client_ip, time_id, mask_image)
|
| 496 |
if not mask_url:
|
| 497 |
-
return None, "mask
|
| 498 |
|
| 499 |
# 从上传 URL 中提取实际的图片 URL
|
| 500 |
if "?" in mask_url:
|
|
@@ -505,7 +505,7 @@ def process_local_image_edit(base_image, layers, prompt, progress_callback=None)
|
|
| 505 |
print(f" Mask图片: {mask_url}")
|
| 506 |
|
| 507 |
if progress_callback:
|
| 508 |
-
progress_callback("
|
| 509 |
|
| 510 |
# 提交局部图片编辑任务 (task_type=81)
|
| 511 |
task_id, error = submit_image_edit_task(uploaded_url, prompt, task_type="81", mask_image_url=mask_url)
|
|
@@ -513,7 +513,7 @@ def process_local_image_edit(base_image, layers, prompt, progress_callback=None)
|
|
| 513 |
return None, error
|
| 514 |
|
| 515 |
if progress_callback:
|
| 516 |
-
progress_callback(f"
|
| 517 |
|
| 518 |
print(f"🚀 局部编辑任务已提交,任务ID: {task_id}")
|
| 519 |
|
|
@@ -525,25 +525,25 @@ def process_local_image_edit(base_image, layers, prompt, progress_callback=None)
|
|
| 525 |
if status == 'completed':
|
| 526 |
if output_url:
|
| 527 |
print(f"✅ 局部编辑任务完成,结果: {output_url}")
|
| 528 |
-
return output_url, "
|
| 529 |
else:
|
| 530 |
-
return None, "
|
| 531 |
elif status == 'error' or status == 'failed':
|
| 532 |
-
return None, f"
|
| 533 |
elif status in ['queued', 'processing', 'running', 'created', 'working']:
|
| 534 |
if progress_callback:
|
| 535 |
-
progress_callback(f"
|
| 536 |
time.sleep(1) # Wait 1 second before retry
|
| 537 |
else:
|
| 538 |
if progress_callback:
|
| 539 |
-
progress_callback(f"
|
| 540 |
time.sleep(1)
|
| 541 |
|
| 542 |
-
return None, "
|
| 543 |
|
| 544 |
except Exception as e:
|
| 545 |
print(f"❌ 局部编辑处理异常: {str(e)}")
|
| 546 |
-
return None, f"
|
| 547 |
|
| 548 |
finally:
|
| 549 |
# 清理临时文件
|
|
|
|
| 455 |
time_id = int(time.time())
|
| 456 |
|
| 457 |
if progress_callback:
|
| 458 |
+
progress_callback("creating mask image...")
|
| 459 |
|
| 460 |
# 从layers创建mask图片
|
| 461 |
mask_image = create_mask_from_layers(base_image, layers)
|
|
|
|
| 463 |
# 检查mask是否有内容
|
| 464 |
mask_array = np.array(mask_image)
|
| 465 |
if np.max(mask_array) == 0:
|
| 466 |
+
return None, "please draw mask"
|
| 467 |
|
| 468 |
print(f"📝 创建mask图片成功,绘制区域像素数: {np.sum(mask_array > 0)}")
|
| 469 |
|
| 470 |
if progress_callback:
|
| 471 |
+
progress_callback("uploading original image...")
|
| 472 |
|
| 473 |
# 处理并上传原始图片
|
| 474 |
temp_dir = tempfile.mkdtemp()
|
|
|
|
| 482 |
# 上传原始图片
|
| 483 |
uploaded_url = upload_user_img_r2(client_ip, time_id, temp_img_path)
|
| 484 |
if not uploaded_url:
|
| 485 |
+
return None, "original image upload failed"
|
| 486 |
|
| 487 |
# 从上传 URL 中提取实际的图片 URL
|
| 488 |
if "?" in uploaded_url:
|
| 489 |
uploaded_url = uploaded_url.split("?")[0]
|
| 490 |
|
| 491 |
if progress_callback:
|
| 492 |
+
progress_callback("uploading mask image...")
|
| 493 |
|
| 494 |
# 上传mask图片
|
| 495 |
mask_url = upload_mask_image_r2(client_ip, time_id, mask_image)
|
| 496 |
if not mask_url:
|
| 497 |
+
return None, "mask image upload failed"
|
| 498 |
|
| 499 |
# 从上传 URL 中提取实际的图片 URL
|
| 500 |
if "?" in mask_url:
|
|
|
|
| 505 |
print(f" Mask图片: {mask_url}")
|
| 506 |
|
| 507 |
if progress_callback:
|
| 508 |
+
progress_callback("submitting local edit task...")
|
| 509 |
|
| 510 |
# 提交局部图片编辑任务 (task_type=81)
|
| 511 |
task_id, error = submit_image_edit_task(uploaded_url, prompt, task_type="81", mask_image_url=mask_url)
|
|
|
|
| 513 |
return None, error
|
| 514 |
|
| 515 |
if progress_callback:
|
| 516 |
+
progress_callback(f"task submitted, ID: {task_id}, processing...")
|
| 517 |
|
| 518 |
print(f"🚀 局部编辑任务已提交,任务ID: {task_id}")
|
| 519 |
|
|
|
|
| 525 |
if status == 'completed':
|
| 526 |
if output_url:
|
| 527 |
print(f"✅ 局部编辑任务完成,结果: {output_url}")
|
| 528 |
+
return output_url, "local image edit completed"
|
| 529 |
else:
|
| 530 |
+
return None, "task completed but no result image returned"
|
| 531 |
elif status == 'error' or status == 'failed':
|
| 532 |
+
return None, f"task processing failed: {task_data}"
|
| 533 |
elif status in ['queued', 'processing', 'running', 'created', 'working']:
|
| 534 |
if progress_callback:
|
| 535 |
+
progress_callback(f"processing... (status: {status})")
|
| 536 |
time.sleep(1) # Wait 1 second before retry
|
| 537 |
else:
|
| 538 |
if progress_callback:
|
| 539 |
+
progress_callback(f"unknown status: {status}")
|
| 540 |
time.sleep(1)
|
| 541 |
|
| 542 |
+
return None, "task processing timeout"
|
| 543 |
|
| 544 |
except Exception as e:
|
| 545 |
print(f"❌ 局部编辑处理异常: {str(e)}")
|
| 546 |
+
return None, f"error occurred during processing: {str(e)}"
|
| 547 |
|
| 548 |
finally:
|
| 549 |
# 清理临时文件
|