MeUtils 2024.12.2.11.50.27__py3-none-any.whl → 2024.12.5.13.7.4__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MeUtils
3
- Version: 2024.12.2.11.50.27
3
+ Version: 2024.12.5.13.7.4
4
4
  Summary: description
5
5
  Home-page: https://github.com/yuanjie-ai/MeUtils
6
6
  Author: yuanjie
@@ -61,42 +61,42 @@ Requires-Dist: sse-starlette ; extra == 'ai'
61
61
  Requires-Dist: openai ; extra == 'ai'
62
62
  Requires-Dist: langchain ; extra == 'ai'
63
63
  Provides-Extra: all
64
- Requires-Dist: reportlab ; extra == 'all'
65
- Requires-Dist: pymysql ; extra == 'all'
66
- Requires-Dist: sse-starlette ; extra == 'all'
67
- Requires-Dist: redis-py-cluster ; extra == 'all'
68
- Requires-Dist: pretty-errors ; extra == 'all'
69
- Requires-Dist: streamlit ; extra == 'all'
70
64
  Requires-Dist: thefuck ; extra == 'all'
65
+ Requires-Dist: sqlalchemy ; extra == 'all'
66
+ Requires-Dist: filetype ; extra == 'all'
71
67
  Requires-Dist: fastapi ; extra == 'all'
68
+ Requires-Dist: gunicorn ; extra == 'all'
69
+ Requires-Dist: redis-py-cluster ; extra == 'all'
70
+ Requires-Dist: pymysql ; extra == 'all'
72
71
  Requires-Dist: pymupd ; extra == 'all'
73
- Requires-Dist: sqlalchemy ; extra == 'all'
74
72
  Requires-Dist: pymongo ; extra == 'all'
75
- Requires-Dist: schedule ; extra == 'all'
76
- Requires-Dist: polars ; extra == 'all'
73
+ Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
74
+ Requires-Dist: fastapi[all] ; extra == 'all'
77
75
  Requires-Dist: thriftpy2 ; extra == 'all'
78
76
  Requires-Dist: pymilvus ; extra == 'all'
79
- Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
80
- Requires-Dist: uvicorn ; extra == 'all'
81
- Requires-Dist: cachetools ; extra == 'all'
82
77
  Requires-Dist: pandas-summary ; extra == 'all'
83
- Requires-Dist: langchain ; extra == 'all'
84
- Requires-Dist: seaborn ; extra == 'all'
85
- Requires-Dist: faiss-cpu ; extra == 'all'
86
78
  Requires-Dist: jieba ; extra == 'all'
87
- Requires-Dist: asyncmy ; extra == 'all'
88
79
  Requires-Dist: jinja2 ; extra == 'all'
89
- Requires-Dist: geopy ; extra == 'all'
90
- Requires-Dist: gunicorn ; extra == 'all'
91
- Requires-Dist: missingno ; extra == 'all'
92
- Requires-Dist: jmespath ; extra == 'all'
80
+ Requires-Dist: langchain ; extra == 'all'
81
+ Requires-Dist: polars ; extra == 'all'
82
+ Requires-Dist: streamlit ; extra == 'all'
93
83
  Requires-Dist: openai ; extra == 'all'
84
+ Requires-Dist: geopy ; extra == 'all'
94
85
  Requires-Dist: pyarrow ; extra == 'all'
95
- Requires-Dist: filetype ; extra == 'all'
86
+ Requires-Dist: faiss-cpu ; extra == 'all'
96
87
  Requires-Dist: iteration-utilities ; extra == 'all'
88
+ Requires-Dist: missingno ; extra == 'all'
89
+ Requires-Dist: asyncmy ; extra == 'all'
90
+ Requires-Dist: cachetools ; extra == 'all'
91
+ Requires-Dist: sse-starlette ; extra == 'all'
92
+ Requires-Dist: reportlab ; extra == 'all'
97
93
  Requires-Dist: dataframe-image ; extra == 'all'
98
94
  Requires-Dist: simplejson ; extra == 'all'
99
- Requires-Dist: fastapi[all] ; extra == 'all'
95
+ Requires-Dist: schedule ; extra == 'all'
96
+ Requires-Dist: pretty-errors ; extra == 'all'
97
+ Requires-Dist: jmespath ; extra == 'all'
98
+ Requires-Dist: uvicorn ; extra == 'all'
99
+ Requires-Dist: seaborn ; extra == 'all'
100
100
  Provides-Extra: ann
101
101
  Requires-Dist: pymilvus ; extra == 'ann'
102
102
  Requires-Dist: faiss-cpu ; extra == 'ann'
@@ -10,7 +10,7 @@ examples/crontab_demo.py,sha256=GthbPsFmN6VwP3XLYYgLib56lFxfCp12H_Cu98l1vR0,1525
10
10
  examples/datamodel.py,sha256=8Hpz75mbyMUOo8RA1jJA12tGdoo_M8Owgb8zkqdfvic,1052
11
11
  examples/debug.py,sha256=uOxde_EQRJ-Sx_IZ5W4W4b31GoXUWtMom4EHiK4G5X8,414
12
12
  examples/decorator_demo.py,sha256=HRLnQ-0gEFxTsWZZ0is-xGXRDjE0QGLL6iUWQFH8NwY,1578
13
- examples/demo.py,sha256=ZK5Ne6su_N3va4Bf55Xqq2hJpwMmUBuZxjZMipTwNzI,977
13
+ examples/demo.py,sha256=Fa7lPkxwepS-TOzL5B3Q7q4OBSl5wnOBPQCbbzRRG3Y,1312
14
14
  examples/dfi.py,sha256=7jCB7e3eKyRx4Z0uez5kWWvjdjgQRCxu5zX75Cs1AOI,244
15
15
  examples/es.py,sha256=9QWM9AAr70ie6rthwTdF7ofFxGqD4gwz_d9CYku8rVs,1374
16
16
  examples/exec_demo.py,sha256=3MabOHpxrQRpVs1cdFgRxGrdobgRq8Tki5Ohpla7qEE,309
@@ -68,7 +68,7 @@ examples/Time-Extractor/TimeUnit.py,sha256=yx-SS9sxSjSUGiu1H8eTbP4vqAHrNyQcddioM
68
68
  examples/Time-Extractor/__init__.py,sha256=hjNi8tWPOBTke6GHlxpsOrufCRdAHmYs2yBquql9X7c,156
69
69
  examples/Time-Extractor/setup.py,sha256=ENYhj1_uJ7z_F3jrz8FR8w5u2SEXrZpl5GXEELUymLk,811
70
70
  examples/Time-Extractor/resource/__init__.py,sha256=0HHkZVghckIg5LkGMziooZ8TUqfSQFA6j62BN9KyFp0,91
71
- examples/_openaisdk/4v.py,sha256=5x8JEwle0es-nGkL2QhMNNPPVDPp4-YK2nkF_reVeM0,3272
71
+ examples/_openaisdk/4v.py,sha256=7UiLgHjwT2hiV39hE_XWWAxBc_67qQsw9SnAZ2rtEHU,3305
72
72
  examples/_openaisdk/__init__.py,sha256=5TNibGR-ETncXVWoevqYJ0m2yo1GOxRx3hSu2qWAQNo,271
73
73
  examples/_openaisdk/baichuan.py,sha256=xmNFc64T02r9wE0VSOG0B21wJJmlrecKVVCelhs2Dt4,890
74
74
  examples/_openaisdk/bpo.py,sha256=7Jw16TiKFEQvYbt4g-h7QimLBw7xY49w1MthT5OwcTM,5267
@@ -104,7 +104,7 @@ examples/_openaisdk/openai_moon.py,sha256=Y7RrB6SUi9taQOlA50nfGTpQa9ON6XmPmrxtL-
104
104
  examples/_openaisdk/openai_search.py,sha256=HKRTU6y9j_nUfZgrJt2eZ84d7TVT39WN-dcA_BFkVb4,937
105
105
  examples/_openaisdk/openai_sensenova.py,sha256=TnJpHcD1tG5w_x5DsgFgBRWrU8XUkww0uCebgNFfZDM,3216
106
106
  examples/_openaisdk/openai_siliconflow.py,sha256=SuOwW7XmoBpKtLRbi7MFovjfeI2sFWhgOYh11O0vBR4,1349
107
- examples/_openaisdk/openai_step.py,sha256=KSSnBwJZbjpPuevqBXGiEBHQidHedePsr4Jfj6ruVO0,943
107
+ examples/_openaisdk/openai_step.py,sha256=rwXrGRs5CHhWpNl9oeIHltErp1Or_B3PVKNAoMGY-0c,1054
108
108
  examples/_openaisdk/openai_tune.py,sha256=rDmX_EMsAhD0gKJPQ8P0-icZQAjV6OMkMLX67uwJtvU,674
109
109
  examples/_openaisdk/openai_zhipu.py,sha256=K13ogb2IZO0-_ItLqHIAFWaN6FH2vd72PdieIXMZNx8,1626
110
110
  examples/_openaisdk/ppu.py,sha256=jPBufoYt2ZrqNKjgbHr49YZI5vBM-32eBYbhbYduhnY,602
@@ -294,7 +294,7 @@ meutils/apis/kuaidi.py,sha256=4KrtOkbGlsLpyvbY80UMSo03iFqFiBHnE0CiqAWWQ4Y,998
294
294
  meutils/apis/llm_qa.py,sha256=XM1VMkOTb4xKzgVk56dPC1e8lg7SbnfobBVgfLXiX9A,1207
295
295
  meutils/apis/niutrans.py,sha256=weWjn-tUTEaAUe5RGbzcjQqPkJxGDrPwMB6CnaiZSsg,1682
296
296
  meutils/apis/search_music.py,sha256=HBLtdterztrccnLAPZrWBlrYSx4WCRflCqz-V30fOA8,972
297
- meutils/apis/textin.py,sha256=NGWmF5cjtabOy8gERK60gn8upTPTvgpB2uKAGdUkmW0,4685
297
+ meutils/apis/textin.py,sha256=4Cd_iof2jgxtPxPsjWbBJ1B2rQoVrdJOFdWxP3ZKBQU,4749
298
298
  meutils/apis/ts.py,sha256=Q13EOS9Q-Y2-KwOG_cFMVmGj9RUmDtxk5A3E27dxbN0,1511
299
299
  meutils/apis/web_search.py,sha256=6gS3leIB2iyeLtqhB0IbpL_mKzDgArRTqnR7odTWT3E,1035
300
300
  meutils/apis/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,3675
