aa
This commit is contained in:
321
.trash/groups.json
Normal file
321
.trash/groups.json
Normal file
@@ -0,0 +1,321 @@
|
||||
{
|
||||
"20260617_005040_img_56.png": "cg_077c3625",
|
||||
"20260617_005026_img_55.png": "cg_077c3625",
|
||||
"20260617_014351_img_66.png": "cg_9be4f76c",
|
||||
"20260617_013150_img_66.png": "cg_9be4f76c",
|
||||
"20260617_013327_img_67.png": "cg_9be4f76c",
|
||||
"20260617_013211_img_65.png": "cg_9be4f76c",
|
||||
"20260617_013035_img_64.png": "cg_9be4f76c",
|
||||
"20260617_013111_img_63.png": "cg_9be4f76c",
|
||||
"20260616_005752_img_21.png": "cg_07d742c0",
|
||||
"20260616_005727_img_19.png": "cg_07d742c0",
|
||||
"20260615_151614_img_93.png": "cg_74544975",
|
||||
"20260615_145017_img_93.png": "cg_74544975",
|
||||
"20260615_151829_img_92.png": "cg_74544975",
|
||||
"img_9.png": "cg_74544975",
|
||||
"20260617_133832_img_81.png": "cg_85873ed2",
|
||||
"20260617_133917_img_82.png": "cg_85873ed2",
|
||||
"20260617_134119_img_85.png": "cg_85873ed2",
|
||||
"20260617_134229_img_83.png": "cg_85873ed2",
|
||||
"20260618_004930_20260617_134041_img_84.png": "cg_85873ed2",
|
||||
"20260618_004501_20260617_134041_img_84.png": "cg_85873ed2",
|
||||
"20260617_134041_img_84.png": "cg_85873ed2",
|
||||
"20260618_011507_20260617_134615_img_86.png": "cg_85873ed2",
|
||||
"20260617_134615_img_86.png": "cg_85873ed2",
|
||||
"20260618_011633_t159zr-1.png": "cg_85873ed2",
|
||||
"t159zr-1.png": "cg_85873ed2",
|
||||
"20260618_004919_kbk99v.png": "cg_a5a45c98",
|
||||
"kbk99v.png": "cg_a5a45c98",
|
||||
"20260618_004941_out7.png": "cg_a5a45c98",
|
||||
"out7.png": "cg_a5a45c98",
|
||||
"20260618_004334_Pasted image (3).png": "cg_0290aa0c",
|
||||
"Pasted image (3).png": "cg_0290aa0c",
|
||||
"20260618_002025_20260616_020020_img_35.png": "cg_0290aa0c",
|
||||
"20260616_020020_img_35.png": "cg_0290aa0c",
|
||||
"20260618_004428_20260616_015949_img_37.png": "cg_0290aa0c",
|
||||
"20260618_002036_20260616_015949_img_37.png": "cg_0290aa0c",
|
||||
"20260616_015949_img_37.png": "cg_0290aa0c",
|
||||
"20260616_020059_img_38.png": "cg_0290aa0c",
|
||||
"20260616_015919_img_33.png": "cg_4ae30667",
|
||||
"20260616_015850_img_34.png": "cg_4ae30667",
|
||||
"20260616_011823_imgxxxx.png": "cg_800abf94",
|
||||
"20260615_152252_imgxxx.png": "cg_800abf94",
|
||||
"tp236b.png": "cg_f55e9e4a",
|
||||
"out.png": "cg_f55e9e4a",
|
||||
"out2.png": "cg_f55e9e4a",
|
||||
"p13.png": "cg_4e575e1d",
|
||||
"pa0.png": "cg_4e575e1d",
|
||||
"Pasted image (5).png": "cg_85873ed2",
|
||||
"img_3.png": "cg_53eda359",
|
||||
"Pasted image.png": "cg_53eda359",
|
||||
"out3.png": "cg_53eda359",
|
||||
"20260615_155354_others.jpeg": "cg_569ddd5e",
|
||||
"20260615_154852_other.jpeg": "cg_569ddd5e",
|
||||
"20260615_154333_other.jpeg": "cg_1c0c5074",
|
||||
"20260618_004407_20260616_002456_test123.jpeg": "cg_569ddd5e",
|
||||
"20260616_002456_test123.jpeg": "cg_569ddd5e",
|
||||
"20260618_013512_Pasted image (9).png": "cg_809653a0",
|
||||
"Pasted image (9).png": "cg_809653a0",
|
||||
"20260615_155756_img_6v1.png": "cg_2b3ab0b0",
|
||||
"20260616_002302_image.png": "cg_2b3ab0b0",
|
||||
"20260618_011622_jb1.png": "cg_ee004a75",
|
||||
"jb1.png": "cg_ee004a75",
|
||||
"20260618_010649_20260615_150340_test.png": "cg_ee004a75",
|
||||
"20260615_150340_test.png": "cg_ee004a75",
|
||||
"20260618_045745_7_20260618_045549_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045734_6_20260618_045549_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045723_5_20260618_045549_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045656_20260618_045450_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045629_20260618_045234_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045234_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045549_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045450_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045703_4_20260618_045549_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045652_3_20260618_045549_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045631_2_20260618_045549_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045620_1_20260618_045549_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045608_0_20260618_045549_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045539_3_20260618_045450_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045528_2_20260618_045450_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045500_0_20260618_045450_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045450_4_20260618_045234_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045439_3_20260618_045234_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045428_2_20260618_045234_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045418_1_20260618_045234_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_045407_0_20260618_045234_test_clipboard.png": "cg_32d91763",
|
||||
"20260618_051052_9_20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_051040_8_20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_051029_7_20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_051017_6_20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_051006_5_20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_050955_4_20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_050929_20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_050935_3_20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_050902_0_20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_050913_1_20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_050923_2_20260618_050846_img_4.png": "cg_b5b937c7",
|
||||
"20260618_053530_2_20260618_053458_image.png": "cg_bc58b958",
|
||||
"20260618_220856_2_20260618_053458_image.png": "cg_bc58b958",
|
||||
"20260618_220907_2_20260618_053458_image.png": "cg_bc58b958",
|
||||
"20260618_220918_2_20260618_053458_image.png": "cg_bc58b958",
|
||||
"Pasted image (7).png": "cg_0290aa0c",
|
||||
"20260616_021235_img_47.png": "cg_0290aa0c",
|
||||
"20260616_020035_img_36.png": "cg_0290aa0c",
|
||||
"20260618_002014_20260616_020035_img_36.png": "cg_0290aa0c",
|
||||
"20260618_011517_20260618_002014_20260616_020035_img_36.png": "cg_0290aa0c",
|
||||
"Pasted image (4).png": "cg_0290aa0c",
|
||||
"20260618_010700_Pasted image (4).png": "cg_0290aa0c",
|
||||
"20260618_015156_20260618_010700_Pasted image (4).png": "cg_0290aa0c",
|
||||
"20260616_023306_img_52.png": "cg_571ceb34",
|
||||
"20260616_022349_img_48.png": "cg_571ceb34",
|
||||
"20260616_022543_img_50.png": "cg_571ceb34",
|
||||
"20260618_015102_20260616_022543_img_50.png": "cg_571ceb34",
|
||||
"20260618_124203_image.png": "cg_f1e85987",
|
||||
"20260618_124440_6_20260618_124203_image.png": "cg_f1e85987",
|
||||
"20260618_124424_5_20260618_124203_image.png": "cg_f1e85987",
|
||||
"20260618_124412_4_20260618_124203_image.png": "cg_f1e85987",
|
||||
"20260618_124355_3_20260618_124203_image.png": "cg_f1e85987",
|
||||
"20260618_124334_2_20260618_124203_image.png": "cg_f1e85987",
|
||||
"20260618_124316_1_20260618_124203_image.png": "cg_f1e85987",
|
||||
"20260618_124256_0_20260618_124203_image.png": "cg_f1e85987",
|
||||
"20260618_122931_image.png": "cg_f1e85987",
|
||||
"20260618_123315_8_20260618_122931_image.png": "cg_f1e85987",
|
||||
"20260618_123257_7_20260618_122931_image.png": "cg_f1e85987",
|
||||
"20260618_123244_6_20260618_122931_image.png": "cg_f1e85987",
|
||||
"20260618_123227_5_20260618_122931_image.png": "cg_f1e85987",
|
||||
"20260618_123210_4_20260618_122931_image.png": "cg_f1e85987",
|
||||
"20260618_123153_3_20260618_122931_image.png": "cg_f1e85987",
|
||||
"20260618_123132_2_20260618_122931_image.png": "cg_f1e85987",
|
||||
"20260618_123119_1_20260618_122931_image.png": "cg_f1e85987",
|
||||
"20260618_123104_0_20260618_122931_image.png": "cg_f1e85987",
|
||||
"20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_133011_9_20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_132956_8_20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_132941_7_20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_132923_6_20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_132906_5_20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_132848_4_20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_132831_3_20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_132817_2_20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_132806_1_20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_132755_0_20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_133023_10_20260618_132718_image.png": "cg_7e0e0569",
|
||||
"20260618_132215_image.png": "cg_7e0e0569",
|
||||
"20260618_132450_8_20260618_132215_image.png": "cg_7e0e0569",
|
||||
"20260618_132432_7_20260618_132215_image.png": "cg_7e0e0569",
|
||||
"20260618_132414_6_20260618_132215_image.png": "cg_7e0e0569",
|
||||
"20260618_132357_5_20260618_132215_image.png": "cg_7e0e0569",
|
||||
"20260618_132340_4_20260618_132215_image.png": "cg_7e0e0569",
|
||||
"20260618_132323_3_20260618_132215_image.png": "cg_7e0e0569",
|
||||
"20260618_132305_2_20260618_132215_image.png": "cg_7e0e0569",
|
||||
"20260618_132248_1_20260618_132215_image.png": "cg_7e0e0569",
|
||||
"20260618_132232_0_20260618_132215_image.png": "cg_7e0e0569",
|
||||
"20260618_131909_image.png": "cg_7e0e0569",
|
||||
"20260618_132152_8_20260618_131909_image.png": "cg_7e0e0569",
|
||||
"20260618_132134_7_20260618_131909_image.png": "cg_7e0e0569",
|
||||
"20260618_132114_6_20260618_131909_image.png": "cg_7e0e0569",
|
||||
"20260618_132054_5_20260618_131909_image.png": "cg_7e0e0569",
|
||||
"20260618_132035_4_20260618_131909_image.png": "cg_7e0e0569",
|
||||
"20260618_132017_3_20260618_131909_image.png": "cg_7e0e0569",
|
||||
"20260618_131959_2_20260618_131909_image.png": "cg_7e0e0569",
|
||||
"20260618_131943_1_20260618_131909_image.png": "cg_7e0e0569",
|
||||
"20260618_131926_0_20260618_131909_image.png": "cg_7e0e0569",
|
||||
"20260618_131624_image.png": "cg_7e0e0569",
|
||||
"20260618_131822_8_20260618_131624_image.png": "cg_7e0e0569",
|
||||
"20260618_131811_7_20260618_131624_image.png": "cg_7e0e0569",
|
||||
"20260618_131759_6_20260618_131624_image.png": "cg_7e0e0569",
|
||||
"20260618_131747_5_20260618_131624_image.png": "cg_7e0e0569",
|
||||
"20260618_131736_4_20260618_131624_image.png": "cg_7e0e0569",
|
||||
"20260618_131725_3_20260618_131624_image.png": "cg_7e0e0569",
|
||||
"20260618_131713_2_20260618_131624_image.png": "cg_7e0e0569",
|
||||
"20260618_131702_1_20260618_131624_image.png": "cg_7e0e0569",
|
||||
"20260618_131651_0_20260618_131624_image.png": "cg_7e0e0569",
|
||||
"20260618_172500_image.png": "cg_08203e88",
|
||||
"20260618_172641_8_20260618_172500_image.png": "cg_08203e88",
|
||||
"20260618_172630_7_20260618_172500_image.png": "cg_08203e88",
|
||||
"20260618_172618_6_20260618_172500_image.png": "cg_08203e88",
|
||||
"20260618_172607_5_20260618_172500_image.png": "cg_08203e88",
|
||||
"20260618_172555_4_20260618_172500_image.png": "cg_08203e88",
|
||||
"20260618_172544_3_20260618_172500_image.png": "cg_08203e88",
|
||||
"20260618_172532_2_20260618_172500_image.png": "cg_08203e88",
|
||||
"20260618_172521_1_20260618_172500_image.png": "cg_08203e88",
|
||||
"20260618_172510_0_20260618_172500_image.png": "cg_08203e88",
|
||||
"20260618_171448_image.png": "cg_08203e88",
|
||||
"20260618_172015_8_20260618_171448_image.png": "cg_08203e88",
|
||||
"20260618_171939_7_20260618_171448_image.png": "cg_08203e88",
|
||||
"20260618_171906_6_20260618_171448_image.png": "cg_08203e88",
|
||||
"20260618_171834_5_20260618_171448_image.png": "cg_08203e88",
|
||||
"20260618_171802_4_20260618_171448_image.png": "cg_08203e88",
|
||||
"20260618_171732_3_20260618_171448_image.png": "cg_08203e88",
|
||||
"20260618_171706_2_20260618_171448_image.png": "cg_08203e88",
|
||||
"20260618_171639_1_20260618_171448_image.png": "cg_08203e88",
|
||||
"20260618_171624_0_20260618_171448_image.png": "cg_08203e88",
|
||||
"20260618_171628_image.png": "cg_08203e88",
|
||||
"20260618_172048_8_20260618_171628_image.png": "cg_08203e88",
|
||||
"20260618_172032_7_20260618_171628_image.png": "cg_08203e88",
|
||||
"20260618_171956_6_20260618_171628_image.png": "cg_08203e88",
|
||||
"20260618_171923_5_20260618_171628_image.png": "cg_08203e88",
|
||||
"20260618_171851_4_20260618_171628_image.png": "cg_08203e88",
|
||||
"20260618_171819_3_20260618_171628_image.png": "cg_08203e88",
|
||||
"20260618_171746_2_20260618_171628_image.png": "cg_08203e88",
|
||||
"20260618_171717_1_20260618_171628_image.png": "cg_08203e88",
|
||||
"20260618_171655_0_20260618_171628_image.png": "cg_08203e88",
|
||||
"20260617_015728_img_70.png": "cg_f6e02c38",
|
||||
"20260617_015611_img_69.png": "cg_f6e02c38",
|
||||
"20260617_133154_img_78.png": "cg_75340e8e",
|
||||
"20260617_133411_img_79.png": "cg_75340e8e",
|
||||
"p1.png": "cg_a5a45c98",
|
||||
"20260618_004909_p1.png": "cg_a5a45c98",
|
||||
"20260618_004345_p1.png": "cg_a5a45c98",
|
||||
"20260615_150812_img_19_2.png": "cg_a5a45c98",
|
||||
"20260618_004847_20260615_150812_img_19_2.png": "cg_a5a45c98",
|
||||
"20260618_011434_20260618_004847_20260615_150812_img_19_2.png": "cg_a5a45c98",
|
||||
"20260618_015052_20260618_004407_20260616_002456_test123.jpeg": "cg_569ddd5e",
|
||||
"20260618_223501_image.png": "solo:20260618_223501_image.png",
|
||||
"20260618_223557_2_20260618_223501_image.png": "solo:20260618_223557_2_20260618_223501_image.png",
|
||||
"20260618_223541_1_20260618_223501_image.png": "solo:20260618_223541_1_20260618_223501_image.png",
|
||||
"20260618_223525_0_20260618_223501_image.png": "solo:20260618_223525_0_20260618_223501_image.png",
|
||||
"20260619_040307_7_20260619_040135_image.png": "solo:20260619_040307_7_20260619_040135_image.png",
|
||||
"20260619_040319_8_20260619_040135_image.png": "solo:20260619_040319_8_20260619_040135_image.png",
|
||||
"20260619_041612_image.png": "cg_8c8d8ec9",
|
||||
"20260619_041924_8_20260619_041612_image.png": "cg_8c8d8ec9",
|
||||
"20260619_041902_7_20260619_041612_image.png": "cg_8c8d8ec9",
|
||||
"20260619_041839_6_20260619_041612_image.png": "cg_8c8d8ec9",
|
||||
"20260619_041734_3_20260619_041612_image.png": "cg_8c8d8ec9",
|
||||
"20260619_041818_5_20260619_041612_image.png": "cg_8c8d8ec9",
|
||||
"20260619_041756_4_20260619_041612_image.png": "cg_8c8d8ec9",
|
||||
"20260619_041711_2_20260619_041612_image.png": "cg_8c8d8ec9",
|
||||
"20260619_041650_1_20260619_041612_image.png": "cg_8c8d8ec9",
|
||||
"20260619_041628_0_20260619_041612_image.png": "cg_8c8d8ec9",
|
||||
"20260619_040221_3_20260619_040135_image.png": "cg_8c8d8ec9",
|
||||
"20260619_040158_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_043405_1_20260619_040135_image.png": "cg_d193128f",
|
||||
"20260619_043433_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041913_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041850_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041829_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041806_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041744_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041722_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041701_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041639_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041618_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041555_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041544_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041533_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041522_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041511_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041500_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041449_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041438_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041427_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041417_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041406_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041355_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041334_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041323_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041041_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041030_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_041020_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_040147_0_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_040209_2_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_040255_6_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_040244_5_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260619_040233_4_20260619_040135_image.png": "solo:20260619_040233_4_20260619_040135_image.png",
|
||||
"20260619_043740_1_20260619_040135_image.png": "cg_84349b43",
|
||||
"20260618_052526_image.png": "cg_7ec17537",
|
||||
"20260618_052708_8_20260618_052526_image.png": "cg_7ec17537",
|
||||
"20260618_052657_7_20260618_052526_image.png": "cg_7ec17537",
|
||||
"20260618_052645_6_20260618_052526_image.png": "cg_7ec17537",
|
||||
"20260618_052634_5_20260618_052526_image.png": "cg_7ec17537",
|
||||
"20260618_052622_4_20260618_052526_image.png": "cg_7ec17537",
|
||||
"20260618_052611_3_20260618_052526_image.png": "cg_7ec17537",
|
||||
"20260618_052559_2_20260618_052526_image.png": "cg_7ec17537",
|
||||
"20260618_052548_1_20260618_052526_image.png": "cg_7ec17537",
|
||||
"20260618_052537_0_20260618_052526_image.png": "cg_7ec17537",
|
||||
"20260619_052235_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
|
||||
"20260619_052030_mr_mr_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
|
||||
"20260619_052351_mr_mr_mr_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
|
||||
"20260619_052514_mr_1_20260618_052526_image.png": "cg_ed2e43d1",
|
||||
"20260619_051326_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
|
||||
"20260619_051905_mr_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
|
||||
"20260619_050945_image.png": "cg_ed2e43d1",
|
||||
"20260619_125445_mr_7_20260619_124038_image.png": "cg_ed2e43d1",
|
||||
"20260619_125434_mr_mr_1_20260619_040135_image.png": "cg_ed2e43d1",
|
||||
"20260619_125654_mr_mr_7_20260619_124038_image.png": "cg_ed2e43d1",
|
||||
"20260619_130043_mr_1_20260619_124038_image.png": "cg_ed2e43d1",
|
||||
"20260619_130001_mr_1_20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_124635_mr_7_20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_123958_image.png": "cg_6f321af3",
|
||||
"20260619_124529_8_20260619_123958_image.png": "cg_6f321af3",
|
||||
"20260619_124508_7_20260619_123958_image.png": "cg_6f321af3",
|
||||
"20260619_124446_6_20260619_123958_image.png": "cg_6f321af3",
|
||||
"20260619_124421_5_20260619_123958_image.png": "cg_6f321af3",
|
||||
"20260619_124351_4_20260619_123958_image.png": "cg_6f321af3",
|
||||
"20260619_124316_3_20260619_123958_image.png": "cg_6f321af3",
|
||||
"20260619_124242_2_20260619_123958_image.png": "cg_6f321af3",
|
||||
"20260619_124210_1_20260619_123958_image.png": "cg_6f321af3",
|
||||
"20260619_124139_0_20260619_123958_image.png": "cg_6f321af3",
|
||||
"20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_124540_8_20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_124518_7_20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_124456_6_20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_124435_5_20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_124407_4_20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_124333_3_20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_124258_2_20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_124226_1_20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_124154_0_20260619_124038_image.png": "cg_6f321af3",
|
||||
"20260619_184116_image.png": "cg_6f321af3",
|
||||
"20260619_184259_8_20260619_184116_image.png": "cg_6f321af3",
|
||||
"20260619_184248_7_20260619_184116_image.png": "cg_6f321af3",
|
||||
"20260619_184236_6_20260619_184116_image.png": "cg_6f321af3",
|
||||
"20260619_184225_5_20260619_184116_image.png": "cg_6f321af3",
|
||||
"20260619_184214_4_20260619_184116_image.png": "cg_6f321af3",
|
||||
"20260619_184202_3_20260619_184116_image.png": "cg_6f321af3",
|
||||
"20260619_184150_2_20260619_184116_image.png": "cg_6f321af3",
|
||||
"20260619_184139_1_20260619_184116_image.png": "cg_6f321af3",
|
||||
"20260619_184128_0_20260619_184116_image.png": "cg_6f321af3"
|
||||
}
|
||||
@@ -6,5 +6,8 @@
|
||||
"20260618_045831_20260618_045549_test_clipboard.png": "1girl breasts nipples solo nude blue skin pussy head out of frame",
|
||||
"20260618_050929_20260618_050846_img_4.png": "1girl solo blue skin nipples nude head out of frame breasts navel",
|
||||
"20260618_051629_20260618_051435_test_group.png": "1girl breasts solo nipples realistic nude head out of frame navel",
|
||||
"20260618_052008_20260618_051426_test_group.png": "1girl breasts solo nipples nude head out of frame navel realistic"
|
||||
"20260618_052008_20260618_051426_test_group.png": "1girl breasts solo nipples nude head out of frame navel realistic",
|
||||
"20260619_123958_image.png": "Solo 1Female",
|
||||
"20260619_172708_image.png": "Bicycle Fem",
|
||||
"20260619_172850_8_20260619_172708_image.png": "Bicycle 1 female"
|
||||
}
|
||||
14
README.md
14
README.md
@@ -1,14 +0,0 @@
|
||||
---
|
||||
title: Qwen Image Edit Rapid AIO (NSFW)
|
||||
emoji: 🌍
|
||||
colorFrom: pink
|
||||
colorTo: pink
|
||||
sdk: gradio
|
||||
sdk_version: 6.1.0
|
||||
app_file: app.py
|
||||
pinned: true
|
||||
tags:
|
||||
- not-for-all-audiences
|
||||
---
|
||||
|
||||
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
||||
23
example.py
23
example.py
@@ -1,23 +0,0 @@
|
||||
def calculate_area(length, width):
|
||||
"""
|
||||
Calculate the area of a rectangle.
|
||||
|
||||
Args:
|
||||
length (float): The length of the rectangle
|
||||
width (float): The width of the rectangle
|
||||
|
||||
Returns:
|
||||
float: The area of the rectangle
|
||||
"""
|
||||
if length <= 0 or width <= 0:
|
||||
raise ValueError("Length and width must be positive numbers")
|
||||
|
||||
return length * width
|
||||
|
||||
# Example usage
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
area = calculate_area(5, 3)
|
||||
print(f"The area is: {area}")
|
||||
except ValueError as e:
|
||||
print(f"Error: {e}")
|
||||
@@ -1,152 +0,0 @@
|
||||
import os
|
||||
import glob
|
||||
import shutil
|
||||
import subprocess
|
||||
import tempfile
|
||||
import threading
|
||||
import time
|
||||
CLIPS_DIR = "/data/events/clips"
|
||||
ARCHIVE_DIR = "/mnt/tour-big/clips"
|
||||
SIZE_THRESHOLD_MB = 200
|
||||
SIZE_THRESHOLD_BYTES = SIZE_THRESHOLD_MB * 1024 * 1024
|
||||
MAX_PER_RUN = 20
|
||||
|
||||
|
||||
def has_nvenc():
|
||||
r = subprocess.run(["ffmpeg", "-hide_banner", "-encoders"],
|
||||
stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
|
||||
return b"hevc_nvenc" in r.stdout
|
||||
|
||||
|
||||
def _ffmpeg(cmd):
|
||||
return subprocess.run(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.PIPE)
|
||||
|
||||
|
||||
def _proxy_cmd(src, dst, hw):
|
||||
"""10fps H.265 proxy for quick local browsing."""
|
||||
if hw:
|
||||
return ["ffmpeg", "-y",
|
||||
"-hwaccel", "cuda", "-hwaccel_output_format", "cuda",
|
||||
"-i", src,
|
||||
"-vcodec", "hevc_nvenc", "-rc", "constqp", "-qp", "28", "-preset", "p4",
|
||||
"-r", "10", "-tag:v", "hvc1", "-acodec", "copy", dst]
|
||||
return ["ffmpeg", "-y", "-i", src,
|
||||
"-vcodec", "libx265", "-crf", "28", "-preset", "medium",
|
||||
"-r", "10", "-tag:v", "hvc1", "-acodec", "copy", dst]
|
||||
|
||||
|
||||
def _archive_cmd(src, dst, hw):
|
||||
"""Full-fps high-quality H.265 for archive — small enough to pull back fast over slow SMB."""
|
||||
if hw:
|
||||
return ["ffmpeg", "-y",
|
||||
"-hwaccel", "cuda", "-hwaccel_output_format", "cuda",
|
||||
"-i", src,
|
||||
"-vcodec", "hevc_nvenc", "-rc", "vbr", "-cq", "19", "-b:v", "0",
|
||||
"-preset", "p6", "-tune", "hq",
|
||||
"-tag:v", "hvc1", "-acodec", "copy", dst]
|
||||
return ["ffmpeg", "-y", "-i", src,
|
||||
"-vcodec", "libx265", "-crf", "19", "-preset", "slow",
|
||||
"-tag:v", "hvc1", "-acodec", "copy", dst]
|
||||
|
||||
|
||||
def _encode_worker(label, cmd, hw, fallback_cmd, out):
|
||||
proc = _ffmpeg(cmd)
|
||||
if proc.returncode != 0 and hw:
|
||||
print(f" [{label}] NVENC failed, retrying in software...")
|
||||
proc = _ffmpeg(fallback_cmd)
|
||||
out[label] = proc
|
||||
|
||||
|
||||
def process(src, orig_size, hw):
|
||||
name = os.path.basename(src)
|
||||
archive_dst = os.path.join(ARCHIVE_DIR, name)
|
||||
|
||||
if os.path.exists(archive_dst):
|
||||
print(f" Skip {name} — already archived")
|
||||
return 0
|
||||
|
||||
proxy_tmp = src + ".proxy.mp4"
|
||||
# Encode archive to local /tmp first — never write directly to a slow SMB share
|
||||
archive_tmp = os.path.join(tempfile.gettempdir(), name + ".archive.mp4")
|
||||
|
||||
print(f"[{name}] {orig_size/(1024*1024):.0f} MB ({'NVENC' if hw else 'software'})")
|
||||
t0 = time.time()
|
||||
|
||||
results = {}
|
||||
threads = [
|
||||
threading.Thread(target=_encode_worker, args=(
|
||||
"proxy",
|
||||
_proxy_cmd(src, proxy_tmp, hw), hw,
|
||||
_proxy_cmd(src, proxy_tmp, False),
|
||||
results,
|
||||
)),
|
||||
threading.Thread(target=_encode_worker, args=(
|
||||
"archive",
|
||||
_archive_cmd(src, archive_tmp, hw), hw,
|
||||
_archive_cmd(src, archive_tmp, False),
|
||||
results,
|
||||
)),
|
||||
]
|
||||
for t in threads: t.start()
|
||||
for t in threads: t.join()
|
||||
|
||||
failed = {k: v for k, v in results.items() if v.returncode != 0}
|
||||
if failed:
|
||||
for label, proc in failed.items():
|
||||
print(f" [{label}] error: {proc.stderr.decode()[-300:]}")
|
||||
for f in (proxy_tmp, archive_tmp):
|
||||
if os.path.exists(f): os.remove(f)
|
||||
return 0
|
||||
|
||||
proxy_mb = os.path.getsize(proxy_tmp) / (1024*1024)
|
||||
archive_mb = os.path.getsize(archive_tmp) / (1024*1024)
|
||||
orig_mb = orig_size / (1024*1024)
|
||||
print(f" proxy {orig_mb:.0f}->{proxy_mb:.0f} MB "
|
||||
f"archive {orig_mb:.0f}->{archive_mb:.0f} MB "
|
||||
f"({time.time()-t0:.1f}s) — pushing archive to share...")
|
||||
|
||||
try:
|
||||
shutil.move(archive_tmp, archive_dst)
|
||||
except Exception as e:
|
||||
print(f" Archive move failed: {e} — aborting, original intact")
|
||||
for f in (proxy_tmp, archive_tmp):
|
||||
if os.path.exists(f): os.remove(f)
|
||||
return 0
|
||||
|
||||
# Atomic swap: original -> proxy (same filesystem)
|
||||
os.replace(proxy_tmp, src)
|
||||
freed = orig_size - os.path.getsize(src)
|
||||
print(f" Done freed locally: {freed/(1024*1024):.0f} MB")
|
||||
return freed
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
hw = has_nvenc()
|
||||
print(f"Encoder: {'hevc_nvenc (A6000, 2x parallel)' if hw else 'libx265 (software)'}")
|
||||
print(f"Clips: {CLIPS_DIR}")
|
||||
print(f"Archive: {ARCHIVE_DIR}\n")
|
||||
|
||||
if not os.path.isdir(ARCHIVE_DIR):
|
||||
print(f"ERROR: archive not reachable: {ARCHIVE_DIR}")
|
||||
raise SystemExit(1)
|
||||
|
||||
files = sorted(
|
||||
[(fp, os.path.getsize(fp))
|
||||
for fp in glob.glob(os.path.join(CLIPS_DIR, "*.mp4"))
|
||||
if os.path.isfile(fp) and os.path.getsize(fp) > SIZE_THRESHOLD_BYTES],
|
||||
key=lambda x: x[1], reverse=True,
|
||||
)
|
||||
print(f"Found {len(files)} files > {SIZE_THRESHOLD_MB} MB\n")
|
||||
|
||||
total_freed = 0
|
||||
done = 0
|
||||
for path, size in files:
|
||||
freed = process(path, size, hw)
|
||||
total_freed += freed
|
||||
if freed:
|
||||
done += 1
|
||||
if done >= MAX_PER_RUN:
|
||||
print(f"Reached {MAX_PER_RUN}-file limit.")
|
||||
break
|
||||
|
||||
print(f"\nDone. Processed: {done} Freed locally: {total_freed/(1024*1024):.0f} MB")
|
||||
@@ -649,6 +649,92 @@
|
||||
|
||||
#uploadInput { display: none; }
|
||||
|
||||
/* --- lightbox variant strip --- */
|
||||
#lbVariantStrip {
|
||||
display: none;
|
||||
flex-direction: row;
|
||||
gap: 6px;
|
||||
overflow-x: auto;
|
||||
padding: 6px 2px 2px;
|
||||
width: 100%;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #444 transparent;
|
||||
}
|
||||
.lb-var-thumb {
|
||||
flex: 0 0 auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 2px;
|
||||
cursor: pointer;
|
||||
opacity: 0.5;
|
||||
transition: opacity 0.15s;
|
||||
max-width: 60px;
|
||||
}
|
||||
.lb-var-thumb:hover { opacity: 0.85; }
|
||||
.lb-var-thumb.active { opacity: 1; outline: 2px solid #60a5fa; border-radius: 4px; }
|
||||
.lb-var-thumb img {
|
||||
width: 52px; height: 52px;
|
||||
object-fit: cover;
|
||||
border-radius: 4px;
|
||||
display: block;
|
||||
}
|
||||
.lb-var-pose {
|
||||
font-size: 7px;
|
||||
color: #999;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 58px;
|
||||
}
|
||||
|
||||
/* --- group card grid overview --- */
|
||||
.card-grid {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-template-rows: 1fr 1fr;
|
||||
gap: 2px;
|
||||
background: #111;
|
||||
}
|
||||
.card-grid-thumb {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
}
|
||||
.card-grid-thumb img {
|
||||
width: 100%; height: 100%;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
}
|
||||
.card-grid-thumb .thumb-pose {
|
||||
position: absolute;
|
||||
bottom: 0; left: 0; right: 0;
|
||||
background: rgba(0,0,0,0.72);
|
||||
font-size: 7px;
|
||||
color: #ccc;
|
||||
padding: 1px 3px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
text-align: center;
|
||||
pointer-events: none;
|
||||
}
|
||||
.card-grid-more {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: rgba(0,0,0,0.55);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
color: #fff;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* --- privacy overlay --- */
|
||||
.privacy-overlay {
|
||||
display: none;
|
||||
@@ -718,6 +804,7 @@
|
||||
<button class="btn primary" onclick="refreshNow()">Refresh Now</button>
|
||||
<button class="btn" id="selectBtn" onclick="toggleSelectMode()">Select</button>
|
||||
<button class="btn" id="privacyBtn" onclick="togglePrivacyMode()" title="Privacy mode — hides content on focus loss (P)">🔓</button>
|
||||
<button class="btn" onclick="cleanupDb()" title="Remove DB records for deleted/missing files" style="font-size:11px;opacity:0.6">Clean DB</button>
|
||||
</div>
|
||||
<div class="status">
|
||||
<span class="status-dot" id="statusDot"></span>
|
||||
@@ -764,11 +851,13 @@
|
||||
<button class="lb-btn" id="lbMoveDown" style="font-size:13px;padding:3px 8px;display:none" onclick="lbMoveInGroup(1)" title="Move later in group">↓</button>
|
||||
<button class="lb-btn" id="lbPreferredBtn" style="font-size:11px;padding:3px 8px;display:none;color:#f59e0b" onclick="lbSetPreferred()" title="Set as preferred reference for this group">★ Preferred</button>
|
||||
<button class="lb-btn" id="lbEyeBtn" style="font-size:15px;padding:3px 8px" onclick="lbToggleHidden()" title="Hide/show this image in group cycling">👁</button>
|
||||
<button class="lb-btn" style="font-size:11px;padding:3px 10px" onclick="tagCurrentImage()">Tag</button>
|
||||
<button class="lb-btn" style="font-size:11px;padding:3px 10px" onclick="tagCurrentImage()" title="Re-run tagger to update tags and clothing detection">Re-tag</button>
|
||||
<button class="lb-btn" id="lbUndressBtn" style="font-size:11px;padding:3px 10px;background:#7c3aed;display:none" onclick="lbUndress()" title="Generate without clothing">Undress</button>
|
||||
<button class="lb-btn" id="lbExtract" style="font-size:11px;padding:3px 10px" onclick="extractCurrentImage()">Extract</button>
|
||||
<button class="lb-btn" id="lbNoBgBtn" style="font-size:11px;padding:3px 10px;background: #334155" onclick="lbRemoveBg()">No BG</button>
|
||||
<button class="lb-btn" style="font-size:11px;padding:3px 10px;background: #991b1b" onclick="lbDelete()">Delete</button>
|
||||
<div id="lbSourceRefs" style="display:none;align-items:center;gap:4px;flex-wrap:wrap;margin-top:4px;width:100%"></div>
|
||||
<div id="lbVariantStrip"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1068,8 +1157,13 @@
|
||||
let fileHidden = {}; // filename → boolean (hidden from cycling)
|
||||
let fileHasBg = {}; // filename → boolean (has background, default true)
|
||||
let fileSourceRefs = {}; // filename → array of source filenames
|
||||
let fileHasClothing = {}; // filename → boolean|null (null = unknown)
|
||||
let privacyMode = localStorage.getItem('privacyMode') === 'true';
|
||||
|
||||
function escHtml(s) {
|
||||
return String(s).replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>').replace(/"/g,'"');
|
||||
}
|
||||
|
||||
function getBaseName(name) {
|
||||
return name.replace(/^(\d{8}_\d{6}_)+/, '');
|
||||
}
|
||||
@@ -1155,6 +1249,11 @@
|
||||
updateLightbox();
|
||||
}
|
||||
|
||||
function lbNavTo(idx) {
|
||||
lbIdx = idx;
|
||||
updateLightbox();
|
||||
}
|
||||
|
||||
function updateLightbox() {
|
||||
document.getElementById('lbImg').src = lbUrls[lbIdx];
|
||||
const fname = lbNames[lbIdx];
|
||||
@@ -1181,7 +1280,8 @@
|
||||
document.getElementById('lbEyeBtn').title = hidden ? 'Show in cycling' : 'Hide from cycling';
|
||||
|
||||
// No BG button — hide when image already has no background
|
||||
document.getElementById('lbNoBgBtn').style.display = fileHasBg[fname] !== false ? '' : 'none';
|
||||
document.getElementById('lbNoBgBtn').style.display = fileHasBg[fname] !== false ? '' : 'none';
|
||||
document.getElementById('lbUndressBtn').style.display = fileHasClothing[fname] === true ? '' : 'none';
|
||||
|
||||
// Source refs — show small clickable thumbnails
|
||||
const refs = fileSourceRefs[fname];
|
||||
@@ -1207,6 +1307,26 @@
|
||||
// ★ Preferred — shown when not already the first image
|
||||
const prefBtn = document.getElementById('lbPreferredBtn');
|
||||
prefBtn.style.display = multi && lbIdx > 0 ? '' : 'none';
|
||||
|
||||
// Variant strip — thumbnails + pose labels for every image in the group
|
||||
const strip = document.getElementById('lbVariantStrip');
|
||||
if (multi) {
|
||||
strip.style.display = 'flex';
|
||||
strip.innerHTML = lbUrls.map((url, i) => {
|
||||
const n = lbNames[i];
|
||||
const pose = filePoses[n] || '';
|
||||
const act = i === lbIdx ? ' active' : '';
|
||||
return '<div class="lb-var-thumb' + act + '" onclick="lbNavTo(' + i + ')">'
|
||||
+ '<img src="' + url + '" loading="lazy" onerror="this.style.opacity=\'0.3\'">'
|
||||
+ (pose ? '<div class="lb-var-pose">' + escHtml(pose) + '</div>' : '')
|
||||
+ '</div>';
|
||||
}).join('');
|
||||
// Scroll active thumb into view
|
||||
const active = strip.querySelector('.lb-var-thumb.active');
|
||||
if (active) active.scrollIntoView({ block: 'nearest', inline: 'center' });
|
||||
} else {
|
||||
strip.style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
async function updateName() {
|
||||
@@ -1524,7 +1644,7 @@
|
||||
|
||||
// Primary: live list from API (always up to date, works after batch jobs)
|
||||
try {
|
||||
const r = await fetch(`${API}/images`, { signal: AbortSignal.timeout(3000) });
|
||||
const r = await fetch(`${API}/images`, { signal: AbortSignal.timeout(12000) });
|
||||
if (r.ok) {
|
||||
const data = await r.json();
|
||||
files = data.images.map(img => img.filename);
|
||||
@@ -1537,7 +1657,8 @@
|
||||
if (img.group_name && img.group_id) groupNames[img.group_id] = img.group_name;
|
||||
fileSortOrders[img.filename] = img.sort_order ?? null;
|
||||
fileHidden[img.filename] = !!img.hidden;
|
||||
fileHasBg[img.filename] = img.has_background !== false;
|
||||
fileHasBg[img.filename] = img.has_background !== false;
|
||||
fileHasClothing[img.filename] = img.has_clothing ?? null;
|
||||
if (img.source_refs) {
|
||||
try { fileSourceRefs[img.filename] = JSON.parse(img.source_refs); } catch(e) {}
|
||||
}
|
||||
@@ -1570,16 +1691,19 @@
|
||||
}
|
||||
|
||||
if (fileObjects.length === 0) {
|
||||
gallery.innerHTML = `
|
||||
<div class="empty-state" style="grid-column: 1 / -1;">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
||||
<rect x="3" y="3" width="18" height="18" rx="2"/>
|
||||
<circle cx="8.5" cy="8.5" r="1.5"/>
|
||||
<path d="M21 15l-5-5L5 21"/>
|
||||
</svg>
|
||||
<h2>No images found</h2>
|
||||
<p>Place images in the output folder and refresh.</p>
|
||||
</div>`;
|
||||
// Only show "no images" if gallery is currently empty (avoid flash on slow API)
|
||||
if (!gallery.querySelector('.image-card')) {
|
||||
gallery.innerHTML = `
|
||||
<div class="empty-state" style="grid-column: 1 / -1;">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">
|
||||
<rect x="3" y="3" width="18" height="18" rx="2"/>
|
||||
<circle cx="8.5" cy="8.5" r="1.5"/>
|
||||
<path d="M21 15l-5-5L5 21"/>
|
||||
</svg>
|
||||
<h2>No images found</h2>
|
||||
<p>Place images in the output folder and refresh.</p>
|
||||
</div>`;
|
||||
}
|
||||
statusDot.classList.remove('updating');
|
||||
return;
|
||||
}
|
||||
@@ -1615,7 +1739,6 @@
|
||||
const label = groupDisplayName(group);
|
||||
const safeGid = gid.replace(/"/g, '"');
|
||||
const poses = [...new Set(gf.map(f => filePoses[f.cleanName]).filter(Boolean))];
|
||||
// First visible image (fallback to first overall)
|
||||
const firstVisUrl = visibleIdx.length ? urls[visibleIdx[0]] : urls[0];
|
||||
|
||||
return `
|
||||
@@ -1635,22 +1758,20 @@
|
||||
<div class="image-wrapper">
|
||||
<div class="select-indicator"></div>
|
||||
${vCount > 1 ? `<div class="variant-count">${vCount}×${count !== vCount ? `<span style="opacity:.5;font-size:9px"> /${count}</span>` : ''}</div>` : ''}
|
||||
<img src="${firstVisUrl}" alt="${label}" loading="lazy"
|
||||
onerror="this.style.opacity='0.2'">
|
||||
<img src="${firstVisUrl}" alt="${label}" loading="${isRecent ? 'eager' : 'lazy'}" onerror="this.style.opacity='0.2'">
|
||||
${vCount > 1 ? `<div class="variant-dots">${visibleIdx.map((_, i) => `<span class="dot${i === 0 ? ' active' : ''}"></span>`).join('')}</div>` : ''}
|
||||
</div>
|
||||
<div class="image-info">
|
||||
<div class="image-name" title="${label}">${label}</div>
|
||||
<div class="image-meta">
|
||||
<span class="image-time">#${String(currentGroups.length - gIdx).padStart(3, '0')}</span>
|
||||
${poses.length ? `<span class="badge" style="background:#78350f;font-size:9px">${poses[0]}</span>` : ''}
|
||||
${poses.length ? `<span class="badge" style="background:#78350f;font-size:9px">${escHtml(poses[0])}</span>` : ''}
|
||||
${isRecent ? '<span class="badge recent">Latest</span>' : ''}
|
||||
</div>
|
||||
</div>
|
||||
</div>`;
|
||||
}).join('');
|
||||
|
||||
// Start cycling for groups with 2+ visible images
|
||||
currentGroups.forEach(g => {
|
||||
const data = groupData.get(g.gid);
|
||||
if (data && data.visibleIdx && data.visibleIdx.length > 1) startGroupCycle(g.gid);
|
||||
@@ -2153,20 +2274,16 @@
|
||||
});
|
||||
});
|
||||
|
||||
// Privacy overlay — show when window loses focus, hide on regain
|
||||
// Privacy overlay — show on any focus loss; requires explicit dismiss (click overlay or P)
|
||||
window.addEventListener('blur', () => {
|
||||
if (privacyMode) document.getElementById('privacyOverlay').style.display = 'flex';
|
||||
});
|
||||
window.addEventListener('focus', () => {
|
||||
document.getElementById('privacyOverlay').style.display = 'none';
|
||||
});
|
||||
|
||||
// Handle visibility change — refresh when tab becomes active; privacy on hide
|
||||
document.addEventListener('visibilitychange', () => {
|
||||
if (document.hidden) {
|
||||
if (privacyMode) document.getElementById('privacyOverlay').style.display = 'flex';
|
||||
} else {
|
||||
document.getElementById('privacyOverlay').style.display = 'none';
|
||||
// Don't auto-hide — user must click overlay or press P to dismiss
|
||||
loadImages();
|
||||
}
|
||||
});
|
||||
@@ -2196,6 +2313,35 @@
|
||||
} catch(e) { console.error(e); }
|
||||
}
|
||||
|
||||
async function cleanupDb() {
|
||||
try {
|
||||
const r = await fetch(`${API}/db/cleanup`, { method: 'POST' });
|
||||
const d = await r.json();
|
||||
showToast(`Cleaned ${d.removed} orphan record${d.removed !== 1 ? 's' : ''}`);
|
||||
if (d.removed > 0) refreshNow();
|
||||
} catch(e) {
|
||||
showToast('Cleanup failed');
|
||||
}
|
||||
}
|
||||
|
||||
async function lbUndress() {
|
||||
const fname = lbNames[lbIdx];
|
||||
if (!fname) return;
|
||||
const btn = document.getElementById('lbUndressBtn');
|
||||
btn.textContent = '...';
|
||||
btn.disabled = true;
|
||||
try {
|
||||
const r = await fetch(`${API}/images/${encodeURIComponent(fname)}/undress`, {method:'POST'});
|
||||
if (!r.ok) { showToast('Undress failed', 'error'); return; }
|
||||
showToast('Undress queued', 'success');
|
||||
} catch(e) {
|
||||
showToast('Undress error', 'error');
|
||||
} finally {
|
||||
btn.textContent = 'Undress';
|
||||
btn.disabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
async function lbSetPreferred() {
|
||||
const fname = lbNames[lbIdx];
|
||||
if (!fname) return;
|
||||
|
||||
@@ -25,6 +25,7 @@ def migrate_schema():
|
||||
"ALTER TABLE person ADD COLUMN IF NOT EXISTS hidden BOOLEAN DEFAULT FALSE",
|
||||
"ALTER TABLE person ADD COLUMN IF NOT EXISTS has_background BOOLEAN DEFAULT TRUE",
|
||||
"ALTER TABLE person ADD COLUMN IF NOT EXISTS source_refs TEXT",
|
||||
"ALTER TABLE person ADD COLUMN IF NOT EXISTS has_clothing BOOLEAN DEFAULT NULL",
|
||||
]:
|
||||
cur.execute(sql)
|
||||
conn.commit()
|
||||
@@ -35,15 +36,15 @@ def migrate_schema():
|
||||
def upsert_person(filename, filepath=None, name=None, group_id=None, tags=None,
|
||||
embedding=None, clip_description=None, prompt=None, pose=None,
|
||||
sort_order=None, group_name=None, hidden=None,
|
||||
has_background=None, source_refs=None):
|
||||
has_background=None, source_refs=None, has_clothing=None):
|
||||
conn = get_db_connection()
|
||||
cur = conn.cursor()
|
||||
try:
|
||||
cur.execute("""
|
||||
INSERT INTO person (filename, filepath, name, group_id, tags, embedding,
|
||||
clip_description, prompt, pose, sort_order, group_name, hidden,
|
||||
has_background, source_refs)
|
||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||
has_background, source_refs, has_clothing)
|
||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||
ON CONFLICT (filename) DO UPDATE
|
||||
SET filepath = COALESCE(EXCLUDED.filepath, person.filepath),
|
||||
name = COALESCE(EXCLUDED.name, person.name),
|
||||
@@ -57,11 +58,12 @@ def upsert_person(filename, filepath=None, name=None, group_id=None, tags=None,
|
||||
group_name = COALESCE(EXCLUDED.group_name, person.group_name),
|
||||
hidden = COALESCE(EXCLUDED.hidden, person.hidden),
|
||||
has_background = COALESCE(EXCLUDED.has_background, person.has_background),
|
||||
source_refs = COALESCE(EXCLUDED.source_refs, person.source_refs);
|
||||
source_refs = COALESCE(EXCLUDED.source_refs, person.source_refs),
|
||||
has_clothing = COALESCE(EXCLUDED.has_clothing, person.has_clothing);
|
||||
""", (filename, filepath, name, group_id,
|
||||
json.dumps(tags) if tags else None,
|
||||
embedding, clip_description, prompt, pose, sort_order, group_name, hidden,
|
||||
has_background, source_refs))
|
||||
has_background, source_refs, has_clothing))
|
||||
conn.commit()
|
||||
finally:
|
||||
cur.close()
|
||||
@@ -83,7 +85,8 @@ def get_person(filename):
|
||||
try:
|
||||
cur.execute("""
|
||||
SELECT name, group_id, tags, embedding, clip_description, filepath,
|
||||
prompt, pose, sort_order, group_name, hidden, has_background, source_refs
|
||||
prompt, pose, sort_order, group_name, hidden, has_background, source_refs,
|
||||
has_clothing
|
||||
FROM person WHERE filename = %s
|
||||
""", (filename,))
|
||||
return cur.fetchone()
|
||||
@@ -97,7 +100,8 @@ def list_persons():
|
||||
try:
|
||||
cur.execute("""
|
||||
SELECT filename, name, group_id, clip_description,
|
||||
prompt, pose, sort_order, group_name, hidden, has_background, source_refs
|
||||
prompt, pose, sort_order, group_name, hidden, has_background, source_refs,
|
||||
has_clothing
|
||||
FROM person
|
||||
""")
|
||||
return cur.fetchall()
|
||||
@@ -194,6 +198,21 @@ def set_group_name(group_id, name):
|
||||
cur.close()
|
||||
conn.close()
|
||||
|
||||
def get_next_sort_order(group_id):
|
||||
"""Return max(sort_order)+1 for the group, or 1 if no sorted members exist."""
|
||||
conn = get_db_connection()
|
||||
cur = conn.cursor()
|
||||
try:
|
||||
cur.execute(
|
||||
"SELECT COALESCE(MAX(sort_order), 0) + 1 FROM person WHERE group_id = %s",
|
||||
(group_id,)
|
||||
)
|
||||
return cur.fetchone()[0]
|
||||
finally:
|
||||
cur.close()
|
||||
conn.close()
|
||||
|
||||
|
||||
def get_all_group_names():
|
||||
"""Return {group_id: group_name} for groups that have a name set."""
|
||||
conn = get_db_connection()
|
||||
|
||||
@@ -62,6 +62,20 @@ MAX_SEED = 2**32 - 1
|
||||
# Poses where the source image should be rotated 180° before pipeline for better results
|
||||
ROTATE_180_POSES = {"the dragon", "dragon", "the draak", "draak"}
|
||||
|
||||
# WD tagger tags that indicate the subject is wearing clothes
|
||||
CLOTHING_TAGS = {
|
||||
"dress", "skirt", "shirt", "top", "pants", "jeans", "jacket", "coat",
|
||||
"swimsuit", "bikini", "shorts", "uniform", "hoodie", "sweater", "blouse",
|
||||
"leggings", "stockings", "tights", "lingerie", "miniskirt", "pleated_skirt",
|
||||
"school_uniform", "maid_dress", "bodysuit", "sailor_uniform", "leotard",
|
||||
"corset", "kimono", "yukata", "cheongsam", "t-shirt", "tank_top", "crop_top",
|
||||
"tube_top", "halter_top", "negligee", "nightgown", "pajamas", "trench_coat",
|
||||
"vest", "bra", "underwear", "panties", "thong", "g-string", "bikini_top",
|
||||
"bikini_bottom", "one-piece_swimsuit", "sports_bra", "gym_clothes",
|
||||
}
|
||||
|
||||
UNDRESS_PROMPT = "completely nude, bare skin, no clothing, naked body, natural skin texture"
|
||||
|
||||
with open(WORKFLOW_PATH, "r", encoding="utf-8") as f:
|
||||
BASE_WORKFLOW = json.load(f)
|
||||
|
||||
@@ -338,6 +352,14 @@ def _detect_has_background(pil: Image.Image) -> bool:
|
||||
return transparent_px / (pil.width * pil.height) < 0.1
|
||||
|
||||
|
||||
def _detect_has_clothing(tags: list) -> bool | None:
|
||||
"""Return True if any tag from CLOTHING_TAGS appears above threshold, None if no tags."""
|
||||
if not tags:
|
||||
return None
|
||||
tag_names = {t["tag"] for t in tags}
|
||||
return bool(tag_names & CLOTHING_TAGS)
|
||||
|
||||
|
||||
def _run_pipeline(
|
||||
pil: Image.Image,
|
||||
prompt: str,
|
||||
@@ -476,10 +498,11 @@ def _batch_worker(job_id: str, filenames: list, prompts: list[str], poses: list,
|
||||
|
||||
try:
|
||||
embedding = embeddings.generate_embedding(out_path)
|
||||
next_order = database.get_next_sort_order(actual_gid)
|
||||
database.upsert_person(
|
||||
out_name, filepath=out_path, embedding=embedding,
|
||||
group_id=actual_gid, prompt=prompt, pose=pose,
|
||||
has_background=has_bg,
|
||||
has_background=has_bg, sort_order=next_order,
|
||||
source_refs=json.dumps([fname]),
|
||||
)
|
||||
except Exception as db_err:
|
||||
@@ -553,9 +576,10 @@ def _multi_ref_worker(job_id: str, filenames: list[str], prompts: list[str], pos
|
||||
|
||||
try:
|
||||
embedding = embeddings.generate_embedding(out_path)
|
||||
next_order = database.get_next_sort_order(output_gid)
|
||||
database.upsert_person(out_name, filepath=out_path, embedding=embedding,
|
||||
group_id=output_gid, prompt=prompt, pose=pose,
|
||||
has_background=has_bg,
|
||||
has_background=has_bg, sort_order=next_order,
|
||||
source_refs=json.dumps([f for f, _ in pils]))
|
||||
except Exception as db_err:
|
||||
print(f"DB error in multi-ref: {db_err}")
|
||||
@@ -672,9 +696,12 @@ def list_images():
|
||||
# Try to get from DB first
|
||||
try:
|
||||
persons = database.list_persons()
|
||||
# persons: (filename, name, group_id, clip_description, prompt, pose, sort_order, group_name, hidden, has_background, source_refs)
|
||||
# persons: (filename, name, group_id, clip_description, prompt, pose, sort_order, group_name, hidden, has_background, source_refs, has_clothing)
|
||||
db_images = []
|
||||
for p in persons:
|
||||
fpath = os.path.join(output_dir, p[0])
|
||||
if not os.path.exists(fpath):
|
||||
continue # skip orphan DB records whose file no longer exists
|
||||
db_images.append({
|
||||
"filename": p[0],
|
||||
"name": p[1],
|
||||
@@ -687,10 +714,10 @@ def list_images():
|
||||
"hidden": bool(p[8]) if p[8] else False,
|
||||
"has_background": bool(p[9]) if p[9] is not None else True,
|
||||
"source_refs": p[10],
|
||||
"has_clothing": p[11],
|
||||
})
|
||||
db_images.sort(
|
||||
key=lambda x: os.path.getmtime(os.path.join(output_dir, x["filename"]))
|
||||
if os.path.exists(os.path.join(output_dir, x["filename"])) else 0,
|
||||
key=lambda x: os.path.getmtime(os.path.join(output_dir, x["filename"])),
|
||||
reverse=True,
|
||||
)
|
||||
return {"images": db_images}
|
||||
@@ -723,16 +750,24 @@ def tag_image(req: TagRequest):
|
||||
pil = Image.open(fpath)
|
||||
tags = _run_tagger(pil, req.threshold)
|
||||
clip_desc = _tags_to_name(tags, req.max_tags)
|
||||
auto_name = naming.generate_associative_name(tags)
|
||||
|
||||
has_clothing = _detect_has_clothing(tags)
|
||||
|
||||
# Only assign a new name if the image doesn't already have one
|
||||
existing = database.get_person(req.filename)
|
||||
auto_name = (existing[0] if existing and existing[0] else None) or naming.generate_associative_name(tags)
|
||||
|
||||
# Save to DB
|
||||
try:
|
||||
embedding = embeddings.generate_embedding(fpath)
|
||||
database.upsert_person(req.filename, filepath=fpath, name=auto_name, clip_description=clip_desc, tags=tags, embedding=embedding, group_id=req.group_id)
|
||||
database.upsert_person(
|
||||
req.filename, filepath=fpath, name=auto_name,
|
||||
clip_description=clip_desc, tags=tags, embedding=embedding,
|
||||
group_id=req.group_id, has_clothing=has_clothing,
|
||||
)
|
||||
except Exception as db_err:
|
||||
print(f"Database error during tag: {db_err}")
|
||||
|
||||
return {"filename": req.filename, "clip_description": clip_desc, "tags": tags[:30]}
|
||||
return {"filename": req.filename, "clip_description": clip_desc, "tags": tags[:30], "has_clothing": has_clothing}
|
||||
except Exception as e:
|
||||
raise HTTPException(500, str(e))
|
||||
|
||||
@@ -865,6 +900,20 @@ def get_similar(filename: str, limit: int = 10):
|
||||
return {"filename": filename, "similar": similar}
|
||||
|
||||
|
||||
@app.post("/db/cleanup")
|
||||
def db_cleanup():
|
||||
"""Delete DB records for files that no longer exist on disk."""
|
||||
output_dir = _load_output_dir()
|
||||
persons = database.list_persons()
|
||||
removed = []
|
||||
for p in persons:
|
||||
fpath = os.path.join(output_dir, p[0])
|
||||
if not os.path.exists(fpath):
|
||||
database.delete_person(p[0])
|
||||
removed.append(p[0])
|
||||
return {"removed": len(removed), "filenames": removed}
|
||||
|
||||
|
||||
@app.get("/health")
|
||||
def health():
|
||||
try:
|
||||
@@ -907,37 +956,43 @@ def _process_upload(file_path: str, filename: str, prompts: list[str], name: str
|
||||
# 1. CLIP tag the source
|
||||
tags = _run_tagger(pil.convert("RGB"))
|
||||
clip_desc = _tags_to_name(tags)
|
||||
has_clothing = _detect_has_clothing(tags)
|
||||
auto_name = name or naming.generate_associative_name(tags)
|
||||
|
||||
|
||||
# 2. Embedding for source
|
||||
embedding = embeddings.generate_embedding(file_path)
|
||||
|
||||
# 3. Register source in DB (optional, but good for tracking)
|
||||
# We'll use the original filename or a timestamped one
|
||||
database.upsert_person(filename, filepath=file_path, name=auto_name, clip_description=clip_desc, tags=tags, embedding=embedding, group_id=group_id)
|
||||
|
||||
# 4. Default behavior: Crop if needed
|
||||
# We'll use default values from watcher
|
||||
|
||||
# 3. Register source in DB — sort_order=0 makes it the preferred base image
|
||||
database.upsert_person(
|
||||
filename, filepath=file_path, name=auto_name,
|
||||
clip_description=clip_desc, tags=tags, embedding=embedding,
|
||||
group_id=group_id, sort_order=0, has_clothing=has_clothing,
|
||||
)
|
||||
|
||||
# 4. Crop if needed
|
||||
cropped_pil = _crop_to_bbox(pil)
|
||||
|
||||
|
||||
# 5. Run prompts
|
||||
for i, prompt in enumerate(prompts):
|
||||
try:
|
||||
# Use RGB for pipeline
|
||||
png = _run_pipeline(cropped_pil.convert("RGB"), prompt)
|
||||
|
||||
|
||||
ts = time.strftime("%Y%m%d_%H%M%S")
|
||||
out_name = f"{ts}_{i}_{filename}"
|
||||
if not out_name.lower().endswith(".png"):
|
||||
out_name += ".png"
|
||||
out_path = os.path.join(output_dir, out_name)
|
||||
|
||||
|
||||
with open(out_path, "wb") as f:
|
||||
f.write(png)
|
||||
|
||||
# Register output in DB
|
||||
|
||||
out_embedding = embeddings.generate_embedding(out_path)
|
||||
database.upsert_person(out_name, filepath=out_path, name=auto_name, clip_description=clip_desc, embedding=out_embedding, group_id=group_id)
|
||||
next_order = database.get_next_sort_order(group_id)
|
||||
database.upsert_person(
|
||||
out_name, filepath=out_path, name=auto_name,
|
||||
clip_description=clip_desc, embedding=out_embedding,
|
||||
group_id=group_id, sort_order=next_order,
|
||||
)
|
||||
except Exception as e:
|
||||
print(f"Error processing prompt '{prompt}' for {filename}: {e}")
|
||||
|
||||
@@ -1033,6 +1088,27 @@ def set_image_preferred(filename: str):
|
||||
return {"filename": filename, "group_id": group_id}
|
||||
|
||||
|
||||
@app.post("/images/{filename}/undress")
|
||||
def undress_image(filename: str, background_tasks: BackgroundTasks):
|
||||
"""Queue a generation using the undress prompt on the given image."""
|
||||
output_dir = _load_output_dir()
|
||||
fpath = os.path.join(output_dir, filename)
|
||||
if not os.path.exists(fpath):
|
||||
raise HTTPException(404, "Image not found")
|
||||
person = database.get_person(filename)
|
||||
group_id = person[1] if person and person[1] else naming.get_base_name(filename)
|
||||
job_id = uuid.uuid4().hex[:8]
|
||||
jobs[job_id] = {"status": "queued", "done": 0, "failed": 0, "total": 1}
|
||||
threading.Thread(
|
||||
target=_batch_worker,
|
||||
args=(job_id, [filename], [UNDRESS_PROMPT], [None],
|
||||
random.randint(0, MAX_SEED), MAX_AREA),
|
||||
kwargs={"group_id": group_id},
|
||||
daemon=True,
|
||||
).start()
|
||||
return {"job_id": job_id, "filename": filename}
|
||||
|
||||
|
||||
@app.delete("/images/{filename}")
|
||||
def delete_image(filename: str):
|
||||
person = database.get_person(filename)
|
||||
|
||||
@@ -1,10 +1,131 @@
|
||||
import random
|
||||
import re
|
||||
|
||||
_NAMES_USA = [
|
||||
"Aiko", "Alara", "Amara", "Amira", "Andromeda", "Aoife", "Ara", "Aria",
|
||||
"Ariel", "Arya", "Asel", "Ashira", "Astrid", "Aurora", "Aya", "Ayame",
|
||||
"Bree", "Briar", "Calla", "Calypso", "Celeste", "Clio", "Cora", "Dalia",
|
||||
"Dawn", "Daya", "Delia", "Deva", "Eila", "Eira", "Elara", "Elene",
|
||||
"Elin", "Elira", "Ember", "Era", "Eris", "Estelle", "Eve", "Faye",
|
||||
"Fern", "Fiora", "Fleur", "Flora", "Gaia", "Greer", "Gwen", "Halo",
|
||||
"Haven", "Hera", "Ida", "Indra", "Io", "Iris", "Iva", "Jade",
|
||||
"Jaya", "Juno", "Kai", "Kaia", "Kaya", "Kessa", "Kira", "Laia",
|
||||
"Leda", "Lila", "Lira", "Lirien", "Luma", "Luna", "Lyra", "Maia",
|
||||
"Mara", "Marit", "Maya", "Meira", "Mira", "Miya", "Nadia", "Naia",
|
||||
"Nara", "Neva", "Nia", "Nike", "Nina", "Noor", "Nora", "Nova",
|
||||
"Nyx", "Ora", "Orla", "Petra", "Quinn", "Ren", "Rhea", "Riona",
|
||||
"Rue", "Saga", "Sage", "Sarai", "Selene", "Sera", "Silva", "Sol",
|
||||
"Sora", "Sylva", "Tala", "Tara", "Theia", "Tova", "Ula", "Uma",
|
||||
"Una", "Vega", "Vela", "Vera", "Vesper", "Vira", "Vivi", "Wren",
|
||||
"Xara", "Xena", "Yael", "Yuki", "Zara", "Zita", "Zoe", "Zora",
|
||||
]
|
||||
|
||||
_NAMES = [
|
||||
"Aaf", "Aafje", "Aafke", "Aagje", "Aaltje", "Abby", "Abigail", "Ada",
|
||||
"Adèle", "Adriana", "Agnes", "Aisha", "Ayla", "Alana", "Aletta", "Alexandra",
|
||||
"Alice", "Alicia", "Alida", "Alina", "Alise", "Aliza", "Alma", "Amalia",
|
||||
"Amanda", "Amber", "Amelie", "Amélie", "Amira", "Amy", "An", "Ana",
|
||||
"Anabel", "Anastasia", "Andrea", "Angela", "Angelina", "Aniek", "Anika",
|
||||
"Anissa", "Anja", "Anke", "Anna", "Annabel", "Anne", "Annebel",
|
||||
"Annemarie", "Annet", "Annette", "Annie", "Anouk", "Ans", "Antje",
|
||||
"Antoinette", "Ariane", "Arianna", "Ariana", "Arwen", "Ashley", "Astrid",
|
||||
"Aukje", "Aurora", "Avalon", "Aya",
|
||||
|
||||
"Babette", "Barbara", "Bea", "Beatrix", "Beau", "Bente", "Berber",
|
||||
"Bernadette", "Bertje", "Betsy", "Bianca", "Bibi", "Bodil", "Bo",
|
||||
"Bobbi", "Bregje", "Brechtje", "Brenda", "Brit", "Britt",
|
||||
|
||||
"Cato", "Catharina", "Celine", "Céline", "Cemre", "Chantal", "Charlotte",
|
||||
"Chelsey", "Chiara", "Chloë", "Christa", "Christel", "Christina", "Cindy",
|
||||
"Claire", "Clara", "Clarissa", "Claudia", "Cleo", "Coby", "Conny", "Cora",
|
||||
"Cornelia", "Cynthia",
|
||||
|
||||
"Daantje", "Dafne", "Daisy", "Dana", "Daniëlle", "Daphne", "Debbie",
|
||||
"Demi", "Denise", "Desi", "Diana", "Dide", "Diede", "Dieuwertje", "Dina",
|
||||
"Dinja", "Dionne", "Do", "Dominique", "Doortje", "Dora", "Doris", "Doutzen",
|
||||
|
||||
"Eef", "Eefje", "Eeke", "Eline", "Elisa", "Elise", "Elisabeth", "Ella",
|
||||
"Elle", "Ellen", "Ellemijn", "Ellis", "Els", "Elsa", "Else", "Elvira",
|
||||
"Emilia", "Emma", "Emmy", "Eva", "Evelien", "Eveline", "Evi",
|
||||
|
||||
"Fabiënne", "Famke", "Fay", "Faye", "Fem", "Femke", "Fenna", "Fenne",
|
||||
"Fien", "Fiene", "Fieke", "Fleur", "Fleurtje", "Floor", "Floortje",
|
||||
"Flore", "Florianne", "Froukje",
|
||||
|
||||
"Gabriëlle", "Gea", "Geertje", "Geertruida", "Geke", "Gerda", "Gerdi",
|
||||
"Gerdien", "Gertrude", "Ghislaine", "Gina", "Gitte", "Greet", "Greetje",
|
||||
"Greta", "Grietje", "Guusje", "Gwen",
|
||||
|
||||
"Hanna", "Hannah", "Hanne", "Hanneke", "Hannelore", "Harriët", "Hedwig",
|
||||
"Heleen", "Helena", "Helene", "Henriëtte", "Hester", "Hilde", "Hinke",
|
||||
|
||||
"Ilona", "Ilse", "Imke", "Imme", "Ina", "Indy", "Ineke", "Ines", "Inge",
|
||||
"Ingrid", "Iris", "Isa", "Isabel", "Isabella", "Isabelle", "Ise", "Iva",
|
||||
"Ivana",
|
||||
|
||||
"Jacoba", "Jacqueline", "Jada", "Jade", "Janna", "Janne", "Janneke",
|
||||
"Jantien", "Jasmijn", "Jasmine", "Jayda", "Jelka", "Jelke", "Jente",
|
||||
"Jenthe", "Jet", "Jette", "Jill", "Jo", "Joan", "Joanna", "Johanna",
|
||||
"Jolanda", "Jolie", "Josephine", "Josje", "Judith", "Julia", "Julie",
|
||||
"Juliette", "Juna", "Juni", "Juul", "Juut",
|
||||
|
||||
"Kaat", "Kaatje", "Karen", "Karin", "Karlijn", "Kiki", "Kim", "Kirsten",
|
||||
"Klara", "Klasina", "Kris", "Kristel",
|
||||
|
||||
"Lana", "Lara", "Laura", "Laurien", "Lena", "Lene", "Leni", "Lenie",
|
||||
"Lenthe", "Lieke", "Lien", "Lieve", "Linde", "Lindsey", "Lisa", "Lisanne",
|
||||
"Liset", "Liselotte", "Livia", "Liz", "Liza", "Lizzy", "Loïs", "Lola",
|
||||
"Lonneke", "Lotte", "Lou", "Louise", "Lova", "Luca", "Lucia", "Lucie",
|
||||
"Luna",
|
||||
|
||||
"Maaike", "Maan", "Maartje", "Maayke", "Madeleine", "Madelief", "Maike",
|
||||
"Maja", "Malou", "Manon", "Mara", "Mare", "Margot", "Margriet", "Maria",
|
||||
"Marieke", "Marije", "Marijne", "Marit", "Marja", "Marjan", "Marjolein",
|
||||
"Marleen", "Marloes", "Marlot", "Marly", "Martha", "Marthe", "Mathilde",
|
||||
"Maud", "Mees", "Meike", "Melanie", "Melissa", "Merel", "Mette", "Mia",
|
||||
"Mieke", "Mila", "Milou", "Minke", "Mira", "Mirjam", "Myrthe",
|
||||
|
||||
"Naomi", "Natasja", "Nathalie", "Nena", "Nienke", "Nina", "Noa", "Noëlle",
|
||||
"Noor", "Nora", "Nova",
|
||||
|
||||
"Olivia", "Olga",
|
||||
|
||||
"Pien", "Pleun",
|
||||
|
||||
"Quinty",
|
||||
|
||||
"Renske", "Renée", "Rianne", "Riek", "Rika", "Rina", "Rinske", "Rivka",
|
||||
"Robin", "Romy", "Roos", "Roosmarijn", "Rosa", "Rosalie", "Rosanne",
|
||||
"Rose", "Rowena", "Ruby",
|
||||
|
||||
"Sabine", "Sanne", "Sara", "Sarah", "Sarina", "Saskia", "Selma", "Senna",
|
||||
"Sera", "Sharon", "Silke", "Sjoukje", "Sofie", "Sophie", "Soraya",
|
||||
"Sterre", "Susan", "Susanne", "Suzan", "Suzanne", "Suze", "Sylvia",
|
||||
|
||||
"Tamar", "Tara", "Tess", "Tessa", "Teuntje", "Thea", "Theodora", "Thera",
|
||||
"Theresa", "Thirza", "Tine", "Tineke", "Tirza", "Tjitske", "Toos",
|
||||
"Trijntje", "Truus",
|
||||
|
||||
"Valerie", "Veerle", "Vera", "Vera-Lynn", "Veronique", "Victoria", "Vienna",
|
||||
"Vieve", "Vita", "Vivian", "Vivienne",
|
||||
|
||||
"Wende", "Wendy", "Wiep", "Wietske", "Wies", "Wiesje", "Willeke", "Wilma",
|
||||
|
||||
"Yara", "Yfke", "Ymkje", "Yolanda", "Yuna",
|
||||
|
||||
"Zara", "Zoë", "Zofia", "Zonne", "Zwaantje",
|
||||
]
|
||||
|
||||
def generate_associative_name(tags=None):
|
||||
"""Return a random evocative name for a new group."""
|
||||
return random.choice(_NAMES)
|
||||
|
||||
|
||||
def clean_tag(tag):
|
||||
return tag.replace("_", " ").strip()
|
||||
|
||||
def generate_associative_name(tags):
|
||||
|
||||
def generate_associative_description(tags):
|
||||
"""
|
||||
Generate a 'real-alike' associative name based on WD tagger tags.
|
||||
tags: list of dicts {'tag': str, 'score': float, 'cat': int}
|
||||
@@ -44,7 +165,7 @@ def generate_associative_name(tags):
|
||||
colors = ["red", "blue", "green", "white", "black", "gold", "silver", "pink", "purple", "yellow"]
|
||||
found_color = next((clean_tag(t['tag']) for t in high_score_tags if clean_tag(t['tag']).split()[0] in colors), None)
|
||||
if not found_color:
|
||||
found_color = next((clean_tag(t['tag']) for t in high_score_tags if any(c in t['tag'] for c in colors)), None)
|
||||
found_color = next((clean_tag(t['tag']) for t in high_score_tags if any(c in t['tag'] for c in colors)), None)
|
||||
|
||||
# Styles/Atmosphere
|
||||
styles = ["cyberpunk", "fantasy", "realistic", "ethereal", "dark", "bright", "sketch", "oil painting"]
|
||||
@@ -52,10 +173,10 @@ def generate_associative_name(tags):
|
||||
|
||||
# Build the name
|
||||
templates = []
|
||||
|
||||
|
||||
if found_style and subject:
|
||||
templates.append(f"{found_style.title()} {subject}")
|
||||
|
||||
|
||||
if found_color and subject:
|
||||
templates.append(f"The {found_color.title()} {subject}")
|
||||
|
||||
@@ -89,8 +210,6 @@ def generate_associative_name(tags):
|
||||
# Return a random template result
|
||||
return random.choice(templates)
|
||||
|
||||
|
||||
def get_base_name(name: str) -> str:
|
||||
"""Remove timestamp prefixes from filename."""
|
||||
# Matches YYYYMMDD_HHMMSS_
|
||||
return re.sub(r'^(\d{8}_\d{6}_)+', '', name)
|
||||
|
||||
2219
tour-comfy/old_car.html
Normal file
2219
tour-comfy/old_car.html
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,39 @@
|
||||
# Upscale HQ
|
||||
high quality. detailed.
|
||||
realistic
|
||||
|
||||
# BG Remove
|
||||
realistic, transparent background
|
||||
|
||||
# Feminine
|
||||
1 female nude.
|
||||
Hyper realistic.
|
||||
|
||||
|
||||
# Upscale HQ Feminine
|
||||
high quality.
|
||||
detailed.
|
||||
female nude
|
||||
realistic.
|
||||
|
||||
# Three-quarter
|
||||
Head-on a full-body three-quarter full-nude-body female portrait, realistic, transparent background
|
||||
|
||||
# Head-on undress
|
||||
Head-on straight-on full-nude-body female portrait, realistic, transparent background
|
||||
|
||||
# Head-on straight-on
|
||||
Head-on straight-on full-body female portrait, realistic, no background
|
||||
|
||||
# Looking viewer
|
||||
high quality, full-nude-body, female, masterpiece, realistic, photo, looking at viewer
|
||||
|
||||
# Light
|
||||
high quality, full-nude-body, female, masterpiece, realistic, photo, detailed skin, professional lighting, transparent background
|
||||
|
||||
# Drastic Light
|
||||
high quality, full-nude-body, female, masterpiece, realistic, photo, cinematic lighting, dramatic shadows, sharp focus, transparent background
|
||||
|
||||
# The Bride:
|
||||
Lying flat on her back, bending one leg and bringing it up to the chest, the other leg stretched out.
|
||||
Place one arm under your head, and the other arm stretched out to the side.
|
||||
@@ -233,7 +269,7 @@ hands at the thighs, fingers hooking into the top of thigh-high stockings or gar
|
||||
torso leaning forward slightly, shoulders rolled back, chest presented.
|
||||
head tilted, lips parted.
|
||||
Looking directly into camera. Teasing, anticipatory.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Unclasp:
|
||||
standing, back partially turned toward camera over one shoulder.
|
||||
@@ -241,7 +277,7 @@ arms reaching behind, hands at the back working to unhook a bra clasp.
|
||||
elbows drawn inward, shoulder blades prominent.
|
||||
hips cocked to one side, weight on one leg.
|
||||
Looking back over the shoulder into camera. Inviting, conspiratorial.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Strap Slide:
|
||||
standing, one strap of a slip or camisole slid off the shoulder.
|
||||
@@ -249,7 +285,7 @@ arm relaxed at the side, letting the fabric hang loose on one side.
|
||||
opposite hand touching the collarbone or trailing down the sternum.
|
||||
hip popped, body in a subtle S-curve.
|
||||
Looking directly into camera. Seductive, slow.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Lace Pull:
|
||||
lying on back, knees bent, feet flat on the ground.
|
||||
@@ -257,7 +293,7 @@ hands at the hips, fingers hooked into the waistband of lace panties.
|
||||
hips lifted slightly off the ground, fabric being pulled downward.
|
||||
thighs parted slightly, tension in the abdomen.
|
||||
Looking directly into camera. Vulnerable, exposed.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Corset Lace:
|
||||
standing, back to camera, head turned to look over shoulder.
|
||||
@@ -265,15 +301,15 @@ arms reaching behind to pull the laces of a corset tighter.
|
||||
elbows wide, shoulder blades drawn together, waist cinched narrow.
|
||||
legs straight, feet apart for balance.
|
||||
Looking back into camera. Restricted, breathless.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Garter Roll:
|
||||
# The Garter Roll (beta):
|
||||
lying on stomach, propped on elbows.
|
||||
legs bent at the knees, feet kicked up and crossed in the air.
|
||||
hands reaching back to roll a stocking up the calf or thigh.
|
||||
back arched, hips slightly lifted, fabric of lingerie riding up.
|
||||
Looking back over the shoulder into camera. Playful, coquettish.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Hook:
|
||||
standing facing camera, one leg crossed over the other at the ankle.
|
||||
@@ -281,7 +317,7 @@ both hands at the center of the chest, fingers working the hook-and-eye closure
|
||||
head tilted down, eyes looking up through lashes.
|
||||
shoulders rounded forward, creating a valley of shadow at the cleavage.
|
||||
Looking up into camera. Coy, demure.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Thigh Band:
|
||||
seated with legs extended forward, torso reclined back on hands.
|
||||
@@ -289,7 +325,7 @@ one knee bent, foot flat on the ground, thigh open.
|
||||
opposite hand resting on the inner thigh, fingers tracing the edge of a garter band or stocking top.
|
||||
head thrown back slightly, neck exposed.
|
||||
Looking directly into camera. Languid, indulgent.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, hyper realistic
|
||||
|
||||
# The Mirror Check:
|
||||
standing in three-quarter profile, one hand on the hip.
|
||||
@@ -297,7 +333,7 @@ other hand smoothing the fabric of a sheer chemise or babydoll down the side of
|
||||
weight on the back leg, front leg slightly bent, toe pointed.
|
||||
chin lifted, checking the fit in an implied mirror.
|
||||
Looking to the side, eyes catching the camera in reflection. Self-aware, assessing.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, hyper realistic
|
||||
|
||||
# The Snap:
|
||||
standing, legs apart, hands at the crotch of a bodysuit or teddy.
|
||||
@@ -305,7 +341,7 @@ fingers working the snap closures at the gusset.
|
||||
torso twisted slightly, one shoulder dropped lower than the other.
|
||||
lips pursed in concentration, then softening into a smile.
|
||||
Looking directly into camera. Direct, unapologetic.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, hyper realistic
|
||||
|
||||
# The Shoulder Drop:
|
||||
standing, back to camera.
|
||||
@@ -314,7 +350,7 @@ arms hanging loose, fabric pooling at the elbows.
|
||||
head turned to look back over one shoulder.
|
||||
hips swayed to one side, creating a diagonal line from shoulder to hip.
|
||||
Looking back into camera. Revealing, inevitable.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Step-In:
|
||||
standing on one leg, opposite leg lifted, foot stepping into the leg opening of panties or a bodysuit.
|
||||
@@ -322,7 +358,7 @@ hands holding the garment open at thigh level.
|
||||
torso leaning slightly to balance, one arm extended for stability.
|
||||
head down, watching the fabric glide up the leg.
|
||||
Looking down, then up into camera with a half-smile. Intimate, domestic.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Pearl Strand:
|
||||
lying on back, knees bent and parted, feet flat on the ground.
|
||||
@@ -330,15 +366,15 @@ hands at the neck, fingers working to fasten a pearl necklace or choker.
|
||||
elbows wide, chest lifted, collarbones prominent.
|
||||
head tilted back, throat elongated.
|
||||
Looking directly into camera. Elegant, adorned.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Glove Tug:
|
||||
# The Glove Tug (beta):
|
||||
seated on the floor, legs tucked to one side.
|
||||
one arm extended, fingers of the opposite hand slowly pulling a long satin or lace glove up the forearm.
|
||||
head turned to watch the motion, lips slightly parted.
|
||||
shoulders relaxed, back curved in a gentle C-shape.
|
||||
Looking at the glove, then into camera. Methodical, sensual.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Ribbon Tie:
|
||||
standing, legs apart, hands behind the back at the waist.
|
||||
@@ -346,7 +382,7 @@ fingers working to tie a satin ribbon or bow at the small of the back.
|
||||
torso twisted to expose the side, ribs visible with the stretch.
|
||||
head turned over the shoulder, chin lifted.
|
||||
Looking back into camera. Decorative, bound.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Hem Lift:
|
||||
standing, legs crossed at the ankles.
|
||||
@@ -354,7 +390,7 @@ both hands at the sides of a short slip or nightgown, fingers pinching the hem.
|
||||
fabric lifted slowly, revealing the upper thighs.
|
||||
weight shifted to one hip, creating a diagonal line.
|
||||
Looking directly into camera, chin down, eyes up. Provocative, measured.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Clasp Front:
|
||||
lying on side, propped on one elbow.
|
||||
@@ -362,7 +398,7 @@ free hand at the center of the chest, working the front clasp of a bra.
|
||||
fingers pinching the metal closure, about to release it.
|
||||
top leg bent and drawn forward, knee resting on the ground.
|
||||
Looking directly into camera. Anticipatory, breath held.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Sash Untie:
|
||||
standing, one hand on the hip.
|
||||
@@ -370,7 +406,7 @@ other hand pulling the end of a silk sash or robe tie.
|
||||
hips cocked, weight on the back leg.
|
||||
fabric beginning to part at the waist, hinting at what lies beneath.
|
||||
Looking directly into camera. Unwrapping, revelatory.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Zipper Pull:
|
||||
standing in profile, one shoulder dropped toward camera.
|
||||
@@ -378,7 +414,7 @@ arm reaching behind the back, fingers finding the pull of a side or back zipper.
|
||||
head turned to look back, neck stretched.
|
||||
zipper descending slowly, fabric parting along the spine or side.
|
||||
Looking back into camera. Mechanical, inevitable.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Stocking Peel:
|
||||
seated, one leg extended, the other bent with foot flat on the ground.
|
||||
@@ -386,7 +422,7 @@ hands at the ankle of the extended leg, slowly peeling a stocking downward.
|
||||
toe pointed, arch of the foot visible as the fabric reveals skin.
|
||||
torso leaning forward, hair falling over one shoulder.
|
||||
Looking at the leg, then into camera. Unveiling, deliberate.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Halter Knot:
|
||||
standing, back to camera, arms raised overhead.
|
||||
@@ -394,7 +430,7 @@ hands at the nape of the neck, tying or untying the knot of a halter top.
|
||||
elbows wide, shoulder blades drawn together, back muscles defined.
|
||||
spine straight, hips narrow.
|
||||
Looking back over the shoulder into camera. Taut, suspended.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Garter Snap:
|
||||
lying on back, one knee bent, foot flat, the other leg extended.
|
||||
@@ -402,7 +438,7 @@ hand at the inner thigh, fingers snapping the clasp of a garter to a stocking.
|
||||
hips slightly rotated to expose the attachment point.
|
||||
head turned to the side, watching the action.
|
||||
Looking at the hand, then into camera. Precise, functional.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Drape:
|
||||
standing, one hand holding a sheer robe or kimono open at the chest.
|
||||
@@ -410,7 +446,7 @@ other arm hanging loose at the side.
|
||||
shoulders back, one hip popped, fabric cascading down the body.
|
||||
head tilted, hair falling over one eye.
|
||||
Looking directly into camera. Framed, theatrical.
|
||||
Perfect anatomy, realistic, trying on erotic lingerie
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Fold:
|
||||
seated on the floor, legs spread wide in a straddle.
|
||||
@@ -536,14 +572,14 @@ weight distributed evenly between hands and feet.
|
||||
Looking backward, upside down, into camera. Inverted, expansive.
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Spiral:
|
||||
# The Spiral (beta):
|
||||
standing, feet apart.
|
||||
torso twisted deeply, one shoulder forward, the other back.
|
||||
arms extended to the sides, following the twist of the torso.
|
||||
head turned to look over the forward shoulder.
|
||||
hips squared, lower body stable, upper body rotated.
|
||||
Looking back over the shoulder into camera. Wound, coiled.
|
||||
Perfect anatomy, realistic
|
||||
Looking back over the shoulder into camera.
|
||||
Perfect anatomy, natural, realistic
|
||||
|
||||
# The Ballerina:
|
||||
standing on the toes of one foot, opposite leg extended straight back, lifted high.
|
||||
@@ -570,7 +606,7 @@ torso leaning slightly toward the extended leg.
|
||||
Looking directly into camera. Poised, watchful.
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Bow:
|
||||
# The Bow (beta):
|
||||
lying on stomach, knees bent, feet lifted toward the head.
|
||||
arms reaching back to grasp the ankles or feet.
|
||||
chest and thighs lifted off the ground, body forming a taut bow.
|
||||
@@ -587,7 +623,7 @@ body forming a wide, open V-shape.
|
||||
Looking directly into camera. Open, radiant.
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Sickle:
|
||||
# The Sickle (beta):
|
||||
lying on back, legs lifted and bent.
|
||||
knees drawing toward the chest, then extending and lowering toward the head.
|
||||
feet arched, toes pointing toward the ground behind the head.
|
||||
@@ -614,21 +650,21 @@ other arm wrapping around the back or reaching overhead.
|
||||
Looking down, then into camera. Directed, focused.
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Vessel:
|
||||
# The Vessel (beta):
|
||||
lying on back, knees bent, feet flat on the ground.
|
||||
arms extended overhead, hands clasped or holding the knees.
|
||||
arms extended overhead, hands clasped.
|
||||
hips lifted slightly, lower back arched.
|
||||
chest open, throat exposed.
|
||||
body forming a shallow bowl or vessel shape.
|
||||
Looking directly into camera. Receptive, open.
|
||||
Perfect anatomy, realistic
|
||||
|
||||
# The Quiver:
|
||||
# The Quiver (beta):
|
||||
lying on stomach, legs together, arms at the sides.
|
||||
torso lifted in a backbend, chest and shoulders arching upward.
|
||||
head thrown back, neck stretched.
|
||||
legs remain on the ground, feet pointed.
|
||||
body forming a gentle, upward curve from hips.
|
||||
body forming a gentle, upward curve from hips to head.
|
||||
Looking upward, not at camera. Trembling, stretched.
|
||||
Perfect anatomy, realistic
|
||||
|
||||
|
||||
@@ -1,115 +1,106 @@
|
||||
{
|
||||
"img_2.png": "2a721fdedc31f4ee11fd7c8ab85a4b33",
|
||||
"img_19.png": "82660461b10e0545165fe8dade87d4d2",
|
||||
"img.png": "6023644b2237fe301e43431e28a9d2e9",
|
||||
"img_4.png": "3c87ca4219c2ed6f275c044fa888afc0",
|
||||
"img_3.png": "3c87ca4219c2ed6f275c044fa888afc0",
|
||||
"img_5.png": "3c87ca4219c2ed6f275c044fa888afc0",
|
||||
"imgxx.png": "861b244b0aa205b8fdff4015a128a5a4",
|
||||
"img_1.png": "4c09437df56a8beb2a620f420a4d4d5a",
|
||||
"img_6.png": "7ad3913d8fea47ea120a8e958dd2fc62",
|
||||
"img_7.png": "2ad545906c6b99cac1a78305a37a5eed",
|
||||
"img_8.png": "4c453e8e332e92478bf0d49e663dedc9",
|
||||
"img_9.png": "7e35f295100f51a9a58533c8d1f1fc80",
|
||||
"test_timestamp.png": "d41b2ed22d4562d6aa0b7dd2248f18a2",
|
||||
"img_91.png": "7e35f295100f51a9a58533c8d1f1fc80",
|
||||
"test.png": "e569b50c015080e05e36f21307550e1a",
|
||||
"img_19_2.png": "e745ea158afbf416df6c53835c11f4c7",
|
||||
"img_93.png": "ab83477ac7782d7a7b38369ccfa7df80",
|
||||
"img_92.png": "7e35f295100f51a9a58533c8d1f1fc80",
|
||||
"imgxxx.png": "8965337a6abd7bfec6cb774978b4198b",
|
||||
"img_10.png": "10635b82a1cfcefb2c97af2ebd61d889",
|
||||
"img_12.png": "3b126df55d41bb48829650a766e3c6f3",
|
||||
"img_11.png": "c5e036773ead71f40a1f1966f74abc2b",
|
||||
"other.jpeg": "b89b5886901ba89c5d3fcd97430904e8",
|
||||
"others.jpeg": "b89b5886901ba89c5d3fcd97430904e8",
|
||||
"img_6v1.png": "7ad3913d8fea47ea120a8e958dd2fc62",
|
||||
"image.png": "7ad3913d8fea47ea120a8e958dd2fc62",
|
||||
"test123.jpeg": "b89b5886901ba89c5d3fcd97430904e8",
|
||||
"img_13.png": "5fb9fc29ca1d32c4ab6816160fcfdfe1",
|
||||
"img_14.png": "759b2e7532f7bf3a0d956a7f1c4cb7af",
|
||||
"img_15.png": "cbd90cb2e2edf2e4eff746c586657ad5",
|
||||
"img_16.png": "9c76b232aacf1f18739b323f5b6887d7",
|
||||
"img_17.png": "9955e08008340d6b2acd945cc4d9505a",
|
||||
"img_18.png": "5a50839c5d5a726b5b0e770bb266f6d6",
|
||||
"img_20.png": "29d28ef9f53d71c066798c46341d30a9",
|
||||
"img_run.png": "72ddfe64a1cea5611ea61425f4f61fd2",
|
||||
"img_21.png": "82660461b10e0545165fe8dade87d4d2",
|
||||
"img_22.png": "4c9adb619b5f191d9b76d1493df211c6",
|
||||
"img_23.png": "2ab193e0c19cec124764f9f54383ef2d",
|
||||
"img_24.png": "942d5409a0e4c70b4f960bc6468269e2",
|
||||
"imgxxxx.png": "8965337a6abd7bfec6cb774978b4198b",
|
||||
"img_25.png": "1d51cc605017423c0ae114f0b883bfea",
|
||||
"img_26.png": "23ef7f416f21ca3d5d237ecfdc88833e",
|
||||
"img_27.png": "9bb13a4ca7292c964fedd91065af64a0",
|
||||
"img_28.png": "37a7ac25c45ec63a87e04c9fe3b73aab",
|
||||
"img_29.png": "5ed1e8acd413beb7165da9880d6b052d",
|
||||
"img_30.png": "d907cf83d022af0545b55842f2573581",
|
||||
"img_31.png": "312874252c58cbb89c8cad46bc17e7e7",
|
||||
"img_32.png": "4d5ca98a255d51d5775725136f13a162",
|
||||
"img_34.png": "c5f814c539acc7cdef0da3279544e55f",
|
||||
"img_33.png": "c5f814c539acc7cdef0da3279544e55f",
|
||||
"img_37.png": "fefa5a1bb755fb0d4f03d966ac04dae3",
|
||||
"img_35.png": "ed1e95446696a97f46d84b246d01e0f7",
|
||||
"img_36.png": "ed1e95446696a97f46d84b246d01e0f7",
|
||||
"img_38.png": "dad813a6e3e919454ba1ff0fb3f8df22",
|
||||
"img_39.png": "732cda29c3f658a9847239d23cbe759b",
|
||||
"img_40.png": "6022fd6b8a4580ef4451c3c87e469b85",
|
||||
"img_42.png": "a4578fb780c2424581d72c862e14af6c",
|
||||
"img_41.png": "8871248c6da117c9b4318bcc6942c17a",
|
||||
"img_45.png": "2329402c6d8c5b7555a7432eb1aeccd9",
|
||||
"img_43.png": "e1d75f3326dd89c39fa91b9aaa0b54f9",
|
||||
"img_44.png": "6196e5ba2bb6fb46459c44543e0eeb64",
|
||||
"img_46.png": "3c73192c04ca22cc4ecb450565315798",
|
||||
"img_47.png": "2fb600fb8f3717bd79a9f56fa32efb0b",
|
||||
"20150913_211324.jpg": "bb75b92835207e81287a392f17f88eaf",
|
||||
"20160903_200935.jpg": "1cf5a582c8a40610640898ebaee2ade3",
|
||||
"20160903_200728.jpg": "7c93ad8f71045b07aeb390e0c906d5f2",
|
||||
"img_49.png": "bd72afa8e00ffff04dc8e860af058d0d",
|
||||
"img_48.png": "b6daebc286bc1c22a586ee1233c5b420",
|
||||
"img_50.png": "6f8b764e0973cb5c34b0c02f79b202ca",
|
||||
"img_51.png": "851612780583d06942c119b2c99b7b06",
|
||||
"img_52.png": "935946efb74fc333f41146691a61cc8f",
|
||||
"img_57.png": "514f89464e3c79bba7928b69ed01650e",
|
||||
"img_53.png": "ce7e90270592666da95b0c638d10d745",
|
||||
"img_58.png": "4fae0cf0017c9be9a550792167d60ce3",
|
||||
"img_54.png": "0d70e4782c2823f2f8d2b4c149a38e0b",
|
||||
"img_55.png": "ce7e90270592666da95b0c638d10d745",
|
||||
"img_56.png": "1501a3128f19392124e727121a8f2bd4",
|
||||
"img_59.png": "4fae0cf0017c9be9a550792167d60ce3",
|
||||
"img_60.png": "2c31cb016cad120daaf4e441a720a56c",
|
||||
"img_61.png": "68b1c7a9596ab2f0ff038bb585d7c4d4",
|
||||
"img_62.png": "c2c444a31001421a69dbc9ecf8588149",
|
||||
"img_64.png": "d5b235b57e6ec07e790f35b9cda399fb",
|
||||
"img_63.png": "b454d1869a8fc62ed1dc988467b541db",
|
||||
"img_66.png": "59e227fc6b06a2cd27659a9facf43c0d",
|
||||
"img_65.png": "c442724f5a29468eed4e9563e25e06e8",
|
||||
"img_68.png": "4c7fbe72509ab5b08ccdab726b5ff035",
|
||||
"img_67.png": "1970b9952e14688c22f8f54ea7d7b4ec",
|
||||
"img_69.png": "0bcf667d5603a157159052baddbb6e50",
|
||||
"img_70.png": "0bcf667d5603a157159052baddbb6e50",
|
||||
"img_71.png": "b3e79f4ff2882360b24f77a295f16650",
|
||||
"img_72.png": "ebd8cd52977b7fccc6ecff7ee2f392b5",
|
||||
"img_73.png": "28c91d6bc883ed6de89b62755d5417b9",
|
||||
"img_74.png": "b7c41d0f4c062cc7d7da240173a1f075",
|
||||
"img_75.png": "7b405fc4a4e022a272e5f09c7c485712",
|
||||
"img_76.png": "29b9c219a777155d576b9f35a3f41cca",
|
||||
"img_77.png": "6db31602d0ed36abc2d92a88fdcc21b0",
|
||||
"img_24.png": "942d5409a0e4c70b4f960bc6468269e2",
|
||||
"img_78.png": "15e83866d2f2afb2ee1e8d2a06a70b9d",
|
||||
"img_44.png": "6196e5ba2bb6fb46459c44543e0eeb64",
|
||||
"img_41.png": "8871248c6da117c9b4318bcc6942c17a",
|
||||
"img_55.png": "ce7e90270592666da95b0c638d10d745",
|
||||
"img_23.png": "2ab193e0c19cec124764f9f54383ef2d",
|
||||
"img_53.png": "ce7e90270592666da95b0c638d10d745",
|
||||
"img_56.png": "1501a3128f19392124e727121a8f2bd4",
|
||||
"img_30.png": "d907cf83d022af0545b55842f2573581",
|
||||
"img_58.png": "4fae0cf0017c9be9a550792167d60ce3",
|
||||
"img_79.png": "ab18eb4ce243db0f81f608d744596885",
|
||||
"imgxx.png": "861b244b0aa205b8fdff4015a128a5a4",
|
||||
"img_80.png": "de8dfcb0d6eeda8187783e8417f04b8b",
|
||||
"img_81.png": "072948a36c4ba79f4e761a9491f3d8eb",
|
||||
"img_82.png": "724fcb641da5f3294aa800ce0a9b93e4",
|
||||
"img_84.png": "f5dea766c46abfa4011c23d3c466d8dc",
|
||||
"img_85.png": "f48059d59efd33ec8cce4daa44bbd46d",
|
||||
"img_83.png": "501207e02d72776b65d705db9f28a179",
|
||||
"img_86.png": "9e831c994a69ee1e18a6d279d69c072f",
|
||||
"img_87.png": "4ce165b53df962d9e371124bfdec64bd",
|
||||
"img_21.png": "82660461b10e0545165fe8dade87d4d2",
|
||||
"img_72.png": "ebd8cd52977b7fccc6ecff7ee2f392b5",
|
||||
"img_28.png": "37a7ac25c45ec63a87e04c9fe3b73aab",
|
||||
"img_73.png": "28c91d6bc883ed6de89b62755d5417b9",
|
||||
"img_88.png": "7a22effc45850ecd53670827e0608e97",
|
||||
"20260618_045234_test_clipboard.png": "9cd53a2f405bebbac4a21dded0f12e34",
|
||||
"20260618_045450_test_clipboard.png": "9cd53a2f405bebbac4a21dded0f12e34",
|
||||
"20260618_045549_test_clipboard.png": "9cd53a2f405bebbac4a21dded0f12e34",
|
||||
"20260618_050846_img_4.png": "b18d89c79c74df97f1a7f106ece9d946",
|
||||
"20260618_051435_test_group.png": "bb550daac9e09ead5487e984b18d4b13",
|
||||
"20260618_051426_test_group.png": "bb550daac9e09ead5487e984b18d4b13"
|
||||
"img_16.png": "9c76b232aacf1f18739b323f5b6887d7",
|
||||
"img_63.png": "b454d1869a8fc62ed1dc988467b541db",
|
||||
"img_3.png": "3c87ca4219c2ed6f275c044fa888afc0",
|
||||
"img_18.png": "5a50839c5d5a726b5b0e770bb266f6d6",
|
||||
"img_22.png": "4c9adb619b5f191d9b76d1493df211c6",
|
||||
"img_77.png": "6db31602d0ed36abc2d92a88fdcc21b0",
|
||||
"image.png": "7ad3913d8fea47ea120a8e958dd2fc62",
|
||||
"img_71.png": "b3e79f4ff2882360b24f77a295f16650",
|
||||
"20150913_211324.jpg": "bb75b92835207e81287a392f17f88eaf",
|
||||
"img_52.png": "935946efb74fc333f41146691a61cc8f",
|
||||
"img_54.png": "0d70e4782c2823f2f8d2b4c149a38e0b",
|
||||
"img_2.png": "2a721fdedc31f4ee11fd7c8ab85a4b33",
|
||||
"img_6.png": "7ad3913d8fea47ea120a8e958dd2fc62",
|
||||
"imgxxxx.png": "8965337a6abd7bfec6cb774978b4198b",
|
||||
"img_48.png": "b6daebc286bc1c22a586ee1233c5b420",
|
||||
"img_66.png": "59e227fc6b06a2cd27659a9facf43c0d",
|
||||
"img_50.png": "6f8b764e0973cb5c34b0c02f79b202ca",
|
||||
"20160903_200935.jpg": "1cf5a582c8a40610640898ebaee2ade3",
|
||||
"img_62.png": "c2c444a31001421a69dbc9ecf8588149",
|
||||
"img_82.png": "724fcb641da5f3294aa800ce0a9b93e4",
|
||||
"img_57.png": "514f89464e3c79bba7928b69ed01650e",
|
||||
"img_7.png": "2ad545906c6b99cac1a78305a37a5eed",
|
||||
"img_67.png": "1970b9952e14688c22f8f54ea7d7b4ec",
|
||||
"img_37.png": "fefa5a1bb755fb0d4f03d966ac04dae3",
|
||||
"img_6v1.png": "7ad3913d8fea47ea120a8e958dd2fc62",
|
||||
"img_26.png": "23ef7f416f21ca3d5d237ecfdc88833e",
|
||||
"img_75.png": "7b405fc4a4e022a272e5f09c7c485712",
|
||||
"img_64.png": "d5b235b57e6ec07e790f35b9cda399fb",
|
||||
"img_31.png": "312874252c58cbb89c8cad46bc17e7e7",
|
||||
"img_45.png": "2329402c6d8c5b7555a7432eb1aeccd9",
|
||||
"img_68.png": "4c7fbe72509ab5b08ccdab726b5ff035",
|
||||
"img_29.png": "5ed1e8acd413beb7165da9880d6b052d",
|
||||
"img_1.png": "4c09437df56a8beb2a620f420a4d4d5a",
|
||||
"img_39.png": "732cda29c3f658a9847239d23cbe759b",
|
||||
"img_87.png": "4ce165b53df962d9e371124bfdec64bd",
|
||||
"20160903_200728.jpg": "7c93ad8f71045b07aeb390e0c906d5f2",
|
||||
"img_61.png": "68b1c7a9596ab2f0ff038bb585d7c4d4",
|
||||
"img_12.png": "3b126df55d41bb48829650a766e3c6f3",
|
||||
"img_85.png": "f48059d59efd33ec8cce4daa44bbd46d",
|
||||
"img_69.png": "0bcf667d5603a157159052baddbb6e50",
|
||||
"img_8.png": "4c453e8e332e92478bf0d49e663dedc9",
|
||||
"img_92.png": "7e35f295100f51a9a58533c8d1f1fc80",
|
||||
"img_35.png": "ed1e95446696a97f46d84b246d01e0f7",
|
||||
"img_81.png": "072948a36c4ba79f4e761a9491f3d8eb",
|
||||
"img_27.png": "9bb13a4ca7292c964fedd91065af64a0",
|
||||
"img_33.png": "c5f814c539acc7cdef0da3279544e55f",
|
||||
"img_47.png": "2fb600fb8f3717bd79a9f56fa32efb0b",
|
||||
"img_5.png": "3c87ca4219c2ed6f275c044fa888afc0",
|
||||
"img_46.png": "3c73192c04ca22cc4ecb450565315798",
|
||||
"img_25.png": "1d51cc605017423c0ae114f0b883bfea",
|
||||
"img_14.png": "759b2e7532f7bf3a0d956a7f1c4cb7af",
|
||||
"img_93.png": "ab83477ac7782d7a7b38369ccfa7df80",
|
||||
"img_10.png": "10635b82a1cfcefb2c97af2ebd61d889",
|
||||
"img_13.png": "5fb9fc29ca1d32c4ab6816160fcfdfe1",
|
||||
"img_65.png": "c442724f5a29468eed4e9563e25e06e8",
|
||||
"img_36.png": "ed1e95446696a97f46d84b246d01e0f7",
|
||||
"img_19.png": "82660461b10e0545165fe8dade87d4d2",
|
||||
"img_51.png": "851612780583d06942c119b2c99b7b06",
|
||||
"img_38.png": "dad813a6e3e919454ba1ff0fb3f8df22",
|
||||
"img_20.png": "29d28ef9f53d71c066798c46341d30a9",
|
||||
"img_34.png": "c5f814c539acc7cdef0da3279544e55f",
|
||||
"img_19_2.png": "e745ea158afbf416df6c53835c11f4c7",
|
||||
"img_91.png": "7e35f295100f51a9a58533c8d1f1fc80",
|
||||
"test123.jpeg": "b89b5886901ba89c5d3fcd97430904e8",
|
||||
"img_49.png": "bd72afa8e00ffff04dc8e860af058d0d",
|
||||
"test.png": "e569b50c015080e05e36f21307550e1a",
|
||||
"img_40.png": "6022fd6b8a4580ef4451c3c87e469b85",
|
||||
"img_83.png": "501207e02d72776b65d705db9f28a179",
|
||||
"img_70.png": "0bcf667d5603a157159052baddbb6e50",
|
||||
"img_15.png": "cbd90cb2e2edf2e4eff746c586657ad5",
|
||||
"imgxxx.png": "8965337a6abd7bfec6cb774978b4198b",
|
||||
"img_86.png": "9e831c994a69ee1e18a6d279d69c072f",
|
||||
"img_11.png": "c5e036773ead71f40a1f1966f74abc2b",
|
||||
"img_4.png": "3c87ca4219c2ed6f275c044fa888afc0",
|
||||
"img_9.png": "7e35f295100f51a9a58533c8d1f1fc80",
|
||||
"img_76.png": "29b9c219a777155d576b9f35a3f41cca",
|
||||
"img_run.png": "72ddfe64a1cea5611ea61425f4f61fd2",
|
||||
"img_59.png": "4fae0cf0017c9be9a550792167d60ce3",
|
||||
"img_74.png": "b7c41d0f4c062cc7d7da240173a1f075",
|
||||
"img.png": "6023644b2237fe301e43431e28a9d2e9",
|
||||
"img_17.png": "9955e08008340d6b2acd945cc4d9505a",
|
||||
"img_60.png": "2c31cb016cad120daaf4e441a720a56c",
|
||||
"img_84.png": "f5dea766c46abfa4011c23d3c466d8dc",
|
||||
"img_43.png": "e1d75f3326dd89c39fa91b9aaa0b54f9",
|
||||
"img_42.png": "a4578fb780c2424581d72c862e14af6c"
|
||||
}
|
||||
@@ -1349,3 +1349,688 @@ SyntaxError: broken PNG file (chunk b'END\xae')
|
||||
2026-06-18 22:31:18,891 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-18 22:31:18,891 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-18 22:31:18,891 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-18 23:40:49,290 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-18 23:40:49,290 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-18 23:40:49,291 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 01:12:51,333 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 01:12:51,333 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 01:12:51,333 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 01:27:41,007 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 01:27:41,007 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 01:27:41,007 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 02:51:36,835 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 02:51:36,835 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 02:51:36,835 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 04:31:56,640 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 04:31:56,640 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 04:31:56,640 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 04:33:26,942 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 04:33:26,942 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 04:33:26,942 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 04:54:47,346 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 04:54:47,346 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 04:54:47,346 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 12:39:49,176 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 12:39:49,176 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 12:39:49,176 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 19:39:35,852 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 19:39:35,854 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 19:39:35,854 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 19:53:51,980 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 19:53:51,983 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 19:53:51,983 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 19:56:28,725 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 19:56:28,725 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 19:56:28,725 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 19:57:23,120 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 19:57:23,120 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 19:57:23,120 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 22:29:55,648 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 22:29:55,648 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 22:29:55,648 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 22:29:56,648 - INFO - Starting processing for img_32.png...
|
||||
2026-06-19 22:29:56,650 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_32.png to (13, 55, 129, 389) (margin=10, top_margin=20)
|
||||
2026-06-19 22:29:56,650 - INFO - Adding 16px headroom to /mnt/zim/tour-comfy/stage/img_32.png
|
||||
2026-06-19 22:29:56,656 - INFO - Calling API for img_32.png -> 20260619_222956_img_32.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:30:18,770 - INFO - Successfully processed img_32.png -> /mnt/zim/tour-comfy/output/20260619_222956_img_32.png
|
||||
2026-06-19 22:30:18,793 - INFO - Parsing model identifier. Schema: None, Identifier: ViT-H-14
|
||||
2026-06-19 22:30:18,793 - INFO - Loaded built-in ViT-H-14 model config.
|
||||
2026-06-19 22:30:18,970 - INFO - HTTP Request: HEAD https://huggingface.co/laion/CLIP-ViT-H-14-laion2B-s32B-b79K/resolve/main/open_clip_model.safetensors "HTTP/1.1 302 Found"
|
||||
2026-06-19 22:30:18,972 - INFO - Instantiating model architecture: CLIP
|
||||
2026-06-19 22:30:22,576 - INFO - Loading full pretrained weights from: /home/mike/.cache/huggingface/hub/models--laion--CLIP-ViT-H-14-laion2B-s32B-b79K/snapshots/1c2b8495b28150b8a4922ee1c8edee224c284c0c/open_clip_model.safetensors
|
||||
2026-06-19 22:30:23,325 - INFO - Final image preprocessing configuration set: {'size': (224, 224), 'mode': 'RGB', 'mean': (0.48145466, 0.4578275, 0.40821073), 'std': (0.26862954, 0.26130258, 0.27577711), 'interpolation': 'bicubic', 'resize_mode': 'shortest', 'fill_color': 0}
|
||||
2026-06-19 22:30:23,325 - INFO - Model ViT-H-14 creation process complete.
|
||||
2026-06-19 22:30:29,949 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 747 images
|
||||
2026-06-19 22:30:30,950 - INFO - Starting processing for img_24.png...
|
||||
2026-06-19 22:30:30,950 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_24.png to (11, 42, 111, 304) (margin=10, top_margin=20)
|
||||
2026-06-19 22:30:30,951 - INFO - Adding 13px headroom to /mnt/zim/tour-comfy/stage/img_24.png
|
||||
2026-06-19 22:30:30,952 - INFO - Calling API for img_24.png -> 20260619_223030_img_24.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:30:39,631 - INFO - Successfully processed img_24.png -> /mnt/zim/tour-comfy/output/20260619_223030_img_24.png
|
||||
2026-06-19 22:30:39,791 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 748 images
|
||||
2026-06-19 22:30:40,792 - INFO - Starting processing for img_78.png...
|
||||
2026-06-19 22:30:40,796 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_78.png to (0, 0, 287, 574) (margin=10, top_margin=20)
|
||||
2026-06-19 22:30:40,796 - INFO - Adding 28px headroom to /mnt/zim/tour-comfy/stage/img_78.png
|
||||
2026-06-19 22:30:40,842 - INFO - Calling API for img_78.png -> 20260619_223040_img_78.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:30:49,999 - INFO - Successfully processed img_78.png -> /mnt/zim/tour-comfy/output/20260619_223040_img_78.png
|
||||
2026-06-19 22:30:50,161 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 749 images
|
||||
2026-06-19 22:30:51,162 - INFO - Starting processing for img_44.png...
|
||||
2026-06-19 22:30:51,163 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_44.png to (32, 57, 220, 396) (margin=10, top_margin=20)
|
||||
2026-06-19 22:30:51,163 - INFO - Adding 16px headroom to /mnt/zim/tour-comfy/stage/img_44.png
|
||||
2026-06-19 22:30:51,167 - INFO - Calling API for img_44.png -> 20260619_223051_img_44.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:31:00,240 - INFO - Successfully processed img_44.png -> /mnt/zim/tour-comfy/output/20260619_223051_img_44.png
|
||||
2026-06-19 22:31:00,392 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 750 images
|
||||
2026-06-19 22:31:01,393 - INFO - Starting processing for img_41.png...
|
||||
2026-06-19 22:31:01,395 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_41.png to (60, 88, 284, 554) (margin=10, top_margin=20)
|
||||
2026-06-19 22:31:01,395 - INFO - Adding 23px headroom to /mnt/zim/tour-comfy/stage/img_41.png
|
||||
2026-06-19 22:31:01,406 - INFO - Calling API for img_41.png -> 20260619_223101_img_41.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:31:10,485 - INFO - Successfully processed img_41.png -> /mnt/zim/tour-comfy/output/20260619_223101_img_41.png
|
||||
2026-06-19 22:31:10,668 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 751 images
|
||||
2026-06-19 22:31:11,669 - INFO - Starting processing for img_55.png...
|
||||
2026-06-19 22:31:11,670 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_55.png to (14, 40, 114, 298) (margin=10, top_margin=20)
|
||||
2026-06-19 22:31:11,670 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_55.png
|
||||
2026-06-19 22:31:11,673 - INFO - Calling API for img_55.png -> 20260619_223111_img_55.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:31:24,846 - INFO - Successfully processed img_55.png -> /mnt/zim/tour-comfy/output/20260619_223111_img_55.png
|
||||
2026-06-19 22:31:25,081 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 752 images
|
||||
2026-06-19 22:31:26,083 - INFO - Starting processing for img_23.png...
|
||||
2026-06-19 22:31:26,084 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_23.png to (23, 54, 174, 364) (margin=10, top_margin=20)
|
||||
2026-06-19 22:31:26,084 - INFO - Adding 15px headroom to /mnt/zim/tour-comfy/stage/img_23.png
|
||||
2026-06-19 22:31:26,089 - INFO - Calling API for img_23.png -> 20260619_223126_img_23.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:31:39,670 - INFO - Successfully processed img_23.png -> /mnt/zim/tour-comfy/output/20260619_223126_img_23.png
|
||||
2026-06-19 22:31:39,941 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 753 images
|
||||
2026-06-19 22:31:40,941 - INFO - Starting processing for img_53.png...
|
||||
2026-06-19 22:31:40,942 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_53.png to (14, 40, 114, 298) (margin=10, top_margin=20)
|
||||
2026-06-19 22:31:40,942 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_53.png
|
||||
2026-06-19 22:31:40,945 - INFO - Calling API for img_53.png -> 20260619_223140_img_53.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:31:54,022 - INFO - Successfully processed img_53.png -> /mnt/zim/tour-comfy/output/20260619_223140_img_53.png
|
||||
2026-06-19 22:31:54,216 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 754 images
|
||||
2026-06-19 22:31:55,216 - INFO - Starting processing for img_56.png...
|
||||
2026-06-19 22:31:55,217 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_56.png to (20, 36, 154, 282) (margin=10, top_margin=20)
|
||||
2026-06-19 22:31:55,217 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_56.png
|
||||
2026-06-19 22:31:55,221 - INFO - Calling API for img_56.png -> 20260619_223155_img_56.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:32:04,813 - INFO - Successfully processed img_56.png -> /mnt/zim/tour-comfy/output/20260619_223155_img_56.png
|
||||
2026-06-19 22:32:04,984 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 755 images
|
||||
2026-06-19 22:32:05,985 - INFO - Starting processing for img_30.png...
|
||||
2026-06-19 22:32:05,986 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_30.png to (29, 50, 181, 364) (margin=10, top_margin=20)
|
||||
2026-06-19 22:32:05,986 - INFO - Adding 15px headroom to /mnt/zim/tour-comfy/stage/img_30.png
|
||||
2026-06-19 22:32:05,990 - INFO - Calling API for img_30.png -> 20260619_223205_img_30.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:32:17,621 - INFO - Successfully processed img_30.png -> /mnt/zim/tour-comfy/output/20260619_223205_img_30.png
|
||||
2026-06-19 22:32:17,807 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 756 images
|
||||
2026-06-19 22:32:18,808 - INFO - Starting processing for img_58.png...
|
||||
2026-06-19 22:32:18,810 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_58.png to (0, 0, 179, 474) (margin=10, top_margin=20)
|
||||
2026-06-19 22:32:18,810 - INFO - Adding 23px headroom to /mnt/zim/tour-comfy/stage/img_58.png
|
||||
2026-06-19 22:32:18,825 - INFO - Calling API for img_58.png -> 20260619_223218_img_58.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:32:27,445 - INFO - Successfully processed img_58.png -> /mnt/zim/tour-comfy/output/20260619_223218_img_58.png
|
||||
2026-06-19 22:32:27,632 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 757 images
|
||||
2026-06-19 22:32:28,634 - INFO - Starting processing for img_79.png...
|
||||
2026-06-19 22:32:28,635 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_79.png to (0, 0, 194, 415) (margin=10, top_margin=20)
|
||||
2026-06-19 22:32:28,635 - INFO - Adding 20px headroom to /mnt/zim/tour-comfy/stage/img_79.png
|
||||
2026-06-19 22:32:28,657 - INFO - Calling API for img_79.png -> 20260619_223228_img_79.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:32:37,787 - INFO - Successfully processed img_79.png -> /mnt/zim/tour-comfy/output/20260619_223228_img_79.png
|
||||
2026-06-19 22:32:37,962 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 758 images
|
||||
2026-06-19 22:32:38,963 - INFO - Starting processing for imgxx.png...
|
||||
2026-06-19 22:32:38,963 - INFO - Cropping /mnt/zim/tour-comfy/stage/imgxx.png to (0, 0, 100, 149) (margin=10, top_margin=20)
|
||||
2026-06-19 22:32:38,963 - INFO - Adding 7px headroom to /mnt/zim/tour-comfy/stage/imgxx.png
|
||||
2026-06-19 22:32:38,966 - INFO - Calling API for imgxx.png -> 20260619_223238_imgxx.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:32:48,265 - INFO - Successfully processed imgxx.png -> /mnt/zim/tour-comfy/output/20260619_223238_imgxx.png
|
||||
2026-06-19 22:32:48,428 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 759 images
|
||||
2026-06-19 22:32:49,429 - INFO - Starting processing for img_80.png...
|
||||
2026-06-19 22:32:49,431 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_80.png to (0, 0, 211, 332) (margin=10, top_margin=20)
|
||||
2026-06-19 22:32:49,431 - INFO - Adding 16px headroom to /mnt/zim/tour-comfy/stage/img_80.png
|
||||
2026-06-19 22:32:49,451 - INFO - Calling API for img_80.png -> 20260619_223249_img_80.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:32:58,587 - INFO - Successfully processed img_80.png -> /mnt/zim/tour-comfy/output/20260619_223249_img_80.png
|
||||
2026-06-19 22:32:58,743 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 760 images
|
||||
2026-06-19 22:32:59,744 - INFO - Starting processing for img_21.png...
|
||||
2026-06-19 22:32:59,745 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_21.png to (27, 57, 175, 375) (margin=10, top_margin=20)
|
||||
2026-06-19 22:32:59,745 - INFO - Adding 15px headroom to /mnt/zim/tour-comfy/stage/img_21.png
|
||||
2026-06-19 22:32:59,749 - INFO - Calling API for img_21.png -> 20260619_223259_img_21.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:33:08,824 - INFO - Successfully processed img_21.png -> /mnt/zim/tour-comfy/output/20260619_223259_img_21.png
|
||||
2026-06-19 22:33:08,977 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 761 images
|
||||
2026-06-19 22:33:09,978 - INFO - Starting processing for img_72.png...
|
||||
2026-06-19 22:33:09,980 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_72.png to (0, 0, 199, 383) (margin=10, top_margin=20)
|
||||
2026-06-19 22:33:09,980 - INFO - Adding 19px headroom to /mnt/zim/tour-comfy/stage/img_72.png
|
||||
2026-06-19 22:33:10,000 - INFO - Calling API for img_72.png -> 20260619_223309_img_72.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:33:19,128 - INFO - Successfully processed img_72.png -> /mnt/zim/tour-comfy/output/20260619_223309_img_72.png
|
||||
2026-06-19 22:33:19,317 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 762 images
|
||||
2026-06-19 22:33:20,318 - INFO - Starting processing for img_28.png...
|
||||
2026-06-19 22:33:20,319 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_28.png to (31, 52, 203, 358) (margin=10, top_margin=20)
|
||||
2026-06-19 22:33:20,319 - INFO - Adding 15px headroom to /mnt/zim/tour-comfy/stage/img_28.png
|
||||
2026-06-19 22:33:20,322 - INFO - Calling API for img_28.png -> 20260619_223320_img_28.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:33:29,386 - INFO - Successfully processed img_28.png -> /mnt/zim/tour-comfy/output/20260619_223320_img_28.png
|
||||
2026-06-19 22:33:29,573 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 763 images
|
||||
2026-06-19 22:33:30,574 - INFO - Starting processing for img_73.png...
|
||||
2026-06-19 22:33:30,575 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_73.png to (0, 0, 197, 374) (margin=10, top_margin=20)
|
||||
2026-06-19 22:33:30,575 - INFO - Adding 18px headroom to /mnt/zim/tour-comfy/stage/img_73.png
|
||||
2026-06-19 22:33:30,596 - INFO - Calling API for img_73.png -> 20260619_223330_img_73.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:33:39,723 - INFO - Successfully processed img_73.png -> /mnt/zim/tour-comfy/output/20260619_223330_img_73.png
|
||||
2026-06-19 22:33:39,877 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 764 images
|
||||
2026-06-19 22:33:40,877 - INFO - Starting processing for img_88.png...
|
||||
2026-06-19 22:33:40,878 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_88.png to (23, 31, 142, 284) (margin=10, top_margin=20)
|
||||
2026-06-19 22:33:40,878 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_88.png
|
||||
2026-06-19 22:33:40,881 - INFO - Calling API for img_88.png -> 20260619_223340_img_88.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:33:50,161 - INFO - Successfully processed img_88.png -> /mnt/zim/tour-comfy/output/20260619_223340_img_88.png
|
||||
2026-06-19 22:33:50,337 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 765 images
|
||||
2026-06-19 22:33:51,338 - INFO - Starting processing for img_16.png...
|
||||
2026-06-19 22:33:51,338 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_16.png to (16, 32, 125, 265) (margin=10, top_margin=20)
|
||||
2026-06-19 22:33:51,338 - INFO - Adding 11px headroom to /mnt/zim/tour-comfy/stage/img_16.png
|
||||
2026-06-19 22:33:51,340 - INFO - Calling API for img_16.png -> 20260619_223351_img_16.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:34:00,404 - INFO - Successfully processed img_16.png -> /mnt/zim/tour-comfy/output/20260619_223351_img_16.png
|
||||
2026-06-19 22:34:00,591 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 766 images
|
||||
2026-06-19 22:34:01,592 - INFO - Starting processing for img_63.png...
|
||||
2026-06-19 22:34:01,593 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_63.png to (27, 46, 188, 329) (margin=10, top_margin=20)
|
||||
2026-06-19 22:34:01,593 - INFO - Adding 14px headroom to /mnt/zim/tour-comfy/stage/img_63.png
|
||||
2026-06-19 22:34:01,596 - INFO - Calling API for img_63.png -> 20260619_223401_img_63.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:34:10,660 - INFO - Successfully processed img_63.png -> /mnt/zim/tour-comfy/output/20260619_223401_img_63.png
|
||||
2026-06-19 22:34:10,854 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 767 images
|
||||
2026-06-19 22:34:11,854 - INFO - Starting processing for img_3.png...
|
||||
2026-06-19 22:34:11,855 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_3.png to (2, 10, 77, 156) (margin=10, top_margin=20)
|
||||
2026-06-19 22:34:11,855 - INFO - Adding 7px headroom to /mnt/zim/tour-comfy/stage/img_3.png
|
||||
2026-06-19 22:34:11,855 - INFO - Calling API for img_3.png -> 20260619_223411_img_3.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:34:20,918 - INFO - Successfully processed img_3.png -> /mnt/zim/tour-comfy/output/20260619_223411_img_3.png
|
||||
2026-06-19 22:34:21,102 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 768 images
|
||||
2026-06-19 22:34:22,103 - INFO - Starting processing for img_18.png...
|
||||
2026-06-19 22:34:22,103 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_18.png to (14, 13, 110, 175) (margin=10, top_margin=20)
|
||||
2026-06-19 22:34:22,103 - INFO - Adding 8px headroom to /mnt/zim/tour-comfy/stage/img_18.png
|
||||
2026-06-19 22:34:22,105 - INFO - Calling API for img_18.png -> 20260619_223422_img_18.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:34:30,779 - INFO - Successfully processed img_18.png -> /mnt/zim/tour-comfy/output/20260619_223422_img_18.png
|
||||
2026-06-19 22:34:30,964 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 769 images
|
||||
2026-06-19 22:34:31,965 - INFO - Starting processing for img_22.png...
|
||||
2026-06-19 22:34:31,965 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_22.png to (12, 15, 97, 173) (margin=10, top_margin=20)
|
||||
2026-06-19 22:34:31,966 - INFO - Adding 7px headroom to /mnt/zim/tour-comfy/stage/img_22.png
|
||||
2026-06-19 22:34:31,967 - INFO - Calling API for img_22.png -> 20260619_223431_img_22.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:34:40,531 - INFO - Successfully processed img_22.png -> /mnt/zim/tour-comfy/output/20260619_223431_img_22.png
|
||||
2026-06-19 22:34:40,698 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 770 images
|
||||
2026-06-19 22:34:41,699 - INFO - Starting processing for img_77.png...
|
||||
2026-06-19 22:34:41,703 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_77.png to (0, 0, 287, 574) (margin=10, top_margin=20)
|
||||
2026-06-19 22:34:41,703 - INFO - Adding 28px headroom to /mnt/zim/tour-comfy/stage/img_77.png
|
||||
2026-06-19 22:34:41,750 - INFO - Calling API for img_77.png -> 20260619_223441_img_77.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:34:50,912 - INFO - Successfully processed img_77.png -> /mnt/zim/tour-comfy/output/20260619_223441_img_77.png
|
||||
2026-06-19 22:34:51,089 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 771 images
|
||||
2026-06-19 22:34:52,090 - INFO - Starting processing for image.png...
|
||||
2026-06-19 22:34:52,090 - INFO - Cropping /mnt/zim/tour-comfy/stage/image.png to (16, 38, 134, 284) (margin=10, top_margin=20)
|
||||
2026-06-19 22:34:52,090 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/image.png
|
||||
2026-06-19 22:34:52,093 - INFO - Calling API for image.png -> 20260619_223452_image.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:35:00,776 - INFO - Successfully processed image.png -> /mnt/zim/tour-comfy/output/20260619_223452_image.png
|
||||
2026-06-19 22:35:00,951 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 772 images
|
||||
2026-06-19 22:35:01,952 - INFO - Starting processing for img_71.png...
|
||||
2026-06-19 22:35:01,952 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_71.png to (30, 42, 150, 308) (margin=10, top_margin=20)
|
||||
2026-06-19 22:35:01,952 - INFO - Adding 13px headroom to /mnt/zim/tour-comfy/stage/img_71.png
|
||||
2026-06-19 22:35:01,955 - INFO - Calling API for img_71.png -> 20260619_223501_img_71.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:35:11,027 - INFO - Successfully processed img_71.png -> /mnt/zim/tour-comfy/output/20260619_223501_img_71.png
|
||||
2026-06-19 22:35:11,198 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 773 images
|
||||
2026-06-19 22:35:12,204 - INFO - Starting processing for 20150913_211324.jpg...
|
||||
2026-06-19 22:35:12,207 - INFO - Image /mnt/zim/tour-comfy/stage/20150913_211324.jpg is mode RGB, not RGBA. Skipping crop.
|
||||
2026-06-19 22:35:14,828 - INFO - Calling API for 20150913_211324.jpg -> 20260619_223512_20150913_211324.jpg with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:35:28,629 - INFO - Successfully processed 20150913_211324.jpg -> /mnt/zim/tour-comfy/output/20260619_223512_20150913_211324.jpg
|
||||
2026-06-19 22:35:28,865 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 774 images
|
||||
2026-06-19 22:35:29,866 - INFO - Starting processing for img_52.png...
|
||||
2026-06-19 22:35:29,870 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_52.png to (0, 0, 332, 532) (margin=10, top_margin=20)
|
||||
2026-06-19 22:35:29,870 - INFO - Adding 26px headroom to /mnt/zim/tour-comfy/stage/img_52.png
|
||||
2026-06-19 22:35:29,915 - INFO - Calling API for img_52.png -> 20260619_223529_img_52.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:35:43,596 - INFO - Successfully processed img_52.png -> /mnt/zim/tour-comfy/output/20260619_223529_img_52.png
|
||||
2026-06-19 22:35:43,845 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 775 images
|
||||
2026-06-19 22:35:44,846 - INFO - Starting processing for img_54.png...
|
||||
2026-06-19 22:35:44,849 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_54.png to (0, 0, 281, 498) (margin=10, top_margin=20)
|
||||
2026-06-19 22:35:44,849 - INFO - Adding 24px headroom to /mnt/zim/tour-comfy/stage/img_54.png
|
||||
2026-06-19 22:35:44,902 - INFO - Calling API for img_54.png -> 20260619_223544_img_54.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:35:58,628 - INFO - Successfully processed img_54.png -> /mnt/zim/tour-comfy/output/20260619_223544_img_54.png
|
||||
2026-06-19 22:35:58,907 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 776 images
|
||||
2026-06-19 22:35:59,908 - INFO - Starting processing for img_2.png...
|
||||
2026-06-19 22:35:59,908 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_2.png to (9, 24, 83, 218) (margin=10, top_margin=20)
|
||||
2026-06-19 22:35:59,908 - INFO - Adding 9px headroom to /mnt/zim/tour-comfy/stage/img_2.png
|
||||
2026-06-19 22:35:59,909 - INFO - Calling API for img_2.png -> 20260619_223559_img_2.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:36:14,000 - INFO - Successfully processed img_2.png -> /mnt/zim/tour-comfy/output/20260619_223559_img_2.png
|
||||
2026-06-19 22:36:14,225 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 777 images
|
||||
2026-06-19 22:36:15,226 - INFO - Starting processing for img_6.png...
|
||||
2026-06-19 22:36:15,227 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_6.png to (16, 38, 134, 284) (margin=10, top_margin=20)
|
||||
2026-06-19 22:36:15,227 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_6.png
|
||||
2026-06-19 22:36:15,229 - INFO - Calling API for img_6.png -> 20260619_223615_img_6.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:36:28,308 - INFO - Successfully processed img_6.png -> /mnt/zim/tour-comfy/output/20260619_223615_img_6.png
|
||||
2026-06-19 22:36:28,503 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 778 images
|
||||
2026-06-19 22:36:29,504 - INFO - Starting processing for imgxxxx.png...
|
||||
2026-06-19 22:36:29,505 - INFO - Cropping /mnt/zim/tour-comfy/stage/imgxxxx.png to (0, 0, 168, 247) (margin=10, top_margin=20)
|
||||
2026-06-19 22:36:29,505 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/imgxxxx.png
|
||||
2026-06-19 22:36:29,514 - INFO - Calling API for imgxxxx.png -> 20260619_223629_imgxxxx.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:36:42,631 - INFO - Successfully processed imgxxxx.png -> /mnt/zim/tour-comfy/output/20260619_223629_imgxxxx.png
|
||||
2026-06-19 22:36:42,878 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 779 images
|
||||
2026-06-19 22:36:43,879 - INFO - Starting processing for img_48.png...
|
||||
2026-06-19 22:36:43,879 - INFO - Image /mnt/zim/tour-comfy/stage/img_48.png is mode RGB, not RGBA. Skipping crop.
|
||||
2026-06-19 22:36:43,899 - INFO - Calling API for img_48.png -> 20260619_223643_img_48.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:36:57,498 - INFO - Successfully processed img_48.png -> /mnt/zim/tour-comfy/output/20260619_223643_img_48.png
|
||||
2026-06-19 22:36:57,729 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 780 images
|
||||
2026-06-19 22:36:58,729 - INFO - Starting processing for img_66.png...
|
||||
2026-06-19 22:36:58,730 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_66.png to (20, 46, 137, 340) (margin=10, top_margin=20)
|
||||
2026-06-19 22:36:58,730 - INFO - Adding 14px headroom to /mnt/zim/tour-comfy/stage/img_66.png
|
||||
2026-06-19 22:36:58,735 - INFO - Calling API for img_66.png -> 20260619_223658_img_66.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:37:11,529 - INFO - Successfully processed img_66.png -> /mnt/zim/tour-comfy/output/20260619_223658_img_66.png
|
||||
2026-06-19 22:37:11,752 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 781 images
|
||||
2026-06-19 22:37:12,756 - INFO - Starting processing for img_50.png...
|
||||
2026-06-19 22:37:12,769 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_50.png to (0, 0, 636, 1201) (margin=10, top_margin=20)
|
||||
2026-06-19 22:37:12,770 - INFO - Adding 60px headroom to /mnt/zim/tour-comfy/stage/img_50.png
|
||||
2026-06-19 22:37:12,920 - INFO - Calling API for img_50.png -> 20260619_223712_img_50.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:37:24,575 - INFO - Successfully processed img_50.png -> /mnt/zim/tour-comfy/output/20260619_223712_img_50.png
|
||||
2026-06-19 22:37:24,804 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 782 images
|
||||
2026-06-19 22:37:25,808 - INFO - Starting processing for 20160903_200935.jpg...
|
||||
2026-06-19 22:37:25,808 - INFO - Image /mnt/zim/tour-comfy/stage/20160903_200935.jpg is mode RGB, not RGBA. Skipping crop.
|
||||
2026-06-19 22:37:28,168 - INFO - Calling API for 20160903_200935.jpg -> 20260619_223725_20160903_200935.jpg with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:37:41,860 - INFO - Successfully processed 20160903_200935.jpg -> /mnt/zim/tour-comfy/output/20260619_223725_20160903_200935.jpg
|
||||
2026-06-19 22:37:42,145 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 783 images
|
||||
2026-06-19 22:37:43,146 - INFO - Starting processing for img_62.png...
|
||||
2026-06-19 22:37:43,147 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_62.png to (12, 43, 114, 306) (margin=10, top_margin=20)
|
||||
2026-06-19 22:37:43,147 - INFO - Adding 13px headroom to /mnt/zim/tour-comfy/stage/img_62.png
|
||||
2026-06-19 22:37:43,149 - INFO - Calling API for img_62.png -> 20260619_223743_img_62.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:37:56,737 - INFO - Successfully processed img_62.png -> /mnt/zim/tour-comfy/output/20260619_223743_img_62.png
|
||||
2026-06-19 22:37:56,932 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 784 images
|
||||
2026-06-19 22:37:57,933 - INFO - Starting processing for img_82.png...
|
||||
2026-06-19 22:37:57,934 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_82.png to (0, 0, 124, 386) (margin=10, top_margin=20)
|
||||
2026-06-19 22:37:57,934 - INFO - Adding 19px headroom to /mnt/zim/tour-comfy/stage/img_82.png
|
||||
2026-06-19 22:37:57,948 - INFO - Calling API for img_82.png -> 20260619_223757_img_82.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:38:11,595 - INFO - Successfully processed img_82.png -> /mnt/zim/tour-comfy/output/20260619_223757_img_82.png
|
||||
2026-06-19 22:38:11,843 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 785 images
|
||||
2026-06-19 22:38:12,844 - INFO - Starting processing for img_57.png...
|
||||
2026-06-19 22:38:12,844 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_57.png to (14, 58, 130, 398) (margin=10, top_margin=20)
|
||||
2026-06-19 22:38:12,844 - INFO - Adding 17px headroom to /mnt/zim/tour-comfy/stage/img_57.png
|
||||
2026-06-19 22:38:12,847 - INFO - Calling API for img_57.png -> 20260619_223812_img_57.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:38:25,122 - INFO - Successfully processed img_57.png -> /mnt/zim/tour-comfy/output/20260619_223812_img_57.png
|
||||
2026-06-19 22:38:25,333 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 786 images
|
||||
2026-06-19 22:38:26,333 - INFO - Starting processing for img_7.png...
|
||||
2026-06-19 22:38:26,334 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_7.png to (17, 45, 126, 337) (margin=10, top_margin=20)
|
||||
2026-06-19 22:38:26,334 - INFO - Adding 14px headroom to /mnt/zim/tour-comfy/stage/img_7.png
|
||||
2026-06-19 22:38:26,337 - INFO - Calling API for img_7.png -> 20260619_223826_img_7.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:38:39,949 - INFO - Successfully processed img_7.png -> /mnt/zim/tour-comfy/output/20260619_223826_img_7.png
|
||||
2026-06-19 22:38:40,218 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 787 images
|
||||
2026-06-19 22:38:41,219 - INFO - Starting processing for img_67.png...
|
||||
2026-06-19 22:38:41,220 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_67.png to (14, 41, 115, 300) (margin=10, top_margin=20)
|
||||
2026-06-19 22:38:41,220 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_67.png
|
||||
2026-06-19 22:38:41,222 - INFO - Calling API for img_67.png -> 20260619_223841_img_67.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:38:54,811 - INFO - Successfully processed img_67.png -> /mnt/zim/tour-comfy/output/20260619_223841_img_67.png
|
||||
2026-06-19 22:38:55,056 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 788 images
|
||||
2026-06-19 22:38:56,056 - INFO - Starting processing for img_37.png...
|
||||
2026-06-19 22:38:56,057 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_37.png to (29, 64, 193, 406) (margin=10, top_margin=20)
|
||||
2026-06-19 22:38:56,057 - INFO - Adding 17px headroom to /mnt/zim/tour-comfy/stage/img_37.png
|
||||
2026-06-19 22:38:56,063 - INFO - Calling API for img_37.png -> 20260619_223856_img_37.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:39:09,667 - INFO - Successfully processed img_37.png -> /mnt/zim/tour-comfy/output/20260619_223856_img_37.png
|
||||
2026-06-19 22:39:09,886 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 789 images
|
||||
2026-06-19 22:39:10,887 - INFO - Starting processing for img_6v1.png...
|
||||
2026-06-19 22:39:10,887 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_6v1.png to (16, 38, 134, 284) (margin=10, top_margin=20)
|
||||
2026-06-19 22:39:10,887 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_6v1.png
|
||||
2026-06-19 22:39:10,889 - INFO - Calling API for img_6v1.png -> 20260619_223910_img_6v1.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:39:24,057 - INFO - Successfully processed img_6v1.png -> /mnt/zim/tour-comfy/output/20260619_223910_img_6v1.png
|
||||
2026-06-19 22:39:24,327 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 790 images
|
||||
2026-06-19 22:39:25,328 - INFO - Starting processing for img_26.png...
|
||||
2026-06-19 22:39:25,329 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_26.png to (26, 46, 182, 308) (margin=10, top_margin=20)
|
||||
2026-06-19 22:39:25,329 - INFO - Adding 13px headroom to /mnt/zim/tour-comfy/stage/img_26.png
|
||||
2026-06-19 22:39:25,332 - INFO - Calling API for img_26.png -> 20260619_223925_img_26.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:39:38,920 - INFO - Successfully processed img_26.png -> /mnt/zim/tour-comfy/output/20260619_223925_img_26.png
|
||||
2026-06-19 22:39:39,206 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 791 images
|
||||
2026-06-19 22:39:40,207 - INFO - Starting processing for img_75.png...
|
||||
2026-06-19 22:39:40,208 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_75.png to (0, 0, 103, 190) (margin=10, top_margin=20)
|
||||
2026-06-19 22:39:40,208 - INFO - Adding 9px headroom to /mnt/zim/tour-comfy/stage/img_75.png
|
||||
2026-06-19 22:39:40,216 - INFO - Calling API for img_75.png -> 20260619_223940_img_75.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:39:54,352 - INFO - Successfully processed img_75.png -> /mnt/zim/tour-comfy/output/20260619_223940_img_75.png
|
||||
2026-06-19 22:39:54,694 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 792 images
|
||||
2026-06-19 22:39:55,695 - INFO - Starting processing for img_64.png...
|
||||
2026-06-19 22:39:55,696 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_64.png to (16, 37, 115, 292) (margin=10, top_margin=20)
|
||||
2026-06-19 22:39:55,696 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_64.png
|
||||
2026-06-19 22:39:55,698 - INFO - Calling API for img_64.png -> 20260619_223955_img_64.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:40:06,292 - INFO - Successfully processed img_64.png -> /mnt/zim/tour-comfy/output/20260619_223955_img_64.png
|
||||
2026-06-19 22:40:06,446 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 793 images
|
||||
2026-06-19 22:40:07,447 - INFO - Starting processing for img_31.png...
|
||||
2026-06-19 22:40:07,448 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_31.png to (24, 49, 152, 335) (margin=10, top_margin=20)
|
||||
2026-06-19 22:40:07,448 - INFO - Adding 14px headroom to /mnt/zim/tour-comfy/stage/img_31.png
|
||||
2026-06-19 22:40:07,453 - INFO - Calling API for img_31.png -> 20260619_224007_img_31.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:40:20,557 - INFO - Successfully processed img_31.png -> /mnt/zim/tour-comfy/output/20260619_224007_img_31.png
|
||||
2026-06-19 22:40:20,790 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 794 images
|
||||
2026-06-19 22:40:21,791 - INFO - Starting processing for img_45.png...
|
||||
2026-06-19 22:40:21,791 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_45.png to (17, 45, 148, 336) (margin=10, top_margin=20)
|
||||
2026-06-19 22:40:21,791 - INFO - Adding 14px headroom to /mnt/zim/tour-comfy/stage/img_45.png
|
||||
2026-06-19 22:40:21,795 - INFO - Calling API for img_45.png -> 20260619_224021_img_45.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:40:33,876 - INFO - Successfully processed img_45.png -> /mnt/zim/tour-comfy/output/20260619_224021_img_45.png
|
||||
2026-06-19 22:40:34,108 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 795 images
|
||||
2026-06-19 22:40:35,109 - INFO - Starting processing for img_68.png...
|
||||
2026-06-19 22:40:35,109 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_68.png to (9, 28, 93, 249) (margin=10, top_margin=20)
|
||||
2026-06-19 22:40:35,109 - INFO - Adding 11px headroom to /mnt/zim/tour-comfy/stage/img_68.png
|
||||
2026-06-19 22:40:35,111 - INFO - Calling API for img_68.png -> 20260619_224035_img_68.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:40:48,261 - INFO - Successfully processed img_68.png -> /mnt/zim/tour-comfy/output/20260619_224035_img_68.png
|
||||
2026-06-19 22:40:48,519 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 796 images
|
||||
2026-06-19 22:40:49,521 - INFO - Starting processing for img_29.png...
|
||||
2026-06-19 22:40:49,523 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_29.png to (0, 0, 202, 449) (margin=10, top_margin=20)
|
||||
2026-06-19 22:40:49,523 - INFO - Adding 22px headroom to /mnt/zim/tour-comfy/stage/img_29.png
|
||||
2026-06-19 22:40:49,543 - INFO - Calling API for img_29.png -> 20260619_224049_img_29.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:41:03,184 - INFO - Successfully processed img_29.png -> /mnt/zim/tour-comfy/output/20260619_224049_img_29.png
|
||||
2026-06-19 22:41:03,419 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 797 images
|
||||
2026-06-19 22:41:04,419 - INFO - Starting processing for img_1.png...
|
||||
2026-06-19 22:41:04,420 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_1.png to (22, 36, 155, 282) (margin=10, top_margin=20)
|
||||
2026-06-19 22:41:04,420 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_1.png
|
||||
2026-06-19 22:41:04,422 - INFO - Calling API for img_1.png -> 20260619_224104_img_1.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:41:17,554 - INFO - Successfully processed img_1.png -> /mnt/zim/tour-comfy/output/20260619_224104_img_1.png
|
||||
2026-06-19 22:41:17,786 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 798 images
|
||||
2026-06-19 22:41:18,787 - INFO - Starting processing for img_39.png...
|
||||
2026-06-19 22:41:18,788 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_39.png to (15, 19, 127, 193) (margin=10, top_margin=20)
|
||||
2026-06-19 22:41:18,788 - INFO - Adding 8px headroom to /mnt/zim/tour-comfy/stage/img_39.png
|
||||
2026-06-19 22:41:18,790 - INFO - Calling API for img_39.png -> 20260619_224118_img_39.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:41:32,367 - INFO - Successfully processed img_39.png -> /mnt/zim/tour-comfy/output/20260619_224118_img_39.png
|
||||
2026-06-19 22:41:32,590 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 799 images
|
||||
2026-06-19 22:41:33,592 - INFO - Starting processing for img_87.png...
|
||||
2026-06-19 22:41:33,595 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_87.png to (0, 0, 391, 546) (margin=10, top_margin=20)
|
||||
2026-06-19 22:41:33,596 - INFO - Adding 27px headroom to /mnt/zim/tour-comfy/stage/img_87.png
|
||||
2026-06-19 22:41:33,654 - INFO - Calling API for img_87.png -> 20260619_224133_img_87.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:41:47,537 - INFO - Successfully processed img_87.png -> /mnt/zim/tour-comfy/output/20260619_224133_img_87.png
|
||||
2026-06-19 22:41:47,765 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 800 images
|
||||
2026-06-19 22:41:48,771 - INFO - Starting processing for 20160903_200728.jpg...
|
||||
2026-06-19 22:41:48,771 - INFO - Image /mnt/zim/tour-comfy/stage/20160903_200728.jpg is mode RGB, not RGBA. Skipping crop.
|
||||
2026-06-19 22:41:51,428 - INFO - Calling API for 20160903_200728.jpg -> 20260619_224148_20160903_200728.jpg with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:42:04,693 - INFO - Successfully processed 20160903_200728.jpg -> /mnt/zim/tour-comfy/output/20260619_224148_20160903_200728.jpg
|
||||
2026-06-19 22:42:04,945 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 801 images
|
||||
2026-06-19 22:42:05,946 - INFO - Starting processing for img_61.png...
|
||||
2026-06-19 22:42:05,947 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_61.png to (9, 49, 121, 336) (margin=10, top_margin=20)
|
||||
2026-06-19 22:42:05,947 - INFO - Adding 14px headroom to /mnt/zim/tour-comfy/stage/img_61.png
|
||||
2026-06-19 22:42:05,950 - INFO - Calling API for img_61.png -> 20260619_224205_img_61.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:42:18,042 - INFO - Successfully processed img_61.png -> /mnt/zim/tour-comfy/output/20260619_224205_img_61.png
|
||||
2026-06-19 22:42:18,269 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 802 images
|
||||
2026-06-19 22:42:19,270 - INFO - Starting processing for img_12.png...
|
||||
2026-06-19 22:42:19,271 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_12.png to (14, 74, 166, 456) (margin=10, top_margin=20)
|
||||
2026-06-19 22:42:19,271 - INFO - Adding 19px headroom to /mnt/zim/tour-comfy/stage/img_12.png
|
||||
2026-06-19 22:42:19,277 - INFO - Calling API for img_12.png -> 20260619_224219_img_12.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:42:32,875 - INFO - Successfully processed img_12.png -> /mnt/zim/tour-comfy/output/20260619_224219_img_12.png
|
||||
2026-06-19 22:42:33,100 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 803 images
|
||||
2026-06-19 22:42:36,891 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 22:42:36,891 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 22:42:36,891 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 22:43:34,921 - INFO - Starting processing for img_85.png...
|
||||
2026-06-19 22:43:34,925 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_85.png to (0, 0, 242, 511) (margin=10, top_margin=20)
|
||||
2026-06-19 22:43:34,925 - INFO - Adding 25px headroom to /mnt/zim/tour-comfy/stage/img_85.png
|
||||
2026-06-19 22:43:34,962 - INFO - Calling API for img_85.png -> 20260619_224334_img_85.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:44:43,773 - INFO - Successfully processed img_85.png -> /mnt/zim/tour-comfy/output/20260619_224334_img_85.png
|
||||
2026-06-19 22:44:43,809 - INFO - Parsing model identifier. Schema: None, Identifier: ViT-H-14
|
||||
2026-06-19 22:44:43,809 - INFO - Loaded built-in ViT-H-14 model config.
|
||||
2026-06-19 22:44:44,001 - INFO - HTTP Request: HEAD https://huggingface.co/laion/CLIP-ViT-H-14-laion2B-s32B-b79K/resolve/main/open_clip_model.safetensors "HTTP/1.1 302 Found"
|
||||
2026-06-19 22:44:44,002 - INFO - Instantiating model architecture: CLIP
|
||||
2026-06-19 22:44:47,954 - INFO - Loading full pretrained weights from: /home/mike/.cache/huggingface/hub/models--laion--CLIP-ViT-H-14-laion2B-s32B-b79K/snapshots/1c2b8495b28150b8a4922ee1c8edee224c284c0c/open_clip_model.safetensors
|
||||
2026-06-19 22:44:48,419 - INFO - Final image preprocessing configuration set: {'size': (224, 224), 'mode': 'RGB', 'mean': (0.48145466, 0.4578275, 0.40821073), 'std': (0.26862954, 0.26130258, 0.27577711), 'interpolation': 'bicubic', 'resize_mode': 'shortest', 'fill_color': 0}
|
||||
2026-06-19 22:44:48,419 - INFO - Model ViT-H-14 creation process complete.
|
||||
2026-06-19 22:44:56,519 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 804 images
|
||||
2026-06-19 22:44:57,520 - INFO - Starting processing for img_69.png...
|
||||
2026-06-19 22:44:57,521 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_69.png to (24, 46, 132, 316) (margin=10, top_margin=20)
|
||||
2026-06-19 22:44:57,521 - INFO - Adding 13px headroom to /mnt/zim/tour-comfy/stage/img_69.png
|
||||
2026-06-19 22:44:57,523 - INFO - Calling API for img_69.png -> 20260619_224457_img_69.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:45:11,338 - INFO - Successfully processed img_69.png -> /mnt/zim/tour-comfy/output/20260619_224457_img_69.png
|
||||
2026-06-19 22:45:11,571 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 805 images
|
||||
2026-06-19 22:45:12,572 - INFO - Starting processing for img_8.png...
|
||||
2026-06-19 22:45:12,572 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_8.png to (12, 40, 100, 301) (margin=10, top_margin=20)
|
||||
2026-06-19 22:45:12,572 - INFO - Adding 13px headroom to /mnt/zim/tour-comfy/stage/img_8.png
|
||||
2026-06-19 22:45:12,574 - INFO - Calling API for img_8.png -> 20260619_224512_img_8.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:45:26,362 - INFO - Successfully processed img_8.png -> /mnt/zim/tour-comfy/output/20260619_224512_img_8.png
|
||||
2026-06-19 22:45:26,565 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 806 images
|
||||
2026-06-19 22:45:27,566 - INFO - Starting processing for img_92.png...
|
||||
2026-06-19 22:45:27,566 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_92.png to (23, 36, 154, 283) (margin=10, top_margin=20)
|
||||
2026-06-19 22:45:27,566 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_92.png
|
||||
2026-06-19 22:45:27,568 - INFO - Calling API for img_92.png -> 20260619_224527_img_92.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:45:41,147 - INFO - Successfully processed img_92.png -> /mnt/zim/tour-comfy/output/20260619_224527_img_92.png
|
||||
2026-06-19 22:45:41,387 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 807 images
|
||||
2026-06-19 22:45:42,388 - INFO - Starting processing for img_35.png...
|
||||
2026-06-19 22:45:42,389 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_35.png to (34, 75, 262, 473) (margin=10, top_margin=20)
|
||||
2026-06-19 22:45:42,390 - INFO - Adding 19px headroom to /mnt/zim/tour-comfy/stage/img_35.png
|
||||
2026-06-19 22:45:42,397 - INFO - Calling API for img_35.png -> 20260619_224542_img_35.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:45:56,203 - INFO - Successfully processed img_35.png -> /mnt/zim/tour-comfy/output/20260619_224542_img_35.png
|
||||
2026-06-19 22:45:56,479 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 808 images
|
||||
2026-06-19 22:45:57,480 - INFO - Starting processing for img_81.png...
|
||||
2026-06-19 22:45:57,481 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_81.png to (0, 0, 158, 203) (margin=10, top_margin=20)
|
||||
2026-06-19 22:45:57,481 - INFO - Adding 10px headroom to /mnt/zim/tour-comfy/stage/img_81.png
|
||||
2026-06-19 22:45:57,489 - INFO - Calling API for img_81.png -> 20260619_224557_img_81.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:46:11,741 - INFO - Successfully processed img_81.png -> /mnt/zim/tour-comfy/output/20260619_224557_img_81.png
|
||||
2026-06-19 22:46:11,947 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 809 images
|
||||
2026-06-19 22:46:12,947 - INFO - Starting processing for img_27.png...
|
||||
2026-06-19 22:46:12,948 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_27.png to (23, 52, 145, 346) (margin=10, top_margin=20)
|
||||
2026-06-19 22:46:12,948 - INFO - Adding 14px headroom to /mnt/zim/tour-comfy/stage/img_27.png
|
||||
2026-06-19 22:46:12,951 - INFO - Calling API for img_27.png -> 20260619_224612_img_27.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:46:25,540 - INFO - Successfully processed img_27.png -> /mnt/zim/tour-comfy/output/20260619_224612_img_27.png
|
||||
2026-06-19 22:46:25,711 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 810 images
|
||||
2026-06-19 22:46:26,712 - INFO - Starting processing for img_33.png...
|
||||
2026-06-19 22:46:26,713 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_33.png to (40, 69, 180, 423) (margin=10, top_margin=20)
|
||||
2026-06-19 22:46:26,713 - INFO - Adding 17px headroom to /mnt/zim/tour-comfy/stage/img_33.png
|
||||
2026-06-19 22:46:26,717 - INFO - Calling API for img_33.png -> 20260619_224626_img_33.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:46:36,380 - INFO - Successfully processed img_33.png -> /mnt/zim/tour-comfy/output/20260619_224626_img_33.png
|
||||
2026-06-19 22:46:36,578 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 811 images
|
||||
2026-06-19 22:46:37,579 - INFO - Starting processing for img_47.png...
|
||||
2026-06-19 22:46:37,582 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_47.png to (49, 85, 301, 535) (margin=10, top_margin=20)
|
||||
2026-06-19 22:46:37,582 - INFO - Adding 22px headroom to /mnt/zim/tour-comfy/stage/img_47.png
|
||||
2026-06-19 22:46:37,600 - INFO - Calling API for img_47.png -> 20260619_224637_img_47.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:46:51,203 - INFO - Successfully processed img_47.png -> /mnt/zim/tour-comfy/output/20260619_224637_img_47.png
|
||||
2026-06-19 22:46:51,436 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 812 images
|
||||
2026-06-19 22:46:52,437 - INFO - Starting processing for img_5.png...
|
||||
2026-06-19 22:46:52,437 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_5.png to (2, 10, 77, 156) (margin=10, top_margin=20)
|
||||
2026-06-19 22:46:52,437 - INFO - Adding 7px headroom to /mnt/zim/tour-comfy/stage/img_5.png
|
||||
2026-06-19 22:46:52,438 - INFO - Calling API for img_5.png -> 20260619_224652_img_5.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:47:06,016 - INFO - Successfully processed img_5.png -> /mnt/zim/tour-comfy/output/20260619_224652_img_5.png
|
||||
2026-06-19 22:47:06,294 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 813 images
|
||||
2026-06-19 22:47:07,295 - INFO - Starting processing for img_46.png...
|
||||
2026-06-19 22:47:07,296 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_46.png to (32, 61, 207, 409) (margin=10, top_margin=20)
|
||||
2026-06-19 22:47:07,297 - INFO - Adding 17px headroom to /mnt/zim/tour-comfy/stage/img_46.png
|
||||
2026-06-19 22:47:07,302 - INFO - Calling API for img_46.png -> 20260619_224707_img_46.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:47:20,883 - INFO - Successfully processed img_46.png -> /mnt/zim/tour-comfy/output/20260619_224707_img_46.png
|
||||
2026-06-19 22:47:21,115 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 814 images
|
||||
2026-06-19 22:47:22,116 - INFO - Starting processing for img_25.png...
|
||||
2026-06-19 22:47:22,117 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_25.png to (34, 47, 222, 341) (margin=10, top_margin=20)
|
||||
2026-06-19 22:47:22,117 - INFO - Adding 14px headroom to /mnt/zim/tour-comfy/stage/img_25.png
|
||||
2026-06-19 22:47:22,126 - INFO - Calling API for img_25.png -> 20260619_224722_img_25.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:47:35,794 - INFO - Successfully processed img_25.png -> /mnt/zim/tour-comfy/output/20260619_224722_img_25.png
|
||||
2026-06-19 22:47:36,032 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 815 images
|
||||
2026-06-19 22:47:37,033 - INFO - Starting processing for img_14.png...
|
||||
2026-06-19 22:47:37,034 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_14.png to (10, 33, 104, 288) (margin=10, top_margin=20)
|
||||
2026-06-19 22:47:37,034 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_14.png
|
||||
2026-06-19 22:47:37,036 - INFO - Calling API for img_14.png -> 20260619_224737_img_14.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:47:50,629 - INFO - Successfully processed img_14.png -> /mnt/zim/tour-comfy/output/20260619_224737_img_14.png
|
||||
2026-06-19 22:47:50,832 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 816 images
|
||||
2026-06-19 22:47:51,833 - INFO - Starting processing for img_93.png...
|
||||
2026-06-19 22:47:51,833 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_93.png to (0, 0, 80, 204) (margin=10, top_margin=20)
|
||||
2026-06-19 22:47:51,833 - INFO - Adding 10px headroom to /mnt/zim/tour-comfy/stage/img_93.png
|
||||
2026-06-19 22:47:51,835 - INFO - Calling API for img_93.png -> 20260619_224751_img_93.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:48:04,941 - INFO - Successfully processed img_93.png -> /mnt/zim/tour-comfy/output/20260619_224751_img_93.png
|
||||
2026-06-19 22:48:05,185 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 817 images
|
||||
2026-06-19 22:48:06,186 - INFO - Starting processing for img_10.png...
|
||||
2026-06-19 22:48:06,187 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_10.png to (18, 44, 139, 318) (margin=10, top_margin=20)
|
||||
2026-06-19 22:48:06,187 - INFO - Adding 13px headroom to /mnt/zim/tour-comfy/stage/img_10.png
|
||||
2026-06-19 22:48:06,190 - INFO - Calling API for img_10.png -> 20260619_224806_img_10.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:48:19,776 - INFO - Successfully processed img_10.png -> /mnt/zim/tour-comfy/output/20260619_224806_img_10.png
|
||||
2026-06-19 22:48:20,005 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 818 images
|
||||
2026-06-19 22:48:21,006 - INFO - Starting processing for img_13.png...
|
||||
2026-06-19 22:48:21,007 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_13.png to (24, 62, 155, 412) (margin=10, top_margin=20)
|
||||
2026-06-19 22:48:21,007 - INFO - Adding 17px headroom to /mnt/zim/tour-comfy/stage/img_13.png
|
||||
2026-06-19 22:48:21,011 - INFO - Calling API for img_13.png -> 20260619_224821_img_13.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:48:35,095 - INFO - Successfully processed img_13.png -> /mnt/zim/tour-comfy/output/20260619_224821_img_13.png
|
||||
2026-06-19 22:48:35,315 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 819 images
|
||||
2026-06-19 22:48:36,316 - INFO - Starting processing for img_65.png...
|
||||
2026-06-19 22:48:36,316 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_65.png to (15, 37, 136, 286) (margin=10, top_margin=20)
|
||||
2026-06-19 22:48:36,316 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_65.png
|
||||
2026-06-19 22:48:36,319 - INFO - Calling API for img_65.png -> 20260619_224836_img_65.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:48:49,898 - INFO - Successfully processed img_65.png -> /mnt/zim/tour-comfy/output/20260619_224836_img_65.png
|
||||
2026-06-19 22:48:50,125 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 820 images
|
||||
2026-06-19 22:48:51,126 - INFO - Starting processing for img_36.png...
|
||||
2026-06-19 22:48:51,127 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_36.png to (34, 75, 262, 473) (margin=10, top_margin=20)
|
||||
2026-06-19 22:48:51,127 - INFO - Adding 19px headroom to /mnt/zim/tour-comfy/stage/img_36.png
|
||||
2026-06-19 22:48:51,135 - INFO - Calling API for img_36.png -> 20260619_224851_img_36.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:49:03,728 - INFO - Successfully processed img_36.png -> /mnt/zim/tour-comfy/output/20260619_224851_img_36.png
|
||||
2026-06-19 22:49:04,008 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 821 images
|
||||
2026-06-19 22:49:05,009 - INFO - Starting processing for img_19.png...
|
||||
2026-06-19 22:49:05,010 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_19.png to (27, 57, 175, 375) (margin=10, top_margin=20)
|
||||
2026-06-19 22:49:05,010 - INFO - Adding 15px headroom to /mnt/zim/tour-comfy/stage/img_19.png
|
||||
2026-06-19 22:49:05,014 - INFO - Calling API for img_19.png -> 20260619_224905_img_19.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:49:18,605 - INFO - Successfully processed img_19.png -> /mnt/zim/tour-comfy/output/20260619_224905_img_19.png
|
||||
2026-06-19 22:49:18,838 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 822 images
|
||||
2026-06-19 22:49:19,839 - INFO - Starting processing for img_51.png...
|
||||
2026-06-19 22:49:19,839 - INFO - Image /mnt/zim/tour-comfy/stage/img_51.png is mode RGB, not RGBA. Skipping crop.
|
||||
2026-06-19 22:49:19,894 - INFO - Calling API for img_51.png -> 20260619_224919_img_51.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:49:33,163 - INFO - Successfully processed img_51.png -> /mnt/zim/tour-comfy/output/20260619_224919_img_51.png
|
||||
2026-06-19 22:49:33,437 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 823 images
|
||||
2026-06-19 22:49:34,438 - INFO - Starting processing for img_38.png...
|
||||
2026-06-19 22:49:34,440 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_38.png to (47, 79, 275, 473) (margin=10, top_margin=20)
|
||||
2026-06-19 22:49:34,440 - INFO - Adding 19px headroom to /mnt/zim/tour-comfy/stage/img_38.png
|
||||
2026-06-19 22:49:34,449 - INFO - Calling API for img_38.png -> 20260619_224934_img_38.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:49:48,074 - INFO - Successfully processed img_38.png -> /mnt/zim/tour-comfy/output/20260619_224934_img_38.png
|
||||
2026-06-19 22:49:48,363 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 824 images
|
||||
2026-06-19 22:49:49,364 - INFO - Starting processing for img_20.png...
|
||||
2026-06-19 22:49:49,365 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_20.png to (11, 40, 119, 354) (margin=10, top_margin=20)
|
||||
2026-06-19 22:49:49,365 - INFO - Adding 15px headroom to /mnt/zim/tour-comfy/stage/img_20.png
|
||||
2026-06-19 22:49:49,368 - INFO - Calling API for img_20.png -> 20260619_224949_img_20.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:50:02,949 - INFO - Successfully processed img_20.png -> /mnt/zim/tour-comfy/output/20260619_224949_img_20.png
|
||||
2026-06-19 22:50:03,187 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 825 images
|
||||
2026-06-19 22:50:04,188 - INFO - Starting processing for img_34.png...
|
||||
2026-06-19 22:50:04,188 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_34.png to (40, 69, 180, 423) (margin=10, top_margin=20)
|
||||
2026-06-19 22:50:04,188 - INFO - Adding 17px headroom to /mnt/zim/tour-comfy/stage/img_34.png
|
||||
2026-06-19 22:50:04,192 - INFO - Calling API for img_34.png -> 20260619_225004_img_34.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:50:15,772 - INFO - Successfully processed img_34.png -> /mnt/zim/tour-comfy/output/20260619_225004_img_34.png
|
||||
2026-06-19 22:50:16,013 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 826 images
|
||||
2026-06-19 22:50:17,014 - INFO - Starting processing for img_19_2.png...
|
||||
2026-06-19 22:50:17,014 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_19_2.png to (23, 7, 151, 161) (margin=10, top_margin=20)
|
||||
2026-06-19 22:50:17,014 - INFO - Adding 7px headroom to /mnt/zim/tour-comfy/stage/img_19_2.png
|
||||
2026-06-19 22:50:17,016 - INFO - Calling API for img_19_2.png -> 20260619_225017_img_19_2.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:50:31,410 - INFO - Successfully processed img_19_2.png -> /mnt/zim/tour-comfy/output/20260619_225017_img_19_2.png
|
||||
2026-06-19 22:50:31,658 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 827 images
|
||||
2026-06-19 22:50:32,658 - INFO - Starting processing for img_91.png...
|
||||
2026-06-19 22:50:32,659 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_91.png to (23, 36, 154, 283) (margin=10, top_margin=20)
|
||||
2026-06-19 22:50:32,659 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_91.png
|
||||
2026-06-19 22:50:32,663 - INFO - Calling API for img_91.png -> 20260619_225032_img_91.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:50:46,238 - INFO - Successfully processed img_91.png -> /mnt/zim/tour-comfy/output/20260619_225032_img_91.png
|
||||
2026-06-19 22:50:46,464 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 828 images
|
||||
2026-06-19 22:50:47,465 - INFO - Starting processing for test123.jpeg...
|
||||
2026-06-19 22:50:47,465 - INFO - Image /mnt/zim/tour-comfy/stage/test123.jpeg is mode RGB, not RGBA. Skipping crop.
|
||||
2026-06-19 22:50:47,630 - INFO - Calling API for test123.jpeg -> 20260619_225047_test123.jpeg with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:50:59,800 - INFO - Successfully processed test123.jpeg -> /mnt/zim/tour-comfy/output/20260619_225047_test123.jpeg
|
||||
2026-06-19 22:51:00,023 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 829 images
|
||||
2026-06-19 22:51:01,025 - INFO - Starting processing for img_49.png...
|
||||
2026-06-19 22:51:01,025 - INFO - Image /mnt/zim/tour-comfy/stage/img_49.png is mode RGB, not RGBA. Skipping crop.
|
||||
2026-06-19 22:51:01,053 - INFO - Calling API for img_49.png -> 20260619_225101_img_49.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:51:14,705 - INFO - Successfully processed img_49.png -> /mnt/zim/tour-comfy/output/20260619_225101_img_49.png
|
||||
2026-06-19 22:51:14,957 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 830 images
|
||||
2026-06-19 22:51:15,957 - INFO - Starting processing for test.png...
|
||||
2026-06-19 22:51:15,958 - INFO - Cropping /mnt/zim/tour-comfy/stage/test.png to (31, 45, 145, 331) (margin=10, top_margin=20)
|
||||
2026-06-19 22:51:15,958 - INFO - Adding 14px headroom to /mnt/zim/tour-comfy/stage/test.png
|
||||
2026-06-19 22:51:15,962 - INFO - Calling API for test.png -> 20260619_225115_test.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:51:29,553 - INFO - Successfully processed test.png -> /mnt/zim/tour-comfy/output/20260619_225115_test.png
|
||||
2026-06-19 22:51:29,825 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 831 images
|
||||
2026-06-19 22:51:30,825 - INFO - Starting processing for img_40.png...
|
||||
2026-06-19 22:51:30,826 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_40.png to (20, 49, 152, 347) (margin=10, top_margin=20)
|
||||
2026-06-19 22:51:30,826 - INFO - Adding 14px headroom to /mnt/zim/tour-comfy/stage/img_40.png
|
||||
2026-06-19 22:51:30,829 - INFO - Calling API for img_40.png -> 20260619_225130_img_40.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:51:44,825 - INFO - Successfully processed img_40.png -> /mnt/zim/tour-comfy/output/20260619_225130_img_40.png
|
||||
2026-06-19 22:51:45,022 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 832 images
|
||||
2026-06-19 22:51:46,023 - INFO - Starting processing for img_83.png...
|
||||
2026-06-19 22:51:46,024 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_83.png to (0, 0, 124, 386) (margin=10, top_margin=20)
|
||||
2026-06-19 22:51:46,024 - INFO - Adding 19px headroom to /mnt/zim/tour-comfy/stage/img_83.png
|
||||
2026-06-19 22:51:46,037 - INFO - Calling API for img_83.png -> 20260619_225146_img_83.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:51:59,671 - INFO - Successfully processed img_83.png -> /mnt/zim/tour-comfy/output/20260619_225146_img_83.png
|
||||
2026-06-19 22:51:59,902 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 833 images
|
||||
2026-06-19 22:52:00,902 - INFO - Starting processing for img_70.png...
|
||||
2026-06-19 22:52:00,903 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_70.png to (24, 46, 132, 316) (margin=10, top_margin=20)
|
||||
2026-06-19 22:52:00,903 - INFO - Adding 13px headroom to /mnt/zim/tour-comfy/stage/img_70.png
|
||||
2026-06-19 22:52:00,908 - INFO - Calling API for img_70.png -> 20260619_225200_img_70.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:52:14,508 - INFO - Successfully processed img_70.png -> /mnt/zim/tour-comfy/output/20260619_225200_img_70.png
|
||||
2026-06-19 22:52:14,710 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 834 images
|
||||
2026-06-19 22:52:15,711 - INFO - Starting processing for img_15.png...
|
||||
2026-06-19 22:52:15,711 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_15.png to (8, 39, 100, 302) (margin=10, top_margin=20)
|
||||
2026-06-19 22:52:15,711 - INFO - Adding 13px headroom to /mnt/zim/tour-comfy/stage/img_15.png
|
||||
2026-06-19 22:52:15,713 - INFO - Calling API for img_15.png -> 20260619_225215_img_15.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:52:27,798 - INFO - Successfully processed img_15.png -> /mnt/zim/tour-comfy/output/20260619_225215_img_15.png
|
||||
2026-06-19 22:52:28,049 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 835 images
|
||||
2026-06-19 22:52:29,050 - INFO - Starting processing for imgxxx.png...
|
||||
2026-06-19 22:52:29,051 - INFO - Cropping /mnt/zim/tour-comfy/stage/imgxxx.png to (0, 0, 168, 247) (margin=10, top_margin=20)
|
||||
2026-06-19 22:52:29,051 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/imgxxx.png
|
||||
2026-06-19 22:52:29,060 - INFO - Calling API for imgxxx.png -> 20260619_225229_imgxxx.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:52:43,686 - INFO - Successfully processed imgxxx.png -> /mnt/zim/tour-comfy/output/20260619_225229_imgxxx.png
|
||||
2026-06-19 22:52:43,900 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 836 images
|
||||
2026-06-19 22:52:44,901 - INFO - Starting processing for img_86.png...
|
||||
2026-06-19 22:52:44,905 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_86.png to (0, 0, 242, 511) (margin=10, top_margin=20)
|
||||
2026-06-19 22:52:44,905 - INFO - Adding 25px headroom to /mnt/zim/tour-comfy/stage/img_86.png
|
||||
2026-06-19 22:52:44,954 - INFO - Calling API for img_86.png -> 20260619_225244_img_86.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:52:58,750 - INFO - Successfully processed img_86.png -> /mnt/zim/tour-comfy/output/20260619_225244_img_86.png
|
||||
2026-06-19 22:52:59,011 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 837 images
|
||||
2026-06-19 22:53:00,012 - INFO - Starting processing for img_11.png...
|
||||
2026-06-19 22:53:00,013 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_11.png to (26, 46, 189, 340) (margin=10, top_margin=20)
|
||||
2026-06-19 22:53:00,013 - INFO - Adding 14px headroom to /mnt/zim/tour-comfy/stage/img_11.png
|
||||
2026-06-19 22:53:00,019 - INFO - Calling API for img_11.png -> 20260619_225300_img_11.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:53:13,622 - INFO - Successfully processed img_11.png -> /mnt/zim/tour-comfy/output/20260619_225300_img_11.png
|
||||
2026-06-19 22:53:13,896 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 838 images
|
||||
2026-06-19 22:53:14,896 - INFO - Starting processing for img_4.png...
|
||||
2026-06-19 22:53:14,897 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_4.png to (2, 10, 77, 156) (margin=10, top_margin=20)
|
||||
2026-06-19 22:53:14,897 - INFO - Adding 7px headroom to /mnt/zim/tour-comfy/stage/img_4.png
|
||||
2026-06-19 22:53:14,898 - INFO - Calling API for img_4.png -> 20260619_225314_img_4.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:53:26,593 - INFO - Successfully processed img_4.png -> /mnt/zim/tour-comfy/output/20260619_225314_img_4.png
|
||||
2026-06-19 22:53:26,800 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 839 images
|
||||
2026-06-19 22:53:27,801 - INFO - Starting processing for img_9.png...
|
||||
2026-06-19 22:53:27,801 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_9.png to (23, 36, 154, 283) (margin=10, top_margin=20)
|
||||
2026-06-19 22:53:27,801 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_9.png
|
||||
2026-06-19 22:53:27,804 - INFO - Calling API for img_9.png -> 20260619_225327_img_9.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:53:39,878 - INFO - Successfully processed img_9.png -> /mnt/zim/tour-comfy/output/20260619_225327_img_9.png
|
||||
2026-06-19 22:53:40,095 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 840 images
|
||||
2026-06-19 22:53:41,095 - INFO - Starting processing for img_76.png...
|
||||
2026-06-19 22:53:41,096 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_76.png to (0, 0, 103, 190) (margin=10, top_margin=20)
|
||||
2026-06-19 22:53:41,096 - INFO - Adding 9px headroom to /mnt/zim/tour-comfy/stage/img_76.png
|
||||
2026-06-19 22:53:41,102 - INFO - Calling API for img_76.png -> 20260619_225341_img_76.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:53:54,227 - INFO - Successfully processed img_76.png -> /mnt/zim/tour-comfy/output/20260619_225341_img_76.png
|
||||
2026-06-19 22:53:54,495 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 841 images
|
||||
2026-06-19 22:53:55,496 - INFO - Starting processing for img_run.png...
|
||||
2026-06-19 22:53:55,496 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_run.png to (18, 54, 138, 380) (margin=10, top_margin=20)
|
||||
2026-06-19 22:53:55,497 - INFO - Adding 16px headroom to /mnt/zim/tour-comfy/stage/img_run.png
|
||||
2026-06-19 22:53:55,500 - INFO - Calling API for img_run.png -> 20260619_225355_img_run.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:54:08,714 - INFO - Successfully processed img_run.png -> /mnt/zim/tour-comfy/output/20260619_225355_img_run.png
|
||||
2026-06-19 22:54:08,910 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 842 images
|
||||
2026-06-19 22:54:09,911 - INFO - Starting processing for img_59.png...
|
||||
2026-06-19 22:54:09,912 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_59.png to (0, 0, 179, 474) (margin=10, top_margin=20)
|
||||
2026-06-19 22:54:09,912 - INFO - Adding 23px headroom to /mnt/zim/tour-comfy/stage/img_59.png
|
||||
2026-06-19 22:54:09,928 - INFO - Calling API for img_59.png -> 20260619_225409_img_59.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:54:23,337 - INFO - Successfully processed img_59.png -> /mnt/zim/tour-comfy/output/20260619_225409_img_59.png
|
||||
2026-06-19 22:54:23,567 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 843 images
|
||||
2026-06-19 22:54:24,567 - INFO - Starting processing for img_74.png...
|
||||
2026-06-19 22:54:24,568 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_74.png to (0, 0, 172, 190) (margin=10, top_margin=20)
|
||||
2026-06-19 22:54:24,568 - INFO - Adding 9px headroom to /mnt/zim/tour-comfy/stage/img_74.png
|
||||
2026-06-19 22:54:24,579 - INFO - Calling API for img_74.png -> 20260619_225424_img_74.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:54:38,228 - INFO - Successfully processed img_74.png -> /mnt/zim/tour-comfy/output/20260619_225424_img_74.png
|
||||
2026-06-19 22:54:38,469 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 844 images
|
||||
2026-06-19 22:54:39,469 - INFO - Starting processing for img.png...
|
||||
2026-06-19 22:54:39,470 - INFO - Cropping /mnt/zim/tour-comfy/stage/img.png to (22, 31, 145, 265) (margin=10, top_margin=20)
|
||||
2026-06-19 22:54:39,470 - INFO - Adding 11px headroom to /mnt/zim/tour-comfy/stage/img.png
|
||||
2026-06-19 22:54:39,472 - INFO - Calling API for img.png -> 20260619_225439_img.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:54:53,053 - INFO - Successfully processed img.png -> /mnt/zim/tour-comfy/output/20260619_225439_img.png
|
||||
2026-06-19 22:54:53,296 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 845 images
|
||||
2026-06-19 22:54:54,296 - INFO - Starting processing for img_17.png...
|
||||
2026-06-19 22:54:54,297 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_17.png to (12, 34, 110, 274) (margin=10, top_margin=20)
|
||||
2026-06-19 22:54:54,297 - INFO - Adding 12px headroom to /mnt/zim/tour-comfy/stage/img_17.png
|
||||
2026-06-19 22:54:54,298 - INFO - Calling API for img_17.png -> 20260619_225454_img_17.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:55:07,877 - INFO - Successfully processed img_17.png -> /mnt/zim/tour-comfy/output/20260619_225454_img_17.png
|
||||
2026-06-19 22:55:08,169 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 846 images
|
||||
2026-06-19 22:55:09,170 - INFO - Starting processing for img_60.png...
|
||||
2026-06-19 22:55:09,172 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_60.png to (0, 0, 170, 458) (margin=10, top_margin=20)
|
||||
2026-06-19 22:55:09,172 - INFO - Adding 22px headroom to /mnt/zim/tour-comfy/stage/img_60.png
|
||||
2026-06-19 22:55:09,188 - INFO - Calling API for img_60.png -> 20260619_225509_img_60.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:55:22,403 - INFO - Successfully processed img_60.png -> /mnt/zim/tour-comfy/output/20260619_225509_img_60.png
|
||||
2026-06-19 22:55:22,660 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 847 images
|
||||
2026-06-19 22:55:23,661 - INFO - Starting processing for img_84.png...
|
||||
2026-06-19 22:55:23,663 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_84.png to (0, 0, 188, 469) (margin=10, top_margin=20)
|
||||
2026-06-19 22:55:23,663 - INFO - Adding 23px headroom to /mnt/zim/tour-comfy/stage/img_84.png
|
||||
2026-06-19 22:55:23,687 - INFO - Calling API for img_84.png -> 20260619_225523_img_84.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:55:37,332 - INFO - Successfully processed img_84.png -> /mnt/zim/tour-comfy/output/20260619_225523_img_84.png
|
||||
2026-06-19 22:55:37,563 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 848 images
|
||||
2026-06-19 22:55:38,564 - INFO - Starting processing for img_43.png...
|
||||
2026-06-19 22:55:38,565 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_43.png to (32, 75, 208, 481) (margin=10, top_margin=20)
|
||||
2026-06-19 22:55:38,565 - INFO - Adding 20px headroom to /mnt/zim/tour-comfy/stage/img_43.png
|
||||
2026-06-19 22:55:38,570 - INFO - Calling API for img_43.png -> 20260619_225538_img_43.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:55:52,659 - INFO - Successfully processed img_43.png -> /mnt/zim/tour-comfy/output/20260619_225538_img_43.png
|
||||
2026-06-19 22:55:52,864 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 849 images
|
||||
2026-06-19 22:55:53,865 - INFO - Starting processing for img_42.png...
|
||||
2026-06-19 22:55:53,866 - INFO - Cropping /mnt/zim/tour-comfy/stage/img_42.png to (48, 74, 228, 476) (margin=10, top_margin=20)
|
||||
2026-06-19 22:55:53,866 - INFO - Adding 20px headroom to /mnt/zim/tour-comfy/stage/img_42.png
|
||||
2026-06-19 22:55:53,873 - INFO - Calling API for img_42.png -> 20260619_225553_img_42.png with prompt: high quality. detailed, female nude, high quality. realistic. detailed. female nude
|
||||
2026-06-19 22:56:06,963 - INFO - Successfully processed img_42.png -> /mnt/zim/tour-comfy/output/20260619_225553_img_42.png
|
||||
2026-06-19 22:56:07,166 - INFO - Updated /mnt/zim/tour-comfy/output/car.html with 850 images
|
||||
2026-06-19 23:09:20,403 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 23:09:20,403 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 23:09:20,403 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 23:30:14,960 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 23:30:14,960 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 23:30:14,960 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 23:39:35,718 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 23:39:35,718 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 23:39:35,718 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
2026-06-19 23:45:09,379 - INFO - Watcher started. Monitoring /mnt/zim/tour-comfy/stage...
|
||||
2026-06-19 23:45:09,379 - INFO - Output directory: /mnt/zim/tour-comfy/output
|
||||
2026-06-19 23:45:09,379 - INFO - API URL: http://127.0.0.1:8500/edit
|
||||
|
||||
Reference in New Issue
Block a user