MeUtils 2025.4.13.14.49.36__py3-none-any.whl → 2025.4.15.12.6.48__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.
@@ -71,7 +71,7 @@ examples/Time-Extractor/TimeUnit.py,sha256=yx-SS9sxSjSUGiu1H8eTbP4vqAHrNyQcddioM
71
71
  examples/Time-Extractor/__init__.py,sha256=hjNi8tWPOBTke6GHlxpsOrufCRdAHmYs2yBquql9X7c,156
72
72
  examples/Time-Extractor/setup.py,sha256=ENYhj1_uJ7z_F3jrz8FR8w5u2SEXrZpl5GXEELUymLk,811
73
73
  examples/Time-Extractor/resource/__init__.py,sha256=0HHkZVghckIg5LkGMziooZ8TUqfSQFA6j62BN9KyFp0,91
74
- examples/_openaisdk/4v.py,sha256=aNd4JN6EqX26YclLrgyAS3SR7PEGN67D0SKDuJX5Q8A,3686
74
+ examples/_openaisdk/4v.py,sha256=PEK3FC0M_kkbpZA-dU_K9eJP5WKBrh9jHgkQWxu1CWU,3776
75
75
  examples/_openaisdk/__init__.py,sha256=5TNibGR-ETncXVWoevqYJ0m2yo1GOxRx3hSu2qWAQNo,271
76
76
  examples/_openaisdk/_openai_chatfire.py,sha256=hvz7Xw329xDDRHbenJohyhK5GGlXr0lA9dplXiwp4Q0,1240
77
77
  examples/_openaisdk/baichuan.py,sha256=xmNFc64T02r9wE0VSOG0B21wJJmlrecKVVCelhs2Dt4,890
@@ -125,7 +125,7 @@ examples/_openaisdk/openai_ppu.py,sha256=cpr__WVlOrm2w1WjRV7v0rux4oiJkaqBnUZImR6
125
125
  examples/_openaisdk/openai_qwen.py,sha256=OzYJbHcTQ-vd81GcOdUAt0TqzA5lr5zkPhhzM7jPHDk,2009
126
126
  examples/_openaisdk/openai_search.py,sha256=HKRTU6y9j_nUfZgrJt2eZ84d7TVT39WN-dcA_BFkVb4,937
127
127
  examples/_openaisdk/openai_sensenova.py,sha256=TnJpHcD1tG5w_x5DsgFgBRWrU8XUkww0uCebgNFfZDM,3216
128
- examples/_openaisdk/openai_siliconflow.py,sha256=99wFw4cJVAjHWoZzIzyGt1yhucdHnzyx77FSXmCDYNA,1441
128
+ examples/_openaisdk/openai_siliconflow.py,sha256=rYWJ4WsaRE6p-NBl-CgrVHX1f1WF9N7UvbsF7VKm_So,1483
129
129
  examples/_openaisdk/openai_step.py,sha256=rwXrGRs5CHhWpNl9oeIHltErp1Or_B3PVKNAoMGY-0c,1054
130
130
  examples/_openaisdk/openai_test.py,sha256=gjPveJYkI_MqCePoVZ6kNlEEChRgedE2hzMkN7gZuqI,1909
131
131
  examples/_openaisdk/openai_together.py,sha256=o9FQKDdLwx8L0zMxrceIakymT2GqFfZ2v4UjVaLyB8M,1591
@@ -331,7 +331,7 @@ meutils/apis/kuaidi.py,sha256=4KrtOkbGlsLpyvbY80UMSo03iFqFiBHnE0CiqAWWQ4Y,998
331
331
  meutils/apis/llm_qa.py,sha256=XM1VMkOTb4xKzgVk56dPC1e8lg7SbnfobBVgfLXiX9A,1207
332
332
  meutils/apis/niutrans.py,sha256=tWUyGH5SReLBQyVuB7kZvoFB35dsN6gXN-anbiHc_B4,2298
333
333
  meutils/apis/search_music.py,sha256=HBLtdterztrccnLAPZrWBlrYSx4WCRflCqz-V30fOA8,972
334
- meutils/apis/textin.py,sha256=Alodn8U5J1Pty_sv1in_-f3B_G5PDERQRaxOCtH7Xcc,4894
334
+ meutils/apis/textin.py,sha256=3L23RqYiR7bl6rymQ2YugDO-K1ItPX2sd0wyCrLST90,4897
335
335
  meutils/apis/ts.py,sha256=Q13EOS9Q-Y2-KwOG_cFMVmGj9RUmDtxk5A3E27dxbN0,1511
336
336
  meutils/apis/utils.py,sha256=XbwnwNBVtRaNP2zZI-PG18w12LpJU_V3HF-98tADppI,2057
337
337
  meutils/apis/web_search.py,sha256=6gS3leIB2iyeLtqhB0IbpL_mKzDgArRTqnR7odTWT3E,1035
@@ -343,7 +343,7 @@ meutils/apis/audio/__init__.py,sha256=y7Rpn90LocHhA0ywrDP_fT4QAK7sr4JsIX5wLJgkNH
343
343
  meutils/apis/audio/deepinfra.py,sha256=O-IpAnHfx25QCjhB5xaIYVBy5AbyPzmVz-Pr40gpnsM,1773
344
344
  meutils/apis/audio/fish.py,sha256=jPvTveRcDtvGDgRT6EA9WJitAQxftneHxvEJ63yY_cM,8392
345
345
  meutils/apis/baidu/__init__.py,sha256=XPkz3DHrDdxCneaZct3y7MaX0Aw9IIseOYOn1YuVBII,243