@@ -313,8 +313,9 @@ meutils/apis/chatglm/x.py,sha256=lI86Cd6SN4noCN5HM9gRugcVmjHDtxDTV4m-7Bj61N0,243
313
313
  meutils/apis/hailuoai/__init__.py,sha256=2g9okuB6pxPh1hDiAE9HZo37baqIO9cX-67RpyfBj1k,272
314
314
  meutils/apis/hailuoai/demo.py,sha256=WTnDFL2HgVpAjcn5BljLrbf2y2aATkvvNy75zoEIQkc,1483
315
315
  meutils/apis/hailuoai/hasha_new.py,sha256=1sD3fxmxYrEufmPaJZGAkYJoHKO85hfLXemnY-xYIO8,9101
316
+ meutils/apis/hailuoai/music.py,sha256=S_oi-ZDbocTfbRgREdXtGx50xzUc1PCZGuxmr917E7M,265
316
317
  meutils/apis/hailuoai/upload.py,sha256=22S6W6hGQhUquVKqh7QCkXb6KHDl3iMKKi6Z0AJdFEI,6501
317
- meutils/apis/hailuoai/videos.py,sha256=VdS_jiPANXti6HKHiSu0PuC1oTbxwhXYpgpdNCfr7IA,19088
318
+ meutils/apis/hailuoai/videos.py,sha256=lCHej9RK8B4-TmVY7mns0monu2qdjNjkUd86GgoI3jo,19327
318
319
  meutils/apis/hailuoai/yy.py,sha256=gJvr7VDa0YPEUkZuETdmCFWWheylDPoMUg8gbS_SVw8,8937
319
320
  meutils/apis/hf/__init__.py,sha256=ZZoRl8yNYekoMhE__67XXBKNSYJaLgjtaa0netjJKUU,271
320
321
  meutils/apis/hf/got_ocr.py,sha256=pZURFpryDh_Ak6PNiARztOzYgkjVrfScJ5-0XzMBrzI,1776
@@ -330,7 +331,7 @@ meutils/apis/hunyuan/image_tools.py,sha256=LZdhmFzV4i9bhJ-4Lu02mEG3QtZryC4HwW9fg
330
331
  meutils/apis/images/__init__.py,sha256=hs7HUJZvw_3DAtoapPnbZsEb4ng1p0a6fJGFFWwUcUk,272
331
332
  meutils/apis/images/deepinfra.py,sha256=N7IDJ9dubojOY--R30uQlzSBbuuy4OXkCkRB1ey0kcQ,3241
332
333
  meutils/apis/images/demo.py,sha256=Cjk-EKMKbp44czykW_44qR0TzElX8nNCALqXBBw5sJA,4405
333
- meutils/apis/images/recraft.py,sha256=XtsejHyKj7XaQdRN1JIRin920gPLfAX69mlC5V-ylME,15929
334
+ meutils/apis/images/recraft.py,sha256=XEZnKcandNW9eR-bBYg7bVicuaFJToeFSnHF-u4PbkE,10142
334
335
  meutils/apis/images/fal/__init__.py,sha256=A7w3ZAS7Tv20N4X4Em6NshDxKSCPAzaPxHJTbM3BbyM,272
335
336
  meutils/apis/images/fal/files.py,sha256=hxcetu8Mcdp-UICh-CF7LuTLFShvGMwgKHxpHyFGj28,1318
336
337
  meutils/apis/images/fal/images.py,sha256=z7JhKMDT4tbPgkNEM2V27OVQLVfOYU1dhUnw-pHBcg8,1677
@@ -351,6 +352,7 @@ meutils/apis/kling/__init__.py,sha256=pKz40SEjui1dhHBD-icyNTJOYhzLvxLxJCwszuH4vi
351
352
  meutils/apis/kling/api.py,sha256=AuVQ9URmrbTlz7dEv_kIyhA9fMTZPL9rF3Td6KxTIMA,2183
352
353
  meutils/apis/kling/images.py,sha256=FcCkvA4x1Po3SuugfQa8klT0Lrj7fq4N8kbzx6luUxI,5095
353
354
  meutils/apis/kling/kolors_virtual_try_on.py,sha256=H9qPHNeZII_Ajd3vQkc6zFw3SWfq17AJvLu0vKL-V4M,3093
355
+ meutils/apis/kling/kolors_virtual_try_on_web.py,sha256=UNjr-T9waujh2Gg8SSmnlfP3wXsZeYsDdWMabRQaP1E,3951
354
356
  meutils/apis/kling/videos.py,sha256=6z3w0gQHPe3BQNid4ZO2DfYSqvry44EMehG9U0qSB3E,2115
355
357
  meutils/apis/kling/鉴权.py,sha256=1kR67Mb0PxEo4ZxLVJZys4Iru9BUnS_Qqo2cbpLZNCU,842
356
358
  meutils/apis/kuaishou/__init__.py,sha256=fDzJvVQl_CxHyiL3bCPH9x7gOLYfK6QuW2iQ33eez7c,243
@@ -361,6 +363,8 @@ meutils/apis/luma/__init__.py,sha256=51W483rgmMqFlRIHlkIIcKYMqggH4eY_bmV_mD3p7QI
361
363
  meutils/apis/luma/luma.py,sha256=dAWZj2Q4t5eJNJbbtCfmUNDb1wx_OKxxtrZr0szI6tw,6026
362
364
  meutils/apis/minicpm/__init__.py,sha256=XTg1aG_3CiGK7XN-APqWVbJf5OV96IKO9vliKmPUEHg,243
363
365
  meutils/apis/minicpm/luca.py,sha256=eNDbHrFXRQi7XZkz3aFTnVpKriyqg1Ka4XAS7UPUI_4,4852
366
+ meutils/apis/napkin/__init__.py,sha256=EWwpRJEbN46d6Dk9PHAZvsYmqD_EOK0jjKQL1kYtcKs,271
367
+ meutils/apis/napkin/icons.py,sha256=_L8EaSeQ6ChT5w7q3jnj_AcRhKvNiBg3-qUKo9JQ12o,2217
364
368
  meutils/apis/oneapi/__init__.py,sha256=wg_kqNkFqOkP70vnOHvAeKREps57Rqliu5yKC0gsgLk,284
365
369
  meutils/apis/oneapi/channel.py,sha256=SdehWOlh0tLVM1CG_AT5_VpiGHXtc__AlknyLSs0jRw,1989
366
370
  meutils/apis/oneapi/common.py,sha256=dZeuimzuZXVP_bEMYfTdZUKVJePrOVB0fWYl2dwQwcI,3556
@@ -392,7 +396,7 @@ meutils/apis/siliconflow/text_to_image.py,sha256=rDxk6NIj4TjigcSPVDZknQR9nUpK5CT
392
396
  meutils/apis/siliconflow/utils.py,sha256=Awe0V7Mkceop1vWWrw9901cKQ6HHntIn8HbIG0fEo40,2091
393
397
  meutils/apis/sunoai/__init__.py,sha256=O8J8jKTmvZGGovkF_jCRl3vbL68a4_dXVSxiKIYTkFo,244
394
398
  meutils/apis/sunoai/haimian.py,sha256=CSISElYbbGFnVCxCgAbHM_YZ9ELUjhuFQ6jdYM0hh7E,5521
395
- meutils/apis/sunoai/suno.py,sha256=ESrsIqlSX6R-gHBKBwa1e5Ee8KHz4MFQGjeecuC1yxA,16389
399
+ meutils/apis/sunoai/suno.py,sha256=I7UgqkBd7rd8BvOlZqzkf64n7Z2fjw678OnpP5DOKcM,17156
396
400
  meutils/apis/textcard/__init__.py,sha256=akc6silym0NIl0vX7uF8vhHQnt5RhSx50MFw-2ot9Sg,271
397
401
  meutils/apis/textcard/demo.py,sha256=-kfVmAjWsbEyUn2a4MljATPtJurrPKKDG3nrZhIhYS0,552
398
402
  meutils/apis/textcard/hanyuxinjie.py,sha256=4-VP7ZfEPPVonqisJO-PkzcJwQFQtNYAA_tz1BE7kqA,2044
@@ -419,7 +423,7 @@ meutils/async_task/__init__.py,sha256=45cUr-GWvQ1JFYGOYPOIkHLyTR3JbfP_PEYrmktpML
419
423
  meutils/async_task/celery_config.py,sha256=BX1h3jY34aO6UmUFakdBUwOdsEiOxCGuUtYDUKFtafc,3461
420
424
  meutils/async_task/common.py,sha256=ZJ4e0CsEJf1ppPmGSwPCwhZBAkUL5xsi_t1ny-bJuko,845
421
425
  meutils/async_task/demo_create_tasks.py,sha256=Eu4XjNxRROmMJ0oKfbEhrfLTaOUgedbAhmFyQx5nOQc,2699
422
- meutils/async_task/utils.py,sha256=MbG3f6d3PYWySp4P74rw3DCKgWyinyEBjMJBKBPmLlE,5563
426
+ meutils/async_task/utils.py,sha256=6M0YRIPhakpH3Geywkl-NPy_O2pQvnsDcQPyyTrA7Mc,5853
423
427
  meutils/async_task/通用设计.py,sha256=kGdrJHJu9VoOkyGHREn0KUtBTibAaLIcG0O6hEJNhLA,3232
424
428
  meutils/async_task/tasks/__init__.py,sha256=flHRXJMdts_9az9T9V1c5l3Y-gaDD88COWrARr4WAKU,246
425
429
  meutils/async_task/tasks/_all.py,sha256=Vz63k9yvgj-IBGjekm0u2t571TTT0nMRMqcPvPqJAbY,533
@@ -453,14 +457,15 @@ meutils/cmds/subprocess_demo.py,sha256=oTeTIx8k6XwtOT6hZpmy9XNcRErzilqWcdoxcrVcH
453
457
  meutils/comp_utils/__init__.py,sha256=Q4BW-gHnOUiSSpupHsprsOAPp4kuBLcH60sL1RfS3PQ,361
454
458
  meutils/comp_utils/reverse_metric.py,sha256=qwcGgiHhaupIJER4gO0HQhhO07FDLFv-vfFhg6K6Q4s,1705
455
459
  meutils/config_utils/__init__.py,sha256=GhgsStfGJDC8F_YgC6X5Jnj9HkgXJXxeYiJWTAkWKTo,271
