MeUtils 2025.3.5.20.22.10__py3-none-any.whl → 2025.3.6.18.55.2__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.
@@ -72,7 +72,7 @@ examples/Time-Extractor/setup.py,sha256=ENYhj1_uJ7z_F3jrz8FR8w5u2SEXrZpl5GXEELUy
72
72
  examples/Time-Extractor/resource/__init__.py,sha256=0HHkZVghckIg5LkGMziooZ8TUqfSQFA6j62BN9KyFp0,91
73
73
  examples/_openaisdk/4v.py,sha256=lVnWWRNKX0Uu2rKy7PGYFsSVYJ48ykaRZHHdeyuT-rY,3532
74
74
  examples/_openaisdk/__init__.py,sha256=5TNibGR-ETncXVWoevqYJ0m2yo1GOxRx3hSu2qWAQNo,271
75
- examples/_openaisdk/_openai_chatfire.py,sha256=i7nei_-1eq3W8eUxGK6_BsR_1flw3-wJuc-uHkFCwDo,907
75
+ examples/_openaisdk/_openai_chatfire.py,sha256=hvz7Xw329xDDRHbenJohyhK5GGlXr0lA9dplXiwp4Q0,1240
76
76
  examples/_openaisdk/baichuan.py,sha256=xmNFc64T02r9wE0VSOG0B21wJJmlrecKVVCelhs2Dt4,890
77
77
  examples/_openaisdk/bpo.py,sha256=7Jw16TiKFEQvYbt4g-h7QimLBw7xY49w1MthT5OwcTM,5267
78
78
  examples/_openaisdk/chat_latex.py,sha256=FzVSvmG988GRItUg1Uga-L3dZseZW76LCvngHqRedD8,2939
@@ -95,7 +95,7 @@ examples/_openaisdk/openai_audio.py,sha256=ZyYslH9RfdJBpNUpjKn_5x0d94_H291Qt31u_
95
95
  examples/_openaisdk/openai_baichuan.py,sha256=-xhHovkFmWOTX25CJjIon0my-ocmwfAZJu1C0eS80Xs,1614
96
96
  examples/_openaisdk/openai_baidu.py,sha256=qnrxP66lY7Qf2jEbFEHrt0FrR5_Aji1AgwSI_46IabY,1969
97
97
  examples/_openaisdk/openai_cache.py,sha256=89GbJ1QlqQbVxlUeuFgEbwDYHOkum7BK0zB-CqmDAZU,726
98
- examples/_openaisdk/openai_chatfire.py,sha256=A8C7kZSrjpmr31cbMgfsymL9lOpMpueYqm4msdBISMY,18973
98
+ examples/_openaisdk/openai_chatfire.py,sha256=0C2jcC9GR67GxwSIIcVzm0HnNDh_6_Jpq7Y5nL1uP58,18979
99
99
  examples/_openaisdk/openai_chatfire_all.py,sha256=DaiI1NfDeK655QvXyczkgXK9Awxp7NBe71LHA7trxGE,4831
100
100
  examples/_openaisdk/openai_dashscope.py,sha256=m9SjQpaNgYwr4Qd3XusWbJBGp5ZTtpuB40QopejxPKQ,1029
101
101
  examples/_openaisdk/openai_deepinfra.py,sha256=innI4BT15dZEqheqDHG4lHDczY1QC7t2Whcavi1pcz0,1195
@@ -362,7 +362,7 @@ meutils/apis/hailuoai/hasha_new.py,sha256=1sD3fxmxYrEufmPaJZGAkYJoHKO85hfLXemnY-
362
362
  meutils/apis/hailuoai/music.py,sha256=S_oi-ZDbocTfbRgREdXtGx50xzUc1PCZGuxmr917E7M,265
363
363
  meutils/apis/hailuoai/upload.py,sha256=22S6W6hGQhUquVKqh7QCkXb6KHDl3iMKKi6Z0AJdFEI,6501
364
364
  meutils/apis/hailuoai/videos.py,sha256=hoVSbEjHfp2PIFxKL2n5Yy56DIhNkCrE3iKay8Yk3_E,20915
365
- meutils/apis/hailuoai/yy.py,sha256=gJvr7VDa0YPEUkZuETdmCFWWheylDPoMUg8gbS_SVw8,8937
365
+ meutils/apis/hailuoai/yy.py,sha256=du4CmLx5ebAI5FXe8NzQsmwpdA1_Kdxm7hgo5k9Zf-A,9016
366
366
  meutils/apis/hf/__init__.py,sha256=ZZoRl8yNYekoMhE__67XXBKNSYJaLgjtaa0netjJKUU,271
