From 61863a613cf0fa86b44f143cccc6eec1969df495 Mon Sep 17 00:00:00 2001 From: justumen Date: Wed, 10 Jul 2024 16:00:39 +0200 Subject: [PATCH] Add some more nodes --- __init__.py | 6 +++ __pycache__/__init__.cpython-312.pyc | Bin 0 -> 3580 bytes __pycache__/combine_texts.cpython-312.pyc | Bin 0 -> 2307 bytes __pycache__/create_video.cpython-312.pyc | Bin 0 -> 4178 bytes __pycache__/loop_basic_batch.cpython-312.pyc | Bin 0 -> 1102 bytes __pycache__/loop_float.cpython-312.pyc | Bin 0 -> 1232 bytes __pycache__/loop_integer.cpython-312.pyc | Bin 0 -> 1201 bytes ...combos_samplers_schedulers.cpython-312.pyc | Bin 0 -> 2306 bytes __pycache__/loop_samplers.cpython-312.pyc | Bin 0 -> 1333 bytes __pycache__/loop_schedulers.cpython-312.pyc | Bin 0 -> 1353 bytes __pycache__/loop_texts.cpython-312.pyc | Bin 0 -> 1363 bytes __pycache__/ollama.cpython-312.pyc | Bin 0 -> 1617 bytes .../random_model_clip_vae.cpython-312.pyc | Bin 0 -> 1870 bytes __pycache__/random_texts.cpython-312.pyc | Bin 0 -> 1634 bytes __pycache__/resize_image.cpython-312.pyc | Bin 0 -> 2007 bytes __pycache__/save_api_image.cpython-312.pyc | Bin 0 -> 2175 bytes __pycache__/save_image_path.cpython-312.pyc | Bin 0 -> 1863 bytes __pycache__/save_text.cpython-312.pyc | Bin 0 -> 1951 bytes __pycache__/save_tmp_image.cpython-312.pyc | Bin 0 -> 1622 bytes __pycache__/show_float.cpython-312.pyc | Bin 0 -> 904 bytes __pycache__/show_int.cpython-312.pyc | Bin 0 -> 888 bytes __pycache__/show_text.cpython-312.pyc | Bin 0 -> 898 bytes __pycache__/video_pingpong.cpython-312.pyc | Bin 0 -> 1223 bytes .../write_image_allinone.cpython-312.pyc | Bin 0 -> 2115 bytes .../write_image_character.cpython-312.pyc | Bin 0 -> 1144 bytes .../write_image_characters.cpython-312.pyc | Bin 0 -> 1615 bytes .../write_image_environment.cpython-312.pyc | Bin 0 -> 1379 bytes __pycache__/write_text.cpython-312.pyc | Bin 0 -> 933 bytes resize_image.py | 43 ++++++++++++++++++ save_image_path.py | 39 ++++++++++++++++ 30 files changed, 88 insertions(+) create mode 100644 __pycache__/__init__.cpython-312.pyc create mode 100644 __pycache__/combine_texts.cpython-312.pyc create mode 100644 __pycache__/create_video.cpython-312.pyc create mode 100644 __pycache__/loop_basic_batch.cpython-312.pyc create mode 100644 __pycache__/loop_float.cpython-312.pyc create mode 100644 __pycache__/loop_integer.cpython-312.pyc create mode 100644 __pycache__/loop_my_combos_samplers_schedulers.cpython-312.pyc create mode 100644 __pycache__/loop_samplers.cpython-312.pyc create mode 100644 __pycache__/loop_schedulers.cpython-312.pyc create mode 100644 __pycache__/loop_texts.cpython-312.pyc create mode 100644 __pycache__/ollama.cpython-312.pyc create mode 100644 __pycache__/random_model_clip_vae.cpython-312.pyc create mode 100644 __pycache__/random_texts.cpython-312.pyc create mode 100644 __pycache__/resize_image.cpython-312.pyc create mode 100644 __pycache__/save_api_image.cpython-312.pyc create mode 100644 __pycache__/save_image_path.cpython-312.pyc create mode 100644 __pycache__/save_text.cpython-312.pyc create mode 100644 __pycache__/save_tmp_image.cpython-312.pyc create mode 100644 __pycache__/show_float.cpython-312.pyc create mode 100644 __pycache__/show_int.cpython-312.pyc create mode 100644 __pycache__/show_text.cpython-312.pyc create mode 100644 __pycache__/video_pingpong.cpython-312.pyc create mode 100644 __pycache__/write_image_allinone.cpython-312.pyc create mode 100644 __pycache__/write_image_character.cpython-312.pyc create mode 100644 __pycache__/write_image_characters.cpython-312.pyc create mode 100644 __pycache__/write_image_environment.cpython-312.pyc create mode 100644 __pycache__/write_text.cpython-312.pyc create mode 100644 resize_image.py create mode 100644 save_image_path.py diff --git a/__init__.py b/__init__.py index a49a6ff..66e11a3 100644 --- a/__init__.py +++ b/__init__.py @@ -20,7 +20,9 @@ from .show_int import ShowInt from .show_float import ShowFloat from .save_text import SaveText from .save_tmp_image import SaveTmpImage +from .save_image_path import SaveImagePath from .save_api_image import SaveApiImage +from .resize_image import ResizeImage from .loop_my_combos_samplers_schedulers import LoopCombosSamplersSchedulers # from .CUSTOM_STRING import CustomStringType @@ -37,7 +39,9 @@ NODE_CLASS_MAPPINGS = { "Bjornulf_ShowInt": ShowInt, "Bjornulf_ShowFloat": ShowFloat, "Bjornulf_SaveText": SaveText, + "Bjornulf_ResizeImage": ResizeImage, "Bjornulf_SaveTmpImage": SaveTmpImage, + "Bjornulf_SaveImagePath": SaveImagePath, "Bjornulf_SaveApiImage": SaveApiImage, "Bjornulf_CombineTexts": CombineTexts, "Bjornulf_LoopTexts": LoopTexts, @@ -59,6 +63,8 @@ NODE_DISPLAY_NAME_MAPPINGS = { "Bjornulf_ShowText": "👁 Show (Text)", "Bjornulf_ShowInt": "👁 Show (Int)", "Bjornulf_ShowFloat": "👁 Show (Float)", + "Bjornulf_ResizeImage": "📏 Resize Image", + "Bjornulf_SaveImagePath": "🖼 Save Image (exact path, exact name)", "Bjornulf_SaveTmpImage": "🖼 Save Image (tmp_api.png)", "Bjornulf_SaveApiImage": "🖼 Save Image (API_IMAGES/00001.png...)", "Bjornulf_SaveText": "💾 Save Text", #Make SaveCharacter, SaveLocation, SaveCamera, SaveAction, SaveClothes, SaveEmotion... diff --git a/__pycache__/__init__.cpython-312.pyc b/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8485826af074ded4faeef030961accc13ea7d480 GIT binary patch literal 3580 zcmZ`*OK%&=5pG(hNJ*q#6h%oS#gSxM98n}C>tV0sIH4Z4nMk%^de_)NfWe5l?J4^QHpps`)h-MK2(STi%`Hff{D52t$JBA;pSj zy0R|t9J|9elnoy-h#sd4=RQ3_2S6t263BU)2AQJEASEh;T%hY97ikvc63v0UMGGL) zGz{`K9Rs;cCqQOs1f)!TAXjJM1TBypK|x?iCp@R54uVA*+GM!)bG4DbihL| zEu%qS&`%nmM1@k~+6mpSzBVkg%4rn`rg{Urr<$cz8q}%-A9)WC^kk1NGFGZSt5RS? zyCy$2s$wymJak~1HC!2$k>^@fH+e^$bk##sr)-xQwU0FP5dO%}sd;2nPmav$Nyo(_ zW@;GZ2>L5k8}x))ppK%tqt%Vdj@GE00uw@}tnnIiqZbzC$|=>G9uqPd)3|nEYP#?d zET5Whyy659gL_;SVQ1N3S$o|nU`SwI6D0)0FzP}%(i$QJB#JeoV=(fZ){ReH6R=NU zgjgoC-ifmppB>%#rD;{0?3LOdrajrEMcFZ2d!oyAGO)+5P>@L9#BM(Q6TP(TsqVzS zVEcmU&)J^t8ed8Mnt7)JeRO|w^hJgR5lzt_Mz2-ucz3=3?U=q~Ivw8^-<4jvwxYYY z{=PLa4zIWDSa(fido9+N4Gwg6@S1(!hNiDL`hWZ0oP}fS{O%85OV31iN|`-cuUJN{ zVVG692~P%${^m0YH&M!nZf%ZTC9!Rr6IVGmM~^-Kwd8KDBs#O15w^emtAxAga#DtV z0ta8JK_{#U>ik;?8L3OXd;5hX&Vfr!3144+C3*ej7O3u)?cLXZf!SuQOGbqC z=YNviX6o{Z>%6#_vUoFP@oH*L3xo4NOPxlOGLIhd8im|lpD+X$E;Xgj?IrfD7l5}L zli;UEdJQKx@i(ADH)DN@lz|Ht>g3&NqE$ME-dOK`6T8|QJv@^t;;QM)fA`Io-R6|# zK`RFfS$Px%6l*BfQQQIXsXt$MLyzSFJM#3|-oCnfP%M|#!{X6V>FMLLJtxS$Qu*kh z__6x5c(~si3%}goQTIyE_jg}Bd;alL`JNrBSX66JRg}mY0QdIr8+@4525hx;6N#8h z82CD=wD&w&ejJ_dAFXuXC~FW0qwgKG0ys9+Kc+EeRLv^2u;6wW%L5OV2%>HcAvesR zUpxYT+w71fZX=HxK`QD|9A7WB0!^a6)~FT2u~CttT7x&N25*=Z?m2yh@0f+nZ->Mx zhWnOTc$n>RK^^0JrXJ&iX5qoN!-B4R4PfCJx5r$ryYUuwl|AS_8W#4WJyeIw!YwYI z5IZPzSkQ{1IxJK-AZ%^0hkL-a$M&;FT^-K2*bi$4$uU8?8-%xng%_7+3Ri(=I)`M) z67QZz#gSSRQS&p^ZA!J1lUna3g6GiMM6rcp8|MX76}C-P|46x5;LkEDI*xCR=SHckrsve8*$E&XC;pj>8D|3VB=N^C0!{?+lxq`3Jnh=V z5YG^Q{Nm@%EaExhPk_%j;so(0FSwILJn!-;#FC2_5HGqumk{4_{iG4!CjQ0N(w4J~ zO2%DGM!e!W%_3fPC+867NiuVp%3UU9l)2J(cY$q@i1Q#hkBPRD_Z&Y!%ygzTn{@)H z1R=fFjO+}dG7Roob2(=Ol@J8eN)((hDx7F5xL$E)QGuLc&W5vu3M369t4A$aS BgSP+x literal 0 HcmV?d00001 diff --git a/__pycache__/combine_texts.cpython-312.pyc b/__pycache__/combine_texts.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..96d59e3ddc12ad8072418fa132b1a7c1d57eaaac GIT binary patch literal 2307 zcmZ`)O>9#~5Z?Fe|3C6$CqUvT;l~gXg~A~L@fQNP4GzS%08{iZ-sj-ppYYx@kkm+4 zg+x+SZ7Nj7QmGVGRHDiS^-yu>A?m3TmuEs7>xlzWxkSA;LqL+CHEs13Htlw80pAR3)U7~MmdTB0kO5SpevOr*A-%vB94 zoq)vx5>bf4C`5}4rtYDo>dp|0=@5sR5RciA4s#(r=I^19K{R4r-7eF#-eb_r!>Poz zSW*m#cN957RZWn|03QQi=_?=$a4$^5kHIYF9M+(~?(thBn^7=ON zID8u8^##^QKGsNz*N7JntLd;94X5LZ#w21%AmKY2D=Xp@Q6lG~OQ=_xet2#%M~4h~DH>S_!~udorE4CQ3poD#VCP)(lvT#}Y9` zlr&y}>z(azX?p6N$?j6_ZIg zZuh&f{_ClP*q=^_$^HY=skD;5CiX*}qSHZde3CFVkV1T< zqyq6R_f1V}Ca>>YFdzgjog4Abxauq3SEnJ~jtjPS~Sy6>&uVF)N|)mfACrFpIa_0 zpPvur26El=hZbFrN1yhndylH_WBI0I&$nDCGO&H!X0#iN$Y?OW-LRvki*4wLYP{@VK1JfDkhZ*4O5Y0xQD*(|>Ks1Y)3`-E5VQwMGN~1YG!_;JL z&5ljscc zH}0uDKAYE<_RKMpy4uP2^Bh&X)+FhX4~9aLTpn}aqvo%60(@>J5wz8S{m4W4JiKO% z$+4uYgp<&O478xe#$&RgStdk9c;8y=WUA80q=i}NwuICS4mDjg9##}F3GFS$qcVxd zoy}&YPGF>7ATxU#aNYo%zQgfUBpjEI^i{32!U5R}w=``X!_JMdsywYy7T z3`u%INVPqTw43lALbefsPTEI!QpQR|{EgdTX+oAdK(YyRTyElWKr*S$Rrgi5+kLDO zW)}!%+W$Yy7SPMLfV|71H#BePD%w%o_Ep!Oylc}R=X-qy3uAxrc8sa$YzV6i)QDBry65A*H~2DX+E z+h&@z6phHyq1rlCedpT^6UfW$`^&cD+w=|KCGaG$D3OFLpbY%8+yGXhrU62jsq!rF zT$ShHe^BSEJkOL-vXY3XUdaZtM!A0iJe4yj6M(rZsUfyMNKFH-c7R^q2_%bNnVNHk z=ccYgle1uH&Fy+_0k*Y{ebwZY`e3WiW7hP7kPIh8LC}nXkVxTlobYBrxS0;es~S@z z9+u^Vs9aBB$qffJ^Y}<0IPR-Fz?%M4&^H|Lj`=j}STH~yX0Klu_4)&ve)xD`UcO8vOp-^55E8mP4CEdvaQ1cD#2HHr;vGf8728pBXLht; z>&Tudv~17%3bwZFnGM#;xr=VZZ&|1HoQrI)a25N+st+<-cG2keo&Ino^dr*Inr~8! SB12KsKlDDzwSj!4#0t*dEnm7qYg zu$)~!_z3MvBq~yZV1?VCrlKENsnYVvUj?mHX9L0-sDxC0_{#!PE4ETQbDbL}d~_xD zqv}ZaoHH|L&N*}D%sprR>~L5CY0WP`i)I}F{GE36X51uR_YqRT0J0SZ8Xyae&;&VXzRgArkcSp%l^8={OyeQ8FEmhIfockSM5PSX1Agn#DGMVDx-29K1N%e=bv{JH36|DD}BA zOu!Ye!2w52p?*)HwsGaqs&L=1=IPDX^c8#uSN->9@`nfW`~8K6-MJ&nr}Fi!1<$?} zU;e|PyzflD>Fl>QuC8o@f<1$2jA8R05QVzZp*TFH^T}tb!2jm&9b*h+-Hrqz?bYC2iZBZx)pe_ z?YcKbWzEp|2a|p)81Ub@zsEw$yY>N)<#Y>?=ZCCL(krslQk$+V%ji1#z|V64Tq53^ zh7)82AvbS-b;76u92)SNi}Urt$>xV3RXimtjTf{&N&;bowFxL zwmdcTKeDI}*27(}0XD)W=poj5;cjA|o7mSpXSV>gMfXr_k4}~F=Qa|%E&9&ME!(Hh z!97`y+|@0w?zn*mbgmN4nsrZ+SpSg3dD*rb+gjq&srNafY?*GUu8Ty)N5<{{hIUwB+B1ydjP7Pb8Pd)-mGJ%FD{boKIiz%@x`x-c$%38Gwek$ z%@En8|JwhppY+}MJ_sQC%YVzXW1A`_QsH8f4U(kEi!+jh(S-ePL+_Ff=~KR)Xv`HrM_ zX*@2rdc|l|iby2;X`@I~6iH6DdXutOMM6?Z2}n#vX1z)}m6DO#jya-hDm6nij}y&? zgTom|n~+xJHX*LIAu)=XPR%L-TPUZD#w7*w#2P^}$I_-u5;>xxW`qmk`0$o#=ZXrH z9co*>a!O2Y^0a!DgbWvelx9!QRP6|mc*>*dvuOgFTGt|+u|Za_k(NT3S5k3F6=zh; zCxpu)l#oK|GYQcu3R}b^skrEQAzB(>OBBfo0U=?QluxNNHj!yk?{I>m&Zb0cNT#qU zEhW{XwDw3&iAcppMVJz?F(%VWPf-!JD(UeQlBu1TMd>6qr4U(yD|)FD;AnA5vz!Ki zq7q{;hs1#(g@L58VEF|P$N6~jo_O3JaY zDkc>fVV2O?S`5%|BmohvR53%$rRx+Y>3MfHMDrq|i7ZpSRo88=uIkB@vPiDa74X8d z`_A;u=_j6!HBU#rvv1wge_vSh4CeWU=XGuQ+V&M;m0Ov~yN}M>3YFe@{uyt*Zo6h% z7|f}U`PLW3-XBkYJ@D1Q*CStz+&}ZEYxKtHrGdqPrIE#v+?hvJo%v5L=HcXHUV6iU zrhU1o^~UyBz-Z}Zt_{!k%x9ie)GT!@cI3K$ck(wU*IN!hX*ssma%{cj_`S$lOV5*L z|5~&EFU^15|6u=m^SSkk;CyevS-tH3#_1`z>y|DrUe0~6?)ELP1-tY5;I+XUV@nqn zFDzYJyp-F&5?%f2sYd0 zZcP&U#`x02;>1#XF`he`Z~J)NeUc7FmJj?|F1XywMhYwiSN*cT;M%oOX{|4tAKGw( znhECGK*3SDF!hb2@%^OooAN!mN=n(Nk|Cmm>e*GM>1hHr8D@T9gR@vX&+P8&fop-~ z?v>zU`=Mv{@_be2>aJBszT)H~`>8ipP`B%j^`!S^paJ;aWQ5P=!?2*0cxvOSAljrOH`KBDW>Yq4U*PK+0 zrBl;%VCCRSOTME0iM?aZ-tiq-ZRz~(4gW)QKDIZ#RenT5^G}|=ejj+?s~oCgADk!~ za?iQlY2Sf|Z;(eo!4Mc&Nd`cGqS3$w#`qp4ESzoh&E8n0LiIghOm9vFP z3Y?8s1`8GLD`yJMx+{aPjUSupivp<_ACC?bgpO12F#*`5$|y34dMVA0`p;^=J5A*~ xw!Gy}6#Z}#{em#lw6AyxAg9DIPl4qrsCWwOPeJ+LK=nV2qYP933Q(vi{|}UV&+`BP literal 0 HcmV?d00001 diff --git a/__pycache__/loop_basic_batch.cpython-312.pyc b/__pycache__/loop_basic_batch.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..77d4794b3d227a2457dd276be1e8c2132c9cfae9 GIT binary patch literal 1102 zcmZ`%IcyU_6#cV@y)hdnhJYai5+XpD0!xSrAtVw4u@pAQUKiPd)y6X>hPBu1fpEm( zB1Jelilm^RMQJE0>1l$5gf*f-q9L8Z1rim1e4qr0k>>56o&Vmy=ELxC0&tD*JT9M- z0KSRCU@3j0a~O>ckl;E{SOZG7&{Hf68d63s^$tDk-$3U)o;QGjMJQMjlPOt)t-hzF zP{~rMY{jTz#i?p(G`0rTP$Qnvcyht>>N8GIDa|-xX{AJV$!loKxH}UF8<+`|s7w{A zQdFYxS4vr`kP0b4Ml-nPvwKm+XOwHTW!pv7fXg|<+!2a9xS{eL#WD(yQ&x5&H{^1) zQbTYaa3u&?{S9OYCqWs8B*VlG>Xg3znlHIK3& zJ9EeLYmr;F_xu$Z*vq0YM6B#wy}|e8jGIN%HkWSB6;{XhR(@{RohUjui_nC242ILK z(ecgVTk`J2`>Wge!pD>5_C&EQOGlDzSs6{VK^aPP&>QpjvrN8~Sy zyg*)AOiMQWA>{gEz8Q%tZY2nL%&FH|jb>yV26M}P3@^FvJGI-)zVEmZ3jz^yYHG?K z732d5tEd0z;eTotgy14V6TYO6zP!J#w~~i8Q_tL%e)zLK`B9&IO+M+=sTGTY_}+pc;va)qti_Pxk)`#1Yat`h`R z7Or^IPa%=(`8l(gH+rMz$;F~69zw2QFXRd)*RBTUhNRj7>BbS_h|_Mr-6ubG|ilq&eSFRCTha mB@_&ND_yz0A%1I@dNp14rw4IH&}hqqkYCamnfwU|U7bJYKoWxh literal 0 HcmV?d00001 diff --git a/__pycache__/loop_float.cpython-312.pyc b/__pycache__/loop_float.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..aa6b85169d051bb4e126f9dbe7d7383f26976d31 GIT binary patch literal 1232 zcmZWoJ#5=X6h8ink}26vV%Vw^+i?>YTq2+_&<;W4)UXu+s+`&s3KLBTns@Y1NKrYG zP30L7iyZ6Ii z)9DnT^5vUn4iW(PgE>PH2S#^_8i#-fc>qBZK<=3D?--!QYl1zDXX{`GbU&odAwa<3 zATW3&K&}an2a$#dc|(GNAw$tfK*>;`+yq9lme3TEEc$+R)%C5=<_7U>Nz#{I5Oi-- zbx1D(c_`3Fgc6jWiw;ly#D9F{f}eaY>~b4GOO=R%(c@?rBS@sx;@Vw(n{xJ~Z!CSc zwEfMMpYw0_n|CykBp`CE$PJ0$?N+F=z9wQ2qUr#3V`*S??q~u@I@tHjaA!9liO{Ep z6%uhT@~S@pjU$5X1_4WJ?p-mr<9jFV({A!kQHNNFlQL_zM; zJs(#h*D)`Ab!nMQht=s;wMIq?rTb;w)Hm<1Z0t|`Tf$rCKC|itMXDO0BZKs0JahA8 z@fY#*i`K)f_6K(B8jP>Le=_kRJk7TrSnZozt!X>X&ix2qES@G>n-ALa4_i~_+k}|S zbOd=U)d6xc)n#SVI4rY;*H_87jgb{1^Xz&=875#4CyId>qSsJ|8i!yTJQeHQQ>iZ1 z`A6>ofEViG-uVGw7%Cyd^rSAGP2%w&k^>Yk?56=Z$HaY0xg6GdzVs&>P>m|9f9MxzxhdS_AfwHkLMo>s5>+O literal 0 HcmV?d00001 diff --git a/__pycache__/loop_integer.cpython-312.pyc b/__pycache__/loop_integer.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f9243e93633e5b0fd7d020374442466bd900fa70 GIT binary patch literal 1201 zcmZuwJ#5=X6h8ink}26nl3I=(%T8JYTr8yM7!*icClTt>u0<7y7M9VSVmYL!9Lc0I z6jUfYc<9!_9x`-H;U!~6F9iy8k=goS(n`uKG$s=x?r!k316kSrCqph;AW_4iFYj#G$2(nxY|9#{T>sSy2CDP>v8m zWdWnINF*#App%hjS;k^n!BSbpayfyOvWC?IR8BS%hQ_8geZNtthvXii6=4*?uOxio ziKu@K;0T_9MJ&Nb#tK%S$W;;a#Ctjeo2RC@{R zXFQ`JvjiqpCvrn3d9^x#^9_@OkTlMCy9|jXtJL@GaJLq)MCgOygiPLxyv9$+5SUbP zgMc$Fzcur_zDM$rN9y@cntl{UcS(NT_o~fOAzz7t5NPT?CPDtjo=@wMTeaW$)rD@@ zwP8Ef8cjA;Ft3bAUGLsVF@cFI{;y`~2#u)hSxtk4l|O zU&V_nPwDfO)6Y6P#qJfWvrvlXm!4jK=A6pEINjy#PWH>!33)!#lae#39!e%teV~Kd zsLC(Vy2;K}C~-n!Pri_8<0>lS?crg3Y=hC=1>p#V|BZFL5s&4T@K|XnE%E+Egy>>R z-sAr7otAPkiWCs|O8aSqCZdGzA+E{?ESQGKWVaTCOm!L!Qpbi0^CNDRW`L7UbC>~O zI(6#zi2cxUBNDK5C8Ctn!;#KQT^<~Ijz@d|u%Dak`Tw*4-j9MC0B!VQZsCWAhkBe{ zIZVfyh2uxRWmaQ7`=_4k>bW1&f9PwmK7VX=^_9afdJ39eJbv_hW)&tjd+G4oj^qmc>v||o;g=Mx% z7T=sg(cUZ+EvDTpnd??z3;ql1*R73PTRV3K1=3lF9b_IB&F4Tl@NNWofCKcGGV@wY zDXG4M)Y%@FdRcUSvAr2zxZF15=?~ktVv=l}o! literal 0 HcmV?d00001 diff --git a/__pycache__/loop_my_combos_samplers_schedulers.cpython-312.pyc b/__pycache__/loop_my_combos_samplers_schedulers.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d29a9aa9717edea4ccfdaf3649c13e56060e018e GIT binary patch literal 2306 zcmb7GO>7fK6rTO@dSkDhADaLnMGmJdX|bB7K}ZM`(f}6D2C_~CE70P2*2JmzhgrMS zR#N%EfkUOzQ#e-KDlYU?sV9z=dfB9hMAHjWPuvVSAm!AV-LW@hP{-H+i;zMOWN0co90c7ex11z`#Ao~zN?im|+XiSTd`B&6X zDghM8a2@RbPV6mU0F8k_WABknPZ^Cfc$()~7@@@sVLcrU5A^k+4`3tjWB(&M`+jtl z)sm3YB*<$i7}L^F&<0`rA<%|eqC9}di?;2|+vck6s%6uu8^~2FYX)pmO+MNlcJG;b z)2dZ%WabTu9)_S}>eKCP)QdolqfeXd!6;g)63;c!-`O!KvhmhXZZjJUQY(g@$=+^CY z#GrKyhIYRbi4dU4rBJUq7Bt(b&W_;(^mSHt&v;m~IWmt9^wQr3I6FFLr==6Vo znuskB&~5{)M_hVpn<$$MWFfb~RGAw2Q-RDYGJlYpD;9IJx%s8VO9f@FR9I5f++^f9 z4x)+G( zfHwjdy~B0^xXV`9xAf+)ulu)AhkcZIDUI$8ee!eS$!3>hkEgpFKa}VKeju?=G62#7 zDJ)L6%BFz_`W4D-=`ucAK}NY@=>GFWdWXf{b60w=E1Is)ogav?1vVJSd@~6E5(taf zrwrt(tV&V7kH!cpglN2viUb`9(L^6j5>yJ%^(bTM&g6orXCZo<)U?TNavR(|W`m^> za#}$G@sR}_^T!*<{Q1OUZ;UWU<_GhXWLO9W1}7toMR6J)Lnp`$jZ<-y2pkVz59k=R zgn+feC`T?dNZ05qygl<#qW#B#PmoCW0TCUrmmKxR&hI48 zjH#6Cx~F4ejt;KhG)-Py(M*~Q)2o7=Ob-CC!(m-(ECBd0pb-r!{C>fYe- z&eeTB6`KmSr<=+w`jp)K0?;hgXjA>l4#e|8FE6081fz50(q9W*j$xR;f%KN2Vy4~z IBK(+t0r_i*zW@LL literal 0 HcmV?d00001 diff --git a/__pycache__/loop_samplers.cpython-312.pyc b/__pycache__/loop_samplers.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..10894129c7a7dc9e7de7022a5ab07752194614ca GIT binary patch literal 1333 zcmcIjK~EDw6rS1L;?gcqY*A_qDGJ6-6N(W{Fh~NVLPOaS+8)@;rgpYM-FC}tdniHE z0|#&F2~AAo;Dun~5Ao81a#av zd!ByD0q~tI>>+eW(@)6(Kmb7lsDJ~@0CD>O@yFDI4HcH4ESxc_q!`+xV+YLw-8ld{ zJ&AzI={$n_;J9;26?8{NvR%4!X0Xd`mT}vxJEx)Ak2uwdc-4gjRYDGR0QKzyb+B|v z7Ks!w&3r7G%^NzlQn2d>SbjYHH!%g8AAAA}7xsevc95}k=yA>T^(;CxBmTX2+=;hK zP0t|W5Wff0aGU;OKo*p9X(1Bv#}?MsBcY8L5wX5g+{QX0lGT2&mP=;!BL@+TZL2^W zDKncc5wT;mh`8EGjEHs+nInA4urL$UVmbKz=h5Jnnbm{Etey+bl+0qG_*f4vu~><4 zFjce)W>(9YNVkHE858GwOdv?T4o>%0`c~;YE$?38tvLK)OuSKrKkamnAj zqwhxEkG&nM`KGJB>6&l0>YF|BKB#!+D$?BP$oMOz;+d#O6ZkUqQ{*8cYOQwCG~(2> ztci+-PPwFMJH@2I8jY@8DI;lFS-r4jB0NkTv5NugCOp7^eUwDn2*nc{O1l9rR?5O! zC`JaOi8yPHa7>GYV{sxrN+?V5a8x1U(n3769NpM#C4B^14{NKyS_Ly;<+7G3?1Q?) z{e$asIGa4^8*VVxaD$O+2g+-u<_%Q6ftq)w>Yb^0?w2EV&jf{$>t&@rG*Mou5BbU~ zO+j!>w(nq(Wv-n{>ncCp=w5#=&b8&3$K%w%zFCWj*5Dz8UxD;X@WRQTfI`dXH&gc} A0RR91 literal 0 HcmV?d00001 diff --git a/__pycache__/loop_schedulers.cpython-312.pyc b/__pycache__/loop_schedulers.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d88b832819a7e1e41dd9db89488bb45d8e5527a1 GIT binary patch literal 1353 zcmcIj%}?7%6rZsj)^S2ei&Hi13IVFRxRr3FeyCDgB$f>jHET+o9BQeuQjb$eotTc} zLl8wdaOjbhR-!Adv}Xj;{vmrwmP4Z1Js|bOEo}~!ICUn83GD8*WBE6~nK$pv`P887a;zSYOrCz8dQW+Mm39JFa~na ztr5{xJc8KY=q z7Z|bHH;PDN8Q0y^t#upuj*UGF4mAObkf(naQ=k#TSFn06uLju%Xr{jyzA@6}wt z>c6zrMP@XgRxRJFx@EKCBHL4cD7m=eJ4N%-u0wNa4$aPO)<`6+J6zbsQ+RaAd`=c92{vSIBJ1uposV=qDwWhjud@I{bWZy|A(QEDax9>~u zUvzjb8SC&uTP^{xC^n@X}vUEIXi1uVtZlN z+XQ4(A2{TIRN5XuDpfhOQleaX29s<90lo0`S8D zQKJg51&1IUd^{0|Z%4>;#80}2XyS8HV23wR`6LUGNU(GCuh36e=S-w?ce@c5fZ?^hX2B(XNOCJjGOuc6bs3ePsqw4EBBDy;33;3CeSWoSn@s6VZw67n>a@|LX|iPDl=rh;O-MvSN7l3ToI*qW8sOy+Q?zYG_kU2D&y zhph6$AOQ6>Ju!}owz2G*wn3XsDm~PYwg?e+lmUBdF&~h|DCF%hDAa%dLC&6c>_Mgkn(Z%`PTBE+KFo$a1d{zez-r{Q z8>iJqz~g)kP(`mtzu3dx*sbTe{jr&sqqDCfi;r)6cjmnB?s{|Idy3}i=7C~v-q|*G z$9F&5zV$Nti5FRX6ac7&2Od>Caq!JCkD~Xn!_NFm_lWR^G$P0`iHe$5$`uVwqmrf- zE#elK+^uQLZm!Vw1ocABaf(KH!6Np1kbrilrj$%dZn24qH!||1l9-WcXeOgDmL<|! zGLeRMO^z#5(=(}Tv(P7~0gF+qa`rfE2J8(wae#GH^M#K%$tN{<$shw+n(3}GOVi9Q_pNxnRnV9A2&m0{dO@i37~}uA MC>}aS0L=ye1NnVyHUIzs literal 0 HcmV?d00001 diff --git a/__pycache__/ollama.cpython-312.pyc b/__pycache__/ollama.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..34ab89712697e2df07ba48e967675f8870a63449 GIT binary patch literal 1617 zcmZ8h%}*Og6rc5eu-JT)Q z{}fCvBZb-$b%+<(u`;F|OVpkP{tyvVkT5DFh>WEJblkBlC^%72v0TuwQs}{ILC4ww zD)d%+GJ4qOQ);=^E#Ja~+0r@ZkOPw8-yQ)1F-tgsWvpP;k%|dNa->a^(Q={A$is@m z2o6&fPMBF{zFQ7LZ8N{ImRkvX-3kpH>Ubpo1A;7Mn{qCmF_uC@W6LX&&PykKilz{SD{7of6_Se>2ftpt>x})<<0!vJIkB3(eoKi zpVNqh_*+2sQAA?b4-L@8z}`rc|Mz+nf-A3J^0Pc&&+owL`QwDcxU~E%AC=p;um4KOt4Z$;`T&i-%w&{qc$Ejl4YdxqlMe_fn-+y6YOk$FsTo~hKrmt^ zVw7aGQ0t&Wp$-p1wagqZU;+@KexG=RK|-O-0|urFC$z`}V3;UCx}UpQo=h2Cp{st85U0$z_tEZknFu z64MNmrpUHJ#ktQkA66{d(WGo@aqg0!WF2_i;-XMr4`rkZ|{(9~pGM%qwIoLXr#e0l#? z^TH&M!8i6-e;*v%Uu|nW>SXLoc*w}?b=acLMlN4@>!toloZ1cc4%mrl=AtDnS(2n* TQU7mf>>p)Rn*0j^iQN7RX_}#+ literal 0 HcmV?d00001 diff --git a/__pycache__/random_model_clip_vae.cpython-312.pyc b/__pycache__/random_model_clip_vae.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3e017849c090b7fa894b6060a1c036f563c24a48 GIT binary patch literal 1870 zcmbUhOKcNIbY?%cacswS3c&#!M+s1u2nz}!fT562AyqH|+W}m)E8|%cQ-8v)T?lfj z9CFB^QX}<{pi= z12*KS_7TuaNJTMBP)txog6GkbhGtA6LQE!N%tWMl6f@7reiL(Fk7r3Pb0tUA^l&;g zJsDRMxW)A@z(x3LBfy2&FcIJriA3bbQc@r$VkVXp25eUovo^8+mbN`Mr%=9m8nF@k zPNpO1JDdD`{dZ!1cZi8&p~yC`**0&AZGHoOiJ6I-j2F^*CT3Du0PzP*((~#xldoJI z869WVWKK({W7+9KKEkBo@v#XePF@`Ko0&6P$lO*nC6`oET&y#5h8I*h#!Lw)D(v#t zaTT@(|9FFc+~6PI<|W>41Hep%C6nuhOyYKafmt;5ULmEagqfyNgs53RX0jH~-cdm) zCek{?DV?X}^S!wdn960;Kp~@M11Dy3g?!<*8W_%Hk~7hAT@-=TOyx4joy; z>pdGo^yaN{e~k8hUfJJUO0SO4gQw}fGnIWkrSa81+Ixz24OY6kOZ}@7?Kw$31MjK! zvfbiwRNYdiBKb}j&AlpbKh9Mwm7+barxuLVCnG6_*x%5@(Jy^Q0};}<-SoB zLH*CmS2p7GT6oj;%pF}nwisPLw%ogTwzOxZe@&wPbJTaf+;M)(9j(fs{g(+{!sB@3 z;)eEX`k6bt?plm2_bhiTo+-&IwpBt8pQYWwaz}8>9j=;c)V1hm*f%Roylw5cc+<)SGmhLK+m zY5Ymj_HnSEg98Ad2Tew#%*^*xHVV90iqcew*h)Q5ki29&~u6G-= zH|4zVn5{`d2kK_<=wdX?N)xdT4-lpDOPiT(DO<50s?Rm$dH$^`0zu4lLMS zIK3tNN|Ck)sU=tg&nV=#FpHvO;~7;^m{sA!Q%G~%rYQFc@pMDdmPp5SJ)`EQazyI` zLuR`^8i`&H8AHV^pGHH&k+G|xdTzfUEdV-3vb^3J2mGzjdFu11B0FCSPT5)$k;zr% zShWv*&_6d`Y4^@uu1RM3oZ*4n`33DTY;_;n0LPln-&lf1z~{A7Am9(8&g)hcF~+|m P``?lmpL>M>)NTF&EfxD2 literal 0 HcmV?d00001 diff --git a/__pycache__/random_texts.cpython-312.pyc b/__pycache__/random_texts.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fbe1da45e83982e0d9f6299d0099b02cca318386 GIT binary patch literal 1634 zcmZ8hO-vg{6rR~X7TXvb(gH0%MnEJd5e`Yz91>Lp3dE|rQ2&UsQMGbBYjElxnB8px zvQ;0D$^ogQJwRKca;Zc`Ri(Eak=jF~T$Uh3)|6XM+zdWc$*D6oCQjeVZ{E+$n>X)$ z&(B+09Dox3{hQtlewGApFs9dA^CeVQj5l}guM{pJFo$XWw#Hk|URS5}d6B1P!Nvl9@UT*Ts#2JofQ7#kJ zADTu2HpFhGGEaY%A1R~BLB!FIM*W}*vdY>y3q-BkT!hN7sy_gJk3#sM z5$16D@Q25v0pEYrHD2gY-m(+ zNLYrM%V^mg(v85_{T$9(>7@3SwU(R4t~Q1jmx(i|%*3KvbZ%xMveMDe?BNCn1ETQ* zWkpby!Nto@;eP+KG5hnmgDa{%c(*ik>Hn7Z2X@j=ChehH_ItNWZz)~9J6*fuw(qLl zIdbBZy4+43K($Rndj@4E_&(_w|+qY1+gHQ=l9*O zPc-${DKDB$=Q3xqe5#Ze_s+(let&%}NO>s<&p|Fwkn;*=2Qjx5UExGA{p__ zVp_-Sm4r`IbTu(3rjwYy0^s)Q-Y*}-@w|cAeAIAh;C?C_EHz(^FavGXy3*N*lg2uC zvNI{lir{GY`jb)n=G3$PgPWfm4u@WPlDl3zJWEky&#Ly!U0c&%%;+2MZVm0gEn~}h z=pD2@$u*I(qmG`PLSK?CXDCI=u4fVTZEjDtWrszP9DwSEnNI&O?LE zOU5{zh}U?fW9@zLnS)O2{RT8dvmg&qdA+OY0o##qCR z0A;J7BzjIbm*}YQK=PKERPF{B`ih}aYfte`>7AaUQflog-l+(@*oUvzBltNySeG&T o^RBsA3tr2&YmfR6-=Hc3iNQKq<{^ZCgO-1VPS|$}D65|N54el1-v9sr literal 0 HcmV?d00001 diff --git a/__pycache__/resize_image.cpython-312.pyc b/__pycache__/resize_image.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f7836e1e8144e1100d833371ca4a9f85eb6f4969 GIT binary patch literal 2007 zcmahJOK2Nc@a=ys$&M^Hwxz_5?Zl>{#A=*h-INl=aTB$voY-<9BCsghmAxCS)_%K7 zY9oUWE;uk}2{u!fEQy?y+ zkqDJ}TZM{@6aG4RWgIc7bOs5sQpnjwYY*TMaRzZJDF$(ORoR+F{H&tR%vwJHTqct* znkLDk?`=9UYv@YC)|FD?%z|NC_H89GX6S{5=~NP zQ`P85{YYPBbTeNa7^%iizZTeN+djjG1N(q)2^?TkfI|M*aSDp~GJ`}f&%Dod&51O|g=hfxWC9ceAU7oZ_%XFD3&{oL1(YigZNxczW;(a;CnsSdT z^Io+7$@i#d(WIWGOf3fS+X>b&Pp0*GT$7dsPk%`)iv==_e0s)_?;02P$gAy)2FqWD- z7%hX{Q2625wb4hTPcH0qoY?L-QR^7m4h^kRcm;%7ADp{)?qTx&r@w_GYk^0Br>CB@ zt|oVbA?Nb}l&vYrC|{;22%8HSLjB8Qkow9D6bN^5pZAwa$yH!8bgJ9o^_& z@2-4Qiw^HZ&u&N0zPSBTd#=@@$zR5|qp8(4tkZjZ;bVZU-K$3Jrwu^)hNz%NXD>fv-d@*O5x?;^5GK^qjBz`fS z9?PUA(kL`Jo|&FZyGs-WC#ExGrKTq?k0Ws`nHj$_F?rK@cX)_IB`LW70&gY&2_m1F zz-R^3x$tXR-~tB>;M?~Jw;uuF-sP+Hj-KUf^+@OPSM@{D<*RSlPHxEcMXcjIJc0@A zAqejxfSBv4YfhIs5#9^^R{YE@^m90hmC1TD$xQDv6h*xPkyjw}J2?C|J46lr1u${~ F{R>5nxJ&>5 literal 0 HcmV?d00001 diff --git a/__pycache__/save_api_image.cpython-312.pyc b/__pycache__/save_api_image.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5aa15072931e6782be4a2906e7ff7ddd9746b6f4 GIT binary patch literal 2175 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 SWBeCV-wMZZ_rC~GRo#C$`@Ee1 literal 0 HcmV?d00001 diff --git a/__pycache__/save_tmp_image.cpython-312.pyc b/__pycache__/save_tmp_image.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4908623b06589c5e0486cdb5ba41711e0b940d34 GIT binary patch literal 1622 zcmZ`(&2Jl35P$n+uQzt$kEUq=MJ)|2zQhHUq@@VqrXjTmPMSD}?q#+0Tf6Iecb)wJ z93@hOf|T@)p~ala^7cFXl2u&v7k7F)ge)nX47cHoa;|c_r#V&5CQ(6d!S{RwsSA{M=$eDcqc! zT39~Sd#ACUoe-cq?|@oE%@B$WHR3}L&p(-YHoAXyVt@EjlVgYbn;ajPnuw1`El5N} z^1*x{yAJ{dA_hejgZ9(JFnoTyzJ)u|cC9d#-geR)kl;}&H1{hP;HQ}mBQyda0*_NT&whFn$s$L@@)p6@J z7!^-9-Ajb06if49wQ9+x&q)}aaJo@;C<9J|*tF#~?dS5)E9~yFleW_N4iu0(ieia- zAM9MdfBC_c=c&Ez+ah36v^2O|?du|JDH ziiacF!~Uxq986Xux+QLk`-$_C?H90#(!%c;5Foz;z#X!er#WWWICA6DNs$0 YVVD;v@&YA)M}zNri4mbOq;6<*K}9KP8xfqUafW(11>ac>vg6i{3n>g9 z@&nk)$O!7j)c?Se(YlpCV90>fi90)Kfs_2)bML)=-uHd(d$FhjwyvH<_BRN?4}O>| zX-r1<7`Xrf*aH|00EU-Bc4LCRpo!KbpYP)vFnY`m7k~g0VqgkH#BcyE$C;*t1yjbN znZuGf#khiHcFvi3JT(BO+E=tZ%{Py|x4Vwl?pds{nY8a9etor_M2mKwO^xc=qZ2aB*!|S|2LwevyTBtw0rox^0&r zL{)@b4~Gut(+Hi0ZD)K_u$*=fxTJUNVSk$aNQ;?EwI-_9ng*RdtQxIDJu{OkyDfdk zs5Nw2XtWG&vfg-6rOM8>QQd1C9;F?pL#170Q*a}E4*acyM+^oamdif{Syo3P$jv64 zB{N`QDS8#(S%~U!X*t@D=N6-v@%%E2m6oFYkp$(9OqFZt8ca3+D|W3s$tKoO_u$X~ literal 0 HcmV?d00001 diff --git a/__pycache__/show_int.cpython-312.pyc b/__pycache__/show_int.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b0875d9d2fd45c89f7c80c7dcb3a18d99d0dda46 GIT binary patch literal 888 zcmZ8eJ#W)M7{2pI>Nri4enM4M>e9ij)GREm5CYmz48^G$XQ-D`$X(PRf3*H6q+;-p zAHdd*3@oS%6Mupwqjf8Pz>oo{6L)rufLHQ!&->nc@5keB)v5}ZeSIAFKS2P#bEhzA zN+$Oixds9_1Q?6}hPOg~V}YTdiM=A9pVJ#K*<;Q%Ai#ncSOO6-9D&0Ju3(w@C98~QM!-^sidLpG?KAJK?uI=!)*q7@6WKReVQ|ex!2%YsgyjM33j;WS zZJ?D5s`%t08u$d$^1uzzW!H`f6?Ma;YTxsFM0d}l(EJQENX4EV1iZz@-HXPV=a5F^ z5V!GQ=tW`lnl$!3r$6lIjb0Rlo`YNulc4eRjpw_O-ADgK12!;X{dUfWw4xiw9TS%b-{Sr$Kc$tk2 zzrqfmzrLy$!xwGmdD;Sl7$o(j50^K?@rpLCZH<*JzskafR-p<)Zr33QQ57M_!;#JT zEJ7Di*Ph-~dUiJm91@;+*q>z&X*JhJZ=)l$Px z8m)sSRra5l&BNBoX*O-PP&P%r0T;pN!2fWt%U}c&x&A|tWpyHg(tOHUItP|l<5$Vz za(tB3R^#W%!b%){-U IfI(L0H*06xJ^%m! literal 0 HcmV?d00001 diff --git a/__pycache__/show_text.cpython-312.pyc b/__pycache__/show_text.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4b3ce47340a82cdc66753c254952d6a502a1c548 GIT binary patch literal 898 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 literal 0 HcmV?d00001 diff --git a/__pycache__/write_image_character.cpython-312.pyc b/__pycache__/write_image_character.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d9ca4f2092860d5c9d4826c4f9225d454ac17826 GIT binary patch literal 1144 zcmZ`&NpI6Y6dtc}lI|;IQOha}sF6?sL0MEn+NOY0rH)X2v4Uqp4R+jm5u_9;5|!wY zTagMWLXAttcu_@;Bd`d4BW0c{4vcI}?D|`|lr04Hkf( z)HyJ|O`0bN*#s<@0T8SM$n26xY8t4pGH0}$7PePF^Cs~(0RkEWfyN>ZGV5Ts9jWn< z)da|CBILCg6f_BnS{%mKftIL9avb+Rb4?#*?cxiRUMjjp!$+>c{IySvaE^S<2?Cp> zB*;Pz@+MPaBPRTpiJwW-0+3@0mRz(Fm@a}?Tu}2_Wd_IX!17JYEF*PV=5Z1t&v4CU z-*n1YBvsHchHR%r49oGCkoOhH3}!r!);G5QEVbm=C>7YKoSLXOfge0askCF4Duryy z2t41h^|C_}ryjm^+;U)*^dqycsdC+<(skoN`}lGNC$q|YLDkj8`OL!V=rIR0{#O8P zgEvQ@3K}Bl91h1W?@WH<>sRj8NAHKH&Tqe}-Kbx@T|apzJbhvNZ7oy3bf zZU{7G+YUQ=j!bNVHD-%+b&ZXXi;&*}Ut;fsHK9cN$11DrwK2DYM9U)PJ!F+!i8yYY z0=?93k^ts?^v3r@LdPO=yXaCsfmQjqLp-+V0TS+ABv1um-52(%qKE`|jC;&8VOT$1u!qc90qV1qeiW{s3AIG@1Ya literal 0 HcmV?d00001 diff --git a/__pycache__/write_image_characters.cpython-312.pyc b/__pycache__/write_image_characters.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0c934d922ed981c7fe14719072f0c4f73c71cf20 GIT binary patch literal 1615 zcmZuxO-vg{6rTOHy|yt1%3o=4C`#kD!fk?@w23N#GpkVRl_& z%Sb*Tl}b6J?Ey<6Qje*)aO6mDm3mo}L# ze!l|fDE|CS=1&oTKiJ`P&~sxP_tIq(@L&Q!unr)%%{Lh-P~^ixx_M~Q6An1O-q1lH z#X*qbkpQ`Muzez#5+R?GppcTGm~ufW<%V*~13l2S&ZU&1JFJkdd)Tm1Jf|CMKo@k=&qJrOC1zSAp?8aiKIn%s{o1y8rd#G;db?aCF4M* zged9LM`)yDd}=nKF3jB4qLX8Zv1l@uAWFu>X%x>d7wjYv;%f4Mg>WEI5*CRIqKsb1 z+C<11c}n!hM6_(Q9Og+^zL0x}ux4hoGZz-|p6#^{iDcSK2orfenTV?sRL7H}wv4Qi zN7%z02*i!iO2NPg61TZ*8)jb55_!ph5ap@7g!TL)B649F>NcX{LON>^f0M5nENF{x zhQ+cQ3WZ*O7FjZLC{oCwd}Op}7VN@96p5O-OmQI|Nf#{J%xQTOA}ccf$i(?Vmd4(C zyUI$h8Laj#j~ZDn5^r3cTS#ij`*X4RQs_L0jI>Cw^ji!a74WLJf5ZQKu>0vs_2Lh2 z9s$u4*chw%`hN3;_I;sR$3XRNHR`m7oVTy-zWGHW zczP>?p5enzrCq55#iJb4s6d#*U5$l^HhOH6?(-j>B<|BZrCR~afaRt07*n!I+mZnp z^3R1ev853N3P_3zzw$D8^$2jDo2>Nh zPru$QeOLN%>cz^7v@>*NXZ&T)HK+UfF7I^R*!SJ|_Eue>qOaP!HdZ&~33AKsevy(b@ zCpJ&qw-?lCGCr#k@9aX7p_Yl7_;+>T|Ca literal 0 HcmV?d00001 diff --git a/__pycache__/write_image_environment.cpython-312.pyc b/__pycache__/write_image_environment.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f9d18f823b949b98ae1e6c31f807949b837e444a GIT binary patch literal 1379 zcmZ`(y>Ht_6hD57B4x{NoH!1gMgbBuMBHdGI=Dp&$5n0B32j&s0&^i)9VM})NaaY@ zm7oF|4Af&c3#bbio!n;0*s)uO4wX0I*8BrGtvevkTdYDz_L z{`mF#%3lIPubFUu#0fLJ3Ctnl(K^CtA7Sn#Kem{t$?HP-+@IYO3mSd|!Xa{y$zf#j zj)1v+^m5{9ikLSgESNGD%>)D*UCKbR=RKEF%08M|_2MIjkJ<1*9hpU7!g} z>^;}7wlwTk-N^PbHi@X#s0C3_C3d6Mq;jFSlQ-6BvL1Vp>$$#D)J2*EKP!xyo2kRmmEp3%VnF7OnCDYrGrDajovg!ejJ;tXj>qTsP6N^^%>@ci5Q7yn^4gzUvCs!=( z7~_@uS29+gSkq|?cWf2r zkRQO-4h*cQOaBK;VIjIJf54CdsT1cqNdrgncV73N$9MfTlhF`}^8G{W2S(^8cP1i@ zjo}g)XGlQXh@d_q_(B+EOw<*MVsmny>v0ARpMZ0QC^9iYra(o4`{-hP(v*l`%0x63 zBAE#yn<`PvBuSVWQTxbDb(2MnC0}`VKn?mnXu@DOB7-HuH(UTXgJFn3L?RK{#x23d zHm;+hqBGT_$D!>}!lVF7Fr{wPD*84{I$=Ao+jfTi(mvrN@ydEYC!ul+z+4CAA?Ogn7Nh zNGYJ0HtlH?@fK4jlQk!=z%OyKV!~#@;Dnt5NvF64#C;NgEK&D(wW7d;&}NE9ePGB- zjzW@8+pRe7^O}W%mjdO@0G#BfYfT5?P5e249vUpJoChB}m-)-Yx9r-Ly5?mdt{2lx zwXDveLoJJGmgTr4Y;!wpS;ygFdz?u%+lRjI(BQ}=UK%d4bggVOYWj%O8&BVOS*|m6 ztD$cim8#BC)rP^T*Q+neY-a3K>egPRZZLIo!zgc8YX|WL@sjaSqpdhg9tZwM`0D_D zG>~(@1XuaBzoS~@&h kT$nRDZFa3b9WDOMy9 3: + i = np.squeeze(i) + # Ensure the image is 3D (height, width, channels) + if i.ndim == 2: + i = i[:, :, np.newaxis] # Add a channel dimension if it's missing + + img = Image.fromarray(np.clip(i, 0, 255).astype(np.uint8)) + + # Resize the image + img_resized = img.resize((width, height), Image.LANCZOS) + + # Convert the PIL image back to numpy array + img_resized_np = np.array(img_resized).astype(np.float32) / 255.0 + + # Assuming ComfyUI format needs the image back in tensor format, convert it back + img_resized_tensor = torch.tensor(img_resized_np) + + return (img_resized_tensor, ) diff --git a/save_image_path.py b/save_image_path.py new file mode 100644 index 0000000..e475d4a --- /dev/null +++ b/save_image_path.py @@ -0,0 +1,39 @@ +import os +import numpy as np +from PIL import Image + +class SaveImagePath: + @classmethod + def INPUT_TYPES(cls): + return { + "required": { + "image": ("IMAGE", {"forceInput": True}), + "path": ("STRING", {"default":"./output/default.png"}), # Add path input + } + } + + FUNCTION = "save_image_path" + RETURN_TYPES = () + OUTPUT_NODE = True + CATEGORY = "Bjornulf" + + def save_image_path(self, image, path): + # Ensure the output directory exists + os.makedirs(os.path.dirname(path), exist_ok=True) + + # Convert the image from ComfyUI format to PIL Image + i = 255. * image.cpu().numpy() + + # Reshape the image if it's not in the expected format, remove any leading dimensions of size 1 + if i.ndim > 3: + i = np.squeeze(i) + # Ensure the image is 3D (height, width, channels) + if i.ndim == 2: + i = i[:, :, np.newaxis] # Add a channel dimension if it's missing + + img = Image.fromarray(np.clip(i, 0, 255).astype(np.uint8)) + + # Save the image, overwriting if it exists + img.save(path, format="PNG") + + return ()