MeUtils 2025.6.9.11.35.52__py3-none-any.whl → 2025.6.13.10.18.19__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.
Files changed (29) hide show
  1. {MeUtils-2025.6.9.11.35.52.dist-info → MeUtils-2025.6.13.10.18.19.dist-info}/METADATA +261 -261
  2. {MeUtils-2025.6.9.11.35.52.dist-info → MeUtils-2025.6.13.10.18.19.dist-info}/RECORD +29 -24
  3. examples/_openaisdk/openai_chatfire_usa.py +32 -0
  4. examples/_openaisdk/openai_ppinfra.py +2 -1
  5. examples/_openaisdk/openai_zhipu.py +5 -2
  6. meutils/apis/fal/images.py +17 -15
  7. meutils/apis/google/chat.py +3 -3
  8. meutils/apis/images/generations.py +34 -0
  9. meutils/apis/jimeng/images.py +3 -2
  10. meutils/apis/oneapi/channel.py +31 -52
  11. meutils/apis/volcengine_apis/videos.py +146 -0
  12. meutils/data/VERSION +1 -1
  13. meutils/llm/check_utils.py +2 -2
  14. meutils/llm/openai_polling/chat.py +1 -0
  15. meutils/llm/openai_utils/adapters.py +3 -0
  16. meutils/llm/openai_utils/common.py +1 -1
  17. meutils/math_utils/__init__.py +11 -0
  18. meutils/math_utils/common.py +50 -0
  19. meutils/notice/feishu.py +5 -1
  20. meutils/schemas/image_types.py +53 -42
  21. meutils/schemas/oneapi/_types.py +39 -27
  22. meutils/schemas/oneapi/common.py +35 -0
  23. meutils/schemas/openai_types.py +2 -0
  24. meutils/str_utils/__init__.py +17 -4
  25. meutils/str_utils/regular_expression.py +16 -5
  26. {MeUtils-2025.6.9.11.35.52.dist-info → MeUtils-2025.6.13.10.18.19.dist-info}/LICENSE +0 -0
  27. {MeUtils-2025.6.9.11.35.52.dist-info → MeUtils-2025.6.13.10.18.19.dist-info}/WHEEL +0 -0
  28. {MeUtils-2025.6.9.11.35.52.dist-info → MeUtils-2025.6.13.10.18.19.dist-info}/entry_points.txt +0 -0
  29. {MeUtils-2025.6.9.11.35.52.dist-info → MeUtils-2025.6.13.10.18.19.dist-info}/top_level.txt +0 -0
@@ -103,6 +103,7 @@ examples/_openaisdk/openai_baidu.py,sha256=qnrxP66lY7Qf2jEbFEHrt0FrR5_Aji1AgwSI_
103
103
  examples/_openaisdk/openai_cache.py,sha256=89GbJ1QlqQbVxlUeuFgEbwDYHOkum7BK0zB-CqmDAZU,726
104
104
  examples/_openaisdk/openai_chatfire.py,sha256=lnQU_po1eMb-YIrW8rgQMfC5UbcReCMZERiylesmJr0,19092
105
105
  examples/_openaisdk/openai_chatfire_all.py,sha256=DaiI1NfDeK655QvXyczkgXK9Awxp7NBe71LHA7trxGE,4831
106
+ examples/_openaisdk/openai_chatfire_usa.py,sha256=kS7QlZYTUAJ0lfgTnh3wK-NIW9lfC8aSO0xgfUF7lBE,649
106
107
  examples/_openaisdk/openai_dashscope.py,sha256=m9SjQpaNgYwr4Qd3XusWbJBGp5ZTtpuB40QopejxPKQ,1029
107
108
  examples/_openaisdk/openai_deepinfra.py,sha256=innI4BT15dZEqheqDHG4lHDczY1QC7t2Whcavi1pcz0,1195
108
109
  examples/_openaisdk/openai_deepseek.py,sha256=0IbHh2F6eVDs-i8gP8x8wj6s9R6CzOGN7QrCp1EuB5k,2086
@@ -126,7 +127,7 @@ examples/_openaisdk/openai_modelscope.py,sha256=Gt7GE53-dK7v9N8cxcpO3XK324CTx3Vh
126
127
  examples/_openaisdk/openai_moderations.py,sha256=WoIyXDEn4dfVPwqFc54HSz0-7wLPu7pd4ZisZcyLOWM,1369
127
128
  examples/_openaisdk/openai_moon.py,sha256=7-gILGwZArZ1VHVb-jtIXEqWJMv65SaMmBSKJ90fx_w,1889
128
129
  examples/_openaisdk/openai_oi.py,sha256=8KJ62QgpAZdGWAoYN6AC9M9TrD8JQf7ZO_NAgXZywTo,1414
129
- examples/_openaisdk/openai_ppinfra.py,sha256=aPIZagPyJn5Qhwpk_6MW5Gp0w9p-qeO3NhpNkatRz58,1597
130
+ examples/_openaisdk/openai_ppinfra.py,sha256=po8GkzjQzSTouMBJq1cCxbhCjJ-Ksdgx26bqsYQxfk0,1642
130
131
  examples/_openaisdk/openai_ppu.py,sha256=cpr__WVlOrm2w1WjRV7v0rux4oiJkaqBnUZImR6MaEs,1010
131
132
  examples/_openaisdk/openai_qwen.py,sha256=KurTjBr_bN0aFZcMnWeGtEu0bbagYvOfhdYe-popsKE,2268
132
133
  examples/_openaisdk/openai_search.py,sha256=HKRTU6y9j_nUfZgrJt2eZ84d7TVT39WN-dcA_BFkVb4,937
@@ -140,7 +141,7 @@ examples/_openaisdk/openai_tune.py,sha256=D8n3mnlvVpDB_P11sErlibSyYtoFT5aKPUDQht
140
141
  examples/_openaisdk/openai_v.py,sha256=bVfMM86VpRy85patn1eDF9Y-Ojxd2w4GAx3NIUPVzC0,999
141
142
  examples/_openaisdk/openai_wuwen.py,sha256=hbV0fY3CEdwKzn4jNqcTFpK4-auxN77G3Jvm1DIdg4s,1810