346
- meutils/apis/baidu/bdaitpzs.py,sha256=JuBTTSm0AyD1I_N7xj-s0iOGOwCw-cUF2OthLR3rFGE,12826
346
+ meutils/apis/baidu/bdaitpzs.py,sha256=9Joze8tDEXuZP-t6oR3UEwMKY_HgxuZRehhQGHiDZAE,12766
347
347
  meutils/apis/baidu/test.py,sha256=nb9ivelHIw84-d1V-MNGRpGoTpLFsNXPk-TTKpjwOfQ,2058
348
348
  meutils/apis/chatglm/__init__.py,sha256=uFuc9qY-ZjGqbsfcdGZkcEkhjATojWpzk2WXTTujc70,271
349
349
  meutils/apis/chatglm/glm_video.py,sha256=9LA9pyeIcDDHXGhJbZSJfjxrLeNC3SIuCKJwDIXRKR8,14015
@@ -392,7 +392,7 @@ meutils/apis/hunyuan/image_tools.py,sha256=SYovMKvv0QCPAYnIPqpDfXyVSOvyEuFlNNCA1
392
392
  meutils/apis/images/__init__.py,sha256=hs7HUJZvw_3DAtoapPnbZsEb4ng1p0a6fJGFFWwUcUk,272
393
393
  meutils/apis/images/deepinfra.py,sha256=lMqfU0LIXEzHiAS31dCcoTnPIE6tpoDJhq61H0TVJPg,3219
394
394
  meutils/apis/images/demo.py,sha256=Cjk-EKMKbp44czykW_44qR0TzElX8nNCALqXBBw5sJA,4405
395
- meutils/apis/images/edits.py,sha256=vyX5AEZcNvLHB4fXWo2PdviNv0jMMO34e1k-IbedjO0,9935
395
+ meutils/apis/images/edits.py,sha256=ahqUukciynSwEgdCDUwh9AbT0kdtx_BRP2CQ6llssTM,10228
396
396
  meutils/apis/images/eidt.py,sha256=s8IBbCjwwoogIUf-d2O7nkawUmly9n19nvLYPaLEeg4,1217
397
397
  meutils/apis/images/recraft.py,sha256=pWWzPnOMoccMXkzaJ5k8xpUWggVP4ccbcfFHm9hd5GA,71900
398
398
  meutils/apis/images/flux/__init__.py,sha256=W_PZabQm6EmtJYmzEiEpL_WCXTAW0AiJ-t_n5UTrE8c,271
@@ -425,8 +425,8 @@ meutils/apis/kling/kolors_virtual_try_on_web.py,sha256=UNjr-T9waujh2Gg8SSmnlfP3w
425
425
  meutils/apis/kling/videos.py,sha256=6z3w0gQHPe3BQNid4ZO2DfYSqvry44EMehG9U0qSB3E,2115
426
426
  meutils/apis/kling/鉴权.py,sha256=1kR67Mb0PxEo4ZxLVJZys4Iru9BUnS_Qqo2cbpLZNCU,842
427
427
  meutils/apis/kuaishou/__init__.py,sha256=fDzJvVQl_CxHyiL3bCPH9x7gOLYfK6QuW2iQ33eez7c,243
428
- meutils/apis/kuaishou/klingai.py,sha256=VzDZCDhj7zeDLFlKxIn68l0d8aR4wy4p4J3W2bK2xSE,21260
429
- meutils/apis/kuaishou/klingai_video.py,sha256=B_zauEMGDtWhUfSLB1dhMK4tjaJ1kzhGBsvfnpyjZMc,10066
428
+ meutils/apis/kuaishou/klingai.py,sha256=Sy-sNLgHp24bqSjqd8F1OTm6fadmRMH0MhODkWENdr0,21263
429
+ meutils/apis/kuaishou/klingai_video.py,sha256=h7lTVze9_lDciObn43-io3UFc00dMZCX4rwOUJ74Zs4,10069
430
430
  meutils/apis/kuaishou/kolors.py,sha256=mjPOFeM1n5FrXfs50SJYlZSHqYk-mQ1wRFs-R-LRsa0,7203
431
431
  meutils/apis/luma/__init__.py,sha256=51W483rgmMqFlRIHlkIIcKYMqggH4eY_bmV_mD3p7QI,271
432
432
  meutils/apis/luma/luma.py,sha256=dAWZj2Q4t5eJNJbbtCfmUNDb1wx_OKxxtrZr0szI6tw,6026
@@ -447,7 +447,8 @@ meutils/apis/oneapi/utils.py,sha256=p7zI7QYPqTaVHjk4jLJxb6EsLDNQQ6DVp_wZTgE8d2Y,
447
447
  meutils/apis/pixverse/__init__.py,sha256=WiboEUfJ_3Hs2WI3OymEspx8_ZSTgMglxTJd97Qk7qo,271
448
448
  meutils/apis/pixverse/pixverse.py,sha256=dvnyYVUXCEY_cLnmX9lvq9TesvplCMCuJmmP7ShchQk,5534
449
449
  meutils/apis/proxy/__init__.py,sha256=by7_6GT3xeDjAWLLqbw8uvGaZ3RdprEW-zJ2DFLOdwA,271
450
- meutils/apis/proxy/ips.py,sha256=JqW7f2eWKmykfDYNBXUccw9QIloK91F4zfphERbYT2o,5090
450
+ meutils/apis/proxy/ips.py,sha256=3McLniROteSBqAtcMH8xKbUBfhVc4ZyGuRwMvgEryKg,5023
451
+ meutils/apis/proxy/kdlapi.py,sha256=8z4HeZd8fQX8p_NrzM-uflGZS8tnwVB-G4cNdlV1k4g,904
451
452
  meutils/apis/remini/__init__.py,sha256=8TbAnbI_bDfH8g0Y9EHXHBum7C0rZt9MzgAAz_MbAeI,271
452
453
  meutils/apis/remini/remini.py,sha256=bJjvtqrCNlAu7No4gYGjoWAM0ch6dCsofYSy2jPZrXg,4239