456
- meutils/config_utils/nacos.py,sha256=-XihKft0T8n7FZqq0D7mnttUfcIQITiXcyn0NspqHSA,1040
460
+ meutils/config_utils/config_manager.py,sha256=V9n4euIZ5FtQkqLllF2OnSHi1uXQGBO_qX0pY-hCdKQ,2011
461
+ meutils/config_utils/nacosx.py,sha256=ZkLwL9ImWlCDWsu_m-lA5CNXdG5O4FYnfDAIqPkFI8w,1108
457
462
  meutils/config_utils/lark_utils/__init__.py,sha256=Gf-5Y8uZiqY9jdbfiIboL92MQjOTOo0ZZ245PGxCbaY,297
458
463
  meutils/config_utils/lark_utils/common.py,sha256=WB1VKB3vdYyzqWosp5T-7uBIupNXl1L7SM3Lf5GRaOU,14274
459
464
  meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfHOno5NxNAio,293
460
465
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
461
466
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
462
467
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
463
- meutils/data/VERSION,sha256=oGyFhh775J26HbWxepBbFfL0hO3q7_7RvPBFa2cnntU,19
468
+ meutils/data/VERSION,sha256=GcxSWoczXhMN72dD3Lh09C7sI4RiXKukQ1j5kgvCxqs,19
464
469
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
465
470
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
466
471
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -544,7 +549,7 @@ meutils/llm/completions/delilegal.py,sha256=mr53ps7I33SC8Fjy4rma-xoNF-mLgwdZfHgd
544
549
  meutils/llm/completions/dify.py,sha256=dqL_8uxAp2d8M00pkyh2I30tflwi4pUyX-V6pwe3_BA,3048
545
550
  meutils/llm/completions/rag.py,sha256=cpQ1aZX2QI1QDfFpODTxWHPYglK6_3qrlUM_KHLBNhc,1112
546
551
  meutils/llm/completions/tryblend.py,sha256=NfVRktn1QiE2k60PzEI-LmKuxZCc7mtL_KlsrVcZg4k,8957
547
- meutils/llm/completions/tune.py,sha256=ws6pXk1G8kj3bxjsE0_W-BSaLAK8GbwDHun5KccuMAs,9895
552
+ meutils/llm/completions/tune.py,sha256=FypfUgsB34t-E9xI6WydJYEk_-phscrLOX1iUCeKb_E,10138
548
553
  meutils/llm/completions/x.py,sha256=XE8aCyuhkpYq0nho1mq9lAdRU1yOPc8BpvCpNYYMYqM,630
549
554
  meutils/llm/completions/xx.py,sha256=e36z5KRfucofPTUunMMIKS-GorzHD-3LTb_MmGOgOGk,396
550
555
  meutils/llm/completions/yuanbao.py,sha256=aN3MwR6yORFv5pGA1ODiLqlNKCfAKQslIfpruAD6m08,5468
@@ -632,10 +637,10 @@ meutils/schemas/dify_types.py,sha256=bHHWRuwoabINIx_MYukdgN0h7_h_73qA0ayDYAj85E0
632
637
  meutils/schemas/embedding.py,sha256=rJ-XQ6X8VmACOi53BOJtkjROrNcf1ZUhzxKkClM9J0M,867
633
638
  meutils/schemas/fal_types.py,sha256=a6glb5xlo0MEuKZrWtT7B8kLjwnLEhIVPbpnDWpBsJc,360
634
639
  meutils/schemas/fish_types.py,sha256=yC0ZFr3Ebh8F0OhtMsXYaIfNNvzOM2LT9YtKTaRoHGU,270
635
- meutils/schemas/hailuo_types.py,sha256=Eou80YZgNziG8vtneJs_HNOwVd5YbP6dn_f1GS92KKU,4792
640
+ meutils/schemas/hailuo_types.py,sha256=hmkjFPID5HS26Ayk80xS2a38XcubokEHxzg86cC0Ki8,6150
636
641
  meutils/schemas/haimian_types.py,sha256=jGu484UviAeBgy5OIUyRY4uYCxXfv16zDPqiJQr9wNQ,1364
637
642
  meutils/schemas/idphoto_types.py,sha256=nuHbpppejRSkJCiQ7YKx0Gnke0ShKZhOvdg0e7tk9-0,1074
638
- meutils/schemas/image_types.py,sha256=gqMxQswOXD3o9vB42RwbjzC7gbaZuysB4c2UdB90Z0A,11474
643
+ meutils/schemas/image_types.py,sha256=u8lPJU3robAxbACv54sMhCdET2VAb8g-zSW8EqtDuh8,11291
639
644
  meutils/schemas/jina_types.py,sha256=SLRRBCap2B1uXnHF7Sgnlz1Work8HvdIltjj4oVlGTk,8826
640
645
  meutils/schemas/kimi_types.py,sha256=PjCgHwCDNzKasn4X6rUzvOENqKYT3xj07cgp71IdsDA,3607
641
646
  meutils/schemas/kling_types.py,sha256=brWaREBtQeZGUuwgOW2p-vIm2WWInYkq8UfrLInT-Ik,6959
@@ -644,6 +649,7 @@ meutils/schemas/luma_types.py,sha256=s9RZnZUpdUg8-13_WOWm3bE_e246olplFFjP8ygiDuw
644
649
  meutils/schemas/message_types.py,sha256=AJc9ZT_weaTjfjmwF5CDroV0WJEJKnA3u4bnbHhBamo,6176
645
650
  meutils/schemas/message_types_.py,sha256=oL7uOsewaziSryZywfap09M5Wh9w28RJDuadFuAfCSI,6297
646
651
  meutils/schemas/metaso_types.py,sha256=YD5Xrquxibi3911ZkjODFXqPp9vqxbQXKLdMe8dCq5E,1750
652
+ meutils/schemas/napkin_types.py,sha256=Kp0MbpRxzMBz4HWW4DrfcgOvHZVEF3N7P5yNeC1XGI4,2664
647
653
  meutils/schemas/ocr_types.py,sha256=fZWYQAKii7HaTlSU9DS0wHyiEoOHuLnhvgoiH4Cn498,1381
648
654
  meutils/schemas/openai_api_protocol.py,sha256=0GhmhUTEr54N_XCVuZI1MSxJldvwMNJjUAAAdWznw58,12716
649
655
  meutils/schemas/openai_types.py,sha256=45vL6STgObZawq_b1MIw9BW5l6NltmQTL2r9VAOep-0,11867
@@ -667,12 +673,13 @@ meutils/schemas/db/__init__.py,sha256=m1maURVoM6dIW0yt6ELZrZTzULtkHybVOSXtHNJRVI
667
673
  meutils/schemas/db/oneapi_types.py,sha256=Jtt1hXRS5C3DHf_wrkjklVcdPllsAFrzvLq9JLuTdtc,2858
668
674
  meutils/schemas/oneapi/__init__.py,sha256=uevbi3QAvFzN9WPbx9bYKTDyKt7P2ueZO6W0nSiD0sk,289
669
675
  meutils/schemas/oneapi/_types.py,sha256=ClvAaNy3SahEN8lL8KEErHTD6HANelXUeKc_3iLfosQ,1488
670
- meutils/schemas/oneapi/common.py,sha256=DPo8jsY0ytKFTILKi3-Apz6VK6cM_lBJ1xKqDNRjT88,22573
676
+ meutils/schemas/oneapi/common.py,sha256=ULNre1gz100UuP2wMLlIjkcCO7tbhXmDcKwo0u-9XGk,22723
671
677
  meutils/schemas/oneapi/icons.py,sha256=T7W5gInBJoHe62wzMimbG_UI-wn3_-rmQ1O4O2z-CQY,1089
672
678
  meutils/schemas/oneapi/model_group_info.py,sha256=rGtflYJuFIjk5MsVEvK9JUR4IciX8jfErqeLqf8DIlQ,1586
673
679
  meutils/schemas/oneapi/model_info.py,sha256=_uwKEPIIqm7ZYfhmpxtXB2QNsS83SpJY-OaBzvogC9w,772
674
680
  meutils/schemas/oneapi/models.py,sha256=a--9Vu6yNhQn1M7Mk6E1LI6dV9WBKXdge2ZdL2fjd0E,506
675
681
  meutils/schemas/oneapi/x.py,sha256=i6bC3ewSU_AfPNEQ7dGoJyg-fRmauTyk25r-20wms1s,561
682
+ meutils/schemas/oneapi/重定向.py,sha256=j7EXCNMmV7iTOHPOsxK_vg-K6w03FXYKWQowL2geIiw,12963
676
683
  meutils/serving/__init__.py,sha256=WWVtrZy7E75z0dYpUMjmDD2keBcg-UFmb4fLYGCT1yg,271
677
684
  meutils/serving/_fastapi.py,sha256=19NoGAD0DsmxmRtqYgCRw1dQyIgDlIuk5I2aynEgBoU,2478
678
685
  meutils/serving/celery/__init__.py,sha256=sYFX-Pyejsv-H4v3uZ4VTpFblljl9sMsGxj0-DXOJQQ,756
@@ -717,7 +724,7 @@ meutils/settings/__init__.py,sha256=jZc0NXPA9zIMcTAYypSQDxJqvXakyJ0ztK9ZMND2Q7U,
717
724
  meutils/settings/base.py,sha256=kb3QVS2eUFWyGgvegtSK4cqJFF76J1JctTSzCVqc1Mo,264
718
725
  meutils/settings/demo.py,sha256=Ht3t6LREQsKa5W2owNrOZNAoZfS-zItIFNwGhhPj-4k,484
719
726
  meutils/str_utils/Translator.py,sha256=tfvNQIeVCqmX9yW6jobeibDHG6X-XecSSAx9kJIFFyw,1258
720
- meutils/str_utils/__init__.py,sha256=pGm--O7br5X0JGC-b16jj_2ZtLRQh8hMRKbCG2YHhac,6927
727
+ meutils/str_utils/__init__.py,sha256=BzTEbffNPWoJxEgjaRyGIWBxb9FxxlNesOUb7anJRGw,7215
721
728
  meutils/str_utils/json_utils.py,sha256=zenIakTQMVDntrEVlIxYHp9wmQAMdCR4EGOAE3c-Shw,1258
722
729
  meutils/str_utils/regular_expression.py,sha256=xoStTyvSHYe7A8nyVjFk9bHv6EO-I7rGXmhj24reMRg,3387
723
730
  meutils/str_utils/__translater/__init__.py,sha256=mtDbKL_Qdkeq5VPVO1M4ejf9H8PzKM5h7iepqkBG8N0,277