142
143
  examples/_openaisdk/openai_x.py,sha256=6CaOJKWPlNCG_O4o8IBO6Bd2glCWm-XvNNJwnoUYnno,1091
143
- examples/_openaisdk/openai_zhipu.py,sha256=Mo6nCJlvKXoQQW-q53ne98HxiO38AHkPCgir23LjhUY,2287
144
+ examples/_openaisdk/openai_zhipu.py,sha256=4wF0RVDPRhui_-fV-UbkW8nHjFPhLYxFal_22TzUWh8,2360
144
145
  examples/_openaisdk/ppu.py,sha256=jPBufoYt2ZrqNKjgbHr49YZI5vBM-32eBYbhbYduhnY,602
145
146
  examples/_openaisdk/rag.py,sha256=NwNHhfi5FZ2XKCmsScjmM5cxCSfJuqx2jV-69ZXh244,1372
146
147
  examples/_openaisdk/rag_.py,sha256=rNTCO83JK6zqQAiY0vlHZRN5DQNT9_nCYtjeh8lTijU,121217
@@ -370,7 +371,7 @@ meutils/apis/dreamfaceapp/videos.py,sha256=xtz4GYRTdVE-D7xxFpSaH5Kl5ewXDx9Ogvtkf
370
371
  meutils/apis/fal/__init__.py,sha256=A7w3ZAS7Tv20N4X4Em6NshDxKSCPAzaPxHJTbM3BbyM,272
371
372
  meutils/apis/fal/chat.py,sha256=yReABuCWfXOEt7tZax03XIX5KBlfBo2DlEOp2EpiGOM,2641
372
373
  meutils/apis/fal/files.py,sha256=Gppdo96uw8-TCDr8P691jV7dK9Si-E-kJXFJR5BVt-Q,1373
373
- meutils/apis/fal/images.py,sha256=gpWYIk2fKHr6yhLnUobzGSxyTXfWa4-LwwSRwy99hHc,12314
374
+ meutils/apis/fal/images.py,sha256=TKMlgIHVsMbI6tLvM24JILkyFU5RWzWVIlAk2CiqYfo,12499
374
375
  meutils/apis/fal/images_.py,sha256=C-C1TTQtMJ6RRcd-4FeYPn0R5IpPRPUFmBbrTVs_ypA,1446
375
376
  meutils/apis/fal/kling_videos.py,sha256=kL4SRpZafRSCRODtiNqeXauxfamHNdcBTE65BrG1rVA,2554
376
377
  meutils/apis/fal/pd.py,sha256=oPrMK_FJqohl2Kf0U0it8SqgvIlSEYFcSX8sfVkD8bU,311
@@ -382,7 +383,7 @@ meutils/apis/gitee/images/__init__.py,sha256=zvS8e0ogQLqajZTAype1e0TDLJenlfbRQ16
382
383
  meutils/apis/gitee/images/kolors.py,sha256=IGpDtMiOOPgbE8ZOXFP9-Hh_XNCDkuvNYjKQbXq8Nik,3338
383
384
  meutils/apis/google/__init__.py,sha256=3pcpV81045y42FCTSdN99YGLCabwocR-f1_gjTSeFhE,243
384
385
  meutils/apis/google/audios.py,sha256=Su1V3TAOn8X94KgOrmpLRPnYETgTyDXqjDf4qQMkzAo,3289
385
- meutils/apis/google/chat.py,sha256=tpNTiICiLcVSsUMm5f78k_TvwCfR2o7b52R1gNYNOlI,16972
386
+ meutils/apis/google/chat.py,sha256=aYB67-1tlnCE2yxIk2bKPEUih10jchGgEaQ_HmMKcmg,17022
386
387
  meutils/apis/google/files.py,sha256=1TMYUe7OVAmDlhlu92dSLUQr037hQzXf-RTfZ9Tfp_c,1017
387
388
  meutils/apis/google/gemini_sdk.py,sha256=iHmD_pGPM3qy_IHHA2pwAt01gM3hjRlPmrvsRQmfgEM,8525
388
389
  meutils/apis/google/google2openai.py,sha256=JaRw4XfGjy1XAbM4UwLqwLHmldOvM1J1tbMTagi10os,3075
@@ -413,6 +414,7 @@ meutils/apis/images/deepinfra.py,sha256=lMqfU0LIXEzHiAS31dCcoTnPIE6tpoDJhq61H0TV
413
414
  meutils/apis/images/demo.py,sha256=Cjk-EKMKbp44czykW_44qR0TzElX8nNCALqXBBw5sJA,4405
414
415
  meutils/apis/images/edits.py,sha256=tdtFKVaMti4zOAh9WQ_VWrKyuJyomZ3-Fwh1DK7EJAM,10189
415
416
  meutils/apis/images/eidt.py,sha256=s8IBbCjwwoogIUf-d2O7nkawUmly9n19nvLYPaLEeg4,1217
417
+ meutils/apis/images/generations.py,sha256=e5eFUy_y42fp7TnIaY6R1L8eoK-2LH4hILrWqPtOQiA,998
416
418
  meutils/apis/images/openai_edits.py,sha256=a03L8vY8NXnl8uT9o0SMszMxE7dv6tTCZQyMyI5dS_g,2160
417
419
  meutils/apis/images/recraft.py,sha256=6EqGtoG8RBiStOIazaBvceekP9pF1_ws7fn4BuXFdqk,72705
418
420
  meutils/apis/images/flux/__init__.py,sha256=W_PZabQm6EmtJYmzEiEpL_WCXTAW0AiJ-t_n5UTrE8c,271
@@ -435,7 +437,7 @@ meutils/apis/jimeng/common.py,sha256=LFuhgY-KKE661Kf5oY0xAA1LhNu6ErGJ6SflSJPVHkE
435
437
  meutils/apis/jimeng/doubao_images.py,sha256=Aeq1hve2PiO3baP50Augsu0u2YFlC7r_X5jgnDqv6y4,2082
436
438
  meutils/apis/jimeng/doubao_utils.py,sha256=d9KDNkqKN4oxaJRAeGNMouRvzHEhIRXzN3T_HjtTXdM,6025
