MeUtils 2025.5.1.20.22.23__py3-none-any.whl → 2025.5.7.18.34.50__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.
@@ -98,7 +98,7 @@ examples/_openaisdk/openai_audio_gpt.py,sha256=7I8Iq1vNnBrxIZ5vfo40oO9zKrrUZbyHL
98
98
  examples/_openaisdk/openai_baichuan.py,sha256=-xhHovkFmWOTX25CJjIon0my-ocmwfAZJu1C0eS80Xs,1614
99
99
  examples/_openaisdk/openai_baidu.py,sha256=qnrxP66lY7Qf2jEbFEHrt0FrR5_Aji1AgwSI_46IabY,1969
100
100
  examples/_openaisdk/openai_cache.py,sha256=89GbJ1QlqQbVxlUeuFgEbwDYHOkum7BK0zB-CqmDAZU,726
101
- examples/_openaisdk/openai_chatfire.py,sha256=fQHQ-Z-JpJ7ld2OwIxEF42jOJPQr1eWU6labye44Jiw,19052
101
+ examples/_openaisdk/openai_chatfire.py,sha256=d_AFjubD33sRD0TflzRq-SEDsNjYrwCqgRFpQNekmjA,19043
102
102
  examples/_openaisdk/openai_chatfire_all.py,sha256=DaiI1NfDeK655QvXyczkgXK9Awxp7NBe71LHA7trxGE,4831
103
103
  examples/_openaisdk/openai_dashscope.py,sha256=m9SjQpaNgYwr4Qd3XusWbJBGp5ZTtpuB40QopejxPKQ,1029
104
104
  examples/_openaisdk/openai_deepinfra.py,sha256=innI4BT15dZEqheqDHG4lHDczY1QC7t2Whcavi1pcz0,1195
@@ -285,7 +285,7 @@ meutils/ai_audio/asr/xunfei_asr.py,sha256=XctZCjxu6sQd05biMTOfL9y3TA15kLYIc9mwIZ
285
285
  meutils/ai_audio/tts/EdgeTTS.py,sha256=5pO0soW-bYwKmwX87Je_lYGr-XQFeoW4LKMPo_MGfGc,5919
286
286
  meutils/ai_audio/tts/__init__.py,sha256=2i3eHZ-f3xG8HsgFcb7V7-b6gb6jKQOZNzr_2WnvCpQ,405
287
287
  meutils/ai_audio/tts/minimax.py,sha256=Hy9AWaUSb0cMQnLeNzqe2oBaMJh0c_l-GP92SBwnQ9o,854
288
- meutils/ai_audio/tts/openai_tts.py,sha256=tdx_s5RFkxyA7IqGwVzd5rmhZjgq0Z1kTKCPXXZxZis,2185
288
+ meutils/ai_audio/tts/openai_tts.py,sha256=J5Q0n9b2pqLo6hXh8l6fCiQe8Zw0uePjw_yyZYdFIxU,2245
289
289
  meutils/ai_audio/tts/tts_ui.py,sha256=cj3WGTnBN67gT00vT4ftTwZroJifAJRVJuE4WNzbo_4,4638
290
290
  meutils/ai_cv/__init__.py,sha256=0CoI0WlNwB0yFHkYqp5waF767WSZZsfOVxjlmtlCGT0,244
291
291
  meutils/ai_cv/doc_prompt.py,sha256=bF9A4x-Jv_mZikJlNEMd3zxjJn68Z3Ymla5x-QtHOS8,2684
@@ -361,8 +361,9 @@ meutils/apis/fal/__init__.py,sha256=A7w3ZAS7Tv20N4X4Em6NshDxKSCPAzaPxHJTbM3BbyM,
361
361
  meutils/apis/fal/files.py,sha256=Gppdo96uw8-TCDr8P691jV7dK9Si-E-kJXFJR5BVt-Q,1373