453
454
  meutils/apis/replicateai/__init__.py,sha256=PK7e7-xhn5aj5WOyGHLzpsHQvpeM5uTOiMylvj40ZmU,272
@@ -467,7 +468,7 @@ meutils/apis/search/zhipu_web_search.py,sha256=L0eV9pINynX7PgAw0fR419DYvak9jbbGf
467
468
  meutils/apis/siliconflow/__init__.py,sha256=DQ-A6wAWGna49pmyGhcIWgc2zx6TN9DfQmSUdAW7qjk,241
468
469
  meutils/apis/siliconflow/audio.py,sha256=pk1OROATtAURPQ6VkswmR5gJFOFYJJPnjp-boDAf8X0,2017
469
470
  meutils/apis/siliconflow/image_to_image.py,sha256=Clk-2hACzoUP0yTHnxhlV5MA_HsVdcPuhrX41YARWPM,89439
470
- meutils/apis/siliconflow/images.py,sha256=6KwzFbQyFuPwrUxzq4uxv2yrDRSt7vNMH7pMNmpy5_s,7321
471
+ meutils/apis/siliconflow/images.py,sha256=E--Exisrydcn5TQMcuk_UYg0cIPxu8DEkyPeKhDfsGY,7549
471
472
  meutils/apis/siliconflow/rerankers.py,sha256=GuKT33MmAiVULqNaAO9IIy1Zp570-kYJ6xP03eLCp5Y,1259
472
473
  meutils/apis/siliconflow/text_to_image.py,sha256=rDxk6NIj4TjigcSPVDZknQR9nUpK5CTJBXc3KjI1Z8Y,4457
473
474
  meutils/apis/siliconflow/utils.py,sha256=Awe0V7Mkceop1vWWrw9901cKQ6HHntIn8HbIG0fEo40,2091
@@ -551,7 +552,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
551
552
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
552
553
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
553
554
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
554
- meutils/data/VERSION,sha256=1PXtA19AkjfXkZrZsQFwVpX-80H1swqRuTiO4s7Mdik,19
555
+ meutils/data/VERSION,sha256=lvrPPJxP10skRCumV_RHjX3x0PKqcbxzkagXVj91hlI,19
555
556
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
556
557
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
557
558
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -598,7 +599,7 @@ meutils/init/evn.py,sha256=GPw9Un8YbgYJmjwd-uYWQ8JeVr6pRxwyYbDv3W8fb1s,1588
598
599
  meutils/init/oo.py,sha256=jXWaCWWFYVPGgTIas47Z3J7sIq-CD7DyK6fKDBsq8GA,12884
599
600
  meutils/io/__init__.py,sha256=uW43ZfdWu7adRvwvcTzUGtn4CseRmbzEJdlZV-oqHEA,2107
600
601
  meutils/io/_openai_files.py,sha256=UIiu6Zg7iSFIn1xIcpLznFlnfCxAJFGuvuPtxvTNHfI,1005
601
- meutils/io/files_utils.py,sha256=3xBCoNf7Q-sf5lgBCQ7HvLdB8GjbGmjC9MJqaDGr2X8,8345
602
+ meutils/io/files_utils.py,sha256=6u_xOxf2GgcHaIxGZzwZR3htWbCyjzfQ0h8R7jw6YRo,8480
602
603
  meutils/io/image.py,sha256=BJmYzx7o66X7C32gOfVmfr5tBRXOi0IYQY7BpGLsGrg,6926
603
604
  meutils/io/minio_utils.py,sha256=i1YuxwDJzLse0smMXuPqnD1wirBBb8psmB_kd1oPoVU,1274
604
605
  meutils/io/openai_files.py,sha256=wi4qp-olva8aF6AfBiUBfb_QlHzHolJJbH4UbHpRrB0,6032
@@ -633,10 +634,11 @@ meutils/jwt_utils/__init__.py,sha256=hU1CYBK90Q9QKVrf1s6VFKZwWjHioHa6bO2AuDn7_eo
633
634
  meutils/jwt_utils/common.py,sha256=MlWDLtxiF-WeRl3oyK94KIa6BKFIXVeJtaQUnpa9ayo,814
634
635
  meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
635
636
  meutils/llm/check_api.py,sha256=Cu60Rvp7zLmmazuLXxpK4z-FCab4NrO4nH5LzfYjjoM,3591
636
- meutils/llm/check_utils.py,sha256=r7_7cg8yE6j4AE58JPaSjxxMNXoIzcE8URm-k5vygn0,5407
637
+ meutils/llm/check_utils.py,sha256=y1D7_JGiDvnn0rTxN9UWMBTQaG0IefVFioE_rBTkSv4,5407
637
638
  meutils/llm/clients.py,sha256=ksj8Fb5b2Y0dc5rUpzg3aVChPApblsaT5Zx9KWlXA5Q,2412
638
639
  meutils/llm/demo.py,sha256=gyGjTxuNFMOa1X4CXaChkq0lcjbKiRsnSRhkeMvsoQk,3822
639
640
  meutils/llm/mappers.py,sha256=ZQLl3OuD06kVMP8bwIpVgAB1UVzMJWUJiZ3vgk-ZjeI,303
641
+ meutils/llm/models.py,sha256=dDdU_WzcQGdgaFOYtMJpDYmt5uKFKEz2pc0guqNVkSk,3175
640
642
  meutils/llm/utils.py,sha256=4u3b8VO3wX3xKny1AdV4579qXux1YA4k5gI-CYPtx0o,4279
641
643
  meutils/llm/x.py,sha256=ETvKKDTmDNrik0K2-_a_SEQxyV4X4-fy0JPrAOLNPv4,1732
642
644
  meutils/llm/completions/__init__.py,sha256=q5FEYPpo2f_P44Ghdh9fkrmqZLX2Asso8p-nf-ZTqks,244