437
439
  meutils/apis/jimeng/files.py,sha256=AlsAlQGufGm84TldUBLFZpZQGD6INN5xIwHql9ocPj4,11310
438
- meutils/apis/jimeng/images.py,sha256=AO1Qvm-zpIU5hJegnf_zseIYE1C58wzfyje6Db5TzOk,23001
440
+ meutils/apis/jimeng/images.py,sha256=KUr16G_SyNUJixXHUZUwdSECxtbPGuM21_LSoSWHWPM,23066
439
441
  meutils/apis/jimeng/videos.py,sha256=MRDXz96BYEuS4vVCHeXaoNE6nfpq0B6UCf1_dafCE-8,6127
440
442
  meutils/apis/jimeng/videos_videos.py,sha256=A6oWLKcrb6YMIumqUMQS3KVP9bhOEKLUOIlAUlbREmE,12259
441
443
  meutils/apis/jimeng_global/__init__.py,sha256=ENdwkppOOekt9Qzy_50TyA7lzNEqo0TpZcF7d2rYBhc,245
@@ -468,7 +470,7 @@ meutils/apis/monica/llm.py,sha256=gYyBPOTvmoNFaa1KmW3OlSsRKeN7C97EyPUa264nJ08,26
468
470
  meutils/apis/napkin/__init__.py,sha256=EWwpRJEbN46d6Dk9PHAZvsYmqD_EOK0jjKQL1kYtcKs,271
469
471
  meutils/apis/napkin/icons.py,sha256=_L8EaSeQ6ChT5w7q3jnj_AcRhKvNiBg3-qUKo9JQ12o,2217
470
472
  meutils/apis/oneapi/__init__.py,sha256=wg_kqNkFqOkP70vnOHvAeKREps57Rqliu5yKC0gsgLk,284
471
- meutils/apis/oneapi/channel.py,sha256=eA4H4HqgKvqk9A2UKnFxrTESydwQXJmCcHY_c2v5QWQ,12888
473
+ meutils/apis/oneapi/channel.py,sha256=jDYOK7fcSSb9ciCIGOwT6HoKa7kBJIYaBlTZDmi1R1Q,12229
472
474
  meutils/apis/oneapi/common.py,sha256=AIs8ro-1qui3FG42msBY6dL_zt9QJ0jS63qtp-XTlY4,3617
473
475
  meutils/apis/oneapi/demo.py,sha256=i9iBK2OftTvOZdPcCo2nxu8zs0fSKIZbzD8DRKQNla8,1851
474
476
  meutils/apis/oneapi/log.py,sha256=gNFFXXcG2Xp5ttO7Q7qR6n6GQUheuU8SOCjJPXZudLY,1447
@@ -541,6 +543,7 @@ meutils/apis/voice_clone/fish_api.py,sha256=pDpE-B8HFiGIOV3NVd1HmFrCC2GQc3wH-81o
541
543
  meutils/apis/volcengine_apis/__init__.py,sha256=gtu5ZNCc3up8bzgrCi10uwhsC04HpuCEEPXR_iVCNJE,244
542
544
  meutils/apis/volcengine_apis/images.py,sha256=F9LXXptesnASB_Al7rkEshb2S5r3PixZd8w0mif5468,5463
543
545
  meutils/apis/volcengine_apis/tasks.py,sha256=da2wYs2bqjYte_P2aFbSdKkLBaghuAj6vVKIlgdMg5A,4495
546
+ meutils/apis/volcengine_apis/videos.py,sha256=GEgO_f1Dw7UYrSr6sdswRj3c-o71w-KrIhG1KLqSZQQ,5029
544
547
  meutils/async_task/__init__.py,sha256=45cUr-GWvQ1JFYGOYPOIkHLyTR3JbfP_PEYrmktpMLo,367
545
548
  meutils/async_task/celery_config.py,sha256=BX1h3jY34aO6UmUFakdBUwOdsEiOxCGuUtYDUKFtafc,3461
546
549
  meutils/async_task/common.py,sha256=ZJ4e0CsEJf1ppPmGSwPCwhZBAkUL5xsi_t1ny-bJuko,845
@@ -589,7 +592,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
589
592
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
590
593
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
591
594
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
592
- meutils/data/VERSION,sha256=rwsTLlBoKl4pDy6WJa9SQz3uKxFyRaVolT1FasOEmq8,19
595
+ meutils/data/VERSION,sha256=JNH9zQA88tzrEzSLodfqEcVuhfnTNU01lc-l6IRPwUo,19
593
596
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
594
597
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
595
598
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -671,7 +674,7 @@ meutils/jwt_utils/__init__.py,sha256=zs4pIDk4sQ82o7meMwt64_tv2WBMRTaXX9doe0ilvvs
671
674
  meutils/jwt_utils/common.py,sha256=u2PPQJ9S-83y8f3Sb5L2OCRP7o-xV56EAmlzMZ8Je0Q,2352
672
675
  meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
673
676
  meutils/llm/check_api.py,sha256=Cu60Rvp7zLmmazuLXxpK4z-FCab4NrO4nH5LzfYjjoM,3591
674
- meutils/llm/check_utils.py,sha256=PqZXMlM__U3m7HmZf0k3tlDDPLj05IAndbtzBRdhQek,8096
677
+ meutils/llm/check_utils.py,sha256=-6cOZDci4WMwwnp5YloSGSXcaI9SU45X-BXgExI9Ltc,8109
675
678
  meutils/llm/clients.py,sha256=qZa9WC85Ah4tdEd-EI_P_038mnJLq_z-smaJdwJp-EM,2956
676
679
  meutils/llm/demo.py,sha256=gyGjTxuNFMOa1X4CXaChkq0lcjbKiRsnSRhkeMvsoQk,3822
677
680
  meutils/llm/mappers.py,sha256=ZQLl3OuD06kVMP8bwIpVgAB1UVzMJWUJiZ3vgk-ZjeI,303
@@ -710,11 +713,11 @@ meutils/llm/completions/rag/qwen.py,sha256=1dBNLLbQDRsM-7EGaStcWFU8HRa-rp3RxJ9cp
710
713
  meutils/llm/completions/rag/rag.py,sha256=mnC4bZUMuNYuPFXMBqXMofj_ms8uP5MMw1leJ5jXA_k,1209