367
367
  meutils/apis/hf/got_ocr.py,sha256=pZURFpryDh_Ak6PNiARztOzYgkjVrfScJ5-0XzMBrzI,1776
368
368
  meutils/apis/hf/gradio.py,sha256=tz4oiY0PHLT48aQocV0wBeuz53mLo8Pz_bQBg43pHpA,839
@@ -393,11 +393,11 @@ meutils/apis/jiema/24mail.py,sha256=GUszRtoDe3T9q-X4embwT5YhcjgQ3XnkTJMKX93sCF4,
393
393
  meutils/apis/jiema/__init__.py,sha256=YBybggoDRYCNYcwJOypxR7MzfTjIhqO7BkGlTt7NDo4,271
394
394
  meutils/apis/jiema/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,3675
395
395
  meutils/apis/jimeng/__init__.py,sha256=a8CE_cOl9jqal0hycwaLm4Mnga8jmZlz9nCze_9bBqA,272
396
- meutils/apis/jimeng/common.py,sha256=Ftx_jhIJnw-a2qIEnAC0z3-q8vAC-YXBmJa9LIY4x9w,6751
396
+ meutils/apis/jimeng/common.py,sha256=dJcex3hh1eyLwSJwlfeHlaTal9_h5ERvOTb2PSrF96I,6763
397
397
  meutils/apis/jimeng/doubao.py,sha256=5OdnBpmZQOCLIb6lnN8YrL7J7E0XF47q0UF-z6asSuI,4295
398
398
  meutils/apis/jimeng/doubao_utils.py,sha256=XCHnvwfCOtJmPQuzDOCfKDMP_Pcqh-Y4w2h5f7Y2gzM,5999
399
- meutils/apis/jimeng/files.py,sha256=afwWvN6gSRjBGVMjV3CMpMwnuJ1cAVYBiFc6wamc570,9547
400
- meutils/apis/jimeng/images.py,sha256=iG0-MuW_Oh4rl4o9Gxdge8pXuB7DFfvL0pDdMMCD7xo,12660
399
+ meutils/apis/jimeng/files.py,sha256=E-pPmi6fIP_n6wgfiDbqeWsIfrXVZUe7LpA6Wds1xDI,11047
400
+ meutils/apis/jimeng/images.py,sha256=ntGcXQvgdh9KuhYtcVGvlPY36wRUh7TR3fpU45j1VRc,13034
401
401
  meutils/apis/jimeng/videos.py,sha256=x-PDOYNBN-yTmNvMbyDbwm_E2LXZ6A4hcVzEahV_Hvc,10813
402
402
  meutils/apis/kling/__init__.py,sha256=pKz40SEjui1dhHBD-icyNTJOYhzLvxLxJCwszuH4vio,271
403
403
  meutils/apis/kling/api.py,sha256=8NEWunWX3pVWhZzDnzw6rd07nPfOuY2T-XkgL86ZWYg,2328
@@ -439,7 +439,7 @@ meutils/apis/runwayml/__init__.py,sha256=90oL_3o8YkFPYm4R4PCxd3m9hgnHpOCLr0u-X4B
439
439
  meutils/apis/runwayml/gen.py,sha256=JrfegC4pI2r7DprDLGMi5px0K1C1pSgopnz0lcJU5RY,5194
440
440
  meutils/apis/search/__init__.py,sha256=1lg0ogEBgtwTi3XvkL5hMfSd14A6YNLO7M9itEJmaYI,244
441
441
  meutils/apis/search/baichuan.py,sha256=OUD0TH7KzqSxtuRJgjJPWO8XRQIoUwW5RX7lWMo7BXw,268
442
- meutils/apis/search/metaso.py,sha256=B1i81F5meBLd6ZWDBZb8l0GT1THKL9Qm7hKwmHYTNMA,9520
442
+ meutils/apis/search/metaso.py,sha256=_pMszZWcnvBr-m5bMgirq8-H5xsbTfcQgnDnCq1_z_4,8001
443
443
  meutils/apis/search/metaso_.py,sha256=PqMX3FLYbbAcc9qpqrPZ58LuSF29h0asZO1XMYmXbes,3144
444
444
  meutils/apis/search/n.py,sha256=o7jzNoR5v_nAjgdUvWgebL3nvvo3ECpq2KCj9YhUNr4,4337
445
445
  meutils/apis/search/searxng.py,sha256=RBPeq-AYj5D42gROrZNg0SxIWwWEW0oqrbQ3wEDH9k8,951