@@ -793,9 +800,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
793
800
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
794
801
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
795
802
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
796
- MeUtils-2024.12.2.11.50.27.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
797
- MeUtils-2024.12.2.11.50.27.dist-info/METADATA,sha256=RtWelX_xSuEYF8775NX0U2C_AA6j8XbkuX6NOfi64O4,6143
798
- MeUtils-2024.12.2.11.50.27.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
799
- MeUtils-2024.12.2.11.50.27.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
800
- MeUtils-2024.12.2.11.50.27.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
801
- MeUtils-2024.12.2.11.50.27.dist-info/RECORD,,
803
+ MeUtils-2024.12.5.13.7.4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
804
+ MeUtils-2024.12.5.13.7.4.dist-info/METADATA,sha256=9AM688byUDAMgIIrtjLD3qA42XljQfzUCMSBiP9r-Vs,6141
805
+ MeUtils-2024.12.5.13.7.4.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
806
+ MeUtils-2024.12.5.13.7.4.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
807
+ MeUtils-2024.12.5.13.7.4.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
808
+ MeUtils-2024.12.5.13.7.4.dist-info/RECORD,,
examples/_openaisdk/4v.py CHANGED
@@ -17,11 +17,11 @@ from chatllm.schemas.openai_api_protocol import ChatCompletionRequest
17
17
 
18
18
  base_url = os.getenv('OPENAI_BASE_URL')
19
19
  openai = OpenAI(api_key=os.getenv("OPENAI_API_KEY_OPENAI"))
20
- openai = OpenAI(api_key=os.getenv("SILICONFLOW_API_KEY"), base_url=os.getenv("SILICONFLOW_BASE_URL"))
21
- openai = OpenAI(
22
- # api_key=os.getenv("TOGETHER_API_KEY"),
23
- # base_url=os.getenv("TOGETHER_BASE_URL")
24
- )
20
+ # openai = OpenAI(api_key=os.getenv("SILICONFLOW_API_KEY"), base_url=os.getenv("SILICONFLOW_BASE_URL"))
21
+ # openai = OpenAI(
22
+ # # api_key=os.getenv("TOGETHER_API_KEY"),
23
+ # # base_url=os.getenv("TOGETHER_BASE_URL")
24
+ # )
25
25
 
26
26
  # openai = OpenAI(api_key=os.getenv("OPENAI_API_KEY_GUOCHAN"))
27
27
 
@@ -71,6 +71,8 @@ messages = [
71
71
  ]