711
714
  meutils/llm/functions/__init__.py,sha256=It6pcNwRBSh3Em45ooi61lc5tFg8eOYv0BvEFuRjSGQ,271
712
715
  meutils/llm/openai_polling/__init__.py,sha256=qmAMITPtrTD-y57RiJXewuOic7iLKBhx8mz5uvcxsy8,270
713
- meutils/llm/openai_polling/chat.py,sha256=WSQnKEJlZkJjS8CVq6RWouu7FCGgjw5Z5Aj2n1XkYsY,8049
716
+ meutils/llm/openai_polling/chat.py,sha256=PT7Xb621RIa7SSwdlOCq5OMgk7nSyN7cBaBW4qQwpvg,8180
714
717
  meutils/llm/openai_polling/images.py,sha256=qKMk3vCvamS_48ceC-_y2LPpP5XsD476FHG9MUu8kks,1042
715
718
  meutils/llm/openai_utils/__init__.py,sha256=MWyNhP2K49oaHGEZlInZc3XlwqlStFultP8k7HDPAwk,290
716
- meutils/llm/openai_utils/adapters.py,sha256=lGKuxTgvC_W5LvlNKXB5dL5ycqV6yRGVtzK_2mKOm6I,2217
717
- meutils/llm/openai_utils/common.py,sha256=UMZPB4__Xs1iCyccMFrEwTYn1lJJuNIGL-TfblUBM1g,10451
719
+ meutils/llm/openai_utils/adapters.py,sha256=qZ0mzjHB9o6m6PwytCy1Ukr3GQZ7qqAjzbsAzryXp6k,2307
720
+ meutils/llm/openai_utils/common.py,sha256=67HF4OHNRHfquerdgaHASdLFnHipwVpwUFnAhQQcaX0,10465
718
721
  meutils/llm/openai_utils/tool_outputs.py,sha256=6mNkm4btgy0uzF98gdmcah1bYmoflXdLz2Sqm0KC_LQ,1224
719
722
  meutils/llm/output_parsers/__init__.py,sha256=EGKvgUD47ReyV5Z9RXDCrdDLgfKMHdoayzsXVmBuQxw,3474
720
723
  meutils/llm/prompts/__init__.py,sha256=VlEEViFoUSRS0EF1rHJXHh9Ik9FpvAiR1luKjHOsUc4,8580
@@ -725,9 +728,11 @@ meutils/logging/__init__.py,sha256=dKFrn05P8EAvvzxwiZnzPTT5r54yInwoO5cRyp2jFmQ,2
725
728
  meutils/logging/handlers.py,sha256=ngnVVN7wcFQZsSTnc-1nP5ZRCp-jbO1Qt7mjNfum_-8,701
726
729
  meutils/logging/log_utils.py,sha256=Sa5-Y4fWNTKQw2fIb1dbPgOypl6S6m7EOrbciSqEt5A,2937
727
730
  meutils/logging/logger.py,sha256=-J_tWYfAvPhSTshVWIiN-6zTZnjkFuwDfMtxUtuNkuY,6183
731
+ meutils/math_utils/__init__.py,sha256=vg71MyiPyDCeFDwi42MLSfAFQl43a3uNLIgerY0eDRA,284
732
+ meutils/math_utils/common.py,sha256=8MpWwgYLdvrpouTd9YJzcAwH-KNq58J4mY87dvd7e3Q,1086
728
733
  meutils/notice/__init__.py,sha256=BVbcBx4ks-BH_63gEcjMxL67oX1_aWdaM8r3TDo8Ogg,248
729
734
  meutils/notice/emails.py,sha256=TvC1xv3MpFC2HU0lTQW5SmNuj7UMlgjpsUImMp9jKOw,2403
730
- meutils/notice/feishu.py,sha256=i2YkuzFGRtaIeu7CRtkf2hHXzLr1-SJX-qRk-b_mO2E,4482
735
+ meutils/notice/feishu.py,sha256=ydQuZgzmL3j5u0ySkLKShRemM4UYYOKa-vIsnezKWEU,4626
731
736
  meutils/notice/file_post.py,sha256=KQ8iQUM30vF7T6ZZPahdLps4dLXK2s3nzdFYbty6M5E,953
732
737
  meutils/notice/load_emailfile - 副本.py,sha256=f-Kq3UKZut_P0bmumV1y4PXuPtatjl-5SLUH5LShBUY,7331
733
738
  meutils/notice/wechat.py,sha256=-HU5oSvpZrVnjjU76ky7_j0yg5ivn5mIlJ7JJVtlrnY,4082
@@ -820,7 +825,7 @@ meutils/schemas/fish_types.py,sha256=yC0ZFr3Ebh8F0OhtMsXYaIfNNvzOM2LT9YtKTaRoHGU
820
825
  meutils/schemas/hailuo_types.py,sha256=ubG6qIU506tq51UsURuwlPhtPNa49xHSoBzBtW7jg_0,7431
821
826
  meutils/schemas/haimian_types.py,sha256=jGu484UviAeBgy5OIUyRY4uYCxXfv16zDPqiJQr9wNQ,1364
822
827
  meutils/schemas/idphoto_types.py,sha256=nuHbpppejRSkJCiQ7YKx0Gnke0ShKZhOvdg0e7tk9-0,1074
823
- meutils/schemas/image_types.py,sha256=yqWcs3vLT5rX_hiJoCpMdKTfNdgCr-95g5s-Vcd8aow,15869
828
+ meutils/schemas/image_types.py,sha256=OEd2cPUokvp-um3n1NGGLwJhsPn9YH9rnvQHVuLooDA,16252
824
829
  meutils/schemas/jimeng_types.py,sha256=z0mAICgNE0Yaq09_puzgMfHOP-QKWiZqqMlFbLVHtmY,1995
825
830
  meutils/schemas/jina_types.py,sha256=SLRRBCap2B1uXnHF7Sgnlz1Work8HvdIltjj4oVlGTk,8826
826
831
  meutils/schemas/kimi_types.py,sha256=PjCgHwCDNzKasn4X6rUzvOENqKYT3xj07cgp71IdsDA,3607