@@ -650,7 +652,7 @@ meutils/llm/completions/delilegal.py,sha256=mr53ps7I33SC8Fjy4rma-xoNF-mLgwdZfHgd
650
652
  meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_BA,3048
651
653
  meutils/llm/completions/kimi.py,sha256=TSkLObebIAb_oivOMq3aKx9qoXcMy611_g2yIKex9eo,1541
652
654
  meutils/llm/completions/modelscope.py,sha256=umPlJuHSL2RR0oNdTIAqts8iqEmGp_MR6Vh49g-UZuc,271
653
- meutils/llm/completions/qwenllm.py,sha256=smrpZTJcghIygODR5M2q_qNEhyb25O79Oar2FEx1N5c,10578
655
+ meutils/llm/completions/qwenllm.py,sha256=MvoNyueM4oLRRPxOEPxpohTq_aClUD4qV4rQ5QGk0Yk,10757
654
656
  meutils/llm/completions/rag.py,sha256=cpQ1aZX2QI1QDfFpODTxWHPYglK6_3qrlUM_KHLBNhc,1112
655
657
  meutils/llm/completions/reasoner.py,sha256=rPIxW1iuvLuGhcOa6PkfcJmrTKtJV-8wRKfA09X09tg,6169
656
658
  meutils/llm/completions/tryblend.py,sha256=NfVRktn1QiE2k60PzEI-LmKuxZCc7mtL_KlsrVcZg4k,8957
@@ -668,7 +670,7 @@ meutils/llm/completions/rag/qwen.py,sha256=1dBNLLbQDRsM-7EGaStcWFU8HRa-rp3RxJ9cp
668
670
  meutils/llm/completions/rag/rag.py,sha256=mnC4bZUMuNYuPFXMBqXMofj_ms8uP5MMw1leJ5jXA_k,1209
669
671
  meutils/llm/functions/__init__.py,sha256=It6pcNwRBSh3Em45ooi61lc5tFg8eOYv0BvEFuRjSGQ,271
670
672
  meutils/llm/openai_polling/__init__.py,sha256=qmAMITPtrTD-y57RiJXewuOic7iLKBhx8mz5uvcxsy8,270
671
- meutils/llm/openai_polling/chat.py,sha256=t4tOQUsJNsqDflVyU1XxRkuSBA1mhrSZ_KhshOrOqK4,1298
673
+ meutils/llm/openai_polling/chat.py,sha256=5iyORNwagVRjsbWkwULF6j7DYgawHsSvu1yLcMh6uDI,4099
672
674
  meutils/llm/openai_polling/images.py,sha256=tQ-KoE9IoMM093MFVrtFlXFU9U6Y1t13UUHdzZRrz8w,268
673
675
  meutils/llm/openai_utils/__init__.py,sha256=MWyNhP2K49oaHGEZlInZc3XlwqlStFultP8k7HDPAwk,290
674
676
  meutils/llm/openai_utils/common.py,sha256=GGctOMlg8xT2A5H-8hMow0VfOZHCDdIPjd12597Nohs,9754
@@ -789,7 +791,7 @@ meutils/schemas/metaso_types.py,sha256=r_X0Exs_2S3rNS71RneemMpz7EvBIOLBfAMmWMQRn
789
791
  meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
790
792
  meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
791
793
  meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
792
- meutils/schemas/openai_types.py,sha256=Hkuzd4tC-XzoU_Ln9fojId3kFQhPO13vWUZvWQuZwyw,22485
794
+ meutils/schemas/openai_types.py,sha256=Q6-ZpaYfpr65ujreRh8EVYxnfSk_JZLPlZKDbLbnQoo,22485
793
795
  meutils/schemas/pixverse_types.py,sha256=3mHg2KxvszV1U8K3GdzsODZz4uocLVRjEeJgYhX0Xmw,2347
794
796
  meutils/schemas/playwright_types.py,sha256=zhZd53m1Wg4zlGtq2JM4z7Aon-u_eF6rzs-_TFYWvkU,1177
795
797
  meutils/schemas/prodia_types.py,sha256=knh_lzAxMfWMoqAPmvyMweay9PmQmsoQ1X6Mj17ohWg,476
@@ -812,7 +814,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
812
814
  meutils/schemas/db/oneapi_types.py,sha256=YanT0q9pU7dva2ZBPWjCpwGNUuifnJh0zUJJCQ9070c,3848
813
815
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
814
816
  meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
815
- meutils/schemas/oneapi/common.py,sha256=EabLiSZKwuBZpm6l8oH0Hep2cTWMDa_npzT9z6ev5qo,33630
817
+ meutils/schemas/oneapi/common.py,sha256=bjCCeM9nWXHMQulmkXtQBNbw2lzoL3h1cO4rkHDJGMY,34321
816
818
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
817
819
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
818
820
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -837,7 +839,7 @@ meutils/serving/fastapi/utils.py,sha256=H5lQSU7-IfJ2w9FWbaJ34LCbQSaNTFSU7z1pG5wZ
837
839
  meutils/serving/fastapi/__demo/__init__.py,sha256=TxXjqy2ZxAkadPxqN92Xq3ixCUYkQ-4X6UxsReRpHhc,271
838
840
  meutils/serving/fastapi/__demo/异步任务.py,sha256=60_ruA4ljlTLIP5zxcejmm9WJ0SDuqpsO49SZK9vA_s,1444
839
841
  meutils/serving/fastapi/dependencies/__init__.py,sha256=TQcxvWqZdA2jZZX84NtAij-bhS7ihcMLx1-xsbSpV4g,384