@@ -500,7 +500,7 @@ meutils/async_utils/test.py,sha256=lkZdgSzzgVg8hYVcaBNEJ3KBvFTEfjbXZVvtknQZsRQ,1
500
500
  meutils/caches/__init__.py,sha256=hIUEqNnmhukkbKK2F39bXe-MGDwzeUoTOf_sYly53xo,291
501
501
  meutils/caches/acache.py,sha256=sNpnX89oDjrB14CVusddJWxo2Jp5GB4h2lVSkJvXBv8,2791
502
502
  meutils/caches/c.py,sha256=9hm9x_xMRGtqG51SirOS3Pzi2L9zxU_nov4muE5iJ48,699
503
- meutils/caches/common.py,sha256=X5z95dZ06H2HCkVTtRqdV77p_DhZYlON7uk1OROCJ00,1724
503
+ meutils/caches/common.py,sha256=_shMi_U99g5vzfg9SAmUQHVE2IgWyiNATiSBBsDKGHI,1743
504
504
  meutils/caches/demo.py,sha256=tY3mJUe4D2gbBVMd8gny40nK2BwqBGsaWDjDJsL7ObE,758
505
505
  meutils/caches/redis_.py,sha256=5Oxq_XT5BJ7C9emzsXWDkiY4p8dVG7XFn0WxB14-z5E,600
506
506
  meutils/caches/redis_cache.py,sha256=oXGk_CZhjp9P_z1TG_zhmma4iGepK-iIWY_ZYQWSkFg,1395
@@ -530,7 +530,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
530
530
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
531
531
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
532
532
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
533
- meutils/data/VERSION,sha256=xYD0mkffWoWEQOrrTGQ7id-IaoOB0xRljKEckLMB824,19
533
+ meutils/data/VERSION,sha256=_RmLk3bnyAjiy8-dWRZjbrUCXfgQExjHKJKb_DalAZs,19
534
534
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
535
535
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
536
536
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -628,14 +628,14 @@ meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_
628
628
  meutils/llm/completions/kimi.py,sha256=TSkLObebIAb_oivOMq3aKx9qoXcMy611_g2yIKex9eo,1541
629
629
  meutils/llm/completions/modelscope.py,sha256=umPlJuHSL2RR0oNdTIAqts8iqEmGp_MR6Vh49g-UZuc,271
630
630
  meutils/llm/completions/oi.py,sha256=DmvzxJfdLA_I3MWcULhFtiUdo90j7V2dLvYvmZ-Tm9U,293
631
- meutils/llm/completions/qwenllm.py,sha256=iUMmMrkxcLkprgaJmwKSpG7qCtlFY-t9uVIDtSZGJfc,7762
631
+ meutils/llm/completions/qwenllm.py,sha256=b4AfLtcfKtt3ULUOB9sYXv2e4GZUvrIaFA38c1nMYt4,7861
632
632
  meutils/llm/completions/rag.py,sha256=cpQ1aZX2QI1QDfFpODTxWHPYglK6_3qrlUM_KHLBNhc,1112
633
633
  meutils/llm/completions/reasoner.py,sha256=rPIxW1iuvLuGhcOa6PkfcJmrTKtJV-8wRKfA09X09tg,6169
634
634
  meutils/llm/completions/tryblend.py,sha256=NfVRktn1QiE2k60PzEI-LmKuxZCc7mtL_KlsrVcZg4k,8957
635
635
  meutils/llm/completions/tune.py,sha256=FypfUgsB34t-E9xI6WydJYEk_-phscrLOX1iUCeKb_E,10138
636
636
  meutils/llm/completions/x.py,sha256=XE8aCyuhkpYq0nho1mq9lAdRU1yOPc8BpvCpNYYMYqM,630
637
637
  meutils/llm/completions/xx.py,sha256=pPfVRczvXZFUvAUOAFr0MMHMb5kVPNfKVhOLKugq52M,1646
638
- meutils/llm/completions/yuanbao.py,sha256=VIvRAwrqBVdVayWlb2urJX5F9vCaojbtq2-Uce3kMk4,6924
638
+ meutils/llm/completions/yuanbao.py,sha256=xaCMzuYhaFrFPwP8Wu6OmGoFGIiX-QirWK5N0NIx6gE,7171
639
639
  meutils/llm/completions/agents/__init__.py,sha256=Wklnf7FTHm43hyVwfT8FXX44nqdOTykPb_HORIqDuuw,270
640
640
  meutils/llm/completions/agents/search.py,sha256=GKsk0NRy6jsbSu8E9mdBWObJzroGE-L7Iuo5W2MK_u0,5057
641
641
  meutils/llm/completions/rag/__init__.py,sha256=VH4g9H0pqMM1Rkjc1xefQb4Uh8f9vlTt6tjdD6G6Wc0,272