@@ -833,7 +838,7 @@ meutils/schemas/metaso_types.py,sha256=nbZ_5chFtAszZltilE_o-AZcwlqHvzF4ATKwD101W
833
838
  meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
834
839
  meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
835
840
  meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
836
- meutils/schemas/openai_types.py,sha256=kfN-uzTJtS4yGqLziQ4jaT6BIqggr7GSDBZ_pzlHxBo,22994
841
+ meutils/schemas/openai_types.py,sha256=uN8FDMGjPwYbi9p4iRr1pTGAjIdgB-2s3_4bsOfKYDA,23031
837
842
  meutils/schemas/pixverse_types.py,sha256=3mHg2KxvszV1U8K3GdzsODZz4uocLVRjEeJgYhX0Xmw,2347
838
843
  meutils/schemas/playwright_types.py,sha256=zhZd53m1Wg4zlGtq2JM4z7Aon-u_eF6rzs-_TFYWvkU,1177
839
844
  meutils/schemas/prodia_types.py,sha256=knh_lzAxMfWMoqAPmvyMweay9PmQmsoQ1X6Mj17ohWg,476
@@ -855,8 +860,8 @@ meutils/schemas/yuanbao_types.py,sha256=bI_CF9ybaJ1ux8NgP5gEi33k_K_vHmlyD09fxzhY
855
860
  meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVIU,272
856
861
  meutils/schemas/db/oneapi_types.py,sha256=3t2m0H80saEXmYUZfVFrtEaY117GjZTsSa1GKgkJzqQ,3896
857
862
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
858
- meutils/schemas/oneapi/_types.py,sha256=IdXSLPQl73AKtCC5jFI2w5O7WFuQcQJlN_pr8xiMKz0,2648
859
- meutils/schemas/oneapi/common.py,sha256=CPx0TZZTOHs0zk25VPZw6ELIqb7qG2S2WMAGVP7M7Wo,40544
863
+ meutils/schemas/oneapi/_types.py,sha256=dptYhHym-Wyd4JuPhbeGBXmVLX8jhaya2gKlAcPpwAM,2987
864
+ meutils/schemas/oneapi/common.py,sha256=0RFlX0yKc1uQ1pRa1vZwzLx2ywWXDYReKpo6waxN3kw,41461
860
865
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
861
866
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
862
867
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
@@ -909,9 +914,9 @@ meutils/settings/__init__.py,sha256=jZc0NXPA9zIMcTAYypSQDxJqvXakyJ0ztK9ZMND2Q7U,
909
914
  meutils/settings/base.py,sha256=kb3QVS2eUFWyGgvegtSK4cqJFF76J1JctTSzCVqc1Mo,264
910
915
  meutils/settings/demo.py,sha256=Ht3t6LREQsKa5W2owNrOZNAoZfS-zItIFNwGhhPj-4k,484
911
916
  meutils/str_utils/Translator.py,sha256=tfvNQIeVCqmX9yW6jobeibDHG6X-XecSSAx9kJIFFyw,1258
912
- meutils/str_utils/__init__.py,sha256=oZh9gMfiOHvIf7ViDGhpYxxPoXyIbxCJaTWrNvuv-V0,9620
917
+ meutils/str_utils/__init__.py,sha256=7rVAWR0bbxVvuWFwyC0ZedpY1QVSmrrLwLIfPAfjWqM,10238
913
918
  meutils/str_utils/json_utils.py,sha256=H65v9vZtXVuYyRCQAfyQ4KZzAecwjvjBH6qTy0hCDE4,4033
914
- meutils/str_utils/regular_expression.py,sha256=Cm9Hy5GoIcWejs2oElgw_prNCRnb_y8xUCW_Mt7rdIc,6128
919
+ meutils/str_utils/regular_expression.py,sha256=HqEcPNyUHBBo7oJlwOFNpiFiO5NCXB8hD41nI1826fU,6161
915
920
  meutils/str_utils/__translater/__init__.py,sha256=mtDbKL_Qdkeq5VPVO1M4ejf9H8PzKM5h7iepqkBG8N0,277
916
921
  meutils/str_utils/__translater/tencent.py,sha256=1E_56l6-A49Yuz2ZrMKxt-QJfcf0xDYN2X0dg58Dytk,1408
917
922
  meutils/str_utils/__translater/translater.py,sha256=A_9NLVvkjzPd9omIcJGhux21D-gcCxemyrZ7o6uGx_Q,1238
