MeUtils 2025.5.7.20.22.52__py3-none-any.whl → 2025.5.8.13.7.42__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.
- {MeUtils-2025.5.7.20.22.52.dist-info → MeUtils-2025.5.8.13.7.42.dist-info}/METADATA +261 -261
- {MeUtils-2025.5.7.20.22.52.dist-info → MeUtils-2025.5.8.13.7.42.dist-info}/RECORD +17 -15
- apps/x.py +36 -0
- meutils/apis/hailuoai/images.py +464 -0
- meutils/apis/hailuoai/videos.py +40 -8
- meutils/apis/hailuoai/yy.py +0 -1
- meutils/apis/images/edits.py +4 -2
- meutils/apis/images/recraft.py +9 -6
- meutils/data/VERSION +1 -1
- meutils/jwt_utils/__init__.py +1 -1
- meutils/jwt_utils/common.py +51 -21
- meutils/llm/completions/chat_spark.py +3 -1
- meutils/schemas/image_types.py +1 -1
- {MeUtils-2025.5.7.20.22.52.dist-info → MeUtils-2025.5.8.13.7.42.dist-info}/LICENSE +0 -0
- {MeUtils-2025.5.7.20.22.52.dist-info → MeUtils-2025.5.8.13.7.42.dist-info}/WHEEL +0 -0
- {MeUtils-2025.5.7.20.22.52.dist-info → MeUtils-2025.5.8.13.7.42.dist-info}/entry_points.txt +0 -0
- {MeUtils-2025.5.7.20.22.52.dist-info → MeUtils-2025.5.8.13.7.42.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,6 @@
|
|
1
1
|
apps/__init__.py,sha256=6TwkuFgKafDZrNMtD3xe5liiNkNRB34mFBXxICbdPsw,271
|
2
2
|
apps/spider.py,sha256=Qvfd8LEfqvtE8Z8fY7hgJfOUtBassJhCToGiCARtM4Y,1139
|
3
|
+
apps/x.py,sha256=lxUp8uWHa2e3WtBNQHPwIKysbWdFmFjgToiRU-lT6Ok,1282
|
3
4
|
apps/xfPPT_demo.py,sha256=-W5LbSrt2GBZ3ojq6P24nivdiOfI8vwolw-O7yOyUKY,10306
|
4
5
|
examples/__init__.py,sha256=qcNIwrjAAGqLJP3F0YcEJftLpBSQoBMfnmDlNXsBSNI,250
|
5
6
|
examples/args_demo.py,sha256=fPI_h8V2fxEpHin9WfJn6cRzitbbP5Pv6fVfFJkfUAg,1331
|
@@ -380,10 +381,11 @@ meutils/apis/google/upload.py,sha256=8stvopyIs03ywY6fyGHAtow1TarpMKjsb1V9x9GMgSI
|
|
380
381
|
meutils/apis/hailuoai/__init__.py,sha256=2g9okuB6pxPh1hDiAE9HZo37baqIO9cX-67RpyfBj1k,272
|
381
382
|
meutils/apis/hailuoai/demo.py,sha256=WTnDFL2HgVpAjcn5BljLrbf2y2aATkvvNy75zoEIQkc,1483
|
382
383
|
meutils/apis/hailuoai/hasha_new.py,sha256=1sD3fxmxYrEufmPaJZGAkYJoHKO85hfLXemnY-xYIO8,9101
|
384
|
+
meutils/apis/hailuoai/images.py,sha256=NVTXunBra0k5mm5r4uQqZ8mr2n8-e8tCwZuU_24q680,20640
|
383
385
|
meutils/apis/hailuoai/music.py,sha256=S_oi-ZDbocTfbRgREdXtGx50xzUc1PCZGuxmr917E7M,265
|
384
386
|
meutils/apis/hailuoai/upload.py,sha256=22S6W6hGQhUquVKqh7QCkXb6KHDl3iMKKi6Z0AJdFEI,6501
|
385
|
-
meutils/apis/hailuoai/videos.py,sha256=
|
386
|
-
meutils/apis/hailuoai/yy.py,sha256=
|
387
|
+
meutils/apis/hailuoai/videos.py,sha256=UxG1DQuRhOehaWxN7V--tgxHtyTmaYuR2PCLLAmRhrM,22409
|
388
|
+
meutils/apis/hailuoai/yy.py,sha256=uBwtpMhCE4lQyDqEsua4eupGAU0A2N0UJN20pE1tOUo,8962
|
387
389
|
meutils/apis/hf/__init__.py,sha256=ZZoRl8yNYekoMhE__67XXBKNSYJaLgjtaa0netjJKUU,271
|
388
390
|
meutils/apis/hf/got_ocr.py,sha256=pZURFpryDh_Ak6PNiARztOzYgkjVrfScJ5-0XzMBrzI,1776
|
389
391
|
meutils/apis/hf/gradio.py,sha256=tz4oiY0PHLT48aQocV0wBeuz53mLo8Pz_bQBg43pHpA,839
|
@@ -398,9 +400,9 @@ meutils/apis/hunyuan/image_tools.py,sha256=SYovMKvv0QCPAYnIPqpDfXyVSOvyEuFlNNCA1
|
|
398
400
|
meutils/apis/images/__init__.py,sha256=hs7HUJZvw_3DAtoapPnbZsEb4ng1p0a6fJGFFWwUcUk,272
|
399
401
|
meutils/apis/images/deepinfra.py,sha256=lMqfU0LIXEzHiAS31dCcoTnPIE6tpoDJhq61H0TVJPg,3219
|
400
402
|
meutils/apis/images/demo.py,sha256=Cjk-EKMKbp44czykW_44qR0TzElX8nNCALqXBBw5sJA,4405
|
401
|
-
meutils/apis/images/edits.py,sha256=
|
403
|
+
meutils/apis/images/edits.py,sha256=tdtFKVaMti4zOAh9WQ_VWrKyuJyomZ3-Fwh1DK7EJAM,10189
|
402
404
|
meutils/apis/images/eidt.py,sha256=s8IBbCjwwoogIUf-d2O7nkawUmly9n19nvLYPaLEeg4,1217
|
403
|
-
meutils/apis/images/recraft.py,sha256=
|
405
|
+
meutils/apis/images/recraft.py,sha256=mDlwUOR6xHUn2Pum7a8VMZZfPCy85lP_ncaQka3fHec,72513
|
404
406
|
meutils/apis/images/flux/__init__.py,sha256=W_PZabQm6EmtJYmzEiEpL_WCXTAW0AiJ-t_n5UTrE8c,271
|
405
407
|
meutils/apis/images/flux/fluxpro.py,sha256=NFl9t9C3R3jsNJpez4o9tOz3r-fjRXj-vKMxCSTRDTU,4022
|
406
408
|
meutils/apis/images/flux/mystic.py,sha256=cUkqaMAbd3dSBCvFEoNBBoEoWCGzvBJWPEkEq1Q8xzw,3616
|
@@ -565,7 +567,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
|
|
565
567
|
meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
|
566
568
|
meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
|
567
569
|
meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
|
568
|
-
meutils/data/VERSION,sha256=
|
570
|
+
meutils/data/VERSION,sha256=ExDN0gvKj81a8SIcGzgE6-xEWAg_JPn-iQf6RzwxCiE,19
|
569
571
|
meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
570
572
|
meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
571
573
|
meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
|
@@ -643,8 +645,8 @@ meutils/io/parsers/fileparser/filetype/types/font.py,sha256=nP5Ey-EcKMU4phGYtIlQ
|
|
643
645
|
meutils/io/parsers/fileparser/filetype/types/image.py,sha256=r8pINANPJZbCEmZKn8F74fFffk4INtDin_GtQtQImZs,9130
|
644
646
|
meutils/io/parsers/fileparser/filetype/types/isobmff.py,sha256=zLXCbTET6wp_9yq8jE3bhBRTaCdSAKma5ElyHVGd2Sk,958
|
645
647
|
meutils/io/parsers/fileparser/filetype/types/video.py,sha256=DfkFd5ofnEK25r_n71LxjX3nAAgO8xJ7Op_lL9uEbNc,5371
|
646
|
-
meutils/jwt_utils/__init__.py,sha256=
|
647
|
-
meutils/jwt_utils/common.py,sha256=
|
648
|
+
meutils/jwt_utils/__init__.py,sha256=zs4pIDk4sQ82o7meMwt64_tv2WBMRTaXX9doe0ilvvs,298
|
649
|
+
meutils/jwt_utils/common.py,sha256=u2PPQJ9S-83y8f3Sb5L2OCRP7o-xV56EAmlzMZ8Je0Q,2352
|
648
650
|
meutils/llm/__init__.py,sha256=mYv0QpACLd-wz4htIduPuTU3mX06_Y8ZprxDohtZGBM,244
|
649
651
|
meutils/llm/check_api.py,sha256=Cu60Rvp7zLmmazuLXxpK4z-FCab4NrO4nH5LzfYjjoM,3591
|
650
652
|
meutils/llm/check_utils.py,sha256=xrP7om1vG7kbZ0G0Dtxm8Mm6RGDRwcVUIliVCPrtng4,6223
|
@@ -657,7 +659,7 @@ meutils/llm/x.py,sha256=ETvKKDTmDNrik0K2-_a_SEQxyV4X4-fy0JPrAOLNPv4,1732
|
|
657
659
|
meutils/llm/completions/__init__.py,sha256=q5FEYPpo2f_P44Ghdh9fkrmqZLX2Asso8p-nf-ZTqks,244
|
658
660
|
meutils/llm/completions/chat_gemini.py,sha256=0x9HQxuDAHoWJ79JoaEKKWVNy4PRyd-Et-j8V93NqkY,4395
|
659
661
|
meutils/llm/completions/chat_plus.py,sha256=RPYQqx4vc57gevcz0gUS7QPvGm0M12ktAspMKJtoeuk,7727
|
660
|
-
meutils/llm/completions/chat_spark.py,sha256=
|
662
|
+
meutils/llm/completions/chat_spark.py,sha256=VYEy4mItsKxEA-tXxrdi8vRptU1aIsKmif9JdTjxv10,10818
|
661
663
|
meutils/llm/completions/chat_videos.py,sha256=P3Yz34dkNlxCxzOuKHJ9pHIA4UXK3Y5RXPzVnQjb9rc,2915
|
662
664
|
meutils/llm/completions/cp.py,sha256=tGf3umHKXDH0KuTfN7BLr8yAvN6MYWLYR5UVaJkJs0c,4172
|
663
665
|
meutils/llm/completions/deep2x.py,sha256=Fo5cC1jXOFFXOZeRGk9IpCZVCQc8vgOizuYFuPaWujA,3746
|
@@ -792,7 +794,7 @@ meutils/schemas/fish_types.py,sha256=yC0ZFr3Ebh8F0OhtMsXYaIfNNvzOM2LT9YtKTaRoHGU
|
|
792
794
|
meutils/schemas/hailuo_types.py,sha256=lZ3Q07QNgxJvrX8JJvalxUsro4gGLOMQDusSEwV4EO0,7429
|
793
795
|
meutils/schemas/haimian_types.py,sha256=jGu484UviAeBgy5OIUyRY4uYCxXfv16zDPqiJQr9wNQ,1364
|
794
796
|
meutils/schemas/idphoto_types.py,sha256=nuHbpppejRSkJCiQ7YKx0Gnke0ShKZhOvdg0e7tk9-0,1074
|
795
|
-
meutils/schemas/image_types.py,sha256=
|
797
|
+
meutils/schemas/image_types.py,sha256=oZqmKkN22-AWxliCHuYKHT6FEnZm2f-9eChq8Zgf7mU,13873
|
796
798
|
meutils/schemas/jimeng_types.py,sha256=Uiqbtd4scpDHDTuXQaS8_6em8PrSnuQb_JkCQuBYkOM,1944
|
797
799
|
meutils/schemas/jina_types.py,sha256=SLRRBCap2B1uXnHF7Sgnlz1Work8HvdIltjj4oVlGTk,8826
|
798
800
|
meutils/schemas/kimi_types.py,sha256=PjCgHwCDNzKasn4X6rUzvOENqKYT3xj07cgp71IdsDA,3607
|
@@ -957,9 +959,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
|
|
957
959
|
meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
|
958
960
|
meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
|
959
961
|
meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
|
960
|
-
MeUtils-2025.5.
|
961
|
-
MeUtils-2025.5.
|
962
|
-
MeUtils-2025.5.
|
963
|
-
MeUtils-2025.5.
|
964
|
-
MeUtils-2025.5.
|
965
|
-
MeUtils-2025.5.
|
962
|
+
MeUtils-2025.5.8.13.7.42.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
963
|
+
MeUtils-2025.5.8.13.7.42.dist-info/METADATA,sha256=j8T00Anjp8oM4pP2T00seVYrOblW3bO4fbpofo2MgC4,32832
|
964
|
+
MeUtils-2025.5.8.13.7.42.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
965
|
+
MeUtils-2025.5.8.13.7.42.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
|
966
|
+
MeUtils-2025.5.8.13.7.42.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
|
967
|
+
MeUtils-2025.5.8.13.7.42.dist-info/RECORD,,
|
apps/x.py
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : x
|
5
|
+
# @Time : 2025/5/8 11:18
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
def jwt_token_decode(jwt_token):
|
17
|
+
# 提取 payload 部分
|
18
|
+
payload_part = jwt_token.split('.')[1]
|
19
|
+
|
20
|
+
# 对 payload 进行 Base64 解码
|
21
|
+
try:
|
22
|
+
# 尝试标准 Base64 解码
|
23
|
+
decoded_payload = base64.b64decode(payload_part + '==', validate=True).decode('utf-8')
|
24
|
+
except base64.binascii.Error:
|
25
|
+
# 尝试 URL 安全的 Base64 解码
|
26
|
+
decoded_payload = base64.urlsafe_b64decode(payload_part + '==').decode('utf-8')
|
27
|
+
|
28
|
+
# 解析 JSON 字符串
|
29
|
+
payload = json.loads(decoded_payload)
|
30
|
+
|
31
|
+
return payload
|
32
|
+
|
33
|
+
|
34
|
+
if __name__ == '__main__':
|
35
|
+
jwt_token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDg3Mzg4MTQsInVzZXIiOnsiaWQiOiIyMjkwODQ3NTA2MDEzODgwMzciLCJuYW1lIjoi5bCP6J665bi9ODAzNyIsImF2YXRhciI6Imh0dHBzOi8vY2RuLmhhaWx1b2FpLmNvbS9wcm9kL3VzZXJfYXZhdGFyLzE3MDYyNjc3MTEyODI3NzA4NzItMTczMTk0NTcwNjY4OTY1ODk2b3ZlcnNpemUucG5nIiwiZGV2aWNlSUQiOiIyNDM3MTMyNTI1NDU5ODY1NjIiLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.o0SoZMSTWkXNHxJjt3Ggby5MJWSfd-rnK_I95T_WMP8"
|
36
|
+
print(jwt_token_decode(jwt_token))
|
@@ -0,0 +1,464 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : videos
|
5
|
+
# @Time : 2024/10/21 20:17
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description : https://platform.minimaxi.com/document/video_generation?key=66d1439376e52fcee2853049
|
10
|
+
# https://useapi.net/docs/start-here/setup-minimax
|
11
|
+
# token 过期时间一个月: 看下free hailuo
|
12
|
+
# https://jwt.io/
|
13
|
+
|
14
|
+
# todo: check token
|
15
|
+
|
16
|
+
import oss2
|
17
|
+
|
18
|
+
from meutils.pipe import *
|
19
|
+
from meutils.hash_utils import md5
|
20
|
+
from meutils.io.files_utils import to_bytes
|
21
|
+
from meutils.jwt_utils import decode_jwt_token
|
22
|
+
from meutils.str_utils.json_utils import json_path
|
23
|
+
|
24
|
+
from meutils.schemas.image_types import ImageRequest, ImagesResponse
|
25
|
+
|
26
|
+
from meutils.schemas.hailuo_types import BASE_URL, FEISHU_URL
|
27
|
+
# from meutils.schemas.hailuo_types import BASE_URL_ABROAD as BASE_URL, FEISHU_URL_ABROAD as FEISHU_URL
|
28
|
+
from meutils.schemas.hailuo_types import BASE_URL_ABROAD
|
29
|
+
from meutils.schemas.hailuo_types import VideoRequest, VideoResponse
|
30
|
+
from meutils.llm.check_utils import check_tokens
|
31
|
+
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
32
|
+
from meutils.decorators.retry import retrying
|
33
|
+
from meutils.notice.feishu import send_message as _send_message, VIDEOS
|
34
|
+
|
35
|
+
from meutils.apis.hailuoai.yy import get_yy
|
36
|
+
|
37
|
+
send_message = partial(
|
38
|
+
_send_message,
|
39
|
+
title=__name__,
|
40
|
+
url=VIDEOS
|
41
|
+
)
|
42
|
+
|
43
|
+
MODEL_MAPPING = {
|
44
|
+
# video-01 video-01 video-01-live2d S2V-01
|
45
|
+
|
46
|
+
"t2v-01": "23000", # 23010
|
47
|
+
"t2v-01-director": "23010",
|
48
|
+
|
49
|
+
"i2v-01": "23001",
|
50
|
+
"i2v-01-live": "23011",
|
51
|
+
"video-01-live2d": "23011",
|
52
|
+
"s2v-01": "23021",
|
53
|
+
}
|
54
|
+
|
55
|
+
|
56
|
+
def get_base_url(token):
|
57
|
+
data = decode_jwt_token(token)
|
58
|
+
if "小螺帽" not in str(data):
|
59
|
+
logger.debug(data)
|
60
|
+
|
61
|
+
return BASE_URL_ABROAD
|
62
|
+
else:
|
63
|
+
return BASE_URL
|
64
|
+
|
65
|
+
|
66
|
+
# minimax_video-01,minimax_video-01-live2d,,minimax_t2v-01,minimax_i2v-01,minimax_i2v-01-live,minimax_s2v-01
|
67
|
+
|
68
|
+
|
69
|
+
async def upload(file: bytes, token: str):
|
70
|
+
data = await get_request_policy(token)
|
71
|
+
|
72
|
+
access_key_id = data["accessKeyId"]
|
73
|
+
access_key_secret = data["accessKeySecret"]
|
74
|
+
security_token = data["securityToken"]
|
75
|
+
bucket_name = data["bucketName"]
|
76
|
+
endpoint = data["endpoint"]
|
77
|
+
dir = data["dir"]
|
78
|
+
|
79
|
+
# 创建OSS客户端 with timer():
|
80
|
+
# arun(hailuo_upload(file))
|
81
|
+
auth = oss2.StsAuth(access_key_id, access_key_secret, security_token)
|
82
|
+
bucket = oss2.Bucket(auth, endpoint, bucket_name)
|
83
|
+
|
84
|
+
# file
|
85
|
+
size = len(file)
|
86
|
+
|
87
|
+
# 要上传的文件路径和文件名
|
88
|
+
mimeType = "png"
|
89
|
+
filename = f"{uuid.uuid4()}.{mimeType}"
|
90
|
+
object_name = f"{dir}/{filename}" # png写死
|
91
|
+
bucket.put_object(object_name, file)
|
92
|
+
|
93
|
+
params = {}
|
94
|
+
payload = {
|
95
|
+
"originFileName": "_.png",
|
96
|
+
# "originFileName": "503af3b5-9c3b-4bdc-a6d4-256debce3dd5_00001_.png",
|
97
|
+
|
98
|
+
"filename": filename,
|
99
|
+
# "fileName": "db884a7c-99a4-40f5-929e-db8769dbf64a.png",
|
100
|
+
|
101
|
+
"dir": dir,
|
102
|
+
"endpoint": "oss-cn-wulanchabu.aliyuncs.com",
|
103
|
+
"bucketName": "minimax-public-cdn",
|
104
|
+
"size": f"{size}",
|
105
|
+
"mimeType": mimeType,
|
106
|
+
"fileMd5": md5(file),
|
107
|
+
"fileScene": 10
|
108
|
+
}
|
109
|
+
headers = {
|
110
|
+
'token': token
|
111
|
+
}
|
112
|
+
logger.debug(headers)
|
113
|
+
|
114
|
+
BASE_URL = get_base_url(token)
|
115
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=120) as client:
|
116
|
+
response = await client.post("/v1/api/files/policy_callback", params=params, json=payload)
|
117
|
+
response.raise_for_status()
|
118
|
+
data = response.json()
|
119
|
+
logger.debug(bjson(data))
|
120
|
+
return data
|
121
|
+
|
122
|
+
# {'data': {'fileID': '307139766909288449',
|
123
|
+
# 'ossPath': 'https://cdn.hailuoai.com/prod/2024-10-28-10/user/multi_chat_file/c9d8fc64-d9bf-42c0-8779-f39973579fca.png?image_process=resize,fw_320/format,webp'},
|
124
|
+
# 'statusInfo': {'code': 0,
|
125
|
+
# 'debugInfo': '',
|
126
|
+
# 'httpCode': 0,
|
127
|
+
# 'message': '成功',
|
128
|
+
# 'requestID': '33a42a75-15e5-4d4e-b425-eeefc4d3f374',
|
129
|
+
# 'serverAlert': 0,
|
130
|
+
# 'serviceTime': 1730083971}}
|
131
|
+
|
132
|
+
|
133
|
+
@alru_cache(ttl=1 * 24 * 60 * 60)
|
134
|
+
@retrying()
|
135
|
+
async def get_access_token(token: str):
|
136
|
+
BASE_URL = get_base_url(token)
|
137
|
+
logger.debug(BASE_URL)
|
138
|
+
|
139
|
+
logger.debug(f"get_access_token:{token}")
|
140
|
+
|
141
|
+
params = {
|
142
|
+
'device_platform': 'web',
|
143
|
+
'app_id': '3001',
|
144
|
+
'version_code': '22201',
|
145
|
+
'uuid': '8c059369-00bf-4777-a426-d9c9b7984ee6',
|
146
|
+
'device_id': '243713252545986562',
|
147
|
+
'os_name': 'Mac',
|
148
|
+
'browser_name': 'chrome',
|
149
|
+
'device_memory': '8',
|
150
|
+
'cpu_core_num': '10',
|
151
|
+
'browser_language': 'zh-CN',
|
152
|
+
'browser_platform': 'MacIntel',
|
153
|
+
'screen_width': '1920',
|
154
|
+
'screen_height': '1080',
|
155
|
+
'unix': f'{int(time.time())}000'
|
156
|
+
}
|
157
|
+
payload = {}
|
158
|
+
headers = {
|
159
|
+
'Content-Type': 'application/json',
|
160
|
+
'token': token,
|
161
|
+
'yy': get_yy(payload, params=params, url="/v1/api/user/renewal")
|
162
|
+
}
|
163
|
+
|
164
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60) as client:
|
165
|
+
response = await client.post("/v1/api/user/renewal", params=params, content=json.dumps(payload))
|
166
|
+
response.raise_for_status()
|
167
|
+
logger.debug(response.json())
|
168
|
+
return response.json()['data']['token']
|
169
|
+
|
170
|
+
|
171
|
+
@alru_cache(ttl=1 * 60)
|
172
|
+
async def get_request_policy(token):
|
173
|
+
"""
|
174
|
+
{
|
175
|
+
"data": {
|
176
|
+
"accessKeyId": "STS.NUVNbdQfqTNixCxUTAhdeJToq",
|
177
|
+
"accessKeySecret": "DRBsh8Qm8VnXXxTwFMX5KkXVoqbbsPj4ewEfgTLysGvM",
|
178
|
+
"securityToken": "CAISiwN1q6Ft5B2yfSjIr5bjBdjQvLlQ44yCemXJsVQUZOtJpZHEkzz2IHhMf3VpAusWsPw1n2tT6/sdlrBoS4JMREPJN5EhtsQLrl75PdKY4Jzltedb0EIf6JFQUUyV5tTbRsmkZj+0GJ70GUem+wZ3xbzlD2vAO3WuLZyOj7N+c90TRXPWRDFaBdBQVH0AzcgBLinpKOqKOBzniXayaU1zoVhYiHhj0a2l3tbmvHi4tlDhzfIPrIncO4Wta9IWXK1ySNCoxud7BOCjmCdb8EpN77wkzv4GqzLGuNCYCkkU+wiMN+vft9ZjKkg7RNBjSvMa8aWlzKYn57OCyt2v8XsXY7EJCRa4bZu73c7JFNmuMtsEbrvhMxzPqIvXbsKp6lh/MSxDblgRIId8dWURExUpTSrBIaOh6M4Bo5NbzHzuOsgSpnkVpz2AlbLiT9M/1aieRiRTcymwO/ayjeq6CeAF3mM8Mm0qPRouTM2+Zo5YD3N1opjTpiapdUYLox8awbuQLp25tMiF6FiLDvouuRqAAQJZHVcOeb5qnR6mkzw5hwzSOXoMXVFzDE2aB7dvRYFD9HiG6T66hE4Xlfpph9H7xWrpaBf5vqHQXp4gyuqVOgFIjdPECwisXlyAKQWMak7bGToh3cetCux3pjq74sP/KAjzSzDkwciJBbn8vZzNKKR/ozxqve925vtPPPWGPowwIAA=",
|
179
|
+
"expiration": "2024-10-22T02:55:14Z",
|
180
|
+
"dir": "cdn-yingshi-ai-com/prod/2024-10-22-09/user/multi_chat_file",
|
181
|
+
"endpoint": "oss-cn-wulanchabu.aliyuncs.com",
|
182
|
+
"bucketName": "minimax-public-cdn",
|
183
|
+
"serverTime": "2024-10-22T02:10:07Z"
|
184
|
+
}
|
185
|
+
}
|
186
|
+
"""
|
187
|
+
token = await get_access_token(token)
|
188
|
+
|
189
|
+
headers = {
|
190
|
+
'token': token,
|
191
|
+
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
|
192
|
+
}
|
193
|
+
|
194
|
+
logger.debug(headers)
|
195
|
+
|
196
|
+
BASE_URL = get_base_url(token)
|
197
|
+
|
198
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60) as client:
|
199
|
+
response = await client.get("/v1/api/files/request_policy")
|
200
|
+
response.raise_for_status()
|
201
|
+
return response.json()['data']
|
202
|
+
# return {'accessKeyId': 'STS.NTjAXdazuDwvBugixueiNTwvW',
|
203
|
+
# 'accessKeySecret': '4Uj1cuUQt2Xxnr21Yv41CUfGjnH8wBM3SB2Hn9sNrdDS',
|
204
|
+
# 'bucketName': 'hailuo-video',
|
205
|
+
# 'dir': 'moss/prod/2024-11-08-18/user/multi_chat_file',
|
206
|
+
# 'endpoint': 'oss-us-east-1.aliyuncs.com',
|
207
|
+
# 'expiration': '2024-11-08T11:38:31Z',
|
208
|
+
# 'securityToken': 'CAISjwN1q6Ft5B2yfSjIr5ffCuLQjKVU87WdQFPWjXggaeZiu7LdtTz2IHhMe3lrB+kZsvo0lGFR5vcelrBoS4JMREPJNpMvv8UGq1LxMtKZ45PtseRZ0Fx+t9xLUUyV5tTbRsmkZsW/E67fejKpvyt3xqSAK1fGdle5MJqPpId6Z9AMJGeRZiZHA9EkUGkHr9QBZ0PMKdGnMBPhngi1C1Fz6C59kn9H4L6j2bfMiHzkgUb91/UeqqnoP5GgdLMMBppkVMqv1+EEAsiz2SVLuR9R7/U03u4W+T7GusyaRkdQ7xiBdKj2ioAzcFQhP/JmRfUe86Ghy6JC17aNx9Sn+XFkJvpIVinTfoekzfbfFfmhXtRDLu6jZCSWjInQaseu41J9MSNHLnNDY9tkMWNrTBs3UXTaI66j5VePfAavRq+VN3TYejPRcjQClPr9xDjnK93xuU5wsa8t6v7tUjA8KaFMoG7n3kGenWkdc5K/Z6udEt4wZ+3GM2OsuFNOQI8ZwZ+aRbfi3op7DyGXmSCG59Z1DPwagAF6Ybpx1FU5RRhp1G6yFZrwSz1uWkDL+5K5SYiq9g758m0ElogR5mgmkISgo2qy8/2br2XEA4eyRt5iIHSVX+lLrE2DIv4Cd65nZSQWX8G+av0D5qxCmspJEz3+VL4kdSxT42GuFpu9jhUtWLAX4K/5laoNyKR5LJHtZR3/pteBSCAA',
|
209
|
+
# 'serverTime': '2024-11-08T10:38:31Z'}
|
210
|
+
|
211
|
+
|
212
|
+
@retrying(predicate=lambda r: r.base_resp.status_code in {1000061, 1500009}) # 限流
|
213
|
+
async def create_task(request: ImageRequest, token: Optional[str] = None):
|
214
|
+
BASE_URL = get_base_url(token)
|
215
|
+
|
216
|
+
refresh_token = token or await get_next_token_for_polling(FEISHU_URL, from_redis=True, check_token=check_token)
|
217
|
+
# refresh_token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDA0NzA4NzgsInVzZXIiOnsiaWQiOiIzMjg2MDg4ODkzNTA4MTU3NDQiLCJuYW1lIjoiUm9idXN0IEdlcnRydWRlIiwiYXZhdGFyIjoiaHR0cHM6Ly9jZG4uaGFpbHVvYWkudmlkZW8vbW9zcy9wcm9kLzIwMjQtMTItMjgtMTYvdXNlci91c2VyX2F2YXRhci8xNzM1Mzc1OTI0OTkyMTcxMDY3LWF2YXRhcl8zMjg2MDg4ODkzNTA4MTU3NDQiLCJkZXZpY2VJRCI6IjMwMjgzMzc1OTUxMjc2NDQxNyIsImlzQW5vbnltb3VzIjpmYWxzZX19.dLNBSHjqnKutGl3ralS2g8A-RodHjOdos11vdpbkPwc"
|
218
|
+
|
219
|
+
# token = await get_access_token(refresh_token) ##########
|
220
|
+
|
221
|
+
payload = {
|
222
|
+
"desc": request.prompt,
|
223
|
+
"useOriginPrompt": False,
|
224
|
+
"fileList": [],
|
225
|
+
"modelID": request.model.removeprefix("hailuo-"), # hailuo- "image-01"
|
226
|
+
"quantity": f"{request.n}",
|
227
|
+
"aspectRatio": request.aspect_ratio or "1:1",
|
228
|
+
}
|
229
|
+
|
230
|
+
if request.prompt.startswith("http"):
|
231
|
+
url = request.prompt.split(maxsplit=1)[0]
|
232
|
+
|
233
|
+
data = await upload(await to_bytes(url), token=refresh_token)
|
234
|
+
|
235
|
+
file_data = {
|
236
|
+
"id": data['data']['fileID'],
|
237
|
+
"name": "_.png",
|
238
|
+
"type": "png",
|
239
|
+
"url": data['data']['ossPath'],
|
240
|
+
|
241
|
+
# "characterID": "334024935389642756"
|
242
|
+
|
243
|
+
}
|
244
|
+
|
245
|
+
payload["fileList"].append(file_data)
|
246
|
+
payload['desc'] = request.prompt.replace(url, " ")
|
247
|
+
|
248
|
+
logger.debug(bjson(payload))
|
249
|
+
|
250
|
+
params = {
|
251
|
+
'device_platform': 'web',
|
252
|
+
'app_id': '3001',
|
253
|
+
'version_code': '22202',
|
254
|
+
'biz_id': '0',
|
255
|
+
'uuid': '8c059369-00bf-4777-a426-d9c9b7984ee6',
|
256
|
+
'device_id': '243713252545986562',
|
257
|
+
'os_name': 'Mac',
|
258
|
+
'browser_name': 'chrome',
|
259
|
+
'device_memory': '8',
|
260
|
+
'cpu_core_num': '10',
|
261
|
+
'browser_language': 'zh-CN',
|
262
|
+
'browser_platform': 'MacIntel',
|
263
|
+
'screen_width': '1920',
|
264
|
+
'screen_height': '1080',
|
265
|
+
'unix': f'{int(time.time())}000'
|
266
|
+
}
|
267
|
+
|
268
|
+
path = "/v1/api/multimodal/generate/image"
|
269
|
+
headers = {
|
270
|
+
'Content-Type': 'application/json',
|
271
|
+
'token': token,
|
272
|
+
'yy': get_yy(payload, params, url=path),
|
273
|
+
}
|
274
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60) as client:
|
275
|
+
response = await client.post(path, params=params, content=json.dumps(payload))
|
276
|
+
response.raise_for_status()
|
277
|
+
|
278
|
+
data = response.json()
|
279
|
+
|
280
|
+
logger.debug(bjson(data))
|
281
|
+
|
282
|
+
task_id = (data.get('data') or {}).get('id', '')
|
283
|
+
response = VideoResponse(
|
284
|
+
task_id=f"hailuoai-{task_id}",
|
285
|
+
base_resp=data.get('statusInfo', {}),
|
286
|
+
system_fingerprint=refresh_token
|
287
|
+
)
|
288
|
+
if response.base_resp.status_code != 0: # 451
|
289
|
+
from fastapi import HTTPException, status
|
290
|
+
raise HTTPException(status_code=status.HTTP_451_UNAVAILABLE_FOR_LEGAL_REASONS,
|
291
|
+
detail=response.base_resp)
|
292
|
+
|
293
|
+
return response
|
294
|
+
# {
|
295
|
+
# "statusInfo": {
|
296
|
+
# "code": 1000061,
|
297
|
+
# "httpCode": 0,
|
298
|
+
# "message": "上一个视频任务未完成,请稍后再试",
|
299
|
+
# "serviceTime": 1729512914,
|
300
|
+
# "requestID": "82bc8c60-4dc3-4ad0-b5b6-b1836e0c88ab",
|
301
|
+
# "debugInfo": "",
|
302
|
+
# "serverAlert": 0
|
303
|
+
# }
|
304
|
+
# }
|
305
|
+
|
306
|
+
# {
|
307
|
+
# "data": {
|
308
|
+
# "id": "304746220940677121"
|
309
|
+
# },
|
310
|
+
# "statusInfo": {
|
311
|
+
# "code": 0,
|
312
|
+
# "httpCode": 0,
|
313
|
+
# "message": "成功",
|
314
|
+
# "serviceTime": 1729513305,
|
315
|
+
# "requestID": "caaf2364-d2ed-45df-b79a-827810a5d58c",
|
316
|
+
# "debugInfo": "",
|
317
|
+
# "serverAlert": 0
|
318
|
+
# }
|
319
|
+
# }
|
320
|
+
|
321
|
+
|
322
|
+
# 307134660730421250
|
323
|
+
async def get_task(task_id: str, token: str):
|
324
|
+
BASE_URL = get_base_url(token)
|
325
|
+
|
326
|
+
task_id = task_id.rsplit('-', 1)[-1]
|
327
|
+
|
328
|
+
params = {
|
329
|
+
'device_platform': 'web',
|
330
|
+
'app_id': '3001',
|
331
|
+
'version_code': '22202',
|
332
|
+
'biz_id': '0',
|
333
|
+
'uuid': '8c059369-00bf-4777-a426-d9c9b7984ee6',
|
334
|
+
'device_id': '243713252545986562',
|
335
|
+
'os_name': 'Mac',
|
336
|
+
'browser_name': 'chrome',
|
337
|
+
'device_memory': '8',
|
338
|
+
'cpu_core_num': '10',
|
339
|
+
'browser_language': 'zh-CN',
|
340
|
+
'browser_platform': 'MacIntel',
|
341
|
+
'screen_width': '1920',
|
342
|
+
'screen_height': '1080',
|
343
|
+
'unix': f'{int(time.time())}000',
|
344
|
+
}
|
345
|
+
|
346
|
+
payload = {
|
347
|
+
"batchInfoList": [{"batchID": task_id, "batchType": 1}]
|
348
|
+
}
|
349
|
+
|
350
|
+
path = "/v4/api/multimodal/video/processing"
|
351
|
+
# path = "/api/multimodal/video/processing"
|
352
|
+
|
353
|
+
headers = {
|
354
|
+
'Content-Type': 'application/json',
|
355
|
+
'token': token,
|
356
|
+
'yy': get_yy(payload, params, url=path),
|
357
|
+
}
|
358
|
+
|
359
|
+
logger.debug(headers['yy'])
|
360
|
+
|
361
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60) as client:
|
362
|
+
response = await client.post("/v4/api/multimodal/video/processing", params=params, content=json.dumps(payload))
|
363
|
+
response.raise_for_status()
|
364
|
+
data = response.json()
|
365
|
+
|
366
|
+
logger.debug(bjson(data))
|
367
|
+
|
368
|
+
urls = json_path(data, "$..downloadURL") or []
|
369
|
+
|
370
|
+
return urls
|
371
|
+
|
372
|
+
|
373
|
+
@alru_cache(ttl=3600)
|
374
|
+
async def check_token(token, threshold: int = 30, **kwargs):
|
375
|
+
BASE_URL = get_base_url(token)
|
376
|
+
|
377
|
+
if not isinstance(token, str):
|
378
|
+
return await check_tokens(token, check_token)
|
379
|
+
|
380
|
+
try:
|
381
|
+
token = await get_access_token(token)
|
382
|
+
headers = {
|
383
|
+
"token": token
|
384
|
+
}
|
385
|
+
params = {}
|
386
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60) as client:
|
387
|
+
response = await client.get("/v1/api/user/equity", params=params)
|
388
|
+
response.raise_for_status()
|
389
|
+
data = response.json()
|
390
|
+
|
391
|
+
logger.debug(bjson(data))
|
392
|
+
|
393
|
+
return "Unlimited" in str(data) or "高级会员" in str(data) # Unlimited
|
394
|
+
except Exception as e:
|
395
|
+
logger.error(e)
|
396
|
+
logger.debug(token)
|
397
|
+
return False
|
398
|
+
|
399
|
+
|
400
|
+
if __name__ == '__main__': # 304752356930580482
|
401
|
+
vip = True
|
402
|
+
# vip = False
|
403
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzI5NzAyMjIsInVzZXIiOnsiaWQiOiIyNDM3MTMyNTI3OTc2NDA3MDgiLCJuYW1lIjoi5bCP6J665bi9NzA4IiwiYXZhdGFyIjoiaHR0cHM6Ly9jZG4ueWluZ3NoaS1haS5jb20vcHJvZC91c2VyX2F2YXRhci8xNzA2MjY3MzY0MTY0NDA0MDc3LTE3MzE5NDU3MDY2ODk2NTg5Nm92ZXJzaXplLnBuZyIsImRldmljZUlEIjoiMjQzNzEzMjUyNTQ1OTg2NTYyIiwiaXNBbm9ueW1vdXMiOnRydWV9fQ.X3KW00hAhSMk1c7DrXWYR27BROHNbfSiHD7Y-aweA6o"
|
404
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzM1NjMzNTIsInVzZXIiOnsiaWQiOiIyMjkwODQ3NTA2MDEzODgwMzciLCJuYW1lIjoi5bCP6J665bi9ODAzNyIsImF2YXRhciI6Imh0dHBzOi8vY2RuLnlpbmdzaGktYWkuY29tL3Byb2QvdXNlcl9hdmF0YXIvMTcwNjI2NzcxMTI4Mjc3MDg3Mi0xNzMxOTQ1NzA2Njg5NjU4OTZvdmVyc2l6ZS5wbmciLCJkZXZpY2VJRCI6IjMwNzIzNzc4MjU1NjE0NzcxMyIsImlzQW5vbnltb3VzIjpmYWxzZX19.MzZA9tW0YG2WFRWSkdD6bpEQt_0I-uIrxPJjxisKRNk"
|
405
|
+
# 海外
|
406
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzM4MDQwOTksInVzZXIiOnsiaWQiOiIzMDc5OTkyOTg5MDAwNzA0MDUiLCJuYW1lIjoiRGF2aWQgUGhpbGxpcHMiLCJhdmF0YXIiOiIiLCJkZXZpY2VJRCI6IiJ9fQ.wmmDC7XBmmlQvcPM5TpdGVQDQDIkMpF9nkYBSB7UBWw"
|
407
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzM1NjQ5NDYsInVzZXIiOnsiaWQiOiIzMDQ3NjQzOTU5NDEwOTMzNzYiLCJuYW1lIjoiTWFyaWEiLCJhdmF0YXIiOiIiLCJkZXZpY2VJRCI6IiJ9fQ.QYLSWMj85hB43blHcrfSNBYJ2v_gFmQO9DmIYC5sVuQ"
|
408
|
+
|
409
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzM1NDgxMzUsInVzZXIiOnsiaWQiOiIzMDI4MzM4Njc3NzE5NDkwNTgiLCJuYW1lIjoibWUgYmV0dGVyIiwiYXZhdGFyIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSWdTU0NoczFENHNUajFTVGs3UHNUbTd5NTNKRFg5OW84QnhwWmNWNjU2MEFKYlJnPXM5Ni1jIiwiZGV2aWNlSUQiOiIifX0.b8lAlOd961nVrJunpW9tRAEETe6VwlEXvf7y2faNCeY"
|
410
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzM0MDY1MzUsInVzZXIiOnsiaWQiOiIzMDI4MzM4Njc3NzE5NDkwNTgiLCJuYW1lIjoibWUgYmV0dGVyIiwiYXZhdGFyIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jSWdTU0NoczFENHNUajFTVGs3UHNUbTd5NTNKRFg5OW84QnhwWmNWNjU2MEFKYlJnPXM5Ni1jIiwiZGV2aWNlSUQiOiIifX0.mcozMacSciz0MORdleOMS_uhrixhIlpQmFmUwvn81I4"
|
411
|
+
# arun(get_access_token(token, vip=vip))
|
412
|
+
# arun(get_request_policy(token, vip=vip))
|
413
|
+
# arun(get_access_token(vip=False))
|
414
|
+
|
415
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzM4MDQwOTksInVzZXIiOnsiaWQiOiIzMDc5OTkyOTg5MDAwNzA0MDUiLCJuYW1lIjoiRGF2aWQgUGhpbGxpcHMiLCJhdmF0YXIiOiIiLCJkZXZpY2VJRCI6IiJ9fQ.wmmDC7XBmmlQvcPM5TpdGVQDQDIkMpF9nkYBSB7UBWw"
|
416
|
+
|
417
|
+
# p = "/Users/betterme/PycharmProjects/AI/MeUtils/meutils/data/cowboy-hat-face.webp"
|
418
|
+
# arun(upload(Path(p).read_bytes(), token=token, vip=vip))
|
419
|
+
# arun(upload(Path(p).read_bytes(), vip=False))
|
420
|
+
# access_token = arun(get_access_token())
|
421
|
+
# arun(upload(Path("img.png").read_bytes(), token=access_token))
|
422
|
+
# arun(upload(Path("img.png").read_bytes(), token=access_token))
|
423
|
+
|
424
|
+
# arun(get_task(task_id="307137575113703427", token=token)) # 307173162217783304
|
425
|
+
# arun(get_task(task_id="307148849188945924", token=token))
|
426
|
+
|
427
|
+
# arun(get_task(task_id="307267574751313927", token=token))
|
428
|
+
|
429
|
+
# arun(get_task(task_id="307177115102699528", token=token))
|
430
|
+
|
431
|
+
token = None
|
432
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDQ3MDMwNzIsInVzZXIiOnsiaWQiOiIzMDI4MzM4Njc3NzE5NDkwNTgiLCJuYW1lIjoibWUgYmV0dGVyIiwiYXZhdGFyIjoiIiwiZGV2aWNlSUQiOiIzMDI4MzM3NTk1MTI3NjQ0MTciLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.Mjb64ZjkKyV9pj-_bXyLczU6kU729VLaKbYj9NmrK-4"
|
433
|
+
token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NDg3Mzg4MTQsInVzZXIiOnsiaWQiOiIyMjkwODQ3NTA2MDEzODgwMzciLCJuYW1lIjoi5bCP6J665bi9ODAzNyIsImF2YXRhciI6Imh0dHBzOi8vY2RuLmhhaWx1b2FpLmNvbS9wcm9kL3VzZXJfYXZhdGFyLzE3MDYyNjc3MTEyODI3NzA4NzItMTczMTk0NTcwNjY4OTY1ODk2b3ZlcnNpemUucG5nIiwiZGV2aWNlSUQiOiIyNDM3MTMyNTI1NDU5ODY1NjIiLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.o0SoZMSTWkXNHxJjt3Ggby5MJWSfd-rnK_I95T_WMP8"
|
434
|
+
request = ImageRequest(
|
435
|
+
model="hailuo-image-01",
|
436
|
+
|
437
|
+
# prompt="a cat", # 307145017365086216
|
438
|
+
prompt="https://oss.ffire.cc/files/kling_watermark.png 哭起来",
|
439
|
+
# first_frame_image="https://oss.ffire.cc/files/kling_watermark.png" # 307173162217783304
|
440
|
+
)
|
441
|
+
|
442
|
+
r = arun(create_task(request, token=token))
|
443
|
+
# arun(get_task(task_id=r.task_id, token=r.system_fingerprint))
|
444
|
+
|
445
|
+
# arun(get_access_token(token))
|
446
|
+
#
|
447
|
+
#
|
448
|
+
# data = {
|
449
|
+
# "model": "video-01",
|
450
|
+
# "prompt": "画面中两个人非常缓慢地拥抱在一起",
|
451
|
+
# "prompt_optimizer": True,
|
452
|
+
# # "first_frame_image": "https://hg-face-domestic-hz.oss-cn-hangzhou.aliyuncs.com/avatarapp/ai-cache/54883340-954c-11ef-8920-db8e7bfa3fdf.jpeg"
|
453
|
+
# }
|
454
|
+
# request = VideoRequest(**data)
|
455
|
+
# r = arun(create_task(request, vip=vip))
|
456
|
+
# arun(get_task(task_id=r.task_id, token=r.system_fingerprint))
|
457
|
+
|
458
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3Mzg0Njk5MTUsInVzZXIiOnsiaWQiOiIzMjY0MzI4MjI3OTYxMzY0NTYiLCJuYW1lIjoiRGVib3JhaCBNaWxsZXIiLCJhdmF0YXIiOiIiLCJkZXZpY2VJRCI6IjMxMzMxNTk1MzEwMDQxMDg4NyIsImlzQW5vbnltb3VzIjpmYWxzZX19.ZnpAgRPwtc4JZ2B0PbEfgMU_I4_YRtifzNRVHa5g90U"
|
459
|
+
|
460
|
+
# arun(get_task("hailuoai-307495165395488768", token=token))
|
461
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzUwMTc3ODAsInVzZXIiOnsiaWQiOiIzMTEyOTUzMTkzMjc1NzYwNjQiLCJuYW1lIjoiVUdIUiBKVkJYIiwiYXZhdGFyIjoiaHR0cHM6Ly9saDMuZ29vZ2xldXNlcmNvbnRlbnQuY29tL2EvQUNnOG9jS3RuR2NjdGZsWV9fR2tiQ1MzdnhzSXdWSEFUX0ZmMFdyb3RvMnN4bFdWZW1KMm53PXM5Ni1jIiwiZGV2aWNlSUQiOiIzMTMzMTU5NTMxMDA0MTA4ODciLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.cyZifq4FQl46P5_acTNT04qu2GVDDeSBbwjw3J1vWPo"
|
462
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzUwMzQ1MjcsInVzZXIiOnsiaWQiOiIzMTMzODk5MjA0NjA5MzkyNjgiLCJuYW1lIjoiY2l4ZiB4YmNnIiwiYXZhdGFyIjoiIiwiZGV2aWNlSUQiOiIzMTM0MDgyMjg0NTEwOTg2MjYiLCJpc0Fub255bW91cyI6ZmFsc2V9fQ.eOtAUe3MmarOGNk64j0bfaLNBZ4yxkqwIi1tUhOFD5c"
|
463
|
+
# token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NTAxMjg4NTIsInVzZXIiOnsiaWQiOiIzNzQwMTM3NzUyNzg4ODY5MTciLCJuYW1lIjoiTmFodWVsIE1vbGluYSIsImF2YXRhciI6IiIsImRldmljZUlEIjoiMzEzMzc0MTIyMjEyMjc4MjczIiwiaXNBbm9ueW1vdXMiOmZhbHNlfX0.uxTtDTcPT07piVA-x3N2ms2VrRN3JwcU99g_HJLwqLE"
|
464
|
+
# arun(check_token(token))
|