@@ -657,7 +657,7 @@ meutils/logging/log_utils.py,sha256=Sa5-Y4fWNTKQw2fIb1dbPgOypl6S6m7EOrbciSqEt5A,
657
657
  meutils/logging/logger.py,sha256=-J_tWYfAvPhSTshVWIiN-6zTZnjkFuwDfMtxUtuNkuY,6183
658
658
  meutils/notice/__init__.py,sha256=BVbcBx4ks-BH_63gEcjMxL67oX1_aWdaM8r3TDo8Ogg,248
659
659
  meutils/notice/emails.py,sha256=TvC1xv3MpFC2HU0lTQW5SmNuj7UMlgjpsUImMp9jKOw,2403
660
- meutils/notice/feishu.py,sha256=shO0ouOKufq6dAwNFm17cBb2HoaEfyZXfbWkdkJ41dU,3600
660
+ meutils/notice/feishu.py,sha256=2SbEH5OC9fnqbmmCUyg6UtfWwRa4NNvLcEv0gyMGhys,3714
661
661
  meutils/notice/file_post.py,sha256=KQ8iQUM30vF7T6ZZPahdLps4dLXK2s3nzdFYbty6M5E,953
662
662
  meutils/notice/load_emailfile - 副本.py,sha256=f-Kq3UKZut_P0bmumV1y4PXuPtatjl-5SLUH5LShBUY,7331
663
663
  meutils/notice/wechat.py,sha256=-HU5oSvpZrVnjjU76ky7_j0yg5ivn5mIlJ7JJVtlrnY,4082
@@ -763,7 +763,7 @@ meutils/schemas/kuaishou_types.py,sha256=-_-0Fkab5jyJFb_2Y4ugi92JSIDlvWL_e8mH-wM
763
763
  meutils/schemas/luma_types.py,sha256=s9RZnZUpdUg8-13_WOWm3bE_e246olplFFjP8ygiDuw,1900
764
764
  meutils/schemas/message_types.py,sha256=AJc9ZT_weaTjfjmwF5CDroV0WJEJKnA3u4bnbHhBamo,6176
765
765
  meutils/schemas/message_types_.py,sha256=oL7uOsewaziSryZywfap09M5Wh9w28RJDuadFuAfCSI,6297
766
- meutils/schemas/metaso_types.py,sha256=WBzyL7N6_Zqy5s2UYregp4YuH0fT_OgtVPCmJqqgU2A,2086
766
+ meutils/schemas/metaso_types.py,sha256=r_X0Exs_2S3rNS71RneemMpz7EvBIOLBfAMmWMQRnk8,2182
767
767
  meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
768
768
  meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
769
769
  meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
@@ -789,7 +789,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
789
789
  meutils/schemas/db/oneapi_types.py,sha256=YanT0q9pU7dva2ZBPWjCpwGNUuifnJh0zUJJCQ9070c,3848
790
790
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
791
791
  meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
792
- meutils/schemas/oneapi/common.py,sha256=AYZ9u3nc4jNdtM5TwQhhG1w5kRksnAf2P1H8P_FqFQw,30714
792
+ meutils/schemas/oneapi/common.py,sha256=28IdCd8UD_1WXYE0VKRRw7v4jVAfoCbOOeZ6x3d5gQU,31047
793
793
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
794
794
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
795
795
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -918,9 +918,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
918
918
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
919
919
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
920
920
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
921
- MeUtils-2025.3.5.20.22.10.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
922
- MeUtils-2025.3.5.20.22.10.dist-info/METADATA,sha256=JVKAO9nNPwn-nw3Tm4tDYpMD8K3HHbZ_UqBjD3Wju6E,32833
923
- MeUtils-2025.3.5.20.22.10.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
924
- MeUtils-2025.3.5.20.22.10.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
925
- MeUtils-2025.3.5.20.22.10.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
926
- MeUtils-2025.3.5.20.22.10.dist-info/RECORD,,
921
+ MeUtils-2025.3.6.18.55.2.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
922
+ MeUtils-2025.3.6.18.55.2.dist-info/METADATA,sha256=HlMSGydC3x8SH0R1soAtyOZMqAe51WWN1MnvxwSQvFk,32832
923
+ MeUtils-2025.3.6.18.55.2.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
924
+ MeUtils-2025.3.6.18.55.2.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
925
+ MeUtils-2025.3.6.18.55.2.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
926
+ MeUtils-2025.3.6.18.55.2.dist-info/RECORD,,
@@ -15,18 +15,32 @@ from openai import OpenAI, APIStatusError
15
15
 
16
16
 