840
- meutils/serving/fastapi/dependencies/auth.py,sha256=XmJgucUh-blZm54_ncKHAweIR4LFZ5dtf4Bru1GXpmg,2151
842
+ meutils/serving/fastapi/dependencies/auth.py,sha256=3dgfBLbu6VdzB1-7vaEtfXy6oOawIcGiaQZU2fBNXZM,2166
841
843
  meutils/serving/fastapi/dependencies/headers.py,sha256=QHsWn8w_9f4_WoYTAOJzzb38FVQdRgbNATLdChWaVGg,916
842
844
  meutils/serving/fastapi/exceptions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
843
845
  meutils/serving/fastapi/exceptions/http_error.py,sha256=-cBBWNJH3qp1GMSaa9AlojJ18lBLFEk0KHoGUnmV3u4,2601
@@ -941,9 +943,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
941
943
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
942
944
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
943
945
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
944
- MeUtils-2025.4.13.14.49.36.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
945
- MeUtils-2025.4.13.14.49.36.dist-info/METADATA,sha256=8fEBNmxKS5q5CV_q3mbE2DoJvPluYTmJLMcBSrhTSy4,32834
946
- MeUtils-2025.4.13.14.49.36.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
947
- MeUtils-2025.4.13.14.49.36.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
948
- MeUtils-2025.4.13.14.49.36.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
949
- MeUtils-2025.4.13.14.49.36.dist-info/RECORD,,
946
+ MeUtils-2025.4.15.12.6.48.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
947
+ MeUtils-2025.4.15.12.6.48.dist-info/METADATA,sha256=_FGcLLqkey9oA79vJymobi6SYhbGNNo5eV7Hvh1YtR0,32833
948
+ MeUtils-2025.4.15.12.6.48.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
949
+ MeUtils-2025.4.15.12.6.48.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
950
+ MeUtils-2025.4.15.12.6.48.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
951
+ MeUtils-2025.4.15.12.6.48.dist-info/RECORD,,
examples/_openaisdk/4v.py CHANGED
@@ -37,8 +37,8 @@ base64_image = image_to_base64('1.png', for_image_url=True)
37
37
  # print(image_url2)
38
38
 
39
39
  image_url1 = "https://img-home.csdnimg.cn/images/20201124032511.png"
40
- image_url2 = "https://taosha01-1253585015.cos.ap-shanghai.myqcloud.com/typora/24951712814992_.pic_thumbnail.jpg"
41
- image_url1 = image_to_base64('x.jpg', for_image_url=True)
40
+ image_url1 = "https://taosha01-1253585015.cos.ap-shanghai.myqcloud.com/typora/24951712814992_.pic_thumbnail.jpg"
41
+ # image_url1 = image_to_base64('x.jpg', for_image_url=True)
42
42
 
43
43
  image_urls = [
44
44
  {"type": "image_url", "image_url": {"url": image_to_base64(p, for_image_url=True)}}
@@ -105,11 +105,13 @@ response = openai.chat.completions.create(
105
105
 
106
106
  # model='kimi', # ocr
107
107
 
108
- model = "qwen-vl-max-latest",
108
+ # model = "kimi-vl-a3b-thinking",
109
109
  # model = "qwen-vl-max",
110
+ # model="gemini-2.0-flash-thinking-exp",
111
+ model="gemini-2.5-pro-exp-03-25",
110
112
 
111
113
  messages=messages,
112
- max_tokens=100,
114
+ max_tokens=1000,
113
115
  temperature=0,
114
116
  # response_format={"type": "json_object"}
115
117
  )
@@ -9,12 +9,16 @@
9
9
  # @Description :
10
10
 
11
11
  from meutils.pipe import *
12
- from openai import OpenAI
12
+ from meutils.llm.clients import OpenAI
13
+ # from openai import OpenAI
14
+
13
15
 
14
16
  client = OpenAI(
15
17
  api_key=os.getenv("SILICONFLOW_API_KEY"),
16
- # api_key="sk-zhvfnyebjcrylrwwzecxcbolwdsitqfwjqzxeysqhprdsjbm",
17
18
  base_url="https://api.siliconflow.cn/v1",
19
+ http_client=httpx.Client(
20
+ proxy="http://110.42.51.201:38443",
21
+ timeout=30)
18
22
  )
19
23
 
20
24
  # print(client.models.list())
@@ -45,9 +49,9 @@ response = client.chat.completions.create(
45
49
  # {'role': 'user', 'content': "抛砖引玉是什么意思呀"}
46
50
  # ],
47
51
  messages=messages,
48
- stream=False,
49
- max_tokens=1,
52
+ stream=True,
53
+ max_tokens=10,
50
54
  )
51
55
  print(response)
52
56
  for chunk in response:
53
- print(chunk.choices[0].delta.content)
57
+ print(chunk)
@@ -21,7 +21,7 @@ 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
23
  from meutils.io.files_utils import to_bytes, to_base64, to_url_fal as to_url, to_url_fal
24
- from meutils.apis.proxy.ips import get_one_proxy
24
+ from meutils.apis.proxy.kdlapi import get_one_proxy
25
25
  from fake_useragent import UserAgent
26
26
 
27
27
  ua = UserAgent()
@@ -61,8 +61,7 @@ async def create_task(
61
61
  }
62
62
 
63
63
  request_kwargs = {
64
- "proxy": await get_one_proxy(from_redis=True),
65
- "proxy": "http://154.12.35.201:38443",
64
+ "proxy": await get_one_proxy()
66
65
  }
67
66
 
68
67
  async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=100, **request_kwargs) as client:
@@ -9,6 +9,8 @@
9
9
  # @Description :
10
10
 
11
11
  from meutils.pipe import *
12
+ from meutils.apis.proxy.kdlapi import get_proxy_list
13
+
12
14
  from meutils.decorators.retry import retrying, IgnoredRetryException
13
15
 
14
16
  from meutils.config_utils.lark_utils import get_next_token_for_polling