362
362
  meutils/apis/fal/images.py,sha256=0diKFpsiO_ZZTL8LnNMN5wV2urfhIEIqIMe_HdrdiLs,8707
363
363
  meutils/apis/fal/images_.py,sha256=C-C1TTQtMJ6RRcd-4FeYPn0R5IpPRPUFmBbrTVs_ypA,1446
364
+ meutils/apis/fal/kling_videos.py,sha256=PXRT1rsCSb1QlpmFcGIKYxgRkVmEfMuW7m3iJi1Wk60,2385
364
365
  meutils/apis/fal/pd.py,sha256=oPrMK_FJqohl2Kf0U0it8SqgvIlSEYFcSX8sfVkD8bU,311
365
- meutils/apis/fal/videos.py,sha256=GzMyS-nBMGAXHaCLKxgCdzowB3jpJDXLb6-y1v0zKNo,3387
366
+ meutils/apis/fal/videos.py,sha256=napknQKM2-cU3fKlqXD2BApOVyyIMGxC-2IimR0LBYw,3529
366
367
  meutils/apis/gitee/__init__.py,sha256=rmAktsUvEtk7_F28P5C65wuu00nmrbu5bOw6PiCRTS0,271
367
368
  meutils/apis/gitee/色情图片识别.py,sha256=liCftD7sL6Fw4Aq6r1PY-qxsxm5XkgVdDvlDR39lrEU,757
368
369
  meutils/apis/gitee/images/__init__.py,sha256=zvS8e0ogQLqajZTAype1e0TDLJenlfbRQ16FjSYpxbY,243
@@ -415,12 +416,13 @@ meutils/apis/jiema/24mail.py,sha256=GUszRtoDe3T9q-X4embwT5YhcjgQ3XnkTJMKX93sCF4,
415
416
  meutils/apis/jiema/__init__.py,sha256=YBybggoDRYCNYcwJOypxR7MzfTjIhqO7BkGlTt7NDo4,271
416
417
  meutils/apis/jiema/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,3675
417
418
  meutils/apis/jimeng/__init__.py,sha256=ENdwkppOOekt9Qzy_50TyA7lzNEqo0TpZcF7d2rYBhc,245
418
- meutils/apis/jimeng/common.py,sha256=4MfdLRpHjWSEOE-DtdqkWmebNoW0_lYc7xG4tznghnc,7092
419
+ meutils/apis/jimeng/common.py,sha256=c2ag4lcxYoC6aR0qZ8t1nwmJ-oB22zHve_UeGuHecg0,7546
419
420
  meutils/apis/jimeng/doubao.py,sha256=5OdnBpmZQOCLIb6lnN8YrL7J7E0XF47q0UF-z6asSuI,4295
420
421
  meutils/apis/jimeng/doubao_utils.py,sha256=XCHnvwfCOtJmPQuzDOCfKDMP_Pcqh-Y4w2h5f7Y2gzM,5999
421
- meutils/apis/jimeng/files.py,sha256=E-pPmi6fIP_n6wgfiDbqeWsIfrXVZUe7LpA6Wds1xDI,11047
422
- meutils/apis/jimeng/images.py,sha256=O3WAuXIN1psaXePCLRShKnkJ1K8rZoFDOZsoTco3AD8,14191
423
- meutils/apis/jimeng/videos.py,sha256=x-PDOYNBN-yTmNvMbyDbwm_E2LXZ6A4hcVzEahV_Hvc,10813
422
+ meutils/apis/jimeng/files.py,sha256=AlsAlQGufGm84TldUBLFZpZQGD6INN5xIwHql9ocPj4,11310
423
+ meutils/apis/jimeng/images.py,sha256=KZFxD7kp8QdIqNK71sE8disShnQpUzvOv79FK8mZOZs,13814
424
+ meutils/apis/jimeng/videos.py,sha256=oSntgqp0efv_69Qj_-GR8zD94hIMqUh-Hubk0nyKRGw,5377
425
+ meutils/apis/jimeng/videos_videos.py,sha256=A6oWLKcrb6YMIumqUMQS3KVP9bhOEKLUOIlAUlbREmE,12259
424
426
  meutils/apis/jina/__init__.py,sha256=WnZ4LOv-bzC1brd5FZHOHmgq4c0UaFbnksEj2_LzXxQ,292