@@ -985,9 +990,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
985
990
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
986
991
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
987
992
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
988
- MeUtils-2025.6.9.11.35.52.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
989
- MeUtils-2025.6.9.11.35.52.dist-info/METADATA,sha256=gwzkoKJxWIY71bIWQed_5mCQ-1o-gaMV5Qn1Gm8oS4g,32833
990
- MeUtils-2025.6.9.11.35.52.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
991
- MeUtils-2025.6.9.11.35.52.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
992
- MeUtils-2025.6.9.11.35.52.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
993
- MeUtils-2025.6.9.11.35.52.dist-info/RECORD,,
993
+ MeUtils-2025.6.13.10.18.19.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
994
+ MeUtils-2025.6.13.10.18.19.dist-info/METADATA,sha256=sRxHPUBepYlRFRYnlGDtVubhURWaV8rmVs-zCi7PBbE,32834
995
+ MeUtils-2025.6.13.10.18.19.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
996
+ MeUtils-2025.6.13.10.18.19.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
997
+ MeUtils-2025.6.13.10.18.19.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
998
+ MeUtils-2025.6.13.10.18.19.dist-info/RECORD,,
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : openai_siliconflow
5
+ # @Time : 2024/6/26 10:42
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+ import os
11
+
12
+ from meutils.pipe import *
13
+ from openai import OpenAI
14
+ from openai import OpenAI, APIStatusError
15
+
16
+
17
+ client = OpenAI(
18
+ api_key="sk-5pMaS37pVZXH9s2dMwRK984QiwIRh9qQbQGnkv5fAFNaxMK6-16207",
19
+ base_url="https://usa.chatfire.cn"
20
+ )
21
+
22
+
23
+
24
+ r = client.images.generate(
25
+ model="cogview-3-plus",
26
+ prompt="a white siamese cat",
27
+ size="1024x1024",
28
+ extra_body={
29
+ ""
30
+ },
31
+ n=1,
32
+ )
@@ -25,7 +25,8 @@ try:
25
25
  completion = client.chat.completions.create(
26
26
  # model="deepseek/deepseek-r1/community",
27
27
  # model="deepseek/deepseek-r1-turbo",
28
- model="deepseek/deepseek-v3-0324",
28
+ # model="deepseek/deepseek-v3-0324",
29
+ model="deepseek/deepseek-r1-0528",
29
30
  messages=[
30
31
  {"role": "system", "content": '你是个内容审核助手'},
31
32
 
@@ -40,7 +40,10 @@ try:
40
40
  top_p=None,
41
41
  temperature=None,
42
42
  stream=True,
43
- max_tokens=1000
43
+ max_tokens=10,
44
+ # stream_options={
45
+ # "include_usage": True,
46
+ # }
44
47
  )
45
48
  except APIStatusError as e:
46
49
  print(e.status_code)
@@ -50,7 +53,7 @@ except APIStatusError as e:
50
53
  print(e.code)
51
54
 
52
55
  for chunk in completion:
53
- # print(bjson(chunk))
56
+ print(bjson(chunk))
54
57
  print(chunk.choices[0].delta.content, flush=True)
55
58
 
56
59
  # r = client.images.generate(
@@ -48,13 +48,13 @@ async def check(token, threshold: float = 0):
48
48
  return False
49
49
 
50
50
 
51
- async def generate(request: ImageRequest, token: Optional[str] = None):
51
+ async def generate(request: ImageRequest, api_key: Optional[str] = None):
52
52
  """https://fal.ai/models/fal-ai/flux-pro/v1.1-ultra/api#api-call-submit-request
53
53
  """
54
54
  logger.debug(request)
55
55
 
56
56
  s = time.time()
57
- token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL, from_redis=True, check_token=check)
57
+ token = api_key or await get_next_token_for_polling(feishu_url=FEISHU_URL, from_redis=True, check_token=check)
58
58
 
59
59
  arguments = request.model_dump(exclude_none=True)
60
60
  width, height = request.size.split("x")
@@ -156,10 +156,12 @@ async def generate(request: ImageRequest, token: Optional[str] = None):
156
156
  arguments.pop("aspect_ratio", None)
157
157
 
158
158
  aspect_ratios = {'21:9', '16:9', '4:3', '3:2', '1:1', '2:3', '3:4', '9:16', '9:21'}
159
- if request.aspect_ratio in aspect_ratios:
160
- arguments["aspect_ratio"] = request.aspect_ratio
161
159
 
160
+ if aspect_ratio := request.prompt2aspect_ratio(aspect_ratios): # 提示词优先级最高
161
+ arguments["aspect_ratio"] = aspect_ratio
162
162
 
163
+ elif request.aspect_ratio in aspect_ratios:
164
+ arguments["aspect_ratio"] = request.aspect_ratio
163
165
 
164
166
  logger.debug(bjson(arguments))
165
167
 
@@ -266,14 +268,14 @@ if __name__ == '__main__':
266
268
 
267
269
  tokens = arun(get_series(FEISHU_URL))
268
270
  # tokens = ["578e143c-702d-46a1-8c02-d451bc3e155b:bb531a95f79c6026e7bc7ab676163c71"]