@@ -16,8 +18,7 @@ from meutils.schemas.image_types import ImageRequest, ImagesResponse, HunyuanIma
16
18
  from meutils.schemas.image_types import ImageProcess
17
19
  from meutils.schemas.yuanbao_types import YUANBAO_BASE_URL, FEISHU_URL as YUANBAO_FEISHU_URL
18
20
 
19
- from meutils.io.files_utils import to_bytes, to_base64, to_url_fal
20
-
21
+ from meutils.io.files_utils import to_bytes, to_base64, to_url_fal, to_url
21
22
  from meutils.notice.feishu import send_message as _send_message
22
23
 
23
24
  from fake_useragent import UserAgent
@@ -80,6 +81,7 @@ async def make_request_for_hunyuan(payload, token: Optional[str] = None, respons
80
81
  return ImagesResponse(data=data, timings={"inference": time.time() - s})
81
82
 
82
83
 
84
+ @retrying(min=3, ignored_exception_types=(IgnoredRetryException,))
83
85
  async def make_request_for_gitee(payload, token: Optional[str] = None, response_format: str = "url"):
84
86
  s = time.time()
85
87
  feishu_url = "https://xchatllm.feishu.cn/sheets/MekfsfVuohfUf1tsWV0cCvTmn3c?sheet=PDnO6X"
@@ -111,22 +113,23 @@ async def make_request_for_gitee(payload, token: Optional[str] = None, response_
111
113
 
112
114
 
113
115
  async def make_request_for_baidu(payload, token: Optional[str] = None, response_format: str = "url"):
114
- """todo redis"""
115
116
  s = time.time()
116
- token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL, from_redis=True)
117
+ # token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL, from_redis=True)
117
118
  headers = {
118
- 'Cookie': token,
119
+ # 'Cookie': token,
119
120
  'User-Agent': ua.random,
120
121
  'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
121
122
  }
122
123
 
123
- from meutils.apis.proxy.ips import get_one_proxy
124
+ proxy_list = await get_proxy_list()
125
+ logger.debug(proxy_list)
124
126
 
125
127
  request_kwargs = {
126
- "proxy": await get_one_proxy(from_redis=True),
128
+ "proxy": proxy_list[-1],
127
129
  }
128
- async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60, **request_kwargs) as client:
129
- response = await client.post("/aigc/pccreate", data=payload) # pcEditTaskid
130
+
131
+ async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60) as client:
132
+ response = await client.post("/aigc/pccreate", data=payload, extensions=request_kwargs) # pcEditTaskid
130
133
  response.raise_for_status()
131
134
  data = response.json()
132
135
 