17
17
  client = OpenAI(
18
- api_key="你的 https://api.chatfire.cn/token",
19
- base_url="https://api.chatfire.cn/v1"
18
+ # api_key="你的 https://api.chatfire.cn/token",
19
+ # base_url="https://api.chatfire.cn/v1"
20
20
  )
21
21
 
22
+ url = "https://oss.ffire.cc/files/lipsync.mp3"
23
+ content = [
24
+ {"type": "text", "text": "总结下"},
25
+ {"type": "video_url", "video_url": {"url": url}}
26
+
27
+ ]
28
+ messages = [
29
+ {"role": "user", "content": [
30
+ {"type": "text", "text": "总结下"},
31
+ {"type": "video_url", "video_url": {"url": url}}
32
+
33
+ ]}
34
+ ]
35
+
22
36
 
23
37
  completion = client.chat.completions.create(
24
- model="glm-4-flash",
38
+ model="gemini-all",
25
39
  # model="xxxxxxxxxxxxx",
26
40
  messages=[
27
41
  {"role": "system", "content": '你是个内容审核助手'},
28
42
 
29
- {"role": "user", "content": message}
43
+ {"role": "user", "content": content}
30
44
  ],
31
45
  # top_p=0.7,
32
46
  top_p=None,
@@ -35,8 +49,9 @@ completion = client.chat.completions.create(
35
49
  max_tokens=1000
36
50
  )
37
51
 
52
+ #
53
+ # for chunk in completion:
54
+ # # print(bjson(chunk))
55
+ # print(chunk.choices[0].delta.content, end="")
38
56
 
39
- for chunk in completion:
40
- # print(bjson(chunk))
41
- print(chunk.choices[0].delta.content, end="")
42
-
57
+ print(messages)
@@ -245,7 +245,7 @@ if __name__ == '__main__':
245
245
 
246
246
  # "ds",
247
247
 
248
- "qwen-plus"
248
+ "qwen-max"
249
249
 
250
250
  ]
251
251
  # check_models(models, api_key=os.getenv("OPENAI_API_KEY"))
@@ -254,7 +254,6 @@ if __name__ == '__main__':
254
254
  # check_models(models, api_key=os.getenv("OPENAI_API_KEY_35"))
255
255
  # check_models(models, api_key=os.getenv("OPENAI_API_KEY_GUOCHAN"))
256
256
 
257
-
258
257
  # check_models(models, api_key=os.getenv("OPENAI_API_KEY_FREE"))
259
258
 
260
259
  # check_models(models)
@@ -269,7 +268,6 @@ if __name__ == '__main__':
269
268
  # check_models(models)
270
269
  check_models(models, api_key=os.getenv("OPENAI_API_KEY_GUOCHAN") + "-583")
271
270
 
272
-
273
271
  #############神奇 #############reasoning_content 神奇
274
272
 
275
- #############
273
+ #############
@@ -216,27 +216,29 @@ def get_yy(payload: dict, params: dict, url: str = "/api/multimodal/generate/vid
216
216
 
217
217
 
218
218
  if __name__ == '__main__':
219
- TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzM0MDY1MzUsInVzZXIiOnsiaWQiOiIzMDI4MzM4Njc3NzE5NDkwNTgiLCJuYW1lIjoibWUgYmV0dGVyIiwiYXZhdGFyIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSWdTU0NoczFENHNUajFTVGs3UHNUbTd5NTNKRFg5OW84QnhwWmNWNjU2MEFKYlJnPXM5Ni1jIiwiZGV2aWNlSUQiOiIifX0.mcozMacSciz0MORdleOMS_uhrixhIlpQmFmUwvn81I4"
220
-
221
- params = {
222
- 'device_platform': 'web', 'app_id': '3001',
223
- 'version_code': '22201',
224
- 'uuid': '3de88ad0-8a38-48a9-8ed3-0d63f9c71296',
225
- 'device_id': '302833759512764417',
226
- 'os_name': 'Windows',
227
- 'browser_name': 'chrome',
228
- 'device_memory': '8',
229
- 'cpu_core_num': '20',
230
- 'browser_language': 'zh-CN',
231
- 'browser_platform': 'Win32',
232
- 'screen_width': '2560',
233
- 'screen_height': '1440',
234
- 'unix': '1730114652000'
235
- }
236
-
237
- payload = {
238
- "desc": "smile",
239
- "useOriginPrompt": True,
240
- "fileList": []
241
- }
242
- print(get_yy(payload, params))
219
+ # TOKEN = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzM0MDY1MzUsInVzZXIiOnsiaWQiOiIzMDI4MzM4Njc3NzE5NDkwNTgiLCJuYW1lIjoibWUgYmV0dGVyIiwiYXZhdGFyIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSWdTU0NoczFENHNUajFTVGs3UHNUbTd5NTNKRFg5OW84QnhwWmNWNjU2MEFKYlJnPXM5Ni1jIiwiZGV2aWNlSUQiOiIifX0.mcozMacSciz0MORdleOMS_uhrixhIlpQmFmUwvn81I4"
220
+ #
221
+ # params = {
222
+ # 'device_platform': 'web', 'app_id': '3001',
223
+ # 'version_code': '22201',
224
+ # 'uuid': '3de88ad0-8a38-48a9-8ed3-0d63f9c71296',
225
+ # 'device_id': '302833759512764417',
226
+ # 'os_name': 'Windows',
227
+ # 'browser_name': 'chrome',
228
+ # 'device_memory': '8',
229
+ # 'cpu_core_num': '20',
230
+ # 'browser_language': 'zh-CN',
231
+ # 'browser_platform': 'Win32',
232
+ # 'screen_width': '2560',
233
+ # 'screen_height': '1440',
234
+ # 'unix': '1730114652000'
235
+ # }
236
+ #
237
+ # payload = {
238
+ # "desc": "smile",
239
+ # "useOriginPrompt": True,
240
+ # "fileList": []
241
+ # }
242
+ # print(get_yy(payload, params))
243
+
244
+ print(quote('x x'))
@@ -20,7 +20,7 @@ from fake_useragent import UserAgent
20
20
 
21
21
  ua = UserAgent()
22
22
 
23
-
23
+ @lru_cache()
24
24
  def get_headers(url, token: str = "693701c43e477b7c405cc7e2fef0ddbd"):
25
25
  device_time = f"{int(time.time())}"
26
26
  sign = md5(
@@ -130,7 +130,7 @@ def create_photo_lip_sync(request: TTSRequest):
130
130
  "v2v_opt": {},
131
131
  "i2v_opt": {
132
132
  "realman_avatar": {
133
- "enable": true,
133
+ "enable": True,
134
134
  "origin_image": {
135
135
  "width": 480,
136
136
  "height": 270,
@@ -15,7 +15,10 @@ import hashlib
15
15
  from meutils.pipe import *
16
16
  from meutils.caches.redis_cache import cache
17
17
  from meutils.io.files_utils import to_bytes
18
- from meutils.apis.jimeng.common import get_upload_token
18
+ from meutils.apis.jimeng.common import get_upload_token, get_headers, BASE_URL, FEISHU_URL, check_token
19
+ from meutils.notice.feishu import send_message_for_images
20
+ from meutils.config_utils.lark_utils import get_next_token_for_polling
21
+
19
22
 
20
23
  def random_str(n):
21
24
  return ''.join(random.sample('zyxwvutsrqponmlkjihgfedcba0123456789', n))
@@ -55,6 +58,7 @@ class JJRequest:
55
58
 
56
59
  def getAuthorization(self):
57
60
  return f"AWS4-HMAC-SHA256 Credential={self.e['access_key_id']}/{self.t[:8]}/cn-north-1/{self.serviceName}/aws4_request, SignedHeaders=x-amz-date;x-amz-security-token, Signature={self.signature()}"
61
+
58
62
  def signature(self):
59
63
  r = self.getSigningKey()
60
64
  return hmac_hash256(r, self.stringToSign()).hexdigest()
@@ -289,13 +293,48 @@ async def upload_for_video(video, token): # 跨账号token
289
293
  return vid, uri
290
294
 
291
295
 
292
- if __name__ == "__main__":
296
+ async def face_recognize(image, token: Optional[str] = None):
297
+ """
298
+ 图片识别
299
+ """
300
+ # token = "1c21a9fe6a4230609d7ff13e5cec41ec" # 跨账号测试
301
+
302
+ token = token or await get_next_token_for_polling(FEISHU_URL, check_token)
303
+
304
+ url = "/mweb/v1/face_recognize"
305
+ headers = get_headers(url, token)
306
+
307
+ image_uri = await upload_for_image(image, token)
308
+ payload = {
309
+ "image_uri_list": [
310
+ image_uri
311
+ ]
312
+ }
293
313
 
314
+ async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=120) as client:
315
+ response = await client.post(url, json=payload)
316
+ response.raise_for_status()
317
+ data = response.json()
318
+
319
+ try:
320
+ data['data']['image_uri'] = image_uri
321
+ data['data']['face_recognize_list'][0][0]['type'] = ""
322
+ data['data']['face_recognize_list'][0][0]['id'] = str(uuid.uuid4())
323
+ data['data']['face_recognize_list'][0][0]['is_selected'] = True
324
+ except Exception as e:
325
+ logger.error(e)
326
+ send_message_for_images(f"图片识别失败 {bjson(data)}", __name__)
327
+
328
+ return data
329
+
330
+
331
+ if __name__ == "__main__":
294
332
  # 豆包
295
333
  token = "de2215a7bb8e442774cf388f03fac84c"
296
334
 
297
335
  # jimeng
298
- token = "eb4d120829cfd3ee957943f63d6152ed"
336
+ token = "ffeee346fbd19eceebb79a7bfbca4bfe"
337
+ token = "34438eb03d165737122180caf62a8058"
299
338
  #
300
339
  # upload_token = arun(get_upload_token(token))
301
340
 
@@ -312,7 +351,10 @@ if __name__ == "__main__":
312
351
  # with timer():
313
352
  # arun(upload_for_image("https://oss.ffire.cc/files/kling_watermark.png", token))
314
353
 
315
- with timer():
316
- url = "https://oss.ffire.cc/files/lipsync.mp3"
317
- # arun(upload_for_video("https://oss.ffire.cc/files/lipsync.mp3", token))
318
- arun(upload_for_video(url, token))
354
+ # with timer():
355
+ # url = "https://oss.ffire.cc/files/lipsync.mp3"
356
+ # # arun(upload_for_video("https://oss.ffire.cc/files/lipsync.mp3", token))
357
+ # arun(upload_for_video(url, token))
358
+ image_url = "https://oss.ffire.cc/files/kling_watermark.png"
359
+ arun(face_recognize(image_url, token))
360
+ arun(face_recognize(image_url))
@@ -14,9 +14,10 @@ guidance 控制精细度 => sample_strength 0-1 数值越大生成的效果质
14
14
  import json
15
15
 
16
16
  from meutils.pipe import *
17
- from meutils.db.redis_db import redis_aclient
17
+ from meutils.caches import rcache
18
18
 
19
19
  from meutils.decorators.retry import retrying
20
+ from meutils.notice.feishu import send_message_for_images
20
21
 
21
22
  from meutils.schemas.jimeng_types import BASE_URL, MODELS_MAP, FEISHU_URL
22
23
  from meutils.schemas.image_types import ImageRequest
@@ -37,6 +38,10 @@ async def create_draft_content(request: ImageRequest, token: str):
37
38
  """
38
39
  创建草稿内容
39
40
  """
41
+ # 参考人物
42
+ face_recognize_data = request.controls.get("face_recognize_data", {})
43
+ image_uri = face_recognize_data.pop("image_uri", None)
44
+
40
45
  request.model = MODELS_MAP.get(request.model, MODELS_MAP["default"])
41
46
 
42
47
  height = width = 1360
@@ -44,13 +49,17 @@ async def create_draft_content(request: ImageRequest, token: str):
44
49
  height, width = map(int, request.size.split('x'))
45
50
 
46
51
  main_component_id = str(uuid.uuid4())
52
+ if (urls := parse_url(request.prompt)) or image_uri: # 图生 # todo: image base64
53
+ request.model = "high_aes_general_v20_L:general_v2.0_L" # 2.1不支持图片编辑 某些不支持
47
54
 
48
- if urls := parse_url(request.prompt):
49
- url = urls[-1]
50
- image_uri = await upload_for_image(url, token)
55
+ if image_uri:
56
+ pass
51
57
 
52
- request.prompt = request.prompt.replace(url, '')
53
- request.model = "high_aes_general_v20_L:general_v2.0_L" # 2.1不支持图片编辑 某些不支持
58
+ else:
59
+ url = urls[-1]
60
+ image_uri = await upload_for_image(url, token)
61
+
62
+ request.prompt = request.prompt.replace(url, '')
54
63
 
55
64
  component = {
56
65
  "type": "image_base_component",
@@ -82,7 +91,7 @@ async def create_draft_content(request: ImageRequest, token: str):
82
91
  {
83
92
  "type": "",
84
93
  "id": str(uuid.uuid4()),
85
- "name": "byte_edit", # bg_paint
94
+ "name": "byte_edit", # bg_paint face_gan
86
95
  "image_uri_list": [
87
96
  image_uri
88
97
  ],
@@ -100,6 +109,7 @@ async def create_draft_content(request: ImageRequest, token: str):
100
109
  "uri": image_uri
101
110
  }
102
111
  ],
112
+
103
113
  "strength": 0.5
104
114
  }
105
115
  ],
@@ -123,7 +133,11 @@ async def create_draft_content(request: ImageRequest, token: str):
123
133
  }
124
134
  }
125
135
 
126
- else:
136
+ if face_recognize_data:
137
+ face_recognize_data['name'] = "face_gan"
138
+ component["abilities"]["blend"]["ability_list"][0].update(face_recognize_data)
139
+
140
+ else: # 文生
127
141
 
128
142
  component = {
129
143
  "type": "image_base_component",
@@ -178,13 +192,8 @@ async def create_draft_content(request: ImageRequest, token: str):
178
192
 
179
193
 
180
194
  @retrying(max_retries=3)
195
+ @rcache(ttl=24 * 3600, serializer="pickle")
181
196
  async def create_task(request: ImageRequest, token: Optional[str] = None):
182
- if await redis_aclient.sismember("tasks:jimeng:prompt", request.prompt): # 敏感内容过滤
183
- raise HTTPException(
184
- status_code=status.HTTP_451_UNAVAILABLE_FOR_LEGAL_REASONS,
185
- detail=f"可能触发内容审核,请联系管理员:\n{request.prompt}"
186
- )
187
-
188
197
  token = token or await get_next_token_for_polling(FEISHU_URL, check_token)
189
198
 
190
199
  url = "/mweb/v1/aigc_draft/generate"
@@ -219,8 +228,6 @@ async def create_task(request: ImageRequest, token: Optional[str] = None):
219
228
  logger.debug(bjson(data))
220
229
 
221
230
  if task_id := (data.get("data") or {}).get("aigc_data", {}).get("history_record_id"): # bug
222
- # 映射提示词:方便管理敏感输入
223
- await redis_aclient.set(f"tasks:jimeng:{task_id}", request.prompt, ex=3600)
224
231
 
225
232
  return TaskResponse(task_id=task_id, system_fingerprint=token)
226
233
  else:
@@ -265,10 +272,7 @@ async def get_task(task_id, token):
265
272
 
266
273
  # 敏感词存储
267
274
  if status_code != 50:
268
- prompt = await redis_aclient.get(f"tasks:jimeng:{task_id}")
269
- if prompt:
270
- logger.debug(f"敏感内容: {prompt}")
271
- await redis_aclient.sadd('tasks:jimeng:prompt', prompt)
275
+ send_message_for_images(task_info, __name__)
272
276
 
273
277
  """
274
278
  "status": 30, # 内容审核
@@ -318,7 +322,8 @@ async def generate(request: ImageRequest):
318
322
 
319
323
  if __name__ == '__main__':
320
324
  # token = "eb4d120829cfd3ee957943f63d6152ed"
321
- token = "34438eb03d165737122180caf62a8058"
325
+ token = "ffeee346fbd19eceebb79a7bfbca4bfe"
326
+ image_url = "https://oss.ffire.cc/files/kling_watermark.png"
322
327
 
323
328
  # request = ImageRequest(prompt="做一个圣诞节的海报", size="1024x1024")
324
329
  # request = ImageRequest(prompt="https://oss.ffire.cc/files/kling_watermark.png 让她带上墨镜", size="1024x1024")
@@ -347,14 +352,29 @@ if __name__ == '__main__':
347
352
  # t3 = ("10186352959490", "eb4d120829cfd3ee957943f63d6152ed")
348
353
  #
349
354
  # arun(get_task(*t3))
355
+
356
+ from meutils.apis.jimeng.files import face_recognize
357
+
358
+ face_recognize = arun(face_recognize(image_url, token))
359
+
360
+ face_recognize_data = face_recognize.get("data", {})
361
+
362
+
350
363
  data = {
351
364
  "model": "seededit",
352
- "prompt": "https://oss.ffire.cc/files/kling_watermark.png 让这个女人带上墨镜,衣服换个颜色",
365
+ # "prompt": "https://oss.ffire.cc/files/kling_watermark.png 让这个女人带上墨镜,衣服换个颜色",
366
+ # "prompt": "草拟吗 艹",
367
+ "prompt": "让这个女人带上墨镜,衣服换个颜色",
368
+
353
369
  "size": "1024x1024",
370
+
371
+ "controls": {
372
+ "face_recognize_data": face_recognize_data
373
+ }
354
374
  }
355
375
  arun(generate(ImageRequest(**data)))
356
376
 
357
- # arun(generate(ImageRequest(prompt="做一个圣诞节的海报")))
377
+ # arun(generate(ImageRequest(prompt="fuck you")))
358
378
  # prompt = "A plump Chinese beauty wearing a wedding dress revealing her skirt and underwear is swinging on the swing,Happy smile,cleavage,Exposed thighs,Spread your legs open,Extend your leg,panties,upskirt,Barefoot,sole"
359
379
  # request = ImageRequest(prompt=prompt)
360
380
  # task = arun(create_task(request))