MeUtils 2025.3.19.19.13.35__py3-none-any.whl → 2025.3.21.10.18.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -92,7 +92,7 @@ examples/_openaisdk/kimi_qa.py,sha256=dNBIe01vK7p-8cFnbgVXJ5H3xPSW32-cc0rwZx3K_1
92
92
  examples/_openaisdk/minimax.py,sha256=zOshBkL1bHgRlj4z6k2FQRScNTr7ysZkfh2-OaAynkU,2116
93
93
  examples/_openaisdk/open_router.py,sha256=ky_tdPX9CZkq4rAnjaFrOY_bygZuy6V8jIQfh6bq9U0,1497
94
94
  examples/_openaisdk/openai_aiplus.py,sha256=7sT2t4jjZBABFiwKQwUjgdilO8s006NuPAPx7neHER8,1182
95
- examples/_openaisdk/openai_audio.py,sha256=Fcp-k4CzU0oB7vDKldRLwUCIRIwwVn_w9CmbEWacbOk,1002
95
+ examples/_openaisdk/openai_audio.py,sha256=KVJOmPdwD5_6Aa5nttRQLSa824-JKGGyuIyHh2IOl8E,1181
96
96
  examples/_openaisdk/openai_baichuan.py,sha256=-xhHovkFmWOTX25CJjIon0my-ocmwfAZJu1C0eS80Xs,1614
97
97
  examples/_openaisdk/openai_baidu.py,sha256=qnrxP66lY7Qf2jEbFEHrt0FrR5_Aji1AgwSI_46IabY,1969
98
98
  examples/_openaisdk/openai_cache.py,sha256=89GbJ1QlqQbVxlUeuFgEbwDYHOkum7BK0zB-CqmDAZU,726
@@ -108,7 +108,7 @@ examples/_openaisdk/openai_files.py,sha256=zcF4k4sQ2FnINhq6x1wCKw1WCu93g1h69Yul_
108
108
  examples/_openaisdk/openai_gitee.py,sha256=UQEJMQMQDhgqYzo_aYetYXnBmVtqRwIweJDDK3NlSMw,1205
109
109
  examples/_openaisdk/openai_god.py,sha256=O8fbhyxiIlVR7pTvBTXgQ2QTwfcZ2MkEIyDe_jp797A,1056
110
110
  examples/_openaisdk/openai_groq.py,sha256=_5Ue1yEx0Gp6theFioB_D8kepR0UlqMU96PVGH-LkVY,7363
111
- examples/_openaisdk/openai_images.py,sha256=RAnLVKGAXXrStRSfZQ2k584vfEpACf94s1_g57IV2Xc,6005
111
+ examples/_openaisdk/openai_images.py,sha256=_ceVlEhg8sSpsBqyMpaURqnBNdmQt-L7-UDb1N0IHmk,5980
112
112
  examples/_openaisdk/openai_jina.py,sha256=QeGRXMQmkJyg8Cz4Vfx4pP39a5TcO7pQQfPAPbBA8bs,1628
113
113
  examples/_openaisdk/openai_json.py,sha256=M4tq_IkzYbmtgbFilGQHmRdJhH0OltiwGk7cK7uc-sQ,1850
114
114
  examples/_openaisdk/openai_kindo.py,sha256=dRQd8BOUDlWo4xp2l1s3BeP7qv19i7CUjx14NRv1fxM,741
@@ -327,7 +327,7 @@ meutils/apis/kuaidi.py,sha256=4KrtOkbGlsLpyvbY80UMSo03iFqFiBHnE0CiqAWWQ4Y,998
327
327
  meutils/apis/llm_qa.py,sha256=XM1VMkOTb4xKzgVk56dPC1e8lg7SbnfobBVgfLXiX9A,1207
328
328
  meutils/apis/niutrans.py,sha256=tWUyGH5SReLBQyVuB7kZvoFB35dsN6gXN-anbiHc_B4,2298
329
329
  meutils/apis/search_music.py,sha256=HBLtdterztrccnLAPZrWBlrYSx4WCRflCqz-V30fOA8,972
330
- meutils/apis/textin.py,sha256=vkl3VI3ox-m-0UA-DBTOCZURAlD9lA7nA-057gJLMoc,4880
330
+ meutils/apis/textin.py,sha256=Alodn8U5J1Pty_sv1in_-f3B_G5PDERQRaxOCtH7Xcc,4894
331
331
  meutils/apis/ts.py,sha256=Q13EOS9Q-Y2-KwOG_cFMVmGj9RUmDtxk5A3E27dxbN0,1511
332
332
  meutils/apis/utils.py,sha256=hwIj67IsuI3255l3rDDHmcwUIlRoK_xLnE6iCvqOi74,2045
333
333
  meutils/apis/web_search.py,sha256=6gS3leIB2iyeLtqhB0IbpL_mKzDgArRTqnR7odTWT3E,1035
@@ -337,9 +337,9 @@ meutils/apis/aitools/baidu/__init__.py,sha256=4fRDQV9EezQDG4bg-WDaB3jOCr_BcSVChH
337
337
  meutils/apis/aitools/baidu/sdk.py,sha256=5uA1bEqwNYpJirFnwoMTI6Jua3r3DlVNr90RffG9rcs,1132
338
338
  meutils/apis/audio/__init__.py,sha256=y7Rpn90LocHhA0ywrDP_fT4QAK7sr4JsIX5wLJgkNHA,241
339
339
  meutils/apis/audio/deepinfra.py,sha256=O-IpAnHfx25QCjhB5xaIYVBy5AbyPzmVz-Pr40gpnsM,1773
340
- meutils/apis/audio/fish.py,sha256=rTRaxXHKYfNNUU3DhXT-S9rTqJAQmww0DiA9ZqhgvO8,8378
340
+ meutils/apis/audio/fish.py,sha256=jPvTveRcDtvGDgRT6EA9WJitAQxftneHxvEJ63yY_cM,8392
341
341
  meutils/apis/baidu/__init__.py,sha256=XPkz3DHrDdxCneaZct3y7MaX0Aw9IIseOYOn1YuVBII,243
342
- meutils/apis/baidu/bdaitpzs.py,sha256=z6kIgAuHQJVn1fawPrUTNlA7oAHpWZSil8eyCuWonP4,12812
342
+ meutils/apis/baidu/bdaitpzs.py,sha256=JuBTTSm0AyD1I_N7xj-s0iOGOwCw-cUF2OthLR3rFGE,12826
343
343
  meutils/apis/baidu/test.py,sha256=nb9ivelHIw84-d1V-MNGRpGoTpLFsNXPk-TTKpjwOfQ,2058
344
344
  meutils/apis/chatglm/__init__.py,sha256=uFuc9qY-ZjGqbsfcdGZkcEkhjATojWpzk2WXTTujc70,271
345
345
  meutils/apis/chatglm/glm_video.py,sha256=9LA9pyeIcDDHXGhJbZSJfjxrLeNC3SIuCKJwDIXRKR8,14015
@@ -349,7 +349,7 @@ meutils/apis/chatglm/temp.py,sha256=zYe6JGUHVfb77T_TdNsdmpTs2D9OyqDTUEkblDAIoYY,
349
349
  meutils/apis/chatglm/x.py,sha256=lI86Cd6SN4noCN5HM9gRugcVmjHDtxDTV4m-7Bj61N0,24312
350
350
  meutils/apis/fal/__init__.py,sha256=A7w3ZAS7Tv20N4X4Em6NshDxKSCPAzaPxHJTbM3BbyM,272
351
351
  meutils/apis/fal/files.py,sha256=Gppdo96uw8-TCDr8P691jV7dK9Si-E-kJXFJR5BVt-Q,1373
352
- meutils/apis/fal/images.py,sha256=YacJb4sdyv2J-R_OPc_P6d6EB2HhndRt862wEHsjRSU,8546
352
+ meutils/apis/fal/images.py,sha256=0diKFpsiO_ZZTL8LnNMN5wV2urfhIEIqIMe_HdrdiLs,8707
353
353
  meutils/apis/fal/images_.py,sha256=C-C1TTQtMJ6RRcd-4FeYPn0R5IpPRPUFmBbrTVs_ypA,1446
354
354
  meutils/apis/fal/pd.py,sha256=oPrMK_FJqohl2Kf0U0it8SqgvIlSEYFcSX8sfVkD8bU,311
355
355
  meutils/apis/fal/videos.py,sha256=GzMyS-nBMGAXHaCLKxgCdzowB3jpJDXLb6-y1v0zKNo,3387
@@ -374,13 +374,13 @@ meutils/apis/hf/r.py,sha256=jvD0WBM5dEZGG4rfdGZnUIh2W9sv-fqTFo-8ouLea60,1272
374
374
  meutils/apis/hf/x.py,sha256=QYLiTlTZk1b0wczGHeJMjQABQUQmI_Wk45gbCcCAdIc,862
375
375
  meutils/apis/hf/证件照.py,sha256=NVfFp-wO1YCpvf7ClInK-jVJO9atZuk9VN93GrPohoc,1262
376
376
  meutils/apis/hunyuan/__init__.py,sha256=vJg28p4USaiGt3vAPKurjuxTPtk_LdmThw3cNc48vpI,272
377
- meutils/apis/hunyuan/image_tools.py,sha256=jJ652uKakJaFjqBN8oy---GEI_u5ttAob55rmirdl9Q,4678
377
+ meutils/apis/hunyuan/image_tools.py,sha256=SYovMKvv0QCPAYnIPqpDfXyVSOvyEuFlNNCA1nJ2RcU,4692
378
378
  meutils/apis/images/__init__.py,sha256=hs7HUJZvw_3DAtoapPnbZsEb4ng1p0a6fJGFFWwUcUk,272
379
379
  meutils/apis/images/deepinfra.py,sha256=lMqfU0LIXEzHiAS31dCcoTnPIE6tpoDJhq61H0TVJPg,3219
380
380
  meutils/apis/images/demo.py,sha256=Cjk-EKMKbp44czykW_44qR0TzElX8nNCALqXBBw5sJA,4405
381
381
  meutils/apis/images/edits.py,sha256=vyX5AEZcNvLHB4fXWo2PdviNv0jMMO34e1k-IbedjO0,9935
382
- meutils/apis/images/eidt.py,sha256=42dCdGPSLvr0zh8OZtwQxi-5B6Ln_o_FsL1gt2Ura_k,750
383
- meutils/apis/images/recraft.py,sha256=WG__BYqTaImMFQPxDHp_l90RkonOU2aI_paAO6bRtEc,64911
382
+ meutils/apis/images/eidt.py,sha256=s8IBbCjwwoogIUf-d2O7nkawUmly9n19nvLYPaLEeg4,1217
383
+ meutils/apis/images/recraft.py,sha256=FHf0jvTRBXlHZrzrrS0MQumqnjtdlu62A2L1a193s6g,70537
384
384
  meutils/apis/images/flux/__init__.py,sha256=W_PZabQm6EmtJYmzEiEpL_WCXTAW0AiJ-t_n5UTrE8c,271
385
385
  meutils/apis/images/flux/fluxpro.py,sha256=NFl9t9C3R3jsNJpez4o9tOz3r-fjRXj-vKMxCSTRDTU,4022
386
386
  meutils/apis/images/flux/mystic.py,sha256=cUkqaMAbd3dSBCvFEoNBBoEoWCGzvBJWPEkEq1Q8xzw,3616