@@ -137,18 +140,22 @@ async def make_request_for_baidu(payload, token: Optional[str] = None, response_
137
140
  for i in range(30):
138
141
  await asyncio.sleep(3)
139
142
  try:
140
- response = await client.get(f'/aigc/pcquery?taskId={task_id}')
143
+ response = await client.get(f'/aigc/pcquery?taskId={task_id}') # todo: get任务未加代理
141
144
  if data := response.json().get("picArr", []):
142
145
  image_base64 = data[0].get("src")
143
146
  break
144
147
  except Exception as e:
145
148
  logger.error(e)
146
- if i > 3: break
149
+ if i > 3:
150
+ raise IgnoredRetryException(f"忽略重试: \n{response.text}")
151
+
147
152
  if not image_base64:
148
153
  raise Exception(f"NO WATERMARK FOUND: {data}") #############
149
154
 
150
155
  if response_format == "url":
151
- url = await to_url_fal(image_base64, content_type="image/png")
156
+ # url = await to_url_fal(image_base64, content_type="image/png")
157
+ url = await to_url(image_base64, content_type="image/png")
158
+
152
159
  return ImagesResponse(data=[{"url": url}], timings={"inference": time.time() - s})
153
160
  else:
154
161
  return ImagesResponse(data=[{"b64_json": image_base64}], timings={"inference": time.time() - s})
@@ -204,7 +211,7 @@ if __name__ == '__main__':
204
211
  # hunyuan
205
212
  token = "web_uid=ac283ec7-4bf6-40c9-a0ce-5a2e0cd7db06; hy_source=web; hy_user=I09MgMfFcUUyVSIg; hy_token=hevVCi/QuVjQcre5NDRMO7FuiWCZoDMIq3Zp8IwNxrPUofl4zWYazHEdeZ2S5o7q; _qimei_q36=; _qimei_h38=f2d27f50f0f23e085296d28303000006a17a09; _qimei_fingerprint=efbb885a22f7d4e5589008c28bc8e7ba; _qimei_uuid42=18c0310102d1002a082420cd40bb9717523c3c7e12; _gcl_au=1.1.915258067.1733278380; _ga_RPMZTEBERQ=GS1.1.1733722091.3.1.1733722108.0.0.0; _ga=GA1.2.981511920.1725261466; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%22100000458739%22%2C%22first_id%22%3A%22191b198c7b2d52-0fcca8d731cb9b8-18525637-2073600-191b198c7b31fd9%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%A4%BE%E4%BA%A4%E7%BD%91%E7%AB%99%E6%B5%81%E9%87%8F%22%2C%22%24latest_utm_medium%22%3A%22cpc%22%7D%2C%22identities%22%3A%22eyIkaWRlbnRpdHlfY29va2llX2lkIjoiMTkxYjE5OGM3YjJkNTItMGZjY2E4ZDczMWNiOWI4LTE4NTI1NjM3LTIwNzM2MDAtMTkxYjE5OGM3YjMxZmQ5IiwiJGlkZW50aXR5X2xvZ2luX2lkIjoiMTAwMDAwNDU4NzM5In0%3D%22%2C%22history_login_id%22%3A%7B%22name%22%3A%22%24identity_login_id%22%2C%22value%22%3A%22100000458739%22%7D%2C%22%24device_id%22%3A%22191b198c7b2d52-0fcca8d731cb9b8-18525637-2073600-191b198c7b31fd9%22%7D"
206
213
 
207
- url = "https://oss.ffire.cc/files/kling_watermark.png"
214
+ url = "https://s3.ffire.cc/files/jimeng.jpg"
208
215
  # url = "https://oss.ffire.cc/files/shuiyin.jpg"
209
216
  # url = "https://oss.ffire.cc/files/shuiyin3.jpg"
210
217
 
@@ -23,7 +23,7 @@ from meutils.notice.feishu import send_message as _send_message
23
23
  from meutils.config_utils.lark_utils import get_next_token_for_polling
24
24
  from meutils.schemas.task_types import Task, FileTask
25
25
 
26
- from meutils.apis.proxy.ips import get_one_proxy
26
+ from meutils.apis.proxy.kdlapi import get_one_proxy
27
27
 
28
28
  send_message = partial(
29
29
  _send_message,
@@ -20,7 +20,7 @@ from meutils.config_utils.lark_utils import get_next_token_for_polling
20
20
 
21
21
  from meutils.apis.kuaishou.klingai import get_reward, get_point, check_token, download, get_task_plus
22
22
 
23
- from meutils.apis.proxy.ips import get_one_proxy
23
+ from meutils.apis.proxy.kdlapi import get_one_proxy
24
24
 
25
25
  send_message = partial(
26
26
  _send_message,
meutils/apis/proxy/ips.py CHANGED
@@ -10,6 +10,7 @@
10
10
  # https://github.com/Sndeok/HarbourJ/blob/5bbbc4b6118df779929d1521270864753731b78a/jd_inviteDraw.py#L117
11
11
 
12
12
  from meutils.pipe import *
13
+ from meutils.caches import rcache
13
14
  from meutils.decorators.retry import retrying
14
15
  from meutils.hash_utils import murmurhash
15
16
  from meutils.config_utils.lark_utils import get_next_token_for_polling, get_series
@@ -23,7 +24,7 @@ BASE_URL = "http://ip.chatfire.cn"
23
24
  IPS = "58.240.255.226,110.42.51.201,154.37.214.121,154.40.54.76"
24
25
 
25
26
 
26
- @alru_cache(ttl=60)
27
+ @rcache(ttl=60)
27
28
  async def get_one_proxy(token: Optional[str] = None, feishu_url: str = "", from_redis: bool = True):
28
29
  feishu_url = feishu_url or FEISHU_URL
29
30
  if token: # 按token分配固定的ip
@@ -78,7 +79,7 @@ async def add_ips(ips: Optional[str] = None):
78
79
  await asyncio.sleep(5)
79
80
 
80
81
 
81
- @alru_cache(ttl=25)
82
+ @rcache(ttl=25)
82
83
  @retrying()
83
84
  async def get_proxies(request_type: str = "httpx", **kwargs):
84
85
  params = {
@@ -100,10 +101,7 @@ async def get_proxies(request_type: str = "httpx", **kwargs):
100
101
  resp = await client.get("/VAD/GetIp.aspx", params=params)
101
102
  ip = resp.text
102
103
  if request_type == "httpx":
103
- proxies = {
104
- "http://": f"http://{ip}",
105
- "https://": f"http://{ip}",
106
- }
104
+ return f"http://{ip}"
107
105
  else:
108
106
 
109
107
  proxies = {
@@ -132,7 +130,7 @@ async def check_proxy(proxy):
132
130
 
133
131
 
134
132
  if __name__ == '__main__':
135
- # proxies = arun(get_proxies())
133
+ proxies = arun(get_proxies())
136
134
  # url = "http://api.xiequ.cn/VAD/GetIp.aspx?act=get&uid=134597&vkey=07A1D82FDDE1E96DB5CEF4EF12C8125F&num=1&time=30&plat=1&re=1&type=0&so=1&ow=1&spl=1&addr=&db=1"
137
135
  # url = f"{BASE_URL}/VAD/GetIp.aspx?act=get&uid=134597&vkey=07A1D82FDDE1E96DB5CEF4EF12C8125F&num=1&time=30&plat=1&re=1&type=0&so=1&ow=1&spl=1&addr=&db=1"
138
136
  #
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/env Python
2
+ # -*- coding: utf-8 -*-
3
+ import os
4
+
5
+ from meutils.pipe import *
6
+ from meutils.caches import rcache
7
+ from meutils.decorators.retry import retrying
8
+
9
+
10
+ @rcache(ttl=60 - 5)
11
+ @retrying()
12
+ async def get_proxy_list():
13
+ secret_id = os.getenv("KDLAPI_SECRET_ID") or "owklc8tk3ypo00ohu80o"
14
+ signature = os.getenv("KDLAPI_SIGNATURE") or "8gqqy7w64g7uunseaz9tcae7h8saa24p"
15
+ url = f"https://dps.kdlapi.com/api/getdps/?secret_id={secret_id}&signature={signature}&num=1&pt=1&format=json&sep=1"
16
+ async with httpx.AsyncClient() as client:
17
+ response = await client.get(url)
18
+ response.raise_for_status()
19
+ proxy_list = response.json().get('data').get('proxy_list')
20
+
21
+ return [f"http://{proxy}" for proxy in proxy_list]
22
+
23
+
24
+ async def get_one_proxy():
25
+ proxy_list = await get_proxy_list()
26
+ return proxy_list[-1]
27
+
28
+
29
+ if __name__ == '__main__':
30
+ arun(get_proxy_list())
@@ -19,6 +19,8 @@ from meutils.notice.feishu import IMAGES, send_message as _send_message
19
19
  from meutils.decorators.retry import retrying
20
20
 
21
21
  from meutils.apis.translator import deeplx
22
+ from meutils.apis.proxy.kdlapi import get_one_proxy
23
+
22
24
  from meutils.schemas.translator_types import DeeplxRequest
23
25
  from meutils.schemas.image_types import ImageRequest, FluxImageRequest, SDImageRequest, ImagesResponse
24
26
 
@@ -111,7 +113,12 @@ async def generate(request: ImageRequest, api_key: Optional[str] = None):
111
113
  data = to_openai_images_params(request)
112
114
  # logger.debug(data)
113
115
 
114
- client = AsyncOpenAI(base_url=BASE_URL, api_key=api_key)
116
+ # 代理
117
+ http_client = None
118
+ if request.user == 'proxy':
119
+ http_client = httpx.AsyncClient(proxy=await get_one_proxy(), timeout=60)
120
+
121
+ client = AsyncOpenAI(base_url=BASE_URL, api_key=api_key, http_client=http_client)
115
122
  response = await client.images.generate(**data)
116
123
  response.model = ""
117
124
  # logger.debug(response)
meutils/apis/textin.py CHANGED
@@ -15,7 +15,7 @@ from meutils.pipe import *
15
15
  from meutils.decorators.retry import retrying
16
16
  from meutils.notice.feishu import send_message
17
17
  from meutils.io.files_utils import to_url_fal as to_url
18
- from meutils.apis.proxy.ips import get_one_proxy
18
+ from meutils.apis.proxy.kdlapi import get_one_proxy
19
19
 
20
20
  from fake_useragent import UserAgent
21
21
 
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2025.04.13.14.49.36
1
+ 2025.04.15.12.06.48
meutils/io/files_utils.py CHANGED
@@ -161,6 +161,10 @@ async def to_url(
161
161
 
162
162
 
163
163
  async def to_base64(file: Union[UploadFile, str, bytes, list], content_type: Optional[str] = None):
164
+ if isinstance(file, list):
165
+ tasks = [to_base64(_, content_type) for _ in file]
166
+ return await asyncio.gather(*tasks)
167
+
164
168
  if not file: return
165
169
 
166
170
  _ = base64.b64encode(await to_bytes(file)).decode('utf-8')
@@ -165,7 +165,7 @@ if __name__ == '__main__':
165
165
 
166
166
  # arun(check_token_for_jina(["jina_c8da77fed9704d558c8def39837960edplTLkNYrsPTJHBF1HcYg_RkRVh0X"]*10))
167
167
 
168
- arun(check_token_for_siliconflow("sk-vpeietyomqjvizlzfuztzthggcqvutowgbmhjggsmwuhsomg"))
168
+ arun(check_token_for_siliconflow("sk-kxjxieomafksgguzsjbudwbrsqbmaauospunspvhtcynfryx"))
169
169
  "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=79272d"
170
170
 
171
171
  # arun(check_token_for_moonshot("sk-Qnr87vtf2Q6MEfc2mVNkVZ4qaoZg3smH9527I25QgcFe7HrT"))
@@ -56,7 +56,6 @@ async def to_file(file, api_key):
56
56
 
57
57
 
58
58
  async def create(request: CompletionRequest, token: Optional[str] = None): # ChatCompletionRequest 重构
59
- token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEwNzY1N2Y1LTgxN2ItNDg5Yi1iNjk4LWFhZjAyM2EwZTE4MyIsImV4cCI6MTc0NjI5NTAwNH0.D1uJN44NHiEt6URce4upbHvs7v73_Vd0V1s3T_JzclI"
60
59
 
61
60
  if request.temperature > 1:
62
61
  request.temperature = 1
@@ -99,13 +98,13 @@ async def create(request: CompletionRequest, token: Optional[str] = None): # Ch
99
98
  for i, content in enumerate(user_content):
100
99
  if content.get("type") == 'file_url': # image_url file_url video_url
101
100
  url = content.get(content.get("type")).get("url")
102
- file_object = await to_file(url, client)
101
+ file_object = await to_file(url, token)
103
102
 
104
103
  user_content[i] = {"type": "file", "file": file_object.id}
105
104
 
106
105
  elif content.get("type") == 'image_url':
107
106
  url = content.get(content.get("type")).get("url")
108
- file_object = await to_file(url, client)
107
+ file_object = await to_file(url, token)
109
108
 
110
109
  user_content[i] = {"type": "image", "image": file_object.id}
111
110
 
@@ -114,7 +113,7 @@ async def create(request: CompletionRequest, token: Optional[str] = None): # Ch
114
113
 
115
114
  user_content = [{"type": "text", "text": user_content}]
116
115
 
117
- file_object = await to_file(file_url, client)
116
+ file_object = await to_file(file_url, token)
118
117
 
119
118
  content_type = file_object.meta.get("content_type", "")
120
119
  if content_type.startswith("image"):
@@ -266,8 +265,10 @@ if __name__ == '__main__':
266
265
  stream=True,
267
266
 
268
267
  )
268
+ token = None
269
269
 
270
+ # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEwNzY1N2Y1LTgxN2ItNDg5Yi1iNjk4LWFhZjAyM2EwZTE4MyIsImV4cCI6MTc0NjI5NTAwNH0.D1uJN44NHiEt6URce4upbHvs7v73_Vd0V1s3T_JzclI"
271
+ arun(create(request, token))
272
+ # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEwNzY1N2Y1LTgxN2ItNDg5Yi1iNjk4LWFhZjAyM2EwZTE4MyIsImV4cCI6MTc0NjI5NTAwNH0.D1uJN44NHiEt6URce4upbHvs7v73_Vd0V1s3T_JzclI"
270
273
 
271
- arun(create(request))
272
-
273
- # arun(to_file("/Users/betterme/PycharmProjects/AI/MeUtils/meutils/llm/completions/yuanbao.py"))
274
+ # arun(to_file("https://oss.ffire.cc/files/kling_watermark.png", token))