72
72
  response = openai.chat.completions.create(
73
73
  # model='gpt-4-vision-preview',
74
+ model='gpt-4o',
75
+
74
76
  # model="gemini-pro-vision",
75
77
  # model='gemini-1.5-flash-latest',
76
78
 
@@ -86,7 +88,7 @@ response = openai.chat.completions.create(
86
88
 
87
89
  # model="Pro/OpenGVLab/InternVL2-8B",
88
90
  # model="meta-llama/Llama-Vision-Free",
89
- model="grok-vision-beta",
91
+ # model="grok-vision-beta",
90
92
 
91
93
  # model='kimi', # ocr
92
94
 
@@ -14,21 +14,24 @@ from openai import OpenAI
14
14
  from openai import OpenAI, APIStatusError
15
15
 
16
16
  client = OpenAI(
17
- api_key=os.getenv("STEP_API_KEY"),
18
- base_url="https://api.stepfun.com/v1",
17
+ # api_key=os.getenv("STEP_API_KEY"),
18
+ # base_url="https://api.stepfun.com/v1",
19
+ base_url = "https://new.xjai.cc/v1",
20
+ api_key="sk-EmIYmk0Jiw4FWkHQ6SNnoPJpTqyCcu8P5e5nXolmS6eRKvNp"
19
21
  )
20
22
 
21
23
  try:
22
24
  completion = client.chat.completions.create(
23
- model="step-1-8k",
25
+ # model="step-1-8k",
26
+ model="o1-mini",
24
27
  messages=[
25
- {"role": "user", "content": "画条狗出来 返回图片"}
28
+ {"role": "user", "content": "1+1"}
26
29
  ],
27
30
  # top_p=0.7,
28
31
  top_p=None,
29
32
  temperature=None,
30
- stream=True,
31
- max_tokens=6000
33
+ stream=False,
34
+ max_tokens=1
32
35
  )
33
36
  except APIStatusError as e:
34
37
  print(e.status_code)
examples/demo.py CHANGED
@@ -41,6 +41,20 @@ def ff():
41
41
  if __name__ == '__main__':
42
42
  f()
43
43
  ff()
44
- print(inspect.getmembers(__file__, inspect.isfunction))
44
+ # print(inspect.getmembers(__file__, inspect.isfunction))
45
+
46
+ # lambda m: if m.startswith('gpt-3.5')
47
+
48
+ def lambda_handler(model_name):
49
+ if model_name.startswith('gpt-3.5'):
50
+ return 'gpt-4o-mini'
51
+ elif "gpt-4" in model_name and "mini" not in model_name:
52
+ return 'gpt-4o-2024-08-06'
53
+ else:
54
+ return model_name
55
+
56
+
57
+ lambda_handler('')
58
+
45
59
 
46
60
 
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : music
5
+ # @Time : 2024/12/2 16:00
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
@@ -34,6 +34,12 @@ send_message = partial(
34
34
  url=VIDEOS
35
35
  )
36
36
 
37
+ MODEL_MAPPING = {
38
+ "T2V-01": "23000",
39
+ "I2V-01": "23001",
40
+ "I2V-01-live": "23011"
41
+ }
42
+
37
43
 
38
44
  async def upload_for_oss(file: bytes):
39
45
  token = await get_next_token_for_polling(FEISHU_URL_OSS, from_redis=True)
@@ -199,8 +205,10 @@ async def create_task(request: VideoRequest, token: Optional[str] = None, vip: O
199
205
  payload = {
200
206
  "desc": request.prompt,
201
207
  "useOriginPrompt": request.prompt_optimizer,
202
- "fileList": []
208
+ "fileList": [],
209
+ "modelID": "23000" # 文生视频
203
210
  }
211
+
204
212
  if request.first_frame_image:
205
213
  file = await to_bytes(request.first_frame_image)
206
214
  data = await upload(file, token=token, vip=vip)
@@ -210,6 +218,7 @@ async def create_task(request: VideoRequest, token: Optional[str] = None, vip: O
210
218
  "type": "png"
211
219
  }
212
220
  payload["fileList"].append(file_data)
221
+ payload["modelID"] = MODEL_MAPPING.get(request.model, "23001")
213
222
 
214
223
  # {"desc":"笑起来\n","useOriginPrompt":false,"fileList":[{"id":"307137529994682376","name":"prompt-02.jpeg","type":"jpeg"}]}
215
224
  params = {
@@ -391,6 +400,7 @@ if __name__ == '__main__': # 304752356930580482
391
400
  # token = None
392
401
  token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzUxMTcwNzcsInVzZXIiOnsiaWQiOiIzMTEyOTUzMTkzMjc1NzYwNjQiLCJuYW1lIjoiVUdIUiBKVkJYIiwiYXZhdGFyIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jS3RuR2NjdGZsWV9fR2tiQ1MzdnhzSXdWSEFUX0ZmMFdyb3RvMnN4bFdWZW1KMm53PXM5Ni1jIiwiZGV2aWNlSUQiOiIzMTMzMTU5NTMxMDA0MTA4ODciLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.KsRcfnAoPAR08ygzq-GIiujkFbZ2CgLeww7EP9qcb9Q"
393
402
  request = VideoRequest(
403
+ model="I2V-01-live",
394
404
  # prompt="smile", # 307145017365086216
395
405
  prompt="动起来", # 307145017365086216
396
406
  first_frame_image="https://oss.ffire.cc/files/kling_watermark.png" # 307173162217783304
@@ -32,7 +32,7 @@ send_message = partial(
32
32
  @alru_cache(ttl=10 * 60)
33
33
  @retrying()
34
34
  async def get_access_token(token: Optional[str] = None):
35
- token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL)
35
+ token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL, check_token=check_token)
36
36
  headers = {"cookie": token}
37
37
 
38
38
  async with httpx.AsyncClient(base_url="https://www.recraft.ai", headers=headers, timeout=60) as client:
@@ -113,7 +113,7 @@ async def check_token(token, threshold: float = 1):
113
113
 
114
114
 
115
115
  if __name__ == '__main__':
116
- token = "__Host-next-auth.csrf-token=bdda9005244247e356a87564e5d6c425a1a5abb64d5caa84244d91dda4071585%7C7edcc9ea76f943120594832b89286d7890c25eb2fc81535bafecbc37e5df0825; _gcl_au=1.1.73990399.1732602665; _ga=GA1.1.1776064840.1732602666; AMP_MKTG_7268c9db0f=JTdCJTdE; _tt_enable_cookie=1; _ttp=hdENYxcH9mSTh3dAqlWzaZlOor3.tt.1; _fbp=fb.1.1732602668797.36918224684212347; _pin_unauth=dWlkPU9HWTJOelZqTVRZdFltRXhOUzAwWXpjeExUZzBNbUl0WkdOaU16STFZekU0TlRSaQ; x-recraft-referral-code=7d7RbMefDM; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; _clck=14nroko%7C2%7Cfr8%7C0%7C1791; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..RPt1fLzaqxx24P9J.JQAq_-0NxdjDY3MtB_id3j2fcmhh2e2_gvQMQ42RUHl0o76jWC4IRi9g_D4Swbq2iARYplMQTtITakaU8C7vvFf19OGpUqvTRypVj1-u445dQ3gdhKOsvzQYsadW6n62jg9Hpo5OsSWIBPd03cgo4YKtBTKbsjZZgpVVLijpTdby-ujD1CyRupUmDYQDdH1Hm8FEBru-ciZeqSJyR_gumQbvwRvFb9nVKR4doCcht_UnxkbQC9i84NpUTk57nzdfdRRM3mbXjAhySNB5Rk9Jrl7kGIhOf3fQT8_PQXqu2oGhmfrJls1K4nLIKNnlQ91lmw1XA6gOG9zM6MIvklZKnV6svANuil-__eLtJpIqsk2yWu9FZycOfF0_1GVzLf_T7p_w_rRTcB9SlCTe5b6tR905szwviqDl07QT-ESlLZP1tAIuyMo0tl1AlCSpU6aQWYfq_6oRzY75YU0wKEn5fcqjvuv74Yk07X8n5IMu6Mu9fdHG6pskARcLblVxAIbdlVUFE5dEXcxZnURWIWCdRTbxwpSLeMElwzKUmieh39pBA3GTqAlnh2P6lhKdOkaps4rFf0XiwSJTuXk57zt9Uoq5LMhpAHBpkTJvjlXSNu6w7RmzlUT65hAirUuqt-S6q2P7XsWL7PMaV8i_kLxEjJZNGuhxhU-p_1lnBAgavRS73iL1XfjHgtRx4f6PGy_x0NEOSrs-fKJq6PiMwukhlRdfL6ifAcChXAUFMeRnHJcPVg75MBQjHKqzu27HW8sPQUbW59aYnnSwjOgsrw_BDbpHXmY_QB3bCAZOdRd4oaQwWLTgC9hxNhFk4dUCevWO9bsjMOVRFDKiaE1OJQ4Gr2Dp3EOR_8M616ttcpc4fBxJC28S9Fo0bGybHhhs0uRGNFOYLHbwfXUWch7J4fZ0V4jNQAfvEdb2bSG4FgL6dN73yoHTCUKh0fXMLG96rSkcYBUOWVPxfTh5GVQwWUV3FrPCdUX3ZhJetIGiJrpzJzl9GwF1iPMztEU_oWW3eHcaSohFdhVsM_yfiLU9ORsxlk985assoHmI3w4Hud7vGp-XjJtwoRWZ2sRttkRBW-H9j_7IHXvT5j291ieU9txepDFKtb2HLLgmXbcjw77v_Vp6k917F_mASnG2RrMbOJVkODrlpcZSQOzSg-xZa8kohA12HOPtc_QvXNB2x7RGJJshX8wo_Q83zG8HzYB7BRlL7nxJ7B6MXxNnXC_w0TEavnIIjha7JxIaxJ07lhMhYYD0yTqBrVyZg-CrwgEZrq1CxFC-LF1aXljDR4qxaGDaYKZ77YzV8jaii0D6PzzPahEtEinxQ1qVHHyO6ZePOsGG5R1_K2X40SWhp1IQmfgILWUfMnU5uNtkdtpCZgwFWnmX_FbHDU9FQ-nHROVZlOytpPNdTq4hirjeEIhOwHx-UuScmlAlbf4sKhVGADGykffr7MrV6I5vpHuGrzI9KLx15RgVKnJZanzEKS79FL8AKg9soNybwtIVP2JPSXOLBjrSEoEEz-41un9yn8kr6OGSMz3y4Z_TDuF94Di4UyhnAinbznzMsl0LGkgpJKIwT7SaAvWIbyoV8Sd3-oRMM6MSlQybKV8sYvuTcvnuM2q25saH5sRddTDCMyPapg2TZ7VoXcv114zwxoVyBqBVPT34RrbxKfFhZrM3llP38DMr5mD7uAcMWFlzyYT9A1cOH-JalMHaZ_CBLkeGANrO4sTAJtGeoRkgJaOb5tXsWXKCGazRFDpKsFUky0ZyfrUpFf8GIVYO9a8_Wbme56bcfXVtt3mcfkEJ0hFcsDBJokOm9-UWUXO_W99muwfERU7XlNpa92GNMDYp-_cR8OIarKUDqk8DQc-9fyAYYosg8FWH9jGM1ZN9xpfQUE2s2bDhvcV-49QOkuX_Htu5thr8BKYHyduGzvKCjPm3bC6E8vNlL0GU9wZi_OTkUB6JtcjOU-1COMab3r5BGoxQa4jRmVUFkh0QEfJkP2y1jSK0ia_xQHXG58lc8nUb8ryel5-BxnjX6inbVMOexfAKRrSX5kAFe9aQYqCG8k0O8nWeyT1QXX_o53-jb6-712tg6xeVEqVtr1lth4WyXQ9CWQeJjCdycyzUe98H5fSijGER_QN1me1rn9gR-J503fmfhWuGaqGS0FfzUR2eDouTKIE-fkRAyr-neF4N26zGghgHkA5TEXymlo-ockAKw5MPXkfe0D8v1cJI4OLmWtGsZNYOFZ8FQGFZSnk9sN0TVaDYBvMKnhbaA5L5Y8K_kNNv-DB1vLUU8TEqCb54qikLrYOso30w3u8wRG9v1cUH6yiOMK6Vgnl1X0_re97hUvo1PXDNt8RpxIQw8Gh6cKitWNsVFB4HleIKKPD2NdkWo8AQjlKQogcvYCVsUC96P2UxJ1es5Od_KiXFxs23Aqs1xFVEvo6UWiMDCe_szOKLK0yADuj6Lk_0XoYnb8NilI0Z4lW9QIW5OyBxOohA14tKuYIpw2LayPVgxAKLasYw1qrivGG-QOaXHTqqKoFJ3uiI4cYksMB-g8ZJyVBS2NNJjElqSaiiVT495eCcH6vA9QdKTzZl4P07J5tPo701Ht6GtAjvU7yyYGobeOKIUsxy7rry7NTC6ZMgWuFO_logJbvQYv3-bHXviyaYSi5HVXp-xI5aTTdAds4moIrKrGkutMeybTj0dL-kMATnyStI0UjDhXv4fLYhhAk_VMt_pGb89lR8IqvJvQmmIHuX9aSw8tLz0cx2TtToWrzdYvAZXqSgxl3f-RmD364cyILrMFQ3YDzSQ8SbNixqJSFN7HlMjeoUb7PmxIGFDcCBbQO6ysEqngRep4LqHRtfavHRtsbLod7nY_b_MULzVAMmA-PAF1X4PERr0NasAt-9hcd2LgqZi-pLGCouc44BnKKP_TROcERWHGqmu8_iCZO_ZJ6ktTYH0vUecw--MWFV5z7my8SvFCaM0x02YC1xdU_bylzNhX-WZiaNTmsByRgY-flyVVpUIpe63LSV19oZbw4UZofYCwxMhPntQvOBbuWqVmyIf2kedzhHqLl5467_9N7gpFmR6EQAIo9jeBMY79RxLgCojv_QAvyVP6xGGX99OXgu_Ge0fo64FFC7QiStTJQgvHwlzWHDlt3wwOLCPRHSCRzFwd46TTlgd_yMGrIi6gaCSeQGnM864Cjo05GyH5b_n8FwRd1ukx1bhi64aUgxwD58MfQzOCsQPPujYRq68n6ftipWtq4P5lnEI2F5W5AOVw8WDK6jYRNLSliSpHX0hv3NDLeKHYe9WN772eBfS8BPo5kIYA6rafjLv1oe-lXlJH5gy2wDjxpvGwLUvX-FYwGWMeMOVdeFEJIPp2dv408XAQsDRqcHNTh9qBEk8HZPxeadKKiB3t_IeHTeCBxMAc9jbEc9X50ECdvGfQxd_m14O6y7C7uuFV-xTnkg6qPy9SxSSfeAxZZyu8A6DsEHUzl_bk8ZVC2SP1uctIQylMgSFx_GiHPNBaZAKktfpkQQg5eU-hVvwwle_6O4RHtq4ljCpGYyNvh506M8dS0MM2DBwvjNqV-AXvqK87mU_0s2IQGFUV22EH6nNu5x91E6o49_7kLckDsGOizom4j3R-dMq2AQRenoQiUryKq7xU85iCBwl7qdBBlSj1GN0RV0I5VgrjmtXe9kGBRfjLIA1EPmzOTp0SCwIP6BgPsbqL9VUTSBlIG63FNkNkuoOoFtXTjK6BIJGlLSE0SZn7x7oA2OtOJ-k4YlNgeEdgatf0NBsXb81BYRgpk7qZfpx6Y4Up_NwKGHpYu0FQj950Fb7pYWfJQfsw3-x9IFCX_nq5jGMtqbLVvRKgvoC47TrveIiXsabHCxf8dgGxTb32fSP6E; __Secure-next-auth.session-token.1=aI8aiwPEiQZMF4CI7KL9YcuhvG1LrtR3V26D15da42gl2_7ShsRKGvyUTUzMdj37zJ8RoGtHt5GRPnZjI5CdHoGZCgLNtW0hGM4IXUcR30Ltm2igKZdET7d5SCF4tSvSIiv5el3GKmKLCWv8I9PMmVkzzyDUikKxrZ16ra2ZoZjsbiPbHc_aL39SnKtyI9DggQqTHHh3zIMOGGA4-i_KhlzSeQo3k1J5ch2ul0ztH8-UxFpivLzCuX3QPc3LT0PrT9TI_CI1H39yZfEauiJHLYu_MG9We0j93ImqdOcY4kVKx71jgnjHLXwBqgoMSxXU22K_hLl2KVCfx6x1oU0SO2_pVVSImEZT7aHw7-d8iMC3wmdnUH-bKvb7Zvcd7N27Z73AE4A5Aw_FCLMcjmHrlGX_wmzecbJteKbniuRXqG9P7hlxN_g.52eB5UI4_8FPt5-vzhgGOQ; _ga_ME15C3DGRL=GS1.1.1732689091.2.1.1732690207.0.0.0; _clsk=1jmsznc%7C1732690208193%7C5%7C0%7Cl.clarity.ms%2Fcollect; _uetsid=05439550abc011efb321b5fe3f5bee8f; _uetvid=0543d120abc011efa8c6c127e9c6ec20; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI1ZmEyMTViZC0zMzE4LTRlMGEtYTY2OS0xYmU3M2E2YWMwNjclMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjIyYTY5NzY5Mi03N2ZiLTQ0OGYtYjQxZC1iNDk5MjU4YzVkNTYlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzMyNjg5MDkyMDMwJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczMjY5MDM2OTI4OCUyQyUyMmxhc3RFdmVudElkJTIyJTNBMTQ3JTJDJTIycGFnZUNvdW50ZXIlMjIlM0E1JTdE"
116
+ token = None
117
117
  # arun(get_access_token())
118
118
  request = RecraftImageRequest(
119
119
  prompt='一条猫'
@@ -122,5 +122,6 @@ if __name__ == '__main__':
122
122
 
123
123
  # tokens = list(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0]) | xfilter_
124
124
 
125
- # tokens = "AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI2OTE1YzI1My1jMTJjLTQ5ODYtYjM3Ni0xMTI3Y2ZmMTFlMjglMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjI0MDQ5YWRmMi0yNWQ0LTRkNmUtYTFkMy01YmY3NmI3NDMwZDElMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzMwNDQ1NTg2NDcwJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczMDQ0OTY4MzM0NyUyQyUyMmxhc3RFdmVudElkJTIyJTNBMjUlMkMlMjJwYWdlQ291bnRlciUyMiUzQTEyJTdE;__zlcmid=1OVn8OoYVNvKEWM;AMP_MKTG_7268c9db0f=JTdCJTdE;_ga=GA1.1.435165527.1730362257;__Secure-next-auth.session-token.1=ML_bnTrrKhsDvITN8h4reDgB4vgI5XYeDZqsg4Toc04ODZcRFADRtpfQuaRqWG1i22Ki2-WehfPVmu5AMJCN-1YjaRZUbB9N1v77h97YDKyVREJqB6PsbDOPL8zVxSdeup_dHNRD72gSacb-5liVtBLz8-gC5k_36AHkiqQazMY3phd6IHSi9BHrPKd1yc6L4MUX9cB1pysuWuSrgpr3ivgECA5RBUEtDhhmey18m_UnO4Bew1ignPHapwzuG4ZDufTNM_q-gCbo2gppm741--WGkJMvrnNf9EJNzaE3PaLts_QL7DB5MmauE5LlhYdjkEJRFkfxPFIac4mANldMLNNvCOWFyOvmrzWR8NTDvGsZTkyOehuCFEOhG8kShjtL3RJSXO2lEELO9MVVjxSoey_6l-wmgY6hwS_5zRXaEztgulYAH8ar4CV0Z7t4PcV8ukzkgbZ1-jP6lo9DeKP9yGlWfNXAgDU_5_1VIwmhFNshBgt3vpZ06hHyY-uoKWRLlOjMCpcOi6HO8zRDTAP_j_88rOQo5DU4GBxtzXPkFY6utD6zccrUDw0gmTmeJhHBZIGZFwFnkyAMaiQL8jGWCMw.ExRFqvq_EKdb5IsViyRlSA;_uetsid=a8a77260975f11ef834045ac9f7830ad;__Host-next-auth.csrf-token=78920fc4c6bf5aef5c2063e3a4397b1e41074713e35020cf7049156e02d53355%7C2c8e6897101210b68ba31cec5c6232d8ab76a3e070cda7b82ad051680ab93fe0;_ga_ME15C3DGRL=GS1.1.1730445586.7.1.1730449683.0.0.0;_fbp=fb.1.1730362257600.714008794112161913;_pin_unauth=dWlkPU0yWmxPR1JsWkRJdE5qZGlZeTAwTWpNeUxXRmpNVEV0TlRrd1l6RTNZelEwTldZMw;x-recraft-referral-code=3h7wfOgFGn;__Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects;__Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..xVLyHXt0LQCGPXrw.CtP1obq0K9V9NuXa2mjRIt0TnNe-StiIcgfp5N6-agDvLVqHz8pBlLQ4mDEau9fy-fLBKqmpqx3Wc4kEaJwQ116PZxrqkXShbzkz1Qaz-8DuYhSL4EvFMTAkROvdukaiFLRKYPnl2d30Ize7VGp5Wir_OkenVZnDr5kyI4NyqpVjHFAnX_0kzmQfOJqR2szMzte_w9zMmUWrqG_8hLArm3reA6DsmmJMeGj9-3MZo7inrmfM4FQ7mBVrNadw5uw14yh32ATXn4470idM8RvBTrlWSbAuTOBpXy5Cwp2RPqKfaXnBYyqH7WRpEJZyKdHUWY0VYGf47w37hLG7aT0wuq_eIRJvHHkxah6-96ugmxjV25OGfwLmyNXpySh77JP23dsbkWq2lBUGNc6q-RlxgsLV-fKsPe5FBGpOqoMjlD_zG7k-Ne0DQ66xfm_zGetUmcp7q1LQ81a-egOVAEGAFnLz5K0hyJ_c8pR4tSJ2c2MTt2_ZjeFs07Y33NZVY4SlUPCiGGRRAuY8gE56pCwBdchK64FtSf3qbT04dvyDc26iJJVcLb_jQUclw6JCg8klW-v61rV4u8J4jtTo-3Cw59XHV0nuMozfa08XtOe2qAbRLk6C5Jtg-xjQevJPNENGz75NBd_QZD422lO5Ay7934dFOTjABrvvA-J3xCi2lKRd5HY3Cc4bY-r0I0z_jXi50-M5MUXbenves0bo7Lg4DYzYyQV83AGFv8bmk3VMMrco10qonZyvxsPkOAQcvPjZMiaCYTvdav_oc-u_LUtCRkdCXciHdhu4HCNvNEdNXbSEFoeq1jVqnQHeXKvcZOacwQ6gse_UnQYfEN_zCYTC7tLbBjMIGtqiWtBKmNFPfaZbkx9RiWosvUeu_J2y4py_VNW6Oxy74Uu31BP10ufHVwzJCykfWQ3o_DhxS5ziqoL0uGZsPnSFe-Tgxf0I424Th3ct-4TVb4MRensrM4zfglyrDdFG52-WYPjUEpIbf059L38pQ51eF_t5mDGWJdZD09kesPD_c31wQy1-dmrSkoaL300AHpikdECo0XwgAeMQlccYM6Y3Q0HWScyHcz8OpxqdbfsMJf33JIhmiEBwrKNyY66PxGXu74esbF57WQjiUjintqrle6B9D5ovqo_oDXWGZdgmJf76YPJ0_rt-Jx7YrsYSHax4wgJa-lUwXQo0wKlyhXPgAiEYO4YsPzOPYJGmV5kBDhzVzFDZ_xrS-WNYx2peWX_HD-37rr_c3NOl65zNUEmLJ4X1dcZo82Tho8aA-ADV--zC-Qoq0xNjDEYuuPYy0dq-3ECh4knWUCwWzkSOjoG-VdZertqhrekE4ShiOqG_KeiWeTw5jh_FqYzEMHvenNJ4VncGmrtg9nMfK4ohoqYvLOoIXLOnvFfueX_E3ZqaX3tg2KyRzRe_4acJC2VCE5m7jmoUqlFHK8y1ZNVdmvEbSNmrfdKbPdByfR495_I9ejjPXdGeBApPg-Z6RHEVAzJMto513PrZ3N1MtVy85YjeGFP9j5DPZDC6wo1rpo7wrCouyZrWhodSn1MxntIpDX0x2dBs72ETQfWpnpRi3BLlox_24MVU_ekrKOQmOkPPcAwRe4o9mDiOrYttFiq2JfsVPCcvuAfIkh8O3taXhImPTMPiETGsmVCzHrOuN6hIGUDzTVcPICqGpD55zgc-31ACiNByPRJnP-QwJHguyaAS1wc-zGFtORsbQmqJvhxjIV1IuuQyqjEl_NBBkMPXE4X8PFtjauYK6tnLxgA53-jMORLSQ9fkRUt0EcvxJfhbtooqYMskCAweUYFIdioKnemBhiDlWNIHXn8MCAP70MQPvA9B-84fK1_vNoeo-EflzzeD6375HwZtbc1HuN6Q_gbqdxneGQIUv6NfMIoAOJrdPpHSNEyKYfvRVhDcvWo3ecSWMXzn2IAxEZ4RKCcvEfwNFpRVVTpbUalF_GmPPSw_XDfYGPOFufZpeh8nx375G5GvfReSfacu1wGBRI3C9OYoyJPKGjC267LpArEHbwLoRDG6UmQeqLfNaBXmRO2d4lx17OePFojJ5tX6vRee5pT_CqQSkD8JJPLU2DTQVQNAD5ybOCqTizkIYfvZiEGVK22tkvilBm7q3cjI3gHSKMnwBKm4U2OgG8XkGzrT3bx9mMcRtEcw3u_t1TreuycePMtZgJ0R-8Hezq2EzaszZLNFJx4z6Lo7YS-yhPB5Eu4_e5MZEoMlsJzkBeEOs1dvObVDWBvBEriCfKjpci7n0C2NkRIazaqxFIt7lLDI14ah1ykd_FfDN7Qp7vsq1oEyUCU_nqhmKEeNNGh5Iv8gviVzZCvhTnG3I217IY6w0zsW3sE0rTtXnlIYby7iFaQrkUZ0Y0AuC7ZJH8KahhoonLLS6JTvyw3jsKgcpzHG_3ZFUDRh6YF4YXpVQROPo-uTbEvLb9ksR4z0AYXzDzzkuNf3Ua75I_c7Gdml4rf3vpcUBGhpzz0T1v_eWEO3sGeT84SF8700-pyR1mjFMHKDbE_BCnpNm564NsOcPWa9dR5Q8e3GCr3r9tE0Vd2RRiuYldNjakhMpmHE8GP-Z2W9tu_i_lH0c6ta3H0Wc0JWf8JvQ6agCbthT5unpANZvy7vt6lASh3Hc0e27AbvL-S5l7kI5vs04R7z42wacKs2jH5ottOXa3MFZk4k-zfv7XhfDLNIWpfbCO26cAwe7byv27JG_gHASjeJRj7bhKf5K6TJk4epK6fIss7Lmx9fNQpd1UDCWwe5rFaJguFS71-GCR_x1jYwmtYknYZ52tFKkdJVh_AlYESBDMKRyRQLTgif64IJwMDp-2HTvbEMafr9nMVMtwp34MJ8rSqf6ME4Dz8Wk-J5IP-LFf7TsvevAVpRLp1zUu3jD5C2piIRiVn4asYPes6eqaXHIaQw111m6SyZbfxBrYStOBOvSgMUCxpSn5WdL8TVEO-6fdhvvY4gaEMkifq8URru93j2EJJyyvZ0_vpn0nSE9YKHv9a3okPHsKrm_bDD5rOSSyv_UeNqHvyxfZcTZyE4eqlihUUIJI1LsL2cu1Pv0wzHGqfP2FZAAYDq36Fjlj5LbrZQpOdgomlCRbABDlNyR4ip4V_dSzy_oL0E0LcitV0rDSA2nau7vOCRZOFPslrWUwBh6zooorIutHCWIGKpy8ZkkJ5_NuiXYrxMByurzBLgJb1rVrOtQQRSoypW_y4Aa4zr1gFISenRO7Ozrsvxe2LNGjvQM4ebXjBw5m49zaHXjMLOzjhchJY3ennDFsjwjd5GPqatswtliboXZ1M0Atigva4TxUO8OHKbuYwmk69yD5Bn_5DY2-rclnYcnWpngWOFXcCAXIluSnRJLriPk8sosTgUWvg0WenjyOhweUIootfTBSV2PqFWlXwcKVLFKFAEda0DpZWZYGnAv_Lfo7Y0vhwgVO0DK6DhM0cWfLmxg6GwwPlt8ngJ0DBOgd2TY3P-l1hieJ-r0yh-EILMuhzkuTVOigeoiiFYZ4nJc4oc2YNYLcO631AOmC0xWpzYpBYlEeDI8f7BLkrTfMBOzrryIAOYbvJYxNKLqFt94IyVNuTbrJBX98SZiJa5HaPCiC2dG60jwj76uVjTNPWaWg0rT_mYl4ArzkzAD1jwUUEhhzYmNmvM_h117lO-67I0EljOoAyuWYOdRauXxwhyYQRAdBTOZy5L8TK_xAkiTqcX5C43FUxXJEcB-GmnSxjgymOcZl9yXd1WtjO-be3KfjVqgltCZh_HhrF6ODTghJxwZtCq2dIn12_W431l8BG3z6a7lR0IU6qqjeIexA0D_2eYwH-1UGNjrswebUNBcqXpzGmdU-0yZ90u1DTv7tqJdSb74zWZZfi-_se;__stripe_mid=d21b2291-edb8-4cb1-8fac-05c6a9493ca8d85a3c;_clck=uflztg%7C2%7Cfqi%7C0%7C1765;_clsk=18ngmlp%7C1730449685636%7C56%7C1%7Cl.clarity.ms%2Fcollect;_gcl_au=1.1.906962865.1730362257;_tt_enable_cookie=1;_ttp=412qSInHGw3jjdyNR6K4tBIYmNZ;_uetvid=a8a766f0975f11ef9b7921e48a0cd258"
125
+ # tokens = "__Host-next-auth.csrf-token=78920fc4c6bf5aef5c2063e3a4397b1e41074713e35020cf7049156e02d53355%7C2c8e6897101210b68ba31cec5c6232d8ab76a3e070cda7b82ad051680ab93fe0; _gcl_au=1.1.906962865.1730362257; _ga=GA1.1.435165527.1730362257; _fbp=fb.1.1730362257600.714008794112161913; AMP_MKTG_7268c9db0f=JTdCJTdE; _tt_enable_cookie=1; _pin_unauth=dWlkPU0yWmxPR1JsWkRJdE5qZGlZeTAwTWpNeUxXRmpNVEV0TlRrd1l6RTNZelEwTldZMw; __zlcmid=1OVn8OoYVNvKEWM; __stripe_mid=d21b2291-edb8-4cb1-8fac-05c6a9493ca8d85a3c; _ga_ME15C3DGRL=deleted; _ttp=412qSInHGw3jjdyNR6K4tBIYmNZ.tt.1; x-recraft-referral-code=3h7wfOgFGn; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; _clck=uflztg%7C2%7Cfra%7C0%7C1765; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..OMh8sDyFkAVpghZU.iIKkMX3OhmwVyO8CjwCH-8YFQE-J8zE52SImLqu-imuV9q0jNKxBDr9Zo-n2I-TdREv4ffj0FFagny27pL7vjMyp04X2VD_Lh5rv9OMAObho9TsX8AzyLZOu_xbXR1ip98ZSv432BcDq5ppm5ava-ZVqm0Tp0hvJGSWD1yq4S7XjqiIAGeKZfR5Efm1k85fO6CHp-nNiIFVc6f2sw0Y_DcfdAzB4tMxKmJPoa4VHteErM2n41XUA9TvftKK5xVLHDWi0poRXkfB6Tol2xF83jUi2f2Il1BzQ-7q-MsRD-kkxJkEbv2Zcex_HFsaFWN9ohDB_wttuDxBZYCwdjflE-XyLwurtLO4XwbZTRKOR0Jgl6SdF-tBgsKSUrDUdmPGt9oiZv-MzMpTiOYRhTFjTap34rjUOpqlCoPXtiI-YExDCuKs2Dy57wRHF5GHldb3-vuaxKV5tVIq3Uj0Z2uq1SRn2hFhbvcuywlHcyF9HnGur9M6-JBxDaS0W3hrhtHgegIj_kbe6Zl1KBT5knx_IDcVu3KXhiZaLI4kfn_3EQI5zZN9Ay6412fqjP1atd0BpeS5joJl_7O0ni8-0k1I6bRxhnD3uHD5dlQxBJXXHjyisoXTckUXNUKnRbc0x3pL0ObMP7VJ4-mov1KCc_YB3Msh0yfcIa_CXRTJCWH5Q-jkO0pJCVtWjfRegN8G-UpT9k3IDfu6z59O5qFYHM0SjFeee4yJNdAHJRpbuxxNBSBS8aIOey-UN-I2UDme_iGoQnkF9nvOI1zrVHtIhhazxc5YLOyDnVuyhI9ghm2PfYYIxp8sM-Y9VNPjuAKJvg6_q1tSVyiej-qHjV3um1n44AaChgrJ0JXU0gxQV_--xL2n28Tm4sOWb5VUGYAmI32Mvo5bC-kBatusIlkFvnfiQkZT-9fNPAfDiarG-W6T9VsLKhWn2UVBqSJtJgj56uCaw1QilqaKUSYGyUkStWEn0YXsye9vxKSDjm4LJTJdGlkKW0v4qElfwzzV0d9ErjohWN915IzVY-hTRSo8tgt_QHafO3hsyiTpGqalDuT_-BMBShRLozMvGhlQ9jA0QsDueosaNt9OWyk7ZliVSuyt17lI4ApFnaTf3MBjcrnUmk7aejOAQzuy5atNo-HmxxclEYsMuMblcp9kkAsrtx87RHrPYe7DmOorGqJRiKk27S2Nog5ZlBc8RAkq4u4eub9ezwMhFUAYKsv5tnaS6NiggXVbhNiN33uwk2jI7R9ZmJtCnw-b0Nnk2ln4_9CCSa8Ds9VMkiyS6S0QLaPlkmaBzgCYPM7sxTzyuw9BryOlo3akvYJHWegVvxWfN3ap8DdqgXE87zFPE3K3PmJodcv2lVz9FfwUtI81bwRkVpt4VNY7yqGNu33637cufapQsmZJilp5GfHv1FY1lXfrm0LQ19SUjgBHobZ6SrQPUcauypDNFOOAAt9MeVVScsY_5xcyRlPglsA31piiYnDcsBFwOIf-h5GxxYtqf8pDmvUMmXf1zn-97DLpa0D83rKFFA6BralkFCMq0gbBzH4CIeYW35-q1P9Ghq4FIxVxgreueSa5KP96BtFuzIuGEccN478JnsO-DkJWRzTToYTiNUieDjjuhQXFdOFooAHvTrEyvt0HM-ZchJcto4F6xKM3tuJAk2Ng9HCYiIy7rlYzW-gL0v07gI_hwKQ-8dOungh3ggfjooGSayAbsnLeRpAm3P9sTgKrnPp3fyBzzLDkpPj4wBxADpg4sYDyJk3hTa0ec9Kg4ssReU5K77vKg4-YkDAvKvYeQbX69FjXcHf1_XtBQVh2T-teb9G-0kAy6kLVarSJLjp6Mw_Uj3eYV9gbgmNiyBrCcHmUATA6FJkuxVH5W6YVChgEZgIYS1K-PZj-3uchfa6VoSCab1VnreJ6f5aYeY-4ZI5-vDwGJDpd2XkVIrf8zWPFqUkZRpyJHYRwXAGf8MCBFTRXBqzNgPnVjkh_iP9tbmb4_pbgBaTz3Izubx9lWUmso-y0_SPAn1M6x4V2zNHZR6ZVJKAxuNCQrqfIk0Q6-zFHdAHJFPrJSVjKMIDadIpxqQ5zkMeR0O6T204oVwfrtsMnuiAo3dk4ve5qa-MlaFyc0SpfxQkhzCTA3YVXKWo9G5Jp8OYBRmZwDhg4MTvgBeri-hyMsiS025J9vreey3BSyJun7IQJhzDZ6-PVO35qpVB65CNfNSDCO8rI_kAD8xKf893nHBovBumEU_FGC4xz6Yen-7W5TX4yR_2U2CBYX5Iplw5UXHgjXymPbfHjETIh_dyKnuN9fonl8fgi2xk5DDc-oyDaE1qq4g3oBMmXeFA8XpRvcOyXeDyYs5j-KiH0yMlel0xbFluk_UsuiElluUKx5IhnAf04-TX5SCmwubvssyTjs4bWeTw3rjwpvDV9EpLDgPt_WJnHgbbT7e9zRLqQWYnCGro8tnBVsLej-j73L4KdWJQeM8b-Q95l5TfhPrkmbUI-6qyV5tRawBO3ie-c836Bz7YUY1CnopG4qzUfZasJZ8ltrAr7qtwI1c-IJ6CAwDhT_SjhQwyMVUQb7OhvCryf5trtl29kVwsRCeuw8K9uVWmrAKIk5nf3IczDeKNpR0EEnpPMfblkEAaeCSz1KX2fSiURQ2GDUUAOICnhXEhJ9-NcNTHj4ssjU_8RAltnHxTiecwhsLX1qmxi0mrjf-32el6TgQ95FsNDRITKaZ1807lFiQnj3Um9Bqb8ZPxzBBEqJh0WKoD4xT1dqLc1f4HdebodGJva35Nw1Qc9ssNihz2Tziq56J1Zx8vOtz8ibmSJ6Gm3gzWD09h2CQN9Vxwx8kxmF_LECGwgkUsI77029-bayN_t2Mv_s3jeEOAQl-BBNMGHbPPPkcZi5siduzjpphVOAX8wOiqau0MqECstDqh8nemuSvhlomElxmU9mHiRTnUqlAfbO_P1581AUfyOh_InN3ydLnkgrziI58OEWIbHKXXEhRAcCGQrX4nynwOTymiWuzIR0OqhIyi3cLfz3e51uEVmBVVSZfbZuDySiY4yOzA2cMExG1te_NjjhEsvBZ8m3Fjf-PEwBJhrXDQgXlXFp80ERZQ6xVNzt7dVd0GzsQT1-03JaLR6S9tJYXO4QOf9sgXp-R4nvP7mZDuhP-kXbI0rzAmnuPA-eR4joGugTgbH0RWHnZ6z2a8k2kBD_VdjYdbxSZ1vRXtSIpNohuaun4rzXNbRz9kwNNK_Fz-q84fAJ_J1Yb1XHBMrJYQxwVdhRqvSh_jW5zroDFjTFNKwFruMaGa4KESccnTKy8mUH7Cd6S2OCjzDrcl4mQcXBu90FKOH-pYhobFNefJq6LooejPhdN_XBdfm2kQrcTRBYbMk4vekzZxs-wPrlgZkQYSAxKj4i_XTiqztmroaNRYdfFoq4hoArBBsISxRagLukwyL2yvSKnHiqMo9T7whwYF_tXQFGk1T8dQ_9ospLy9EMBMP7tdqw7UX5S051rqADt9q2Rozx7hRuAMHWeAyfRCFgMx0lR3B2txRxxRVWrBNJAqulmG3hJk9px8LpWmlm9CorOkN7cZT6CJKIJdSClkj0VDFiDUjWsZWJLiN_DSRaqcCpgwdkXJKZ4zpUKjH6xQSKzhvbmom9ZkFkNPWO35Vf7e_rLKLCyltHmsTDlgRylqPMkigL6Rds9S07c7fCwcr4d5xWvlV78iKjmg_c4RdxrmGsqeQZl4EmbnmwZfQj3qllIEn7MJ7N5_jE_BO1huH522Ds6hTRFTn_RmA4FtIbqyuvbK1v5MlCoToKiYgBwPI79PzQSEjM4LMMbeUiJx0E5C2Wd3bpTnbc-mfY8uIpFfxnK2_0Mk7rSbm8rqtomgPyqcmAT2mwQS-; __Secure-next-auth.session-token.1=DfJBMjFpUwPYqCIaGMxrX_WtlNau_0B5y61DkoPxCwi6_MziMSz6KUgDB9o4d6xXg5mn-UBR0gXWjPFrIXzP0kdNvCSF9pSGCyiOLmdtKfi3BscGIK70dpfUfKwY972YF6TTb6tXOdLkf3JFyN0cjLd5pcBfSKFAKRt5shH4iNMu6ZwgwZd0guK8IcIddc9KTGxTZlHc6dJ1Rc-QHfBm_DPgYUvf9yKjGSguPuYFqnHwA2T91Ughu9VT2lAuCKjvEX13KOsHB-Vr1i7Ts3TrQtIoS9pMM_NnhdILOp3Od5NGfkJGqAbsfFLYU193V3cK4cib9QisQmKm4hxvlMflKA1IQNlz_isB1vi2JN04AQg.z8GHyaN7ezsgo22MdsiVvQ; _uetsid=84c52090adf211efb65c0dc3b78a1976; _uetvid=a8a766f0975f11ef9b7921e48a0cd258; _ga_ME15C3DGRL=GS1.1.1732844258.46.1.1732845589.0.0.0; _clsk=c52eh1%7C1732845591268%7C3%7C0%7Ce.clarity.ms%2Fcollect; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI2OTE1YzI1My1jMTJjLTQ5ODYtYjM3Ni0xMTI3Y2ZmMTFlMjglMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjJjNDdkY2ZiYi0yOWE5LTQ1Y2EtYWRiZS1hM2ZhYWZiODhkNzQlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzMyODQ0MjU3NzEzJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczMjg0NTY0OTcyNSUyQyUyMmxhc3RFdmVudElkJTIyJTNBOTA1JTJDJTIycGFnZUNvdW50ZXIlMjIlM0E0JTdE"
126
+ #
126
127
  # arun(check_token(tokens))
@@ -0,0 +1,126 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : virtual_try_on
5
+ # @Time : 2024/11/25 09:48
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+ """
11
+ dressInput
12
+ upperInput
13
+ lowerInput
14
+ {
15
+ "type": "mmu_img2img_aitryon",
16
+ "arguments": [
17
+ {
18
+ "name": "personType",
19
+ "value": "WOMAN"
20
+ },
21
+ {
22
+ "name": "__modelImageType",
23
+ "value": "OFFICIAL_MODEL_女模特4.png"
24
+ },
25
+ {
26
+ "name": "imageCount",
27
+ "value": "2"
28
+ },
29
+ {
30
+ "name": "biz",
31
+ "value": "klingai"
32
+ }
33
+ ],
34
+ "inputs": [
35
+ {
36
+ "name": "lowerInput",
37
+ "inputType": "URL",
38
+ "url": "https://h2.inkwai.com/bs2/upload-ylab-stunt/kling/tryon/model/v3/下装4.png"
39
+ },
40
+ {
41
+ "name": "humanImage",
42
+ "inputType": "URL",
43
+ "url": "https://p2.a.kwimgs.com/bs2/upload-ylab-stunt/kling/tryon/model/v3/女模特4.png"
44
+ }
45
+ ]
46
+ }
47
+
48
+ """
49
+ import jwt
50
+
51
+ from meutils.pipe import *
52
+ from meutils.schemas.task_types import TaskResponse ############# 根据这个重构
53
+ from meutils.schemas.kling_types import API_BASE_URL, TryOnRequest, TaskResponse
54
+ from meutils.config_utils.lark_utils import get_next_token_for_polling
55
+ from meutils.decorators.retry import retrying
56
+
57
+ FEISHU_URL = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=cjTepf"
58
+
59
+
60
+ def encode_jwt_token(token):
61
+ ak, sk = token.split('|')
62
+ headers = {
63
+ "alg": "HS256",
64
+ "typ": "JWT"
65
+ }
66
+ payload = {
67
+ "iss": ak,
68
+ "exp": int(time.time()) + 24 * 3600, # 有效时间,此处示例代表当前时间+1800s(30min)
69
+ "nbf": int(time.time()) - 5 # 开始生效的时间,此处示例代表当前时间-5秒
70
+ }
71
+ token = jwt.encode(payload, sk, headers=headers)
72
+ logger.debug(token)
73
+ return token
74
+
75
+
76
+ ###################################################################### 重构
77
+
78
+ ######################################################################
79
+ @alru_cache(ttl=3600)
80
+ @retrying(title=__name__)
81
+ async def create_task(request: TryOnRequest, token: Optional[str] = None): ###### 所有的 TaskResponse标准化
82
+ token = token or await get_next_token_for_polling(FEISHU_URL)
83
+ token = encode_jwt_token(token)
84
+
85
+ headers = {
86
+ "Authorization": f"Bearer {token}"
87
+ }
88
+ payload = request.model_dump()
89
+ async with httpx.AsyncClient(base_url=API_BASE_URL, headers=headers, timeout=60) as client:
90
+ response = await client.post("/v1/images/kolors-virtual-try-on", json=payload)
91
+ response.raise_for_status()
92
+ data = response.json()
93
+ logger.debug(bjson(data))
94
+
95
+ return TaskResponse(**data, system_fingerprint=token)
96
+
97
+
98
+ @retrying(title=__name__) # 触发重试
99
+ async def get_task(task_id, token):
100
+ headers = {
101
+ "Authorization": f"Bearer {token}"
102
+ }
103
+ async with httpx.AsyncClient(base_url=API_BASE_URL, headers=headers, timeout=60) as client:
104
+ response = await client.get(f"/v1/images/kolors-virtual-try-on/{task_id}")
105
+ response.raise_for_status()
106
+ data = response.json()
107
+ return TaskResponse(**data)
108
+
109
+
110
+ if __name__ == '__main__':
111
+ request = TryOnRequest()
112
+ # arun(create_task(request))
113
+ # {
114
+ # "code": 0,
115
+ # "message": "SUCCEED",
116
+ # "request_id": "CjMVomdAMUcAAAAAAHcmvg",
117
+ # "data": {
118
+ # "task_id": "CjMVomdAMUcAAAAAAHcmvg",
119
+ # "task_status": "submitted",
120
+ # "created_at": 1732500869112,
121
+ # "updated_at": 1732500869112
122
+ # }
123
+ # }
124
+
125
+ token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMmU1NmZkY2ZiODY0MmZmYWEyMjZlZWIxNzY4MzMyMiIsImV4cCI6MTczMzE4OTI4OSwibmJmIjoxNzMzMTAyODg0fQ.YjB792REbuFaUoyUXvd5bpI76_0PBWawDHDjPHOBA5Q'
126
+ arun(get_task("CjiL9mdJhswAAAAAAG2C6g", token))
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : __init__.py
5
+ # @Time : 2024/12/3 16:54
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description :
10
+
11
+ from meutils.pipe import *
@@ -0,0 +1,42 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # @Project : AI. @by PyCharm
4
+ # @File : icons
5
+ # @Time : 2024/12/3 16:54
6
+ # @Author : betterme
7
+ # @WeChat : meutils
8
+ # @Software : PyCharm
9
+ # @Description : https://app.napkin.ai/api/v1/auth/sessions
10
+ import json
11
+
12
+ from meutils.pipe import *
13
+ from meutils.schemas.napkin_types import BASE_URL, ASSETS_BASE_URL, IconsSimilarRequest, Icon, IconsSimilarResponse
14
+
15
+
16
+ async def icons_similar(request: IconsSimilarRequest):
17
+ headers = {
18
+
19
+ "cookie": "napkin.identity.visitor=visitor%409e2a59af-19ad-4dc3-96c8-9efbca71c547; napkin.analytics.device_id=d_950e4683-ae41-4941-b9a7-7e8deba8e669_1733214660768; _ga=GA1.1.511154647.1733214661; _fbp=fb.1.1733214661606.54464059277067597; _tt_enable_cookie=1; _ttp=SFxRhdE5PO5Rslohwet46IwiaB3.tt.1; _clck=16odoyg%7C2%7Cfre%7C0%7C1798; intercom-id-zrfc296i=6eb3740a-9c79-4681-87ec-532e4334816f; intercom-device-id-zrfc296i=f282621f-dcec-429b-90c0-fc98bd9dbb71; _ga_NM0S4FZ9JH=GS1.1.1733214661.1.0.1733214667.0.0.0; napkin.app.identity.session=NGJlMjdiZGEtZGEwNi00ZWE5LTkwMjEtN2U4ODAyNjE5NGJm.5092981dc495fe0041ed99fc68dcefa4ba26a0f6; intercom-session-zrfc296i=MGpOUDEvRlE3ZlRyUkhmaUdsVmZjYXNQT2lJYSsxYitaWDhTT0tMWlJFVkVuVjBwTno5emJydVd3VUhvKzlvRC0tLys4ZEp5a0F5M1YzNkFOazJUV2Nudz09--d6be7442da979794afe682b2e044bf51bd19ac88; _clsk=yficge%7C1733214772932%7C9%7C1%7Cr.clarity.ms%2Fcollect; _ga_L149GZ61DV=GS1.1.1733214675.1.1.1733215282.58.0.0",
20
+ "origin": "https://app.napkin.ai",
21
+
22
+ "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36",
23
+ }
24
+
25
+ payload = request.model_dump()
26
+
27
+ async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=30) as client:
28
+ response = await client.post(
29
+ "/features/text/icons_similar",
30
+ json=payload,
31
+ )
32
+ response.raise_for_status()
33
+ data = response.json()
34
+ logger.debug(data)
35
+ response = IconsSimilarResponse(**data)
36
+
37
+ return response.model_dump()
38
+
39
+
40
+ if __name__ == '__main__':
41
+ request = IconsSimilarRequest(caption="一杯咖啡与灵感的邂逅")
42
+ arun(icons_similar(request))