@@ -432,7 +432,7 @@ meutils/apis/oneapi/utils.py,sha256=p7zI7QYPqTaVHjk4jLJxb6EsLDNQQ6DVp_wZTgE8d2Y,
432
432
  meutils/apis/pixverse/__init__.py,sha256=WiboEUfJ_3Hs2WI3OymEspx8_ZSTgMglxTJd97Qk7qo,271
433
433
  meutils/apis/pixverse/pixverse.py,sha256=dvnyYVUXCEY_cLnmX9lvq9TesvplCMCuJmmP7ShchQk,5534
434
434
  meutils/apis/proxy/__init__.py,sha256=by7_6GT3xeDjAWLLqbw8uvGaZ3RdprEW-zJ2DFLOdwA,271
435
- meutils/apis/proxy/ips.py,sha256=jqiM7mZKFCvdMtu9BwnuAOfQZwYEHApmOkdKmsntGuw,5405
435
+ meutils/apis/proxy/ips.py,sha256=JqW7f2eWKmykfDYNBXUccw9QIloK91F4zfphERbYT2o,5090
436
436
  meutils/apis/remini/__init__.py,sha256=8TbAnbI_bDfH8g0Y9EHXHBum7C0rZt9MzgAAz_MbAeI,271
437
437
  meutils/apis/remini/remini.py,sha256=bJjvtqrCNlAu7No4gYGjoWAM0ch6dCsofYSy2jPZrXg,4239
438
438
  meutils/apis/replicateai/__init__.py,sha256=PK7e7-xhn5aj5WOyGHLzpsHQvpeM5uTOiMylvj40ZmU,272
@@ -526,12 +526,12 @@ meutils/cmds/subprocess_demo.py,sha256=oTeTIx8k6XwtOT6hZpmy9XNcRErzilqWcdoxcrVcH
526
526
  meutils/config_utils/__init__.py,sha256=GhgsStfGJDC8F_YgC6X5Jnj9HkgXJXxeYiJWTAkWKTo,271
527
527
  meutils/config_utils/manager.py,sha256=du-8e9Zdgnrn9e0b4GPR6FGtuQY7DLWNJqgkoU0TZ48,3147
528
528
  meutils/config_utils/lark_utils/__init__.py,sha256=Gf-5Y8uZiqY9jdbfiIboL92MQjOTOo0ZZ245PGxCbaY,297
529
- meutils/config_utils/lark_utils/common.py,sha256=2FM9IMfaSI1PijFK2fVh6wt2sN47FPKeEAFY3WHaXCU,14372
529
+ meutils/config_utils/lark_utils/common.py,sha256=PDAXAZd1LsIgjuhu4hpZosNgSiTvqmnz02c1EmDdM_o,14507
530
530
  meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfHOno5NxNAio,293
531
531
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
532
532
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
533
533
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
534
- meutils/data/VERSION,sha256=VaaCArnHs_ntLwtx-VTZLNDg1uc6eTDNovKU_kIEG5A,19
534
+ meutils/data/VERSION,sha256=InulylyelbjCTx3d5NdjoKWpvSCYw64gadlsE8BOX7c,19
535
535
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
536
536
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
537
537
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -578,7 +578,7 @@ meutils/init/evn.py,sha256=GPw9Un8YbgYJmjwd-uYWQ8JeVr6pRxwyYbDv3W8fb1s,1588
578
578
  meutils/init/oo.py,sha256=jXWaCWWFYVPGgTIas47Z3J7sIq-CD7DyK6fKDBsq8GA,12884
579
579
  meutils/io/__init__.py,sha256=uW43ZfdWu7adRvwvcTzUGtn4CseRmbzEJdlZV-oqHEA,2107
580
580
  meutils/io/_openai_files.py,sha256=UIiu6Zg7iSFIn1xIcpLznFlnfCxAJFGuvuPtxvTNHfI,1005
581
- meutils/io/files_utils.py,sha256=e3rFAyL23IWQn3_78UR9K8tT3B1YQvNH9ahp9XV30aE,7823
581
+ meutils/io/files_utils.py,sha256=WrLVGR0zFueyQKJs8dkPk6h4FoNvU0UfPs-2ujUFXGc,8030
582
582
  meutils/io/image.py,sha256=BJmYzx7o66X7C32gOfVmfr5tBRXOi0IYQY7BpGLsGrg,6926
583
583
  meutils/io/minio_utils.py,sha256=i1YuxwDJzLse0smMXuPqnD1wirBBb8psmB_kd1oPoVU,1274
584
584
  meutils/io/openai_files.py,sha256=wJ-N03Ip4QCyh10uwWEQuqnbvZEys9hEP4ABLybR_DI,5474
@@ -612,18 +612,20 @@ meutils/io/parsers/fileparser/filetype/types/video.py,sha256=DfkFd5ofnEK25r_n71L
612
612
  meutils/jwt_utils/__init__.py,sha256=hU1CYBK90Q9QKVrf1s6VFKZwWjHioHa6bO2AuDn7_eo,272
613
613
  meutils/jwt_utils/common.py,sha256=MlWDLtxiF-WeRl3oyK94KIa6BKFIXVeJtaQUnpa9ayo,814
614
614
  meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
615
- meutils/llm/check_api.py,sha256=Vlan35FGvjPLP-dZu_Gfgmki-G89YPV96-x1oXji79I,3566
616
- meutils/llm/check_utils.py,sha256=Y4icZslJF7rbh4IS6SHPrMWKiNoTsgidjglIfNTw5lI,4744
615
+ meutils/llm/check_api.py,sha256=Cu60Rvp7zLmmazuLXxpK4z-FCab4NrO4nH5LzfYjjoM,3591
616
+ meutils/llm/check_utils.py,sha256=OMRrUrPaIVuXODi-3TCaW5C-XFyq8sE0FDiLvCVpvcM,4917
617
617
  meutils/llm/clients.py,sha256=h-KHaHhzAjE1paW1tHX_LbCi9bfWmkub8NyV6ctsB08,2523
618
618
  meutils/llm/demo.py,sha256=gyGjTxuNFMOa1X4CXaChkq0lcjbKiRsnSRhkeMvsoQk,3822
619
619
  meutils/llm/mappers.py,sha256=ZQLl3OuD06kVMP8bwIpVgAB1UVzMJWUJiZ3vgk-ZjeI,303
620
620
  meutils/llm/utils.py,sha256=4u3b8VO3wX3xKny1AdV4579qXux1YA4k5gI-CYPtx0o,4279
621
621
  meutils/llm/x.py,sha256=ETvKKDTmDNrik0K2-_a_SEQxyV4X4-fy0JPrAOLNPv4,1732
622
622
  meutils/llm/completions/__init__.py,sha256=q5FEYPpo2f_P44Ghdh9fkrmqZLX2Asso8p-nf-ZTqks,244
623
- meutils/llm/completions/chat_gemini.py,sha256=tXqkISSi2EYum4cjo6AsgTS3074nlYZtEt5BZ2HRoiI,1820
624
- meutils/llm/completions/chat_plus.py,sha256=ZLR1OeXzCwBMpNs34wHNQZeJPKfoWIKIP9Eo67aGALc,6874
623
+ meutils/llm/completions/chat_gemini.py,sha256=p0icJorneJhMEfzt_IDwUXFMEomYXiZ0oYI7fdH6k0Y,4336
624
+ meutils/llm/completions/chat_plus.py,sha256=mZIAAZ0r_uJeOWRAcidVhuFFuWORB7J2D_BnX1GpKE0,7142
625
625
  meutils/llm/completions/chat_spark.py,sha256=WKXRSCj4Uive95pgPDXcJpQT0tTL0TgFIRY6AQZbYl0,9529
626
+ meutils/llm/completions/chat_videos.py,sha256=P3Yz34dkNlxCxzOuKHJ9pHIA4UXK3Y5RXPzVnQjb9rc,2915
626
627
  meutils/llm/completions/cp.py,sha256=tGf3umHKXDH0KuTfN7BLr8yAvN6MYWLYR5UVaJkJs0c,4172
628
+ meutils/llm/completions/deep2x.py,sha256=e2CXIbwBNI9ck4cLMq-9n9YGOmPQahblaA7vZsS97QE,3333
627
629
  meutils/llm/completions/delilegal.py,sha256=mr53ps7I33SC8Fjy4rma-xoNF-mLgwdZfHgdSOyLtQY,5131
628
630
  meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_BA,3048
629
631
  meutils/llm/completions/kimi.py,sha256=TSkLObebIAb_oivOMq3aKx9qoXcMy611_g2yIKex9eo,1541
@@ -672,7 +674,7 @@ meutils/office_automation/pdf.py,sha256=B8ScuLpqLwVOm4iIaUWGkyQDtJtwEXdmxZHJrbIj
672
674
  meutils/office_automation/pdm.py,sha256=AFKdLd80v0XJThs6toigSdzaW1xT02VdqbDtUWBxdGo,11894
673
675
  meutils/office_automation/pdm_run.py,sha256=GF4VlAXDFQ6oGTrWsLqF4YvrbINhL9Ei8A59cYDeriE,13502
674
676
  meutils/office_automation/report/__init__.py,sha256=llPWtGZdUcsw__Eym2FLOVh4Bew5PgPUDfuKS2s1RMA,244
675
- meutils/oss/__init__.py,sha256=WUp1ZCdwYSN2OrqLlSgYI86vb7-FbqLR8Biu8484hwA,454
677
+ meutils/oss/__init__.py,sha256=CdZLxZtw_3aWFrajRu2D_PhVRvnwgtFyvbY4yAbTGuo,248
676
678
  meutils/oss/minio_oss.py,sha256=CqDbQzSp9zaQp_AAyRswof8_q9rybweZAPRlX53T-lg,6438
677
679
  meutils/oss/minio_utils.py,sha256=e0Vg7i4ncgB6PAs1rJt209jHWzrufkout_PUmb8UWlM,1298
678
680
  meutils/other/__demo.py,sha256=-cAInEF7G_JbOp3v8UHHwQpSrzPk0zqz4XoFnJ81Ixs,979
@@ -763,7 +765,7 @@ meutils/schemas/metaso_types.py,sha256=r_X0Exs_2S3rNS71RneemMpz7EvBIOLBfAMmWMQRn
763
765
  meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
764
766
  meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
765
767
  meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
766
- meutils/schemas/openai_types.py,sha256=QJZFMVg1mecj-pQa9REPeyOPs_UyTNe81LWEtnCBevo,20568
768
+ meutils/schemas/openai_types.py,sha256=v9Vk66A7Efco3_-yQimo1gSUecwjxD6Yr5zE09nCx8U,21383
767
769
  meutils/schemas/pixverse_types.py,sha256=3mHg2KxvszV1U8K3GdzsODZz4uocLVRjEeJgYhX0Xmw,2347
768
770
  meutils/schemas/playwright_types.py,sha256=zhZd53m1Wg4zlGtq2JM4z7Aon-u_eF6rzs-_TFYWvkU,1177
769
771
  meutils/schemas/prodia_types.py,sha256=knh_lzAxMfWMoqAPmvyMweay9PmQmsoQ1X6Mj17ohWg,476
@@ -785,7 +787,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
785
787
  meutils/schemas/db/oneapi_types.py,sha256=YanT0q9pU7dva2ZBPWjCpwGNUuifnJh0zUJJCQ9070c,3848
786
788
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
787
789
  meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