269
- tokens = """
270
- 30e9fe5c-75d0-4bdd-b11d-ff17dbe4bba5:3de8535e2fa4d9347e599a845cf3e7b8
271
- 05c0b4f6-1443-4b28-aeff-771b65ebaebc:28df6b9b71430b05aca6b8bc7e873a4a
272
- """.split()
273
-
274
- r = []
275
- for t in tokens:
276
- if arun(check(t)):
277
- r.append(t)
278
-
279
- print('\n'.join(r))
271
+ # tokens = """
272
+ # 30e9fe5c-75d0-4bdd-b11d-ff17dbe4bba5:3de8535e2fa4d9347e599a845cf3e7b8
273
+ # 05c0b4f6-1443-4b28-aeff-771b65ebaebc:28df6b9b71430b05aca6b8bc7e873a4a
274
+ # """.split()
275
+ #
276
+ # r = []
277
+ # for t in tokens:
278
+ # if arun(check(t)):
279
+ # r.append(t)
280
+ #
281
+ # print('\n'.join(r))
@@ -62,9 +62,9 @@ tools = [
62
62
  # )
63
63
 
64
64
  class Completions(object):
65
- def __init__(self, api_key: Optional[str] = None):
65
+ def __init__(self, api_key: Optional[str] = None, base_url: Optional[str] = None):
66
66
  self.api_key = api_key
67
- self.base_url = "https://g.chatfire.cn"
67
+ self.base_url = base_url or "https://g.chatfire.cn"
68
68
  self.client = None ####
69
69
 
70
70
  async def create_for_search(self, request: CompletionRequest):
@@ -278,7 +278,7 @@ class Completions(object):
278
278
  # 两轮即可连续编辑图片
279
279
 
280
280
  messages = []
281
- for m in request.messages:
281
+ for m in request.messages or []:
282
282
  contents = m.get("content")
283
283
  if m.get("role") == "assistant":
284
284
  assistant_content = str(contents)
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : generations
5
+ # @Time : 2025/6/11 17:06
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description : 统一收口
10
+
11
+ from meutils.pipe import *
12
+ from meutils.llm.clients import AsyncClient
13
+ from meutils.llm.openai_utils import to_openai_params
14
+
15
+ from meutils.schemas.image_types import ImageRequest
16
+
17
+ from meutils.apis.fal.images import generate as fal_generate
18
+
19
+
20
+ async def generate(
21
+ request: ImageRequest,
22
+ api_key: Optional[str] = None,
23
+ base_url: Optional[str] = None,
24
+ ):
25
+ if base_url: # 优先级最高
26
+ client = AsyncClient(api_key=api_key, base_url=base_url)
27
+ return await client.images.generate(**to_openai_params(request))
28
+
29
+ if request.model.startswith("fal-ai"):
30
+ return await fal_generate(request, api_key)
31
+
32
+
33
+ if __name__ == '__main__':
34
+ arun(generate(ImageRequest(model="flux", prompt="笑起来")))
@@ -54,6 +54,7 @@ async def create_draft_content(request: ImageRequest, token: str):
54
54
  main_component_id = str(uuid.uuid4())
55
55
  if (urls := parse_url(request.prompt)) or image_uri: # 图生 # todo: image base64
56
56
  request.model = "high_aes_general_v20_L:general_v2.0_L" # 2.1不支持图片编辑 某些不支持
57
+ request.model = "high_aes_general_v30l:general_v3.0_18b"
57
58
 
58
59
  if image_uri:
59
60
  pass
@@ -667,7 +668,7 @@ if __name__ == '__main__':
667
668
 
668
669
  # request = ImageRequest(prompt=prompt, size="2048*2048")
669
670
 
670
- task = arun(create_task(request))
671
+ # task = arun(create_task(request))
671
672
  # task = arun(create_task(request, "d2d142fc877e696484cc2fc521127b36"))
672
673
  # task = arun(create_task(request, "d2d142fc877e696484cc2fc521127b36"))
673
674
 
@@ -683,4 +684,4 @@ if __name__ == '__main__':
683
684
 
684
685
  # arun(get_task("16132262728706", "d2d142fc877e696484cc2fc521127b36"))
685
686
 
686
- # arun(generate(request))
687
+ arun(generate(request))
@@ -6,11 +6,13 @@
6
6
  # @Author : betterme
7
7
  # @WeChat : meutils
8
8
  # @Software : PyCharm
9
- # @Description :
9
+ # @Description :
10
+ import datetime
10
11
 
11
12
  from meutils.pipe import *
12
13
  from meutils.hash_utils import murmurhash
13
14
  from meutils.schemas.oneapi import BASE_URL, GROUP_RATIO
15
+ from meutils.schemas.oneapi._types import ChannelInfo
14
16
 
15
17
  headers = {
16
18
  'authorization': f'Bearer {os.getenv("CHATFIRE_ONEAPI_TOKEN")}',
@@ -73,57 +75,29 @@ async def edit_channel(models, token: Optional[str] = None):
73
75
 
74
76
 
75
77
  async def create_or_update_channel(
76
- api_key,
77
- base_url: Optional[str] = "https://api.ffire.cc",
78
- models: str = "",
79
- channel_id: Optional[int] = None,
78
+ request: ChannelInfo,
79
+
80
+ base_url: Optional[str] = None,
81
+ api_key: Optional[str] = None,
80
82
  ):
81
- if isinstance(api_key, list):
82
- api_keys = api_key | xgroup(128) # [[],]
83
- else:
84
- api_keys = [[api_key]]
83
+ method = "put" if request.id else "post"
84
+ base_url = base_url or "https://api.ffire.cc"
85
85
 
86
- payload = {
87
- "id": channel_id,
88
- "type": 24, # gemini
89
- # "key": "AIzaSyCXWV19FRM4XX0KHmpR9lYUz9i1wxQTYUg",
90
- "openai_organization": "",
91
- "test_model": "",
92
- "status": 1,
93
- "name": "gemini",
86
+ # 新创建的优先级低,保证旧key刷的时间更长
87
+ request.priority = request.priority or int(1000 - (time.time() - time.time() // 1000 * 1000))
94
88
 
95
- "priority": murmurhash(api_key, bins=3),
96
- "weight": 0,
97
- # "created_time": 1745554162,
98
- # "test_time": 1745554168,
99
- # "response_time": 575,
100
- # "base_url": "https://g.chatfire.cn/v1beta/openai/chat/completions",
101
- # "other": "",
102
- # "balance": 0,
103
- # "balance_updated_time": 0,
104
- "models": models,
105
- # "used_quota": 0,
106
- "model_mapping": """{"gemini-2.5-pro-preview-03-25": "gemini-2.5-pro-exp-03-25"}""",
107
- # "status_code_mapping": "",
108
- # "auto_ban": 1,
109
- # "other_info": "",
110
- # "settings": "",
111
- "tag": "gemini",
112
- # "setting": None,
113
- # "param_override": "\n {\n \"seed\": null,\n \"frequency_penalty\": null,\n \"presence_penalty\": null,\n \"max_tokens\": null\n }\n ",
114
- "group": "default",
115
- "groups": [
116
- "default"
117
- ]
89
+ api_key = api_key or os.getenv("CHATFIRE_ONEAPI_TOKEN")
90
+ headers = {
91
+ 'authorization': f'Bearer {api_key}',
92
+ 'new-api-user': '1',
93
+ 'rix-api-user': '1',
118
94
  }
119
-
120
- for api_key in tqdm(api_keys):
121
- payload['key'] = '\n'.join(api_key)
122
- # logger.debug(payload)
123
- async with httpx.AsyncClient(base_url=base_url, headers=headers, timeout=100) as client:
124
- response = await client.post("/api/channel/", json=payload)
125
- response.raise_for_status()
126
- logger.debug(response.json())
95
+ payload = request.model_dump(exclude_none=True)
96
+ async with httpx.AsyncClient(base_url=base_url, headers=headers, timeout=60) as client:
97
+ response = await client.request(method, "/api/channel/", json=payload)
98
+ response.raise_for_status()
99
+ logger.debug(response.json())
100
+ return response.json()
127
101
 
128
102
 
129
103
  async def create_or_update_channel_for_gemini(api_key, base_url: Optional[str] = "https://api.ffire.cc"):
@@ -206,13 +180,18 @@ if __name__ == '__main__':
206
180
  # gemini
207
181
  FEISHU_URL = "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=kfKGzt"
208
182
  #
209
- # base_url = "https://api.ffire.cc"
210
- base_url = "https://usa.chatfire.cn"
183
+ base_url = "https://api.ffire.cc"
184
+ # base_url = "https://usa.chatfire.cn"
211
185
  #
212
- tokens = arun(get_series(FEISHU_URL)) # [:5]
213
- arun(create_or_update_channel(tokens, base_url))
186
+ # tokens = arun(get_series(FEISHU_URL)) # [:5]
187
+ # arun(create_or_update_channel(tokens, base_url))
214
188
  # arun(create_or_update_channel(tokens))
215
189
  # # arun(delete_channel(range(10000, 20000)))
190
+ key= "KEY"
191
+ request = ChannelInfo(name='', key=key)
192
+ request = ChannelInfo(key=key)
193
+
194
+ arun(create_or_update_channel(request))
216
195
 
217
196
  """
218
197
  API_KEY=6c255307-7b4d-4be8-984b-5440a3e867eb
@@ -0,0 +1,146 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : videos
5
+ # @Time : 2025/6/11 15:13
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
12
+ from meutils.decorators.retry import retrying
13
+ from meutils.llm.clients import AsyncClient
14
+ from meutils.schemas.openai_types import CompletionRequest
15
+ from meutils.notice.feishu import send_message_for_volc as send_message
16
+
17
+ from meutils.db.redis_db import redis_aclient
18
+ from meutils.llm.check_utils import check_token_for_volc
19
+ from meutils.config_utils.lark_utils import get_next_token_for_polling, get_series
20
+
21
+ from fastapi import APIRouter, File, UploadFile, Query, Form, Depends, Request, HTTPException, status, BackgroundTasks
22
+
23
+ # Please activate
24
+ FEISHU_URL = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=8W6kk8" # 超刷
25
+
26
+
27
+ async def get_valid_token():
28
+ tokens = await get_series(FEISHU_URL)
29
+ for token in tokens:
30
+ if await check_token_for_volc(token):
31
+ logger.debug(f"有效 {token}")
32
+
33
+ return token
34
+ else:
35
+ logger.debug(f"无效 {token}")
36
+ _ = f"{FEISHU_URL}\n\n所有token无效"
37
+ logger.error(_)
38
+ send_message(_, n=3)
39
+
40
+
41
+ @retrying(max_retries=5)
42
+ async def create_task(request: CompletionRequest, api_key: Optional[str] = None):
43
+ api_key = api_key or await get_next_token_for_polling(feishu_url=FEISHU_URL, from_redis=True, check_token=check)
44
+
45
+ payload = {
46
+ "model": "doubao-seedance-1-0-pro-250528",
47
+ "content": [
48
+ {
49
+ "type": "text",
50
+ "text": "无人机以极快速度穿越复杂障碍或自然奇观,带来沉浸式飞行体验 --resolution 1080p --duration 5 --camerafixed false"
51
+ },
52
+ {
53
+ "type": "image_url",
54
+ "image_url": {
55
+ "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seepro_i2v.png"
56
+ }
57
+ }
58
+ ]
59
+ }
60
+ payload = request.model_dump(exclude_none=True)
61
+ client = AsyncClient(base_url="https://ark.cn-beijing.volces.com/api/v3", api_key=api_key)
62
+
63
+ response = await client.post(
64
+ path="/contents/generations/tasks",
65
+ cast_to=object,
66
+ body=payload
67
+ )
68
+
69
+ if task_id := response.get('id'):
70
+ await redis_aclient.set(task_id, api_key, ex=7 * 24 * 3600)
71
+
72
+ return response # {'id': 'cgt-20250611152553-r46ql'}
73
+
74
+
75
+ async def get_task(task_id: str):
76
+ token = await redis_aclient.get(task_id) # 绑定对应的 token
77
+ token = token and token.decode()
78
+ if not token:
79
+ raise HTTPException(status_code=404, detail="TaskID not found")
80
+
81
+ client = AsyncClient(base_url="https://ark.cn-beijing.volces.com/api/v3", api_key=api_key)
82
+
83
+ response = await client.get(
84
+ path=f"/contents/generations/tasks/{task_id}",
85
+ cast_to=object,
86
+ )
87
+
88
+ return response
89
+
90
+
91
+ # 执行异步函数
92
+ if __name__ == "__main__":
93
+ # api_key = "07139a08-e360-44e2-ba31-07f379bf99ed" # {'id': 'cgt-20250611164343-w2bzq'} todo 过期调用get
94
+
95
+ api_key = "b4c77fc4-b0a1-43e9-b151-9cea13fcc04d" # 欠费
96
+
97
+ request = CompletionRequest(
98
+ model="doubao-seedance-1-0-pro-250528",
99
+ content=[
100
+ {
101
+ "type": "text",
102
+ "text": "无人机以极快速度穿越复杂障碍或自然奇观,带来沉浸式飞行体验 --resolution 1080p --duration 5 --camerafixed false"
103
+ },
104
+
105
+ {
106
+ "type": "image_url",
107
+ "image_url": {
108
+ "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seepro_i2v.png"
109
+ }
110
+ }
111
+ ]
112
+ )
113
+ # r = arun(create_task(request, api_key))
114
+ # r = {'id': 'cgt-20250612172542-6nbt2'}
115
+
116
+ # arun(get_task(r.get('id')))
117
+
118
+ # arun(get_task("cgt-20250611164343-w2bzq"))
119
+
120
+ # arun(get_task("cgt-20250611193213-tcqth"))
121
+
122
+ arun(get_valid_token())
123
+
124
+ """
125
+ openai.NotFoundError: Error code: 404 - {'error': {'code': 'ModelNotOpen', 'message': 'Your account 2107813928 has not activated the model doubao-seedance-1-0-pro. Please activate the model service in the Ark Console. Request id: 021749718307793fc1441381f8ed755824bb9d58a45ee6cb04068', 'param': '', 'type': 'NotFound'}}
126
+
127
+
128
+ curl -X POST https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks \
129
+ -H "Content-Type: application/json" \
130
+ -H "Authorization: Bearer 29ce2c44-981d-4b7b-b0f5-f8a39586fd06" \
131
+ -d '{
132
+ "model": "doubao-seaweed-241128",
133
+ "content": [
134
+ {
135
+ "type": "text",
136
+ "text": "女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动 --resolution 720p --duration 5"
137
+ },
138
+ {
139
+ "type": "image_url",
140
+ "image_url": {
141
+ "url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/i2v_foxrgirl.png"
142
+ }
143
+ }
144
+ ]
145
+ }'
146
+ """
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2025.06.09.11.35.52
1
+ 2025.06.13.10.18.19