425
427
  meutils/apis/jina/common.py,sha256=dwSJboUcZtvBTKRcvAUcgMD933VfYCUBDdtxbw1ioiE,1099
426
428
  meutils/apis/kling/__init__.py,sha256=pKz40SEjui1dhHBD-icyNTJOYhzLvxLxJCwszuH4vio,271
@@ -442,7 +444,7 @@ meutils/apis/monica/llm.py,sha256=gYyBPOTvmoNFaa1KmW3OlSsRKeN7C97EyPUa264nJ08,26
442
444
  meutils/apis/napkin/__init__.py,sha256=EWwpRJEbN46d6Dk9PHAZvsYmqD_EOK0jjKQL1kYtcKs,271
443
445
  meutils/apis/napkin/icons.py,sha256=_L8EaSeQ6ChT5w7q3jnj_AcRhKvNiBg3-qUKo9JQ12o,2217
444
446
  meutils/apis/oneapi/__init__.py,sha256=wg_kqNkFqOkP70vnOHvAeKREps57Rqliu5yKC0gsgLk,284
445
- meutils/apis/oneapi/channel.py,sha256=-1sa8m1tkheHXbdWeH5lWHGhFKQVlAjfd-zEOV3qWbE,7526
447
+ meutils/apis/oneapi/channel.py,sha256=tx4-_U18JU1U4-FIAwaKu9m_oOtPRU-8hPiqYlDZ2CU,11277
446
448
  meutils/apis/oneapi/common.py,sha256=AIs8ro-1qui3FG42msBY6dL_zt9QJ0jS63qtp-XTlY4,3617
447
449
  meutils/apis/oneapi/demo.py,sha256=i9iBK2OftTvOZdPcCo2nxu8zs0fSKIZbzD8DRKQNla8,1851
448
450
  meutils/apis/oneapi/log.py,sha256=gNFFXXcG2Xp5ttO7Q7qR6n6GQUheuU8SOCjJPXZudLY,1447
@@ -513,7 +515,7 @@ meutils/apis/voice_clone/__init__.py,sha256=y7Rpn90LocHhA0ywrDP_fT4QAK7sr4JsIX5w
513
515
  meutils/apis/voice_clone/fish.py,sha256=6m8zcS2KEqmalKy2ArnOaNovyxsQp_sw4d_O1kVZR2s,7146
514
516
  meutils/apis/voice_clone/fish_api.py,sha256=pDpE-B8HFiGIOV3NVd1HmFrCC2GQc3wH-81oNbTS0mY,307
515
517
  meutils/apis/volcengine_apis/__init__.py,sha256=PnngoI3Qk6n_axdOLgENCFYlKsmohgzYVW1HUg7L8gI,271
516
- meutils/apis/volcengine_apis/images.py,sha256=6_HZBckqlOsyAEYH5d7JnKW7kuyJ6MAArfosCODKFJ8,5261
518
+ meutils/apis/volcengine_apis/images.py,sha256=DtzrDEU_RY3-u-SQKYDFFzh2rudSDc2sNfAmT67Nci8,5332
517
519
  meutils/apis/volcengine_apis/tasks.py,sha256=XnmZZ7FM7oPM7V-zvsO0YkCeg1LYCjD29JGJFyatG2I,1806
518
520
  meutils/async_task/__init__.py,sha256=45cUr-GWvQ1JFYGOYPOIkHLyTR3JbfP_PEYrmktpMLo,367
519
521
  meutils/async_task/celery_config.py,sha256=BX1h3jY34aO6UmUFakdBUwOdsEiOxCGuUtYDUKFtafc,3461
@@ -563,7 +565,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
563
565
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
564
566
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
565
567
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
566
- meutils/data/VERSION,sha256=40dZ-IQ8WNE3ZkqWqYRV46XJECZ6c4Zuxd6sKR87_ok,19
568
+ meutils/data/VERSION,sha256=sQ4C7ud4BsuuVZOqwlpLPp-17QT-WEg7ZWEVYmodcJQ,19
567
569
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
568
570
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
569
571
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -682,7 +684,7 @@ meutils/llm/completions/rag/qwen.py,sha256=1dBNLLbQDRsM-7EGaStcWFU8HRa-rp3RxJ9cp
682
684
  meutils/llm/completions/rag/rag.py,sha256=mnC4bZUMuNYuPFXMBqXMofj_ms8uP5MMw1leJ5jXA_k,1209
683
685
  meutils/llm/functions/__init__.py,sha256=It6pcNwRBSh3Em45ooi61lc5tFg8eOYv0BvEFuRjSGQ,271
684
686
  meutils/llm/openai_polling/__init__.py,sha256=qmAMITPtrTD-y57RiJXewuOic7iLKBhx8mz5uvcxsy8,270
685
- meutils/llm/openai_polling/chat.py,sha256=xzkT4G_Xxj2tMQSODb2iO8HyCgRJwj9RLagzMalmKXk,8290
687
+ meutils/llm/openai_polling/chat.py,sha256=-zByJeKGajm3OVB7T7Sgi_zmUufBgm8Rh_tR0dQnXSA,8161
686
688
  meutils/llm/openai_polling/images.py,sha256=qKMk3vCvamS_48ceC-_y2LPpP5XsD476FHG9MUu8kks,1042
687
689
  meutils/llm/openai_utils/__init__.py,sha256=MWyNhP2K49oaHGEZlInZc3XlwqlStFultP8k7HDPAwk,290
688
690
  meutils/llm/openai_utils/common.py,sha256=GGctOMlg8xT2A5H-8hMow0VfOZHCDdIPjd12597Nohs,9754
@@ -818,7 +820,7 @@ meutils/schemas/textin_types.py,sha256=IBYbSG7n5rAcS7Z5bXPBnL1a91gx8IBpUlFTGULKj
818
820
  meutils/schemas/translator_types.py,sha256=xufNQeyim7RhkzAK_J5_JchZfqaUBDXFwMtrPUu1xzI,627
819
821
  meutils/schemas/tripo3d_types.py,sha256=mQF65HwHYmczRgAIuXK5hGxWDWNYDq-Xu9pja7Dwy4o,1452
820
822
  meutils/schemas/tryblend_types.py,sha256=glZ0diRJvZmfQotcCWYBA832inihy8TvVWxWZ64CzWA,27793
821
- meutils/schemas/video_types.py,sha256=shXriVG_HMVkUCwNQl7H6vTmZ2SXkjzDHJJ5uWfXKcQ,2519
823
+ meutils/schemas/video_types.py,sha256=GIec_98NQJNvZMFAlIFNQE4fBA1iCIUguCIG6ot3vqc,3182
822
824
  meutils/schemas/vidu_types.py,sha256=7V2uGxK3MyiT-j-Cjoni_DaL2CcJJzz2YPCx_mTplGw,9380
823
825
  meutils/schemas/wechat_types.py,sha256=XtIJpMNBzkqBcU68Qno8bnUfHzDOXwFNCIL-6VYQKOA,9260
824
826
  meutils/schemas/yuanbao_types.py,sha256=bI_CF9ybaJ1ux8NgP5gEi33k_K_vHmlyD09fxzhYEkQ,12269
@@ -826,7 +828,7 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
826
828
  meutils/schemas/db/oneapi_types.py,sha256=3t2m0H80saEXmYUZfVFrtEaY117GjZTsSa1GKgkJzqQ,3896
827
829
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
828
830
  meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
829
- meutils/schemas/oneapi/common.py,sha256=arghp-dZbLlmXNmeWUuo5TDksQ2_i-AP_OextGpO2Pw,37771
831
+ meutils/schemas/oneapi/common.py,sha256=AtXuVugPN-1T3MjAH_dP6rjZB6gnt2l8EScdAM6ebXY,38070
830
832
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
831
833
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
832
834
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -955,9 +957,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
955
957
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
956
958
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
957
959
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
958
- MeUtils-2025.5.1.20.22.23.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
959
- MeUtils-2025.5.1.20.22.23.dist-info/METADATA,sha256=MTfsmgbYlI0N9xPI3LFqXRa6uOnr77tOxy_nOiuLd30,32833
960
- MeUtils-2025.5.1.20.22.23.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
961
- MeUtils-2025.5.1.20.22.23.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
962
- MeUtils-2025.5.1.20.22.23.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
963
- MeUtils-2025.5.1.20.22.23.dist-info/RECORD,,
960
+ MeUtils-2025.5.7.18.34.50.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
961
+ MeUtils-2025.5.7.18.34.50.dist-info/METADATA,sha256=wwDNNDEhbrm0WXAGaFQhmtCAVmHzlFeKLuLVZ-DuBzA,32833
962
+ MeUtils-2025.5.7.18.34.50.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
963
+ MeUtils-2025.5.7.18.34.50.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
964
+ MeUtils-2025.5.7.18.34.50.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
965
+ MeUtils-2025.5.7.18.34.50.dist-info/RECORD,,
@@ -267,8 +267,8 @@ if __name__ == '__main__':
267
267
 
268
268
  # check_models(models, api_key=os.getenv("OPENAI_API_KEY"))
269
269
  # check_models(models)
270
- models = ['chatfire-translator']
271
- check_models(models, api_key=os.getenv("OPENAI_API_KEY_GUOCHAN") + "-2994")
270
+ models = ['gemini-2.5-pro-preview-03-25']
271
+ check_models(models, api_key=os.getenv("OPENAI_API_KEY"))
272
272
 
273
273
  #############神奇 #############reasoning_content 神奇
274
274
 
@@ -21,7 +21,9 @@ client = OpenAI(
21
21
  # base_url=base_url,
22
22
  # api_key=os.getenv('OPENAI_API_KEY'),
23
23
 
24
- api_key=os.getenv('OPENAI_API_KEY_OPENAI') + "-2738",
24
+ # api_key=os.getenv('OPENAI_API_KEY_OPENAI') + "-2738",
25
+ api_key=os.getenv('OPENAI_API_KEY_OPENAI') + "-364",
26
+
25
27
  )
26
28
 
27
29
  # text = """
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : videos
5
+ # @Time : 2025/1/15 15:45
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
12
+ from meutils.apis.fal.images import check
13
+
14
+ from meutils.schemas.task_types import TaskResponse
15
+ from meutils.schemas.video_types import VideoRequest
16
+
17
+ from meutils.schemas.fal_types import FEISHU_URL
18
+ from meutils.config_utils.lark_utils import get_next_token_for_polling
19
+
20
+ from fal_client import AsyncClient
21
+
22
+
23
+ # 平台/模型/版本
24
+ def model_mapper(model: str):
25
+ return f"fal-ai/{model.removeprefix('fal-ai/')}"
26
+
27
+
28
+ async def create_task(request: VideoRequest, token: Optional[str] = None):
29
+ """https://fal.ai/models/fal-ai/latentsync/api#queue-submit
30
+
31
+ """
32
+ token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL, from_redis=True, check_token=check)
33
+ logger.debug(request)
34
+
35
+ application = f"fal-ai/{request.model.removeprefix('fal-ai/')}"
36
+
37
+ client = AsyncClient(key=token)
38
+ response = await client.submit(
39
+ application=application,
40
+ arguments=request.model_dump(exclude_none=True, exclude={"model"})
41
+ )
42
+ # AsyncRequestHandle(request_id='0b7ab6b8-c7dc-4f17-a655-4ee56dd0f864')
43
+
44
+ return TaskResponse(task_id=f"{request.model}::{response.request_id}", system_fingerprint=token)
45
+
46
+
47
+ @alru_cache(ttl=5)
48
+ async def get_task(task_id: str, token: Optional[str] = None):
49
+ model, request_id = task_id.rsplit('::', 1)
50
+ application = f"fal-ai/{model.removeprefix('fal-ai/')}"
51
+
52
+ client = AsyncClient(key=token)
53
+ response = await client.status(application, request_id, with_logs=True)
54
+
55
+ logger.debug(response.__class__.__name__) # Queued, InProgress, COMPLETED
56
+
57
+ if metrics := response.__dict__.get("metrics"): # {'inference_time': 17.29231595993042}
58
+ response = await client.result(application, request_id)
59
+
60
+ return response
61
+
62
+
63
+ if __name__ == '__main__':
64
+ model = "latentsync"
65
+ # model = "sync-lipsync"
66
+
67
+
68
+ model = "fal-ai/kling-video/v2/master/image-to-video"
69
+ model = "fal-ai/kling-video/v1/standard/text-to-video"
70
+
71
+ request = VideoRequest(
72
+ model=model,
73
+ prompt="A cute cat",
74
+ )
75
+
76
+
77
+ r = arun(create_task(request))
78
+
79
+
80
+ # r = arun(get_task(task_id, token))
81
+
82
+ arun(get_task(r.task_id, r.system_fingerprint))
@@ -32,7 +32,7 @@ async def create_task(request: FalVideoRequest, token: Optional[str] = None):
32
32
  token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL)
33
33
  logger.debug(request)
34
34
 
35
- application = f"fal-ai/{request.model}"
35
+ application = f"fal-ai/{request.model.removeprefix('fal-ai/')}"
36
36
 
37
37
  client = AsyncClient(key=token)
38
38
  response = await client.submit(
@@ -74,6 +74,9 @@ if __name__ == '__main__':
74
74
  video_url=video_url
75
75
  )
76
76
 
77
+ model = "fal-ai/kling-video/v2/master/image-to-video"
78
+ model = "fal-ai/kling-video/v1/standard/text-to-video"
79
+
77
80
  #
78
81
  # r = arun(create_task(request))
79
82
  # logger.debug(f"{r.task_id, r.system_fingerprint}")
@@ -20,6 +20,7 @@ from fake_useragent import UserAgent
20
20
 
21
21
  ua = UserAgent()
22
22
 
23
+
23
24
  @lru_cache()
24
25
  def get_headers(url, token: str = "693701c43e477b7c405cc7e2fef0ddbd"):
25
26
  device_time = f"{int(time.time())}"
@@ -45,13 +46,24 @@ def get_headers(url, token: str = "693701c43e477b7c405cc7e2fef0ddbd"):
45
46
 
46
47
 
47
48
  @cache(ttl=3600 // 2)
48
- async def get_upload_token(token): # 3600 跨账号?
49
+ async def get_upload_token(token, biz: Optional[str] = None): # 3600 跨账号?
50
+
51
+ if biz == "video":
52
+ url = "/mweb/v1/get_upload_token" # ?aid=513695&da_version=3.2.0&aigc_features=app_lip_sync
53
+
54
+ payload = {"scene": 2}
55
+ client = AsyncClient(base_url=BASE_URL)
56
+ response = await client.post(url, body=payload, cast_to=object)
57
+ logger.debug(bjson(response))
58
+ return response
59
+
49
60
  url = "/artist/v2/tools/get_upload_token"
50
61
  headers = get_headers(url, token)
51
62
 
52
63
  payload = {"scene": 2}
53
64
  client = AsyncClient(base_url=BASE_URL, default_headers=headers)
54
65
  response = await client.post(url, body=payload, cast_to=object)
66
+ logger.debug(bjson(response))
55
67
  return response
56
68
 
57
69
 
@@ -182,11 +194,13 @@ if __name__ == '__main__':
182
194
  # token = "b8bb4cb67dba6c0d1048bdc0596bc461"
183
195
  # token = "34438eb03d165737122180caf62a8058"
184
196
  # token = "a521dd578adcfb191fad38dd4baab498"
185
- token="7d9969ffd8ad2edda7da8fff11cb9434"
186
- token="1513337bdba08a1a77fedad95c03bc6c"
187
- token="b1cd6317e4d161bbb3889b9defd769ff"
188
- token="a521dd578adcfb191fad38dd4baab498"
189
- arun(check_token(token))
197
+ token = "7d9969ffd8ad2edda7da8fff11cb9434"
198
+ token = "1513337bdba08a1a77fedad95c03bc6c"
199
+ token = "b1cd6317e4d161bbb3889b9defd769ff"
200
+ token = "ed16bb360a4744696f88a7b52b7c10a3"
201
+ # arun(check_token(token))
202
+
203
+ arun(get_upload_token(token, 'video'))
190
204
 
191
205
  # print(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0].tolist())
192
206
  # tokens = arun(get_series(FEISHU_URL))
@@ -202,5 +216,3 @@ if __name__ == '__main__':
202
216
  #
203
217
  # request = ImageRequest(prompt='https://oss.ffire.cc/files/kling_watermark.png笑起来')
204
218
  # arun(create_draft_content(request, token))
205
-
206
-
@@ -102,11 +102,13 @@ class JJRequest:
102
102
  return hash256("")
103
103
 
104
104
 
105
- @cache(ttl=15 * 60)
105
+ # @cache(ttl=15 * 60)
106
106
  async def upload(image: bytes, upload_token: dict): # oss 跨账号不知道是否可以使用
107
107
  # e = auth = upload_token['data']['auth'] # 豆包
108
108
  data = upload_token['data']
109
- service_id = data.get('service_id', '3jr8j4ixpe') # 即梦 3jr8j4ixpe 豆包 a9rns2rl98
109
+ # service_id = data.get('service_id', '3jr8j4ixpe') # 即梦 3jr8j4ixpe 豆包 a9rns2rl98
110
+
111
+ service_id = data.get('space_name') or "3jr8j4ixpe" # 即梦视频 tb4s082cfz
110
112
 
111
113
  if 'auth' in data:
112
114
  data = data['auth']
@@ -115,13 +117,14 @@ async def upload(image: bytes, upload_token: dict): # oss 跨账号不知道是
115
117
 
116
118
  t = time.strftime("%Y%m%dT%H%M%SZ", time.gmtime())
117
119
 
120
+ # "ServiceId": "tb4s082cfz",
118
121
  params = {
119
122
  "Action": "ApplyImageUpload",
120
123
  "Version": "2018-08-01",
121
124
  "ServiceId": service_id,
122
125
  "s": random_str(10),
123
126
 
124
- "FileExtension": ".png", #####
127
+ # "FileExtension": ".png", #####
125
128
  "FileSize": len(image),
126
129
  }
127
130
 
@@ -193,7 +196,7 @@ async def upload_for_vod(image: bytes, upload_token: dict): # oss 跨账号不
193
196
  """
194
197
  # e = auth = upload_token['data']['auth'] # 豆包
195
198
  data = upload_token['data']
196
- service_id = data.get('service_id', '3jr8j4ixpe') # 即梦 3jr8j4ixpe 豆包 a9rns2rl98
199
+ service_id = data.get('space_name', 'tb4s082cfz') # 即梦 3jr8j4ixpe 豆包 a9rns2rl98
197
200
 
198
201
  if 'auth' in data:
199
202
  data = data['auth']
@@ -205,9 +208,10 @@ async def upload_for_vod(image: bytes, upload_token: dict): # oss 跨账号不
205
208
  params = {
206
209
  "Action": "ApplyUploadInner",
207
210
  "Version": "2020-11-19",
208
- # "ServiceId": service_id,
211
+
212
+ "ServiceId": service_id,
209
213
  # "SpaceName": "artist_op",
210
- "SpaceName": "dreamina",
214
+ # "SpaceName": "dreamina",
211
215
 
212
216
  "IsInner": "1",
213
217
 
@@ -274,11 +278,11 @@ async def upload_for_vod(image: bytes, upload_token: dict): # oss 跨账号不
274
278
  return vid, oss_uri
275
279
 
276
280
 
277
- async def upload_for_image(image, token): # todo: 跨账号token
281
+ async def upload_for_image(image, token, biz: Optional[str] = None): # todo: 跨账号token
278
282
  """image url base64 bytes"""
279
283
  if not image: return
280
284
 
281
- upload_token = await get_upload_token(token)
285
+ upload_token = await get_upload_token(token, biz)
282
286
  image_uri = await upload(await to_bytes(image), upload_token)
283
287
  return image_uri
284
288
 
@@ -356,5 +360,9 @@ if __name__ == "__main__":
356
360
  # # arun(upload_for_video("https://oss.ffire.cc/files/lipsync.mp3", token))
357
361
  # arun(upload_for_video(url, token))
358
362
  image_url = "https://oss.ffire.cc/files/kling_watermark.png"
359
- arun(face_recognize(image_url, token))
360
- arun(face_recognize(image_url))
363
+ # arun(face_recognize(image_url, token))
364
+ # arun(face_recognize(image_url))
365
+
366
+ token = "ed16bb360a4744696f88a7b52b7c10a3"
367
+
368
+ arun(upload_for_image(image_url, token, "video"))
@@ -388,25 +388,13 @@ if __name__ == '__main__':
388
388
  #
389
389
  # face_recognize_data = face_recognize.get("data", {})
390
390
 
391
- data = {
392
- "model": "seededit",
393
- "prompt": "https://oss.ffire.cc/files/kling_watermark.png 让这个女人带上墨镜,衣服换个颜色",
394
- # "prompt": "草拟吗 艹",
395
- # "prompt": "让这个女人带上墨镜,衣服换个颜色",
396
- # "prompt": "Add a background for this photo, sort of sizzle it.",
397
391
 
398
- "size": "1024x1024",
399
-
400
- # "controls": {
401
- # "face_recognize_data": face_recognize_data
402
- # }
403
- }
404
392
  # arun(generate(ImageRequest(**data)))
405
393
 
406
394
  # arun(generate(ImageRequest(prompt="fuck you")))
407
395
  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"
408
- prompt = "a dog cat"
409
- prompt = "https://oss.ffire.cc/files/kling_watermark.png 让这个女人带上墨镜,衣服换个颜色... "
396
+ prompt = "a dog cat in the same room"
397
+ # prompt = "https://oss.ffire.cc/files/kling_watermark.png 让这个女人带上墨镜,衣服换个颜色... "
410
398
  request = ImageRequest(prompt=prompt, size="1328x1328")
411
399
  # request = ImageRequest(prompt=prompt, size="1024x1024")
412
400
 
@@ -416,5 +404,9 @@ if __name__ == '__main__':
416
404
 
417
405
  # arun(get_task(task.task_id, task.system_fingerprint))
418
406
 
407
+
408
+
409
+ arun(get_task("16132262728706", "d2d142fc877e696484cc2fc521127b36"))
410
+
419
411
  # arun(generate(request))
420
412