788
- meutils/schemas/oneapi/common.py,sha256=GLtjCZAaursGsf8kAK_kdxcq_bHg_qOviu8ScVS-4fM,31454
790
+ meutils/schemas/oneapi/common.py,sha256=lQhf63UwzQZDsdxaJokJWzHhmVPB4P0d5dqM-L1t2SI,31473
789
791
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
790
792
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
791
793
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -840,7 +842,7 @@ meutils/settings/demo.py,sha256=Ht3t6LREQsKa5W2owNrOZNAoZfS-zItIFNwGhhPj-4k,484
840
842
  meutils/str_utils/Translator.py,sha256=tfvNQIeVCqmX9yW6jobeibDHG6X-XecSSAx9kJIFFyw,1258
841
843
  meutils/str_utils/__init__.py,sha256=BzTEbffNPWoJxEgjaRyGIWBxb9FxxlNesOUb7anJRGw,7215
842
844
  meutils/str_utils/json_utils.py,sha256=OXilMxLDtoFq5DAo3mHrIGx3GTOqHARgkcq8-gVYELM,1913
843
- meutils/str_utils/regular_expression.py,sha256=u73pti8KYXV5rhfjEtX0HvRB9_RJdqXvOiIA4Frr37Y,5073
845
+ meutils/str_utils/regular_expression.py,sha256=yDinNxZTicBdm8lcOlco3OsSkf4mDSKKDBMlCtjO0eo,5163
844
846
  meutils/str_utils/__translater/__init__.py,sha256=mtDbKL_Qdkeq5VPVO1M4ejf9H8PzKM5h7iepqkBG8N0,277
845
847
  meutils/str_utils/__translater/tencent.py,sha256=1E_56l6-A49Yuz2ZrMKxt-QJfcf0xDYN2X0dg58Dytk,1408
846
848
  meutils/str_utils/__translater/translater.py,sha256=A_9NLVvkjzPd9omIcJGhux21D-gcCxemyrZ7o6uGx_Q,1238
@@ -914,9 +916,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
914
916
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
915
917
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
916
918
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
917
- MeUtils-2025.3.19.19.13.35.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
918
- MeUtils-2025.3.19.19.13.35.dist-info/METADATA,sha256=LsYmxjeYKDLqBZRybLtre_R4UiLJOf406tZq4ZkTcRs,32834
919
- MeUtils-2025.3.19.19.13.35.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
920
- MeUtils-2025.3.19.19.13.35.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
921
- MeUtils-2025.3.19.19.13.35.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
922
- MeUtils-2025.3.19.19.13.35.dist-info/RECORD,,
919
+ MeUtils-2025.3.21.10.18.9.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
920
+ MeUtils-2025.3.21.10.18.9.dist-info/METADATA,sha256=hkYWOgBzL2_sPah0NtrqBT0XCx-2X8XKFjtrOe4n9ZE,32833
921
+ MeUtils-2025.3.21.10.18.9.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
922
+ MeUtils-2025.3.21.10.18.9.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
923
+ MeUtils-2025.3.21.10.18.9.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
924
+ MeUtils-2025.3.21.10.18.9.dist-info/RECORD,,
@@ -7,6 +7,8 @@
7
7
  # @WeChat : meutils
8
8
  # @Software : PyCharm
9
9
  # @Description :
10
+ import os
11
+
10
12
  from openai import OpenAI
11
13
  from meutils.pipe import *
12
14
 
@@ -28,12 +30,15 @@ text = """
28
30
  “至简”:简约简朴、脚踏实地、知行合一
29
31
  """
30
32
  r = OpenAI(
31
- # base_url=base_url
33
+ # base_url="https://go.sbgpt.site/v1",
34
+ # api_key="sk-PyICIMVRnckfQFjCTvnWjiFxpwYQvQmlwgw4EktV73tSkvXG",
35
+
36
+ api_key=os.getenv("OPENAI_API_KEY_OPENAI") + "-2738"
32
37
  ).audio.speech.create(input=text,
33
38
  model='tts-1',
34
39
  # model=model,
35
40
  # voice="1"
36
- voice="alloy"
41
+ voice="alloy"
37
42
  )
38
43
 
39
44
  r.stream_to_file('nesc.mp3')
@@ -130,9 +130,8 @@ with timer('image'):
130
130
  # model = "flux-dev"
131
131
 
132
132
  client = OpenAI(
133
- api_key=os.getenv("OPENAI_API_KEY") ,
134
- # api_key=os.getenv("OPENAI_API_KEY") + "-2688",
135
- # api_key='13OafcA8KSNO4XLrBR4DpvgVV9d59KCvPAmEdrtsvOIcU4T50B0EGstjLEqPnBI2N',
133
+ # api_key=os.getenv("OPENAI_API_KEY") +,
134
+ api_key=os.getenv("OPENAI_API_KEY") + "-359",
136
135
 
137
136
  # api_key=os.getenv("SILICONFLOW_API_KEY"),
138
137
  # base_url=os.getenv("SILICONFLOW_BASE_URL"),
@@ -153,7 +152,8 @@ with timer('image'):
153
152
  # print(client.models.list())
154
153
  # model = 'flux1.0-turbo'
155
154
  # model = 'flux1.0-schnell'
156
- # model = 'flux-dev'
155
+ model = 'flux-dev'
156
+ model = "flux-schnell"
157
157
 
158
158
  # model = 'flux1.0-dev'
159
159
  # model = 'flux1.0-pro'
@@ -162,7 +162,7 @@ with timer('image'):
162
162
  # model = 'hunyuan'
163
163
  # model = 'cogview-3'
164
164
  # model = 'stable-diffusion'
165
- model = 'flux.1.1-pro'
165
+ # model = 'flux.1.1-pro'
166
166
  # model = 'flux'
167
167
  # model = 'stable-diffusion-3-5-large'
168
168
  # model = 'flux-schnell'
@@ -190,6 +190,7 @@ with timer('image'):
190
190
 
191
191
  # model = "recraft-v3"
192
192
  # model = "fal-ai/recraft-v3"
193
+ # model = "flux-pro-1.1-ultra"
193
194
  prompt = '一只可爱的边牧在坐公交车,卡通贴纸。动漫3D风格,超写实油画,超高分辨率,最好的质量,8k'
194
195
  # prompt = "一个小女孩举着横幅,上面写着“新年快乐”"
195
196
 
@@ -15,7 +15,7 @@ import shortuuid
15
15
  from fish_audio_sdk import Session, TTSRequest, ASRRequest
16
16
 
17
17
  from meutils.pipe import *
18
- from meutils.io.files_utils import to_url
18
+ from meutils.io.files_utils import to_url_fal as to_url
19
19
 
20
20
  from meutils.config_utils.lark_utils import get_next_token_for_polling
21
21
  from meutils.notice.feishu import send_message as _send_message
@@ -20,7 +20,7 @@ from meutils.decorators.contextmanagers import try_catcher
20
20
  from meutils.schemas.baidu_types import BDAITPZSRequest
21
21
  from meutils.schemas.task_types import Task, TaskType
22
22
  from meutils.io.image import image_to_base64, crop_polygon
23
- from meutils.io.files_utils import to_url, to_bytes, to_base64, to_url_fal
23
+ from meutils.io.files_utils import to_bytes, to_base64, to_url_fal as to_url, to_url_fal
24
24
  from meutils.apis.proxy.ips import get_one_proxy
25
25
  from fake_useragent import UserAgent
26
26
 
@@ -125,11 +125,15 @@ async def generate(request: ImageRequest, token: Optional[str] = None):
125
125
  arguments=arguments,
126
126
  )
127
127
  logger.debug(data)
128
+ return ImagesResponse(data=data.get("images"), timings={"inference": time.time() - s})
128
129
 
129
130
  except Exception as exc: #
130
131
  logger.error(exc)
131
- data = {}
132
- return ImagesResponse(data=data.get("images"), timings={"inference": time.time() - s})
132
+ from fastapi import HTTPException, status
133
+ raise HTTPException(
134
+ status_code=500,
135
+ detail=f"Failed to generate image: {exc}",
136
+ )
133
137
 
134
138
 
135
139
  if __name__ == '__main__':
@@ -143,7 +147,7 @@ if __name__ == '__main__':
143
147
  }
144
148
 
145
149
  # model = "fal-ai/flux-pro/v1.1" # 0.04
146
- model = "fal-ai/flux-pro/v1.1-ultra"# 0.06
150
+ model = "fal-ai/flux-pro/v1.1-ultra" # 0.06
147
151
  # model = "fal-ai/flux/dev/image-to-image" # 0.03 图生图
148
152
  # model = "fal-ai/recraft-v3" # 0.04 变清晰
149
153
  # model = "fal-ai/ideogram/v2" # 0.08
@@ -15,7 +15,7 @@ from meutils.schemas.yuanbao_types import FEISHU_URL, YUANBAO_BASE_URL
15
15
  from meutils.schemas.image_types import HunyuanImageProcessRequest
16
16
 
17
17
  from meutils.config_utils.lark_utils import get_next_token_for_polling
18
- from meutils.io.files_utils import to_url
18
+ from meutils.io.files_utils import to_url_fal as to_url
19
19
  from meutils.notice.feishu import send_message
20
20
 
21
21
 
@@ -10,27 +10,37 @@
10
10
 
11
11
  from meutils.pipe import *
12
12
 
13
-
14
13
  from meutils.pipe import *
14
+ from meutils.io.files_utils import to_url_fal
15
15
 
16
16
  from openai import OpenAI
17
17
 
18
18
  client = OpenAI(
19
- base_url="https://ai.gitee.com/v1",
20
- api_key="WPCSA3ZYD8KBQQ2ZKTAPVUA059J2Q47TLWGB2ZMQ",
21
- default_headers={"X-Failover-Enabled": "true", "X-Package": "1910"},
19
+ # base_url="https://ai.gitee.com/v1",
20
+ # api_key="WPCSA3ZYD8KBQQ2ZKTAPVUA059J2Q47TLWGB2ZMQ",
21
+ # default_headers={"X-Failover-Enabled": "true", "X-Package": "1910"},
22
+
22
23
  )
23
24
 
25
+ "https://api.aiguoguo199.com/v1/images/generations"
26
+ # client = OpenAI(
27
+ # base_url="https://ai.gitee.com/v1",
28
+ # api_key="WPCSA3ZYD8KBQQ2ZKTAPVUA059J2Q47TLWGB2ZMQ",
29
+ # default_headers={"X-Failover-Enabled": "true", "X-Package": "1910"},
30
+ # )
24
31
  response = client.images.edit(
25
- model="Kolors",
32
+ # model="Kolors",
33
+ model="gemini-2.0-flash-exp-image-generation",
26
34
  prompt="笑起来",
27
35
  size="1024x1024",
28
- extra_body={
29
- "steps": 25,
30
- "guidance_scale": 6,
31
- },
32
-
33
- mask=open("test.png", "rb"),
36
+ # extra_body={
37
+ # "steps": 25,
38
+ # "guidance_scale": 6,
39
+ # },
34
40
 
41
+ # mask=open("test.png", "rb"),
35
42
  image=open("test.png", "rb"),
36
- )
43
+ )
44
+
45
+ if __name__ == '__main__':
46
+ arun(to_url_fal(response.data[0].b64_json, content_type="image/png"))
@@ -135,7 +135,7 @@ if __name__ == '__main__':
135
135
  token = "__Host-next-auth.csrf-token=b6b37b10948a6156a1a39d09bd43ab6d0867fcd6001987531fe6f86f802bb0aa%7C3afdfd56119e801c5cb80dc96670031c85a2d9a02e8205f38fc5d6128e1a4075; _gcl_au=1.1.386131236.1736384852; _ga=GA1.1.282109674.1736384854; AMP_MKTG_7268c9db0f=JTdCJTdE; _fbp=fb.1.1736384856672.571916090953259055; _clck=2fa0yj%7C2%7Cfsf%7C0%7C1835; x-recraft-referral-code=1f1xoKVYB9; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; _uetsid=1d264620ce2611efaf8a0f99cb3bbb99; _uetvid=1d2649e0ce2611efb597376fda548d79; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJlMTcxNjRlMy0xMjU4LTQ3ZTYtYTJmYi1jN2JhM2FmNWRiZWUlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjJlYTNmNmY4NC0zNzNhLTQ0ODgtYTRjMi1mYjgxMzk1YzNiMzElMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM2Mzg0ODU2MzQxJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNjM4NTAzMTczNyUyQyUyMmxhc3RFdmVudElkJTIyJTNBNjQlMkMlMjJwYWdlQ291bnRlciUyMiUzQTEzJTdE; _clsk=szrjt7%7C1736385032306%7C11%7C1%7Cq.clarity.ms%2Fcollect; _ga_ME15C3DGRL=GS1.1.1736384853.1.1.1736385032.0.0.0; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..SyUWD5O3-8Fu7f9K.jbfQGmUTAstB_wL4cyqA7QcbWKp4AFMnouf-WtJnwaPC4gIfu7iuNkXmrvbfp2YsqFJzSIl-5MvZrXt-bhk-DJtwqAdPzTw6sSa33I3IHWSS3TVlVFc9Ze-HT_6dIeMpIiN-rCSNGdpmtkEJLp_3WrCSGPB0NbJLLL_MGg6cQdS5WYz4trehD8sPSQUgYlTw_VaMImqVZOxKujLLgmGfgYdV8nl9p-JmFHMbpfcgn-yXqLca8E50sQOWldPw0p4RqsYyByUANX1POJAW33rm9fsRDHEKtVxOtlW5Hy1jev__V9UqSrhcvH_OQREngiQGYbtD0qLogeUg-vbL0VUAL-9USzXIn2Una3lP04lp3m_NKldiSShXsHJT8RW8IAl7K28ILGilA1fgx0V09JFIHhM4fX-hrPzqoh-BuxaaiF5czEHTtTPLXmnV1UiQgZVmfgliI2e_r9J3WtF-SgSc1Il2cvwxAsp66p5cjixFbpj7AULPXndQniHhTiU9zgDDdv-fEf0arKzW2w0--zwSmYizXMMpNblgxZ9k51CdOBCAM9YGtzDaB-NSA8I9RuHzmgXMvT5GMZSiezuoLdRRcVpuJBz-XF0v9QoQz7SQt6aMaCCTa-fxee--nfYZELu1Uhh90StcuT84VOAlx-wg6FxPEDI6cjlVtKuzcN_RMVYbWKO2z5xLw4zlqyGBleRjt7hNNt-IeCbGuaDxgbUViwhNr_qdh-_ZjQlz_FL4rzlJwPrl6puOsydFF8NIy0MU9oBdelGTtG8LwzNnOW_hGdqEfhXfDP9mzv4Fs4kqGNQxvT0PU2NQ5hIOTb540yHqTGb3kihXPaZL4YregR2-UPRxOM1qmWwgRZ93d9m0BUplhO9s9U2hYoLhp01ID8kiNi2AWp0hRcalh6PwgqSdzgbif3IH8AcHRJpnV2pRSbD7k883O6ukkItWPE-ysv-ak_Hl8FR046xjDaX1ITtyrJmTzFqQ627PGuOt01RmsVMOb1IFCcx4Fr4AYwOMDY0RDk1YxIUUqU4kyMZMVlMrI_ITcrYshdJwdr4k3hNk51gS3QUrhIDnUq93mvUSidSUy_jX47H-ORf9Al5poN3vNJPye9ogASdqRr2psn1UpceMzrejXz_xDSBllWGlSyAmHDlXniKfzGSbRtqET9xRZfy7X0iOGd0WW2Sb9BkI2OE6h2abFkeSmTXJTMaZXhQ244XkhvDVnps1QX4mdSIa1Js0Pb73DcWLV5TR1sTVxm5h9c1l5r-YxWQ9hjF3A43_V0Jp9ATDlcPIjewTqAcPuuNhcQRR6i7pt2CadiFpfT-h7DA1PvPRo7ReySBzDK9VhnlvodflQugnxj5gsRljH6r43s4OrgpJwCtENl-_yw4jDJCCXkJwHfLpSKhLR6CFSM52vrMa9fWg7iW1C4HIVVqyqIwC98-CTe5jYDMKrX_g40oDZL3XEhFCTfzl5o_UfqXJEWlDKZ0D_Aig7iNLDOEq3cwK9QDiP4-bX6jtM1zkltpCY-HPpwTXbtV4iIP6usg9lSJgCDgJjaS39rpBVYSrj-Y_PtPlPW5rJMVkSnp_f_J7uAwQWnluuEpxrb0Ap-vF4Vk4q9gBESbnk3PBg8wfFPC1GesPI4HyG8Jy3oIss8pDXba6D70soJiozgBcPTSxdeDIP1CXsRN2wiItYHeyslQE-_egn8oezT9__8LyVrY8guv14Nu-WGPx3R9xzpHn4TPY3nJQ6bU9H0PlB0qmJLsSh6tWtJ0Yl8-NMlEKr9WkcjOJB-QpFiDEyw3V7r65U5b_BOaNpzRA5OUJ_ZmCfufmyfnHm8R6mE5wqrwUfmxYBRfP_w8_ix58zwTzFsLe7Fii5_J411vqxFHefcljnpgFgf1UIOoAPBUfygBTVdpdJcWzA2QXNI9lKxUIC6pLme9rpNlXE2bCE1cn74qA974x1gBjZ5B_FVsmkYhFRwSboi8ypRFA1F6EWwSNO-LUQH8uVbrDisjjjAX19xq_Sibwq5P-dZMY6aLCuInQjfWic5NGsjjwh4xtBv3FTyt1nvt9SonxdsJi_wvcjEoCVyP7PfYy5Eo-MkOpznzGYc9slQscUhKPihaB7wlAJZxe99tBUHLJI6XoI1o2Z3G4KGRK6PTO_THOTVFBylKTMbg_jvHw63TL4-LNlhJ2efmSjnEZqpGkgIUb8wYSoG3OR-v3H7WPvvAtJAs-NfvQXSGaFZ3O-LnStvyT869zXwP9U6_NZjml7gB9iA0cZVw4o5tAFI5DPVstJAqSrjIW59cpTxxDo2zeBdl8aq5FoKIZ63w8QebUeibLT8_lejsWQtg8RX4WrSTbuZN-gtCsMY4Q-TY4gJtVygtjz44QMzYDXq0G5mlqnPanLvR9tOfZODm8z87e355KdmD7pI305NimlYjMAFECfAaQN4G3oDZiDb85KkO92JXlVwWbo1xfbx4FTikedjY-BI1ErQB5gxTgPo252aw5r9fItydPBE_nuZU211tc41k8IF2F_cbSZ9tUjZz14yb4Ux4RWUdtHs3y7Jh9_5Pj0dnS3dEgJ-7jlhz-v2tmrcgzcEKqDPQGdhKfLl__AMM_11LqMuvj0boYiiaDx8DHN95J_d48um0YvB5IU3sQucEXiRK2j8FpAXc9ptQqPTGdSzz4VhIE0EIzZIV3QqqaRqH6ZEXcNuV_DXwl6HOjui78yu-rpqz50E9fxePaV5LHPbzXp_ZEOLrWonqo9ZAIHzWhCbVM_vMxK7CnrfmhW4ow8l71maoD0ToyTW7J0KbegCnEVyVhAF-IqYc98gq0vEbfgH42JKk07-8v1gVNQ6TZpAbtgajdrRe9XCuR58f_dt7_y8xWLXw_tINMB-x5MLNbdomfSMsit9Vfl29Yr8yD4KIkYhsfhl-nH-7ntrx4KkkLdLoNhKbhdI7o7NO1zdJ22ur7op4YlAWSNq5q-q2uhF3bKTkYhAIJ2FnPZpYmv7NoldLkAML79C7xtbZTJ0ZgXCjxzbEI50-9qvhEMSNm5AjZLrE3tTp6GVJWfIvjb3HmTvEAxR3rRefzzTaKW-MO9t3OurUPood1vkMR7oQzQY_n6DaZKUcxA6L8sK8s2MfEb78h_ZKeKDRAFsnspHdVTYf4xEu_SbXyDYbx2vBU2beXYdhzcdLWff32f3jioAf_q8hk2wKAcj2Spik7Ng-HPbme3XPD0w1b6d266bJ8GIWCUoGmJ9Wm0UalL-ZnoX16yN9El_wfOEoXBFWRe56Ur1ih6ZwZkcuCMZcnUAlXaL3JGgrxtwQjUtuSPSAo7kBZGIS7xXzFL7aJOi9ctqBAJVH0C3g8TJcW7ilF-qzEwrOoo1zWfLQpxMXhg8XKLDzOPAFBwyEOlDaRdoj20aE6NTeWST-X3QEufdM0PE0uB3FAhYWTPyILrAulrIsMJphGU-9sABotQs9apb8Vvekzou3oQ02Nr8n_CHVdDfE7m9I1lOxnB8Yz78oJhBs0WAbcZL9Vy-c-RVBauUMgceqSyQJ3uHR3iWsze4yeVOb4LE4nUxsfBMHQhW-Via3wFpInCCJxS3je2wtiyDTztuMNN8Mxn_GuTJ1i-KkDdvWiAL9c4zg_6HQfsMpLXQXpJ4Ovk-wUAV_NaW9NnVXHR-ygTcsf-BUHEV6dm0EPEk3tNVdlOTMDzXeYmpXn7xSSPuHglNcLnCzbmiANoqs1N5knV9_gVx49MLkYzE2rK_xdAFZUgiR4uujQ16mWNHtzrUUZOWmPu0HrAt2cJsz0snCfakahNceO3di-MQCDppMUnoSlq2ZnRcsMYu_n7mjOP6suimdawk9Ik1y_RpJ1O92UjKl63SqTtknADbwywiDiLr62V59YEUxKhGIaNrg; __Secure-next-auth.session-token.1=q9Nx6cKkfa0ZpdMRs7aQg5BCEByRK-upafTx1BRw9yA7R30AXoMtQfz6ExKBqsbpyVHqJFnLBQuZqJEi_Bmk34FeYJrUjD1ddsPmEex0ftUACPSugpdrgsTxc8CN0f4a8t_m8wTHxhQWbE5_GT-A4Hb4T68U9pDkzA1kWMVHkQ6h1x7HyW_Ykh1KXejgZFJBhdvv4dAKpv0ckYCNXwJVgVwCKGCNikx-ubtZ-5XDX5ZquUNzVEGpx1cr-F4e0-aw8CDQmdZ0Zh7VHV5DKL7SkQW20FHjpiK-J6gdkkjGFX7EybuEM1KCZ-KI_9hna9JzZc52f_yyoN05hqTzWmfh4aFeQL3j1nErMn23uiava2BfKIoQ59dKWOO5zos66El2TtIFerhUFJDyt8sUOcybCWsmmf05oSeLzHeaJYBA8j7SP.FYyhM198a9ZP-Ep6hZRQNQ"
136
136
  token= "__Host-next-auth.csrf-token=14ca9d794219c34aca808cdc2a310d73ae76584a7bc746518742db0ac0baadd1%7C74c6e91fc8b1400a4035ce81d78e6a0516c8283e7c2a9104b3d75d93441a83ae; _gcl_au=1.1.526202796.1738463460; _ga=GA1.1.1626801434.1738463460; AMP_MKTG_7268c9db0f=JTdCJTdE; x-recraft-referral-code=7d7RbMefDM; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..GN6pvZZE1X-avzQn.7TBThGPGii6nH6hS8TWazy7XV9Mk22vd2sqPfoHKuEbesS_pITSQc1kUchGlB_HQ_Lx8EldQGvzeVbFil6mBb4tqjNxJFecSHeDgLubqE0u5ueA-ZF4rf6Xz44NGnx-zJr6iA_rD7319KiL4-WWm57Ds5UJ_jo410_018LlUuWme0G2RKMwPySVL3Jg8Zyma5Z-twK50W8WRkwp07xiCZFXIQK6wLu_TvBYBwjVFa0wNJmyRCirM9YHKOsqVMIKP38q679Cd8S9A0s2T7SjLDm_5rme6TtaGq7Xye0cZLuARf_h2oX79Rm3XDPWYXjEJ6OMpNnlB1uvslb8Lbq0GkVAEYJbgc5PgQ2aD7WjqX8omU1uj1HVIXxr3lxDuSyvBPz_16Fkf7wMOI_OVQDCujAh4hdyNGVJ-vBuybQ6yo0vYF0S5X2_lUJqcwchUtwDneBXUUl3kI8JiZf8YF0kROkqkW82bFycQDtaNNFtwdFWyVhC7_L7gYpYpk0QrFJ7MVN25J8xbggLVRKrl-9gZ-55I9IkmM-iAtSuvTzTvqc9NzzRnoRPBDuwPwyKok2TE93QnAPQIzUacXIdZdkjTue-jymc60QrjBRGTIsIC93KD67vYdEH8vb1V0fiiqS4MkGfSpMA4NFaTpRECwqGcNzLj6XTrLGzl8Z2RO9tBWxqtq2Qfggyb8Oxftsab8hTjarw2b8mSSeyy2mnh_sIZiwM5Pl4ZDSYX9TsCdqNnOXyIGEWZCb5fb1rKSALKHrt71QZJXRETZCfJB-ndqw8I3l8rOhKuW0iio58umegRJYyFsJ6UY___fjBLz-0AwqSecklqkt8WDSaymIqR79YiGVjHt_qKLS1M43nVnp5TFneV9yorWPL6Oa2R0TAjU2fWjiaUohlI4XPSNlRXSz9m5EvYKJvKxMdRnZdx7UeZn2rP-C7K5xcjURm0QwXrcWL883DhDiYWrE3Y0IoG-U1n4MhosGeVnJA7FYeOSlpHZs0Re7Aud9nrLo3lWxyRHM9mTjBOTnpRWP5xwAneyM52FT78-RkVBrcaXc60UyK8h1WIxmLDWPIIvDI-W4wlR0SYDRUP7t_8dFXT7NCZXSzskNFa9wmPPWvh4__CXXFWwW2J5X_x_6iLfsBX8C5KsPKeRNplhWJqKM-50Vwk5gM9JtYGjsguKWrAqPbacs-cuexbg-_WwU1trXv6hc28pMU2RJ8FNk4t7OCrhbuwt-PSdAO2bksP8QFKEez8w1mfptn3DN8mFaranAzgwdo-xD0v2Ew2C_oqoYUahxVrKMHqEYSd_bQnLylaftMfYGBNU0WuY7bcvRtJp3DGfQrHTF76ZA5AqgPKFwlmE_5pa-1xb5slX76bFAm1NKhgZZDpGyeqEobp_3u4yXhJTHVHYQuFHNFQm6ZDsepFh8SLR-dWlyrYsu3KHQUcZAMzOW4jiTc7SK37z03ONM5kgw2o_MRcdmvpIMBHCwuGjwLSUxCmora5cDKQY49gKWu778wfeUw-RJIdg4TZzsRM3OV3FnyN7koaWF-D5HdOP0H2v3zre9DtY5N-3_iIo1Fa9F1Pd59X3Oz1wpJ7Yjuam-mboCXgIfQ9q-dn4vGoxdqBqyvDM9IZV8N1MnjxoG6m3BOTdLR90aaYqHKSkDE3ks4oaE2CfGuhK0hHKcnXcEFXm81Mx-eJ90rFTmYOdlId0e19mk5tu-Cbj79MbBpx5cRfojiTqrQH-AIXXRa8aBr4QxAW_p1iDnAQ9owtX8dvbacg_VKhB0IOLlBaDfDmDAwBkvMWwBnaYThOsbIOWQhH-dPBndW8G7ycKJ2xtK0PHApsn0iAujAuPUTYeobNgKdfNHu5eXwaRltkuH8jvDbcxj5m4ajsVX7qA7N8uod6TIVyh_5Hvp1iRQHjtOC6_pI7hCnC_5B9mwaXsYPQqPiP-h7sv8CoG6KQ5UlE7_SkHXpfjEsI9RWETa8YPDTHek4k4bz0Y4VIIov_sBXsqLR3ZnNMdzsbCekfMqXtzgw6I1UqzzPVew4mA0J7qC3WHW6XK2a7sxnO4y-R4njEf7W6a8nEj4n6bwfKeozaQ_mvKVekVUR1ocjD94PYBzGb_DTpToeEz8f5RS6csXMWM1BORz2pF6N-mOH_H4g-0qGdIwh5rdRu2xcZX_VGR3_vVjvm2svnSvdKEsVn4cRcytt10iiDTPw-RQVW_DdkuXOK9CPN2WJDBtSkEEwLlNTHjRxPzamsnKB2fQe02suVPpU2dfF5qy4pKXLeKabT4Ky_Ih4Yb4ez6oy2fUknvKS2JKeorGk6lWrDGlyGX36IJO6fbDQogn5ba98E5IYWCKOknszOtT36QqAywyqja_dBRepAtI1YNN5DNNryH1AnF7d4q38l1O_PPbAXrk_taIAo225y-Cwsdp3f2hOINdAORsRa5GuFXeED1MOsFMpHX7C1atdGaZGi2ypZ6plvG70fxoVw9GLrWItUStCq5i8And6ZKXd815nI7yAW0lQv3RCBRqUuoWX5E3F8-bTv4aBlM4Q3gkh6_H2GhYYmRUwA8ASeCdEeOCw-kZ_wm742k99x2N65uBWLBe7T40zYWPGBafTxcPnBrcLw2xLlEIj2KeyZ7hYDhZdeoC5plS1Qxwxw2m53g8e8K_fOgELtMfB6mr32EdSjNqnx5WNZ7NNqq8ROj6vtfGK7y5cqC7ZkoKOkK6z9KO7pyDxZ9Mj221lQte7h7hzb676GiErrovAu2pCwWT9RVNUntK6mz2W7A97tjyKOz2VuLzhPBE_WAYyYSZ0Ykl4QKAU7cpmoaXNBs58YGm_H7cSOu3_4yEIuKh_O-pggiBfdxKKDiK3Mt7jeNV98-YCUlLmZEv5yWkjBsmm2LUEgX2w6DVUUUJwy5ongmXDktpViHLLMubj9PW5GGfJPsMuXEOfUTTL1C7wnMJzWzco4y11YmzRiSlCuKkPCMcT5_yhZvAZRyyrPUOBUftcOKUbBh4oBYIN3RbT1v4sMTjSGzYez52Sisb18InbQDM0zn0j88HRorWH6bxpKDb_PvmTebrhDIiWXbI3Zlm4NCQm7NZWicEFK-1fR46b5qRD80tp_cq8BWfECvvFfcT2NzO1rMhl6xIY5-TBWXIM6-qd1Pbd3xOdLRQPotxbZimS--dFBsLvrK3Ginax_mqc01AIXcjph23oQbQ9gnQzgtwicPafnQaOEcdR-moB9ca6oEShgymUyy_XcK6UdKpy4xI1yZsQ9omcquT_s8hzVrLEXwlwtUSzfqvH9pMCIjASWqMeRkfEojrjJd4th122hn2al7s2TbmPSXDOn0iHjh8N5aLcZbG_J9x6qwnpjMwDiGpU2Il3AlXuL0IaMFKukUbx_xKz4DoHsnJMMGsJfItAzyFbLPsPlVq3I97qwTZNUHqATjW3U9AO-PntTdK0OOSu3YbbJ2dk_A-SI1oK3O64Ie-u8rS2dFRmyUT_wYOcXL5cJ_-3HPz2xsO2SzRA7c8G-LsNCSSVSv9Vd5HBQhHA5IxsCptmFZ9OIkHFqeA5wcCYuhMHqSaC6kbPClyEExzaPsrJI6-SJUd86psoJn8dmn4I31WNf_5STzPBeii6qBYbLVIfiwXJckk0M-hvDeQfCyzRpKHeCslGkm6kziutEvfS0yZwZgDpBpGevyOcPCxYicpZSzUxEvsVCjtB9NBcIEHmm8Ho_JjiebQ3HcrchWFAYYU8XScsvkpfVqF71lut7ik7VOFcmQ3a35_zEA9kzYLKvmC49nyIMIkWDR5iCKW63rw2-6PzSTzSjf_xb_VADIYdat8a-i96mCbhtah6WH7Y5tTQKUYRWLUYib6kE8hwPy7jyHX0IMebioaklJKaU_G1tBYDsF4Q; __Secure-next-auth.session-token.1=12vFH4Zo9AA6uZzZrVWEaWBTWDlMDYiDUP5HUYoEOv3R3ksn-sPq93b2jISpNOW9RecN5E_5NXB76IfeH-VZauOwKzd4Kc37Mf6EM4gwXALfqMGsvFX8DlW6MkwbNqZ14WbE1pR_KhKVYrdB6ZX6J4ZlscRoqPB-A7GpvOtVPUComrZg00-evxSWcyKvLsCW1NNqqnXA-7J94rJJBdsS6j1c3s5KiCqB1Ptr1eTeWanjxkjNfSewVQqX6WVytsLnsVE9KqmJGZiz0zIFvnLPQwSv1Bg0IFzt8UF4J1PXrQaIbwIvqmNj7BU3589K2Rb58tarZoZ-ogxZG5ZneR1CWLSlRJDhsnOvAXubqD0EuT_POI7EXdrfsNiifr7knH_xxEu7iqxzpXsDMuaO_pxzwkPuKFtcxDkVOJH-TY5njugFS.Jodtt7brKicBj8c26v0T3A; _ga_ME15C3DGRL=GS1.1.1738463460.1.1.1738463490.0.0.0; _clck=1l7d1gy%7C2%7Cft3%7C0%7C1859; _clsk=1uwygz6%7C1738463492407%7C1%7C1%7Co.clarity.ms%2Fcollect; _uetsid=be5a5d90e10d11efbff71f781c6cba79; _uetvid=be5abc90e10d11ef9a96119e1652d011; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI2ZTNiMzU3NC1lOThlLTQ2OWEtYWIzOS0xM2ZhM2M4NTdjNDglMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjIyNzA0ZWQ4MC01YWExLTQ3YWUtOTRkYi0wNmQxZWZhODBjYTYlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM4NDYzNDYxMjMzJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczODQ2MzUyMjQ1NSUyQyUyMmxhc3RFdmVudElkJTIyJTNBMTklMkMlMjJwYWdlQ291bnRlciUyMiUzQTMlN0Q="
137
137
  token = "__Host-next-auth.csrf-token=57a886df76b501a8467d75e3ea1c22afeac547c8d7a4ea3a54f4adb1f70a5953%7Cef1d0022dea0bdcd86790555817fc6c9862b563a388ea57c03ebfa073cdf2976; _gcl_au=1.1.643138976.1740644316; _ga=GA1.1.1825767211.1740644316; AMP_MKTG_7268c9db0f=JTdCJTdE; x-recraft-referral-code=xrTsvlkNBB; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..8f2HiURsmryfKBj5.eE15I7cyLAqMkb7m_0r2GhaiWdZlN9fq4hxdgZk88X5xxStF66xOFJqDZN3GGAWUwaA1ikliDDtkEBYVcVtx17hbcjDkw6DPKiPDwLzMZe-RNwJHliNWt3jAsW3UjtbPqaTyKTlOhiu5R70tKb4M8zD3v-nYeStZ_aQk36O22LTYURWddGoozjsDCwgIPnZ4gBCwK_DqOsK_TnTvZhshPaYWlwdvoxiH_WMiE1WGLlguSsXWnEaiXNcQlM5o4SpVeqfSqrv3uTapLagjHcZbx_fJtvruCW1ItXvyFNW89M1xdmaIodX8D_HKfsKZLyDknYkbLeXbVedLZm9zxfF7THlEavPKkihQkid7spBLxEl4uA4xX4-Wk19KXLiHAgbyj8eqRB8Md3Ru5qNwX4RUGRcLtSxMkyz-L2k11QtolHjeCSzCao0roh6nB3xDywKPiSorPcLKQ-OoErqu4VnW2YzLjngUfZiDo6MOEkAkbuF2vN_GV9cD2Lbskyu1dB8YTC0o0D3x1RJ544I3YfibP5FG6TNkXvYNBYisowyddpeQCuciaVyqjYDEFUosfN0Ro7hk8JN0Bcd3vgmEBbrJ2YovPTBnTqnf3FcX0YVtVqrpFWz3rJPM8u76g4UclwBSpV4BKsYrvrA1PlC11CGNgDADzmKr9F_kWRnya05SeZ5kZ8J6-BXfUKiRBKupUDK5A9qk7E6c5DzYxTvYsfXIlxubTs8PdR7dqSEoD1ZEsPglOvNWilz961vv6JEeWPFKx8kWfeeEE7EbgmriDcIzOwhdnUzsUlAQHAdk9w2SdZSAb17RuBm0--Ua58ChhCgpiiFl_P2cCrvRP7NuzqaD-2Jcs1yMC-YnYXbGzqQmOVlEwuAaszKwoirGbfQRIkHkrhCTFknHkcGu5iKzST0efJS-ymgOQSG9bBkpY237PDiC_Cfm-bOoSe0yGf3JQKwJvvY6Y1sruiEfTZqjawJ9RC0hPBluXzD8pnKm6qM1OlgI1J-tpzn8iG4E_b60eY4QeSwP8Xf7qodzAGhTtcLa4_vMffz0xH3jmEBzUCjNC4d0k8SFe9-2scg04AGFhFpQ9R__pNyte4I5OWYBm_6JBRFfSn8UrAAtoneyXbVts13MKieYZKwhYg2OoM1ggzVIjMqQntv0wQgsQhM9ecXYbOKj3C0IfsjC6IqhYCPmWHKvt-Kk0M13A2lSuym1NAwgV2CE3HvgYSDve17RP0AZpCIGrrtTacbDfIDA7stpYZSs852xr3BNhLo64Qnit6jU3yds02SxKlfAUBZvuEA8fViTObbGeylK5uS4nxpGOwFhiKp0oN3GH_VApw6jqPu5XnR8Zb7uXSgGQU23mJxuzVaOMPF92ZfXvirw2kQPUKo9y5sPCok-tqlh3YS6ed-WMBBO11Mnfahas4IoMvjceKfXJF9LlvoA4TZ43r2ZxfM1joI3cbxZGo7juJ_vbCh9858rY7ZYOdOl0ov9gRKPHoitH83zTP5FIKwcGSqkxwdFIkaeS7pkaNnC61nw6u_-eAKLpjt2z9yyyRTKVdihdfrTr_gkY9UUAPPp84R9UaYRYcviTsXQOx_TCAhFHb_CJMmvGmncb8pTQvxWiZnWiYlLd6CvFQDBqpYrjTs6WjPqVHNfejYJUdOWjv0soFdZngbos1BgPEw5umujqk0IOO3CyxJ6KHZDdbV-kKX1SgSdm5SLQ-DkQppx3AdeXiN1r0tvVzLguUJ8nS6MaoPYUZeSC4LYuAXcZf0LCbKIc8fmPdCDYq2ZDX9rYiAO7I9PoZdY9xLotBFlU6uYdVR8KvLemWEpnJq_08lMoOSNSkNY5Ofnr5A6BxEEmCYiBxU3zWRmUu2_KRq0oTODKBYYGktWsbzjCZKosgPNh2eD1FDw_r1S3dqE8kUWsxhrBptagB0v7ftvK2g1SH19W0Wda0lFsS-zLqAXYH2QLjzHci8rMyrSCsA8-bEB8gQd_q1uAhgiMP2wnObGoEzFCgIVIKJgylEaDE6RhNo4kO-wORl1_-AS0eDVohaTx_9_rVyvu-r82QsTJrjddUOKgr2D2rSoO0vOa-uy9jKSg9vAY5EOEeQww2_rCNmJfuaLGDIKMelWGr1H1Hd-dZ1BWncRFnRgduN5uRJWaMLCuDdAIqsv_k7xx0Zux9EkiFQwivEpRTHoEIzh1_a6i4zTua2uOCARGhFvScmkEnX0LBCjkbnK1H_0iJ7MWMVbIjq1YH07NxIbz0DV2bJ50Gavi87QAngRAAECOmL5oHuk-pNjSsMn7ZCguKozXivTNiaPHTSdOiTHzydPpX8vkvszoAEXcf3gadmiVROtpzz-nueExobACcU8Omlc1Vet_hlryV1P2OewpbnY9JAqZJfv5XYnKkGty_EQHMZepdJ2UAd7QIGixtM8ZeYjPth24dNH2oFR8lydTGVxCALzd4sgW3f8uPXmXxMZTTmO6j7GI2CWm6TLxQc4vIq_5NFu9jjIT2VLufzDCaevauZBP3li8w9difYCjVS5NGqE1JKLVmmrQTeiCd4rpsa2J6KOerCC7WdwjD3tRvYcOwz8u2i0_gP4RfKGuCeHJV3h5fa9Hp9HTPbVz1mhPjKQewhnuBvpX7ylL6fTFXj0DiKUR_oI8WIhxsNhGEvIxeitEwFIdpBhS1zkyp_9JYwu1BfFgnRFweNl15Zx_yLAQj4oVkN15RNOVgKsVkn0S9jaMT_L7vbzFkxdxYgtPyla95xS823hpQ0v5LbaoFDY-NKL7sXiRG_Bc1ujmnNcYysoL5DAWXfUnBf9Wh_DDqUFwpjaBRAuAGYEPz3BEXFJ60Hspax2OE_RKIw-mFACf4X0REqeeTy0AHvDqZ_fznRTH2bUCSuEPTXszr886FIGTe8mwmEgjRJfGvFuQmeABijIMTOYBDrcRD0vmjFrM-XG1cPckvrkmIND5szQQwCEw_QIXdH2KRfoBsWAH5rQUCnVGMftu4SWhiy6vL0Q1gEVFUk3GGxUaugSDgQKbibY7IYxXatqvdUISgYL5lmPGS6dYIN7mtjHdVDpt-4yG56ZbeVabhVzNxTlYZ5udm7eakwyMOog0nv2iGyWEP1f0kV1Q9VGA_r1f0zTioT1v_85nd4VVs8zM9jufuJdZhv4_OMrfzu9A9lOXAokKM2aQc5MWdhwyTsmBSaAt-73lp-UAtpyRrFY_4Ljqg5AQzYoIr8R2PHz9Xwe-h0_7Bt82NHYJhpJo8pwwUA9gneQsrK6y8RFLEYfp0_gEg_U0vdrw_hZaXQtaSJgHMSjdniPS0ubvbvrpWXNzy1SvclMYPEJS8KwfJ9rSgsfUqobaVFaZ6nwmo6-c2Cm4IZ2PmxPs8bOtgi_JeHLrG8fD1OP36_HHNlWA9_nxXpnQbwCiL6XJrBl1n6unEpsKtTSq4SOrLAhGsGP0fK9Y2IRvLAUpq1qgwGFVnSPUHmnIuQ7AIe5GzCXs_c7tdz1y0kJ-z2o1ZdIoBPlG8-p_CEb4iPHbMfR4_i00Bfox7HK--ajFgqKgxDhDp53wziW4MGaRYLfKiR9IGzMoMGj-wCqlWtasFqsbe2qWlmSaJGR6TtyWqb28D1H5WO44Z__DxwNcxCKsHi5nhgPTACObFrt02QAkcoxeQg6MRoQ2aJN9CnpstpIVuIcDk4wa0Ay1_l6FIKgJ5nucZaiLehrSiQQrK0LI_oIzEd2XDlao2Dx9vKEx65rTXYQ0KH1DPTkBynZbMY2uffOhYrC1YHZm4H4VPQ3hSJP9sQIcam7MrQADQLIXLO1ESYmEW4CUPQ7v9Z_yyDFfpudD_TkwJfhCpstNPB1Zqcuvm-Kwjk1rIUIVKmVsf8UebzbrQ5ACAWlrjGmuHlSnIeD-6c; __Secure-next-auth.session-token.1=nWFZ4KrnoE0thoRpHK7gAozIJCt3l7M8VkzPxSypdlUUPewpPu0mS6YMouSZhgu7i2M6jB2-fTwSmK0r7mLKUyzJsBHaQsmm7_ELVEPX5Wm1704a2ktPIAU9JTDfOC5kQzR6XFiO8PCyBOBIlJGJ4mz3qtLCYq48g8_ZYwdcLTcaQlDUuG0s5NF2CmC-7yHfIbePvYRTQL8I5bSwDjLKUl2geru6mURBhYNE6gvBLJfD6P7J1qT6gHZqeUqOtEgDG9dBIQPbyvgp7wdL0oqT7DHqsY2Ap0jFGspzCXzVri5AOHJ-JL9gf1cnz8AOBlqDVZyqvwLwDLHK5GrNBknSfHajQuI47imwmSOLJ_J_DLMzHivmvZeps4xYgdV6hSzKVLbOoqxOZEjaexqgOqVQ7fSphBPfhUWOd55opsEURinGY.4EDW8XkvsgX7oYL2QJIQsw; _clck=x6jacq%7C2%7Cfts%7C0%7C1884; _clsk=10ppugy%7C1740644423156%7C2%7C1%7Cj.clarity.ms%2Fcollect; _uetsid=711f1780f4e311efabc199bd18469bf3; _uetvid=711f3de0f4e311efaab61f90155799d0; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJjMDBkNTMwZS05ODBmLTRiYTEtOWM5Yy03OTI1Yjk1YmNmMTklMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjI3MGFjZDNhZS1lOTc0LTQ0NzktOWFiMy1mOTVjZjhmMDliMzAlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzQwNjQ0MzE2MzcxJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTc0MDY0NDUxNzg4OCUyQyUyMmxhc3RFdmVudElkJTIyJTNBMjAlMkMlMjJwYWdlQ291bnRlciUyMiUzQTUlN0Q=; _ga_ME15C3DGRL=GS1.1.1740644316.1.1.1740644518.0.0.0"
138
-
138
+ token = "_ga=GA1.1.435165527.1730362257; _fbp=fb.1.1730362257600.714008794112161913; AMP_MKTG_7268c9db0f=JTdCJTdE; _tt_enable_cookie=1; _pin_unauth=dWlkPU0yWmxPR1JsWkRJdE5qZGlZeTAwTWpNeUxXRmpNVEV0TlRrd1l6RTNZelEwTldZMw; __zlcmid=1OVn8OoYVNvKEWM; _ga_ME15C3DGRL=deleted; _ttp=412qSInHGw3jjdyNR6K4tBIYmNZ.tt.1; _ga_ME15C3DGRL=deleted; _gcl_au=1.1.2067403346.1738419969; __Host-next-auth.csrf-token=5cfd5777503aaf893675384ab5f6593dc0f3edd3124eca8b6bb3dff0f8409f13%7Cba49eb364136b7db8c219b5811426904290873f7fff13b4eb6b7a2dbe262478f; _uetsid=9038cc00057711f080b179cdde2f6e44; _uetvid=a8a766f0975f11ef9b7921e48a0cd258; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2F; _clck=uflztg%7C2%7Cfud%7C0%7C1765; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..bHsv4OVYnK4Bfrjd.nYBb4bhbylF9t1Ci5kPZ4phnQ0TzNfI6BuJO-lC4-P5-lnSHG5cNt6Ieqjjt5EewH5-npFscwB--mqgmaDh_4jLmV0zt3wBeZwCfz3L8SzXQIiLYTohCten-q5hwtb2ys6-_3K_lOhhYsgmky3wHTrW_ltBmw_5j6vr5USamtS0uVCn0iW-TYj_hx3mlV0TLP6hF1_xafhAnt4vyBsVL5yKP7PaPcw8r2pDLPbywTUgopXbru0vvKikFWSPrfsYYmKkyoxPuoCUxUaLSCgFbO-j6ESpuSgL0ayWmLYbCBOZ7FxwTBIBD_SEA0k7X8cBB2XrNiBxgenwW6YMw-C3whEXqvK1g-doDFk3dSXKtzQKb0x5loVhJa3YQm7xmMpilpJI3fdDMiWmqwCt19dLPOtliwH-A2QOIFPn3O20QVWHPxqBUA6Luats4MkSrUEsH77GaXJ0GtK726Pi_EZAM1VaZ3Z1-2e3jtlPRtw29XJ_QNYqQiA_RSbxq9E9ZjRcj-f8yD4L2ZYgV_yU9xGOrbrb7N9qu9swY4bMltmH56KWOqFFPVCALwIlqZQ6Zl0tTk7kIdl0QWPgDcweKlmEofB7A7AJc9jjWEO1zI3qJ14YlWVtnm4t51mDgdcvmuEsumtqeVMBpJlDFJIEng7FXQYpwuxVUYHWIsJmM2ANK7yPEhOQJWfn8Yr3m2iH3gCkhsraRh_9dFvGEQX_vqzAJDuaeIaAzUXqOOifE-UUuGaKSlKO7VRJkLEG4M2ncYr6cjYM5RkRY_9-WgTUxiwS8pDI2ER4TJZ0blv85-TYfai-1TDz2pwwjMo1Sfl546ofiNNjDx88hwRqf2JJpmCH7GyHopEd-oPHhiDMDcj9c_X-lZGi1SirelDy9QROX5uadflKx0IWIKalAsYVdcQXfLhBbODiaxJKpQ-zwVIxSTjYvVWB1dD3FB2_gVwfKftYSspzZyxJlxAn4Qe12uFOPU3sVf8xEd5qddW6wkh20gBwBDEaPP-oJRU0tHa_04_eHr_FfQnI89AE5a8vI_96zeV-tCohiOhpkOWLfmW7QHw6X3JhefZpeCwpNtkg7P8YlCBXlURKB3SiPE7hO524M7ZVEDcaFDOJbfucqTw8wJC0SKJuSjEePo_66JHgzbl2J1QFfo4wCB5LsTuwkCmQ8HK6flG8aQiCAC3eL34uZAWJpjNRDQNhND2fzsRP8XOC9agVY-eyFebDzWe3_4m8OrcxCpG-SZDTq6orYrU64tMSzpJUj4xSieKve8ZOHrx1Wqeuyxy9eIOJtdsre5jyP_jzesC4p7fK-cnJcrV421Wt7OHTqjhKB2YQBPtwpk2SQ0JNn6g61O4SBuqIbAKIAFIhVVHumjNnmwzDElDM0lfo8B4TncfIaIXqqGIZ17vhL9EzGoYGNgWC31YfFTHPDqK0bjkRIiUxIT7XGnPRmu7JdvHd_D2Kc7v-cnTdjSW_wfw8Pk1UECgLzQqLbgYlwbGqaACYtszR8JgSqi3n_14eV_8FG3uZhllgplvOzYo4GjBtutsmOB0_ayXi5TR6myH9wVC6HpNT1TdY-8lvMi6t9TvRQdqj_shlS2ZEgknyOQmIdGOBbTTUc5inDIL2tvlMbeXWfpr6oxHt7rHnufkI9kBEAD6OfgoVAxxn5b8joOtZMvgb_mlFjazPDxRReRN1MgmitFEe1X_HNTAmzy8kF-KnPlRkqpBJAf4V9cdFl9E3RhYnvq8ZevWhKlEvdNy3PqCvqJvWC8fXGyk0dxqTFydx56AEmANqy_xXQIzb8Hc5pXHhR81eUOXWYZ6j7cc3b86OyEZJVefvca4hRcbtR-hbbkci8UI4aERBLdHps3TGFVSim1cj92X2KXRyIHJ1qmONZq5BjEkxaX4J_CZ6lhscTP-KjbUssP7apmSvggZccNR3_Vwwgyev8eFc0nIptRUnvJ922olflkHz4ZW3Gmr_oAsu3AFgMTTNFJbIZ8c3UH6IDLZ-RhMeoOQSJRXuTPUfxONvpts3aYeaaALMMFHhSSPQAMMGpOI48inNzfyIZqn6KxISLIXnF81JIVa6OhuWHr-pyOqoODW3cXktPNa9tJ48kFvVjakt1H8q4HMpPvnp_kEfTrfAbuQh9zsSvWVdORr-J3y-CrfEJdGQ3VlHed8zubxBa3glyS3zDduufgB1lqO84PDFufF1-o6HbW_Niu0yAgXJkdXRwPpzzGPNmx10Q87spZfc--0_OfPuDro9Q3DCFBsqZ9wUrfz6rjdrh0jZYCDrmZGxY7RxH3qhhc1CD4xkWxj4zcKJ-5N0-VrR--OzIm8R9O0M_254kFfDyjMKRK-iGKxS_hGkW5pQzDj9SVDDrCGi7ZevOJcPSoU4yUzIVD-SKLox5x3GcXDuo0ESCba6hPVaFwrMiyXzIRFzcjSiexD_J03z-oW-Ij_JAOMA6meT5DgNmE7N0RVtS1XaFNxDCtGLr-_CzYY55GM-9fyNyrB33cv0yWjAhDH6JPw_BwgWAOlghNIZGRolqxVyEe9A2PYtRHLkt8ZxzLpbGq-aJLMinl0WhKdaN_PnjtJHoJP7fg3Q_TmbeX7wbZ6ynXE3J7x2TZ59hti0N38lYEpEWGuFCX2LtRqD9Z5lQ0cf1Ase0gxkwtS3SfRtIwGnzKIp0kJRhC33nF9EcuXAuXVZMFcF4fXhizldHKYsYYalvKzRs4UtCtvp4r9ALnVYdrQCY_n-ShB0gFqh9Mrz5K_jJnetzeMD5YmjinigAAVZFtGxOAihkynhGPFV5Vk-DVey4YnVJVawwD9ASAcfgvbGQP9Kqy45Mmi7VuuUA7vv_koYjDT10XBT10ycftO2M_g0n8dago7QTI4EeqAxqURuOinPZnKRK_9o8RB1pqNtWxnBK2eSl78ayZl9JWJ0BXvr2sFN12p9N9ZhJveBah7s1RP1WA-pX7jeUh2Wopfuxj8tmbzsmBaesiKai5CawpROF6a2W7UabgjUNsr4-zlvUTYrsbPyNo1CmuXX7zn4QoghUCFE7SitBwQcRtfSjCDGgoKbuyaCD_Jxneli_Oiq4PK82CWiR5D8zuFQtmRJPJTrwB79FXN6VlFgx05Kt3nu19q_xYSRSNv9LDATVKS5IbN0x2yc6BYVS-6IfIemmXl0NYAm_F5w6BofdvW_vdkp9Jxg0UCS67cY703OmcgynbQmgNF2w_XVE5wK9ywUvb9WPhrNB_M0tYvzgTY8NV1JTLr4HObgglp5mL6w7ibhyUyg_MJvJsin1cOHRkWLuophDwQ3k1HtOgNuLreMuOncqSZKbAvoZ6y7kqF3-anmrTT07LBa7-GTkCECfqBDNfU1Pk_IOcm0AlCSvZGJ0gamxg-7wW_nhyjFntNHgjNfgP13VU7wXmet9QEjiixcJFQMnM46Mg9VTGeqKH9Qi5dyyBg_cXeMTpInOmjDRTpYSC6tSxae1sfnmIAbsk9ym8i7gljJzEygHoDpB-l-hYLGfgsjPUnKI4FKemySkAxvWVxUtGXSv3Pl3FqfJWZ0ZlegbXG-7djX-tDXJceFm-ngb677AjUMhMGlqg9DH2KL8lDt07fZhG6EJ2F3xTxHsxnKPslPjtRf5NKxXILNtkNaQsB7kbe1IrIIGc_tAGqxdqT5N7rret13xJT6KcUxkH8_In-G2Rx-eRgmAGWwzIBOHrx-0ZFa-NpVdNZvzv7RK7yu5x-NuVQxlba3uGlVt1MTjCZbhn9FoYlgsPq12fsCW2PT0bDwm6vj5ljqdikV7ogiBoHeaQLAoEWLVtJTlLiZx75FgToZnq_ilB2Tw3peZHZ3Lty5_ptFM58HMJRXyft9iH2sXTIis2i10HivBoBc5fyF665Z7SYqEb92d4eP; __Secure-next-auth.session-token.1=kQDEHp1J3BMtWxdMvYs5k0MRRd3WRd1vWreEihIYUnq6unDQrnXBwk-2vwCOnxqXkasyA3Ap-lSS2JmVdFArAUJ-Y7hM9SmVW6LSQB_BFD1pFwaG7roTPLJFn70ObqoWzSDSFLkhDXdaptO3ucyPB-IQwuiOJGl9BBDNyuF0uIYIENJVE-9-6OlaxaIy03GXwGGL4IxGIkM3v6jwOVDC6c1fk400mAsPzV5Vd0nc9Ojc4g6QyXxpIjHzhatO8tKWVKmO7Xuh7SPTDPBw-3UowZdzk88NHlByhr62pCih_jt0v_b1wG_fOLShvnomHkPWuAt0D8GFDux0y0gJHGjELj3q5Yksx6rE0Ic_xblTr6t69fkqrooNmB5FxMM2zn5lbKE7YWOq9SUtomTHSWyMLEqtm42fN7Pfle0LVcdVqvlIF.c4xlgU1j3VbPIYlvavqVxw; _ga_ME15C3DGRL=GS1.1.1742467142.46.1.1742467222.0.0.0; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI2OTE1YzI1My1jMTJjLTQ5ODYtYjM3Ni0xMTI3Y2ZmMTFlMjglMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjIxZTIxNWUzMi1lZDdjLTQ5NGEtOTExZS1lMmVmMjIzMTRhYjUlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzQyNDY3MTQyNTk4JTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTc0MjQ2NzI0NTEzOSUyQyUyMmxhc3RFdmVudElkJTIyJTNBMjQlMkMlMjJwYWdlQ291bnRlciUyMiUzQTMlN0Q="
139
139
  # arun(get_access_token())
140
140
  data = {
141
141
  "model": "recraftv3",
@@ -149,12 +149,12 @@ if __name__ == '__main__':
149
149
  # prompt='一条猫',
150
150
  **data
151
151
  )
152
-
153
- # with timer():
154
- # arun(generate(request, token=token))
152
+ # token = None
153
+ with timer():
154
+ arun(generate(request, token=token))
155
155
 
156
156
  # tokens = [token]
157
-
157
+ #
158
158
  # tokens = list(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0]) | xfilter_
159
159
  # #
160
160
  # r = arun(check_token(tokens))
meutils/apis/proxy/ips.py CHANGED
@@ -118,25 +118,9 @@ async def get_proxies(request_type: str = "httpx", **kwargs):
118
118
  return proxies
119
119
 
120
120
 
121
- async def check_proxy(proxies):
122
- """
123
- {
124
- "origin": "125.106.86.83"
125
- }
126
-
127
- :param proxies:
128
- :return:
129
- """
130
- _proxies = proxies.copy()
131
-
132
- if 'http://' not in _proxies:
133
- _proxies = {
134
- "http://": proxies['http://'],
135
- "https://": proxies['https://'],
136
- }
137
-
121
+ async def check_proxy(proxy):
138
122
  try:
139
- async with httpx.AsyncClient(proxies=_proxies) as client:
123
+ async with httpx.AsyncClient(proxy=proxy) as client:
140
124
  response = await client.get("http://icanhazip.com", timeout=5) # http://httpbin.org/ip
141
125
  logger.debug(response.status_code)
142
126
  logger.debug(response.text)
@@ -164,12 +148,9 @@ if __name__ == '__main__':
164
148
  ip = "http://154.9.252.28:38443"
165
149
  ip = "http://110.42.51.223:38443"
166
150
  ip = "http://154.40.54.76:38443"
151
+ proxy = "http://120.26.134.112:22443"
167
152
 
168
- proxies = {'http://': ip, 'https://': ip}
169
-
170
- # print(proxies)
171
-
172
- # arun(check_proxy(proxies))
153
+ # arun(check_proxy(proxy))
173
154
 
174
155
  arun(get_one_proxy())
175
156
 
meutils/apis/textin.py CHANGED
@@ -14,7 +14,7 @@
14
14
  from meutils.pipe import *
15
15
  from meutils.decorators.retry import retrying
16
16
  from meutils.notice.feishu import send_message
17
- from meutils.io.files_utils import to_url
17
+ from meutils.io.files_utils import to_url_fal as to_url
18
18
  from meutils.apis.proxy.ips import get_one_proxy
19
19
 
20
20
  from fake_useragent import UserAgent
@@ -48,7 +48,11 @@ async def aget_app_access_token():
48
48
  "app_id": os.getenv("FEISHU_APP_ID"),
49
49
  "app_secret": os.getenv("FEISHU_APP_SECRET")
50
50
  }
51
- async with httpx.AsyncClient(base_url=FEISHU_BASE_URL, timeout=30) as client:
51
+ logger.debug(payload)
52
+ kwargs = {
53
+ "proxy": np.random.choice(["http://110.42.51.223:38443", None])
54
+ }
55
+ async with httpx.AsyncClient(base_url=FEISHU_BASE_URL, timeout=30, **kwargs) as client:
52
56
  response = await client.post("/auth/v3/app_access_token/internal", json=payload)
53
57
 
54
58
  return response.is_success and response.json().get("app_access_token") # False / None
@@ -323,7 +327,7 @@ if __name__ == '__main__':
323
327
  # print(list(filter(None, r[0])))
324
328
  # print(get_spreadsheet_values("Bmjtst2f6hfMqFttbhLcdfRJnNf", "79272d"))
325
329
 
326
- # print(arun(aget_app_access_token()))
330
+ print(arun(aget_app_access_token()))
327
331
  # df = arun(aget_spreadsheet_values(
328
332
  # feishu_url="https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=5i64gO",
329
333
  # to_dataframe=True
@@ -380,10 +384,10 @@ if __name__ == '__main__':
380
384
  #
381
385
  # print(create_document())
382
386
  # arun(get_dataframe(iloc_tuple=(1, 0)))
383
- feishu_url = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=EYgZ8c"
384
- feishu_url = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=V84y6z"
387
+ # feishu_url = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=EYgZ8c"
388
+ # feishu_url = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=V84y6z"
385
389
  # with timer():
386
390
  # token = arun(get_next_token(feishu_url))
387
391
 
388
- FEISHU_URL = "https://xchatllm.feishu.cn/sheets/XfjqszII3hZAEvtTOgecOgv2nye?sheet=c14b34"
389
- print(arun(get_series(FEISHU_URL)))
392
+ # FEISHU_URL = "https://xchatllm.feishu.cn/sheets/XfjqszII3hZAEvtTOgecOgv2nye?sheet=c14b34"
393
+ # print(arun(get_series(FEISHU_URL)))
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2025.03.19.19.13.35
1
+ 2025.03.21.10.18.09
meutils/io/files_utils.py CHANGED
@@ -9,6 +9,9 @@
9
9
  # @Description :
10
10
 
11
11
  import mimetypes
12
+
13
+ import shortuuid
14
+
12
15
  from meutils.pipe import *
13
16
  from meutils.decorators.retry import retrying
14
17
  from meutils.caches.redis_cache import cache
@@ -111,7 +114,7 @@ async def to_url_fal(
111
114
  headers: Optional[dict] = None,
112
115
  content_type: str = "application/octet-stream",
113
116
  ):
114
- """对象存储"""
117
+ """对象存储 todo: minio"""
115
118
  if isinstance(file, list):
116
119
  tasks = [to_url_fal(_, filename, headers, content_type) for _ in file]
117
120
  urls = await asyncio.gather(*tasks)
@@ -139,22 +142,14 @@ async def to_url(
139
142
  file: Union[UploadFile, str, bytes],
140
143
  filename: Optional[str] = None,
141
144
  headers: Optional[dict] = None,
142
- content_type: Optional[str] = "image/*" # todo: 适配 mime_type = "application/octet-stream"
145
+ content_type: Optional[str] = "image/png" # todo: 适配 mime_type = "application/octet-stream"
143
146
  ):
144
147
  """对象存储"""
145
148
  if not file: return
146
149
 
147
150
  from openai.types.file_object import FileObject
148
151
  from meutils.oss.minio_oss import Minio
149
- uploads = [partial(Minio().put_object_for_openai, filename=filename)]
150
-
151
- if len(file) < 1024 and isinstance(file, str) or filename: # 不指定就自行判断 url
152
- content_type = mimetypes.guess_type(filename)[0] or mimetypes.guess_type(file)[0] or content_type
153
-
154
- if content_type and content_type.startswith("image"):
155
- from meutils.apis.chatglm.glm_video import upload_task as glm_upload
156
-
157
- uploads = [glm_upload, ] + uploads
152
+ uploads = [partial(Minio().put_object_for_openai, filename=filename, content_type=content_type)]
158
153
 
159
154
  for upload in uploads:
160
155
  try:
@@ -199,6 +194,17 @@ async def to_file(file: Union[UploadFile, str, bytes], filename: Optional[str] =
199
194
  return Path(filename).resolve()
200
195
 
201
196
 
197
+ async def markdown_base64_to_url(text, pattern=r'!\[Image_\d+\]\((.+?)\)'):
198
+ base64_strings = re.findall(pattern, text)
199
+
200
+ tasks = [to_url(base64_string, filename=f"{shortuuid.random()}.png") for base64_string in base64_strings]
201
+ urls = await asyncio.gather(*tasks)
202
+
203
+ for base64_string, url in zip(base64_strings, urls):
204
+ text = text.replace(base64_string, url)
205
+ return text
206
+
207
+
202
208
  if __name__ == '__main__':
203
209
  # import tempfile
204
210
  #
@@ -226,14 +232,14 @@ if __name__ == '__main__':
226
232
 
227
233
  # arun(to_url_fal([file] * 1))
228
234
 
229
- print(mimetypes.guess_type("http://url"))
230
- print(mimetypes.guess_type("http://url.pdf"))
231
- print(mimetypes.guess_type("http://url.php"))
232
-
233
- print(mimetypes.guess_type("xx.txt"))
234
- print(mimetypes.guess_type("xx.html"))
235
- print(mimetypes.guess_type("xx.mp3"))
236
- print(mimetypes.guess_type("xx.mp4"))
235
+ # print(mimetypes.guess_type("http://url"))
236
+ # print(mimetypes.guess_type("http://url.pdf"))
237
+ # print(mimetypes.guess_type("http://url.php"))
238
+ #
239
+ # print(mimetypes.guess_type("xx.txt"))
240
+ # print(mimetypes.guess_type("xx.html"))
241
+ # print(mimetypes.guess_type("xx.mp3"))
242
+ # print(mimetypes.guess_type("xx.mp4"))
237
243
 
238
244
  # print(guess_mime_type("http://url")) # application # msword
239
245
 
@@ -251,3 +257,7 @@ if __name__ == '__main__':
251
257
 
252
258
  # arun(to_url_fal(url))
253
259
  # print(guess_mime_type("base64xxxxxxxxxxxxxxxxxx.png"))
260
+
261
+ # arun(to_url(Path('img_1.png').read_bytes()))
262
+
263
+ arun(markdown_base64_to_url("![Image_0](data:image)"))
meutils/llm/check_api.py CHANGED
@@ -106,4 +106,6 @@ if __name__ == '__main__':
106
106
  for api_key in api_keys:
107
107
  if api_key:
108
108
  if arun(check(api_key, "https://all.chatfire.cn/kimi/token/check")):
109
- l.append(api_key)
109
+ l.append(api_key)
110
+
111
+ print('\n'.join(l))
@@ -146,4 +146,7 @@ if __name__ == '__main__':
146
146
 
147
147
  # arun(check_token_for_jina(["jina_c8da77fed9704d558c8def39837960edplTLkNYrsPTJHBF1HcYg_RkRVh0X"]*10))
148
148
 
149
- arun(check_token_for_siliconflow("sk-zdsfykbjrdzobopoienanvlpqdsttbbmgpayctqokkrwqazg"))
149
+ # arun(check_token_for_siliconflow("sk-zdsfykbjrdzobopoienanvlpqdsttbbmgpayctqokkrwqazg"))
150
+ "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=79272d"
151
+
152
+ arun(check_token_for_moonshot("sk-Qnr87vtf2Q6MEfc2mVNkVZ4qaoZg3smH9527I25QgcFe7HrT"))