MeUtils 2025.7.7.18.15.57__py3-none-any.whl → 2025.7.15.17.2.8__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.7.7.18.15.57.dist-info → MeUtils-2025.7.15.17.2.8.dist-info}/METADATA +264 -263
- {MeUtils-2025.7.7.18.15.57.dist-info → MeUtils-2025.7.15.17.2.8.dist-info}/RECORD +37 -28
- examples/_openaisdk/openai_audio_asr.py +43 -0
- examples/_openaisdk/openai_edits.py +34 -8
- examples/_openaisdk/openai_gitee.py +17 -11
- examples/_openaisdk/openai_google_image.py +42 -43
- examples/_openaisdk/openai_modelscope.py +73 -1
- examples/_openaisdk/openai_moon.py +12 -11
- meutils/ai_audio/tin.py +68 -0
- meutils/ai_audio/xx.py +14 -0
- meutils/apis/audio/elevenlabs.py +49 -0
- meutils/apis/audio/gitee.py +51 -0
- meutils/apis/gitee/edits.py +48 -0
- meutils/apis/gitee/images/kolors.py +1 -1
- meutils/apis/images/edits.py +1 -1
- meutils/apis/images/lora.py +67 -0
- meutils/apis/images/recraft.py +3 -3
- meutils/apis/models.py +25 -0
- meutils/apis/oneapi/channel.py +9 -6
- meutils/apis/oneapi/tasks.py +89 -0
- meutils/apis/oneapi/user.py +1 -1
- meutils/apis/ppio/videos.py +2 -2
- meutils/apis/utils.py +109 -12
- meutils/data/VERSION +1 -1
- meutils/io/files_utils.py +38 -2
- meutils/llm/check_utils.py +36 -2
- meutils/llm/completions/qwenllm.py +33 -6
- meutils/llm/openai_polling/chat.py +1 -1
- meutils/llm/openai_utils/billing_utils.py +11 -7
- meutils/llm/openai_utils/common.py +3 -3
- meutils/oss/{ali.py → ali_oss.py} +21 -9
- meutils/schemas/oneapi/common.py +81 -46
- meutils/schemas/openai_types.py +8 -3
- {MeUtils-2025.7.7.18.15.57.dist-info → MeUtils-2025.7.15.17.2.8.dist-info}/LICENSE +0 -0
- {MeUtils-2025.7.7.18.15.57.dist-info → MeUtils-2025.7.15.17.2.8.dist-info}/WHEEL +0 -0
- {MeUtils-2025.7.7.18.15.57.dist-info → MeUtils-2025.7.15.17.2.8.dist-info}/entry_points.txt +0 -0
- {MeUtils-2025.7.7.18.15.57.dist-info → MeUtils-2025.7.15.17.2.8.dist-info}/top_level.txt +0 -0
meutils/ai_audio/tin.py
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : tin
|
5
|
+
# @Time : 2025/7/8 13:09
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
from tinytag import TinyTag
|
13
|
+
import requests
|
14
|
+
from io import BytesIO
|
15
|
+
|
16
|
+
url = "https://lmdbk.com/5.mp4"
|
17
|
+
# url = "https://ark-content-generation-cn-beijing.tos-cn-beijing.volces.com/doubao-seedance-1-0-pro/02175195186682100000000000000000000ffffac15f035b51e5d.mp4?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Credential=AKLTYjg3ZjNlOGM0YzQyNGE1MmI2MDFiOTM3Y2IwMTY3OTE%2F20250708%2Fcn-beijing%2Ftos%2Frequest&X-Tos-Date=20250708T051814Z&X-Tos-Expires=86400&X-Tos-Signature=7c8be9f1694e7a437bd7263ad7ddee42c642de190c1919f0bd776e6416cb1772&X-Tos-SignedHeaders=host"
|
18
|
+
# 下载文件到内存
|
19
|
+
headers = {
|
20
|
+
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
|
21
|
+
'Range': 'bytes=0-8191' # 请求文件的前 8192 字节 (8KB),通常足够了
|
22
|
+
}
|
23
|
+
|
24
|
+
|
25
|
+
# # 发起流式请求,只获取部分内容
|
26
|
+
# response = requests.get(url, headers=headers, stream=False, timeout=10)
|
27
|
+
# response.raise_for_status() # 如果请求失败 (如 404), 会抛出异常
|
28
|
+
# # 读取响应的前 8KB 内容
|
29
|
+
# video_data = response.content
|
30
|
+
#
|
31
|
+
# len(response.content)
|
32
|
+
#
|
33
|
+
#
|
34
|
+
#
|
35
|
+
#
|
36
|
+
# response = requests.get(url, stream=True)
|
37
|
+
# audio_data = BytesIO(response.content)
|
38
|
+
|
39
|
+
# 解析时长
|
40
|
+
# tag = TinyTag.get(filename='.mp4', file_obj=audio_data)
|
41
|
+
# duration = tag.duration # 单位:秒
|
42
|
+
# print(f"音频时长:{duration:.2f}秒")
|
43
|
+
|
44
|
+
# filename = "/Users/betterme/PycharmProjects/AI/MeUtils/meutils/ai_audio/y5-1YTGpun17eSeggZMzX_video-1733468228.mp4"
|
45
|
+
#
|
46
|
+
# # 解析时长
|
47
|
+
# tag = TinyTag.get(filename)
|
48
|
+
# duration = tag.duration # 单位:秒
|
49
|
+
# print(f"音频时长:{duration:.2f}秒")
|
50
|
+
|
51
|
+
#
|
52
|
+
async def get_duration(url, filename: str = ".mp4"):
|
53
|
+
# Path(url.split('?')[0]).name
|
54
|
+
headers = {
|
55
|
+
"Range": "bytes=0-8191"
|
56
|
+
}
|
57
|
+
async with httpx.AsyncClient(headers=headers, timeout=100) as client:
|
58
|
+
response = await client.get(url=url)
|
59
|
+
response.raise_for_status()
|
60
|
+
|
61
|
+
chunk = io.BytesIO(response.content)
|
62
|
+
tag = TinyTag.get(filename=filename, file_obj=chunk, ignore_errors=False)
|
63
|
+
return np.ceil(tag.duration or 10)
|
64
|
+
|
65
|
+
|
66
|
+
if __name__ == '__main__':
|
67
|
+
with timer():
|
68
|
+
arun(get_duration(url))
|
meutils/ai_audio/xx.py
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
import cv2
|
2
|
+
|
3
|
+
|
4
|
+
def get_video_duration(video_path):
|
5
|
+
cap = cv2.VideoCapture(video_path)
|
6
|
+
frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
|
7
|
+
frame_rate = int(cap.get(cv2.CAP_PROP_FPS))
|
8
|
+
duration = frame_count / frame_rate
|
9
|
+
return duration
|
10
|
+
|
11
|
+
|
12
|
+
video_path = "example.mp3"
|
13
|
+
duration = get_video_duration(video_path)
|
14
|
+
print("视频时长:{}秒".format(duration))
|
@@ -0,0 +1,49 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : elevenlabs
|
5
|
+
# @Time : 2025/7/14 16:36
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
from meutils.apis.utils import make_request_httpx
|
13
|
+
|
14
|
+
UPSTREAM_BASE_URL = "https://api.elevenlabs.io/v1"
|
15
|
+
UPSTREAM_API_KEY = "sk_9e7ce9190f85579b527beb6e673eb350db9c0cbfe2c7334b"
|
16
|
+
headers = {
|
17
|
+
"xi-api-key": UPSTREAM_API_KEY
|
18
|
+
}
|
19
|
+
|
20
|
+
path = "/text-to-speech/JBFqnCBsd6RMkjVDRZzb"
|
21
|
+
|
22
|
+
params = {
|
23
|
+
"output_format": "mp3_44100_128"
|
24
|
+
}
|
25
|
+
payload = {
|
26
|
+
"text": "The first move is what sets everything in motion.",
|
27
|
+
"model_id": "eleven_multilingual_v2"
|
28
|
+
}
|
29
|
+
|
30
|
+
path = "speech-to-text"
|
31
|
+
|
32
|
+
data = {
|
33
|
+
'model_id': "scribe_v1",
|
34
|
+
}
|
35
|
+
files = {
|
36
|
+
'file': ('xx.mp3', open("/Users/betterme/PycharmProjects/AI/MeUtils/meutils/ai_audio/x1.wav", 'rb'))
|
37
|
+
|
38
|
+
}
|
39
|
+
|
40
|
+
arun(make_request_httpx(
|
41
|
+
base_url=UPSTREAM_BASE_URL,
|
42
|
+
path=path,
|
43
|
+
# payload=payload,
|
44
|
+
data=data,
|
45
|
+
files=files,
|
46
|
+
headers=headers,
|
47
|
+
params=params,
|
48
|
+
# debug=True,
|
49
|
+
))
|
@@ -0,0 +1,51 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : deepinfra
|
5
|
+
# @Time : 2024/11/26 13:57
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from openai import AsyncOpenAI
|
12
|
+
|
13
|
+
from meutils.pipe import *
|
14
|
+
from meutils.llm.clients import AsyncOpenAI
|
15
|
+
from meutils.llm.openai_utils import to_openai_params
|
16
|
+
from meutils.io.files_utils import to_url
|
17
|
+
|
18
|
+
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
19
|
+
from meutils.schemas.openai_types import STTRequest, TTSRequest
|
20
|
+
|
21
|
+
FEISHU_URL = "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=gg5DNy"
|
22
|
+
|
23
|
+
BASE_URL = "https://ai.gitee.com/v1"
|
24
|
+
|
25
|
+
|
26
|
+
async def text_to_speech(request: TTSRequest, api_key: Optional[str] = None):
|
27
|
+
api_key = api_key or await get_next_token_for_polling(FEISHU_URL)
|
28
|
+
|
29
|
+
data = to_openai_params(request)
|
30
|
+
logger.debug(bjson(data))
|
31
|
+
|
32
|
+
client = AsyncOpenAI(base_url=BASE_URL, api_key=api_key)
|
33
|
+
response = await client.audio.speech.create(**data)
|
34
|
+
|
35
|
+
if request.response_format == "url":
|
36
|
+
url = await to_url(response.content, filename=f'{shortuuid.random()}.mp3')
|
37
|
+
return {"audio": url}
|
38
|
+
|
39
|
+
return response
|
40
|
+
|
41
|
+
|
42
|
+
if __name__ == '__main__':
|
43
|
+
request = TTSRequest(
|
44
|
+
model="CosyVoice2",
|
45
|
+
input="你好呀",
|
46
|
+
# voice="alloy",
|
47
|
+
response_format="b64_json"
|
48
|
+
)
|
49
|
+
|
50
|
+
arun(text_to_speech(request))
|
51
|
+
# print(MODELS.values())
|
@@ -0,0 +1,48 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : edits
|
5
|
+
# @Time : 2025/7/9 15:38
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
|
12
|
+
from meutils.pipe import *
|
13
|
+
from meutils.apis.utils import make_request_httpx
|
14
|
+
|
15
|
+
FEISHU_URL = "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=gg5DNy"
|
16
|
+
|
17
|
+
|
18
|
+
async def create_task(image_url: str, api_key: Optional[str] = None):
|
19
|
+
# 构造 multipart/form-data
|
20
|
+
files = {
|
21
|
+
"model": (None, "AnimeSharp"),
|
22
|
+
"model_name": (None, "4x-UltraSharp"),
|
23
|
+
"outscale": (None, "4"),
|
24
|
+
"output_format": (None, "png"),
|
25
|
+
"image_url": (None, image_url),
|
26
|
+
"response_format": (None, "url")
|
27
|
+
}
|
28
|
+
headers = {
|
29
|
+
"X-Failover-Enabled": "true",
|
30
|
+
"Authorization": f"Bearer {api_key}",
|
31
|
+
# "Content-Type": "application/x-www-form-urlencoded"
|
32
|
+
}
|
33
|
+
response = await make_request_httpx(
|
34
|
+
base_url="https://ai.gitee.com/v1",
|
35
|
+
path="/images/upscaling",
|
36
|
+
files=files, # todo 兼容性
|
37
|
+
headers=headers,
|
38
|
+
debug=True
|
39
|
+
)
|
40
|
+
|
41
|
+
return response
|
42
|
+
|
43
|
+
|
44
|
+
if __name__ == '__main__':
|
45
|
+
image = "https://s3.ffire.cc/files/x.jpg"
|
46
|
+
api_key = "AHKZ65ARNFH8QGMUUVCPECDTZVOLRPUXIKPGAC1Y"
|
47
|
+
|
48
|
+
arun(create_task(image, api_key))
|
@@ -15,7 +15,7 @@ from meutils.config_utils.lark_utils import get_next_token_for_polling
|
|
15
15
|
from meutils.decorators.retry import retrying
|
16
16
|
from openai import AsyncOpenAI
|
17
17
|
|
18
|
-
FEISHU_URL = "https://xchatllm.feishu.cn/sheets/
|
18
|
+
FEISHU_URL = "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=gg5DNy"
|
19
19
|
|
20
20
|
|
21
21
|
@retrying(title=__name__)
|
meutils/apis/images/edits.py
CHANGED
@@ -84,7 +84,7 @@ async def make_request_for_hunyuan(payload, token: Optional[str] = None, respons
|
|
84
84
|
@retrying(min=3, ignored_exception_types=(IgnoredRetryException,))
|
85
85
|
async def make_request_for_gitee(payload, token: Optional[str] = None, response_format: str = "url"):
|
86
86
|
s = time.time()
|
87
|
-
feishu_url = "https://xchatllm.feishu.cn/sheets/
|
87
|
+
feishu_url = "https://xchatllm.feishu.cn/sheets/Bmjtst2f6hfMqFttbhLcdfRJnNf?sheet=gg5DNy"
|
88
88
|
token = token or await get_next_token_for_polling(feishu_url)
|
89
89
|
|
90
90
|
logger.debug(token)
|
@@ -0,0 +1,67 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : lora
|
5
|
+
# @Time : 2025/7/15 12:03
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
from meutils.io.files_utils import to_bytes, to_url
|
13
|
+
from meutils.apis.utils import make_request_httpx
|
14
|
+
from meutils.llm.openai_utils import create_chat_completion, create_chat_completion_chunk
|
15
|
+
from meutils.llm.openai_utils.billing_utils import get_billing_n, billing_for_async_task, billing_for_tokens
|
16
|
+
from meutils.schemas.image_types import ImageRequest, ImageEditRequest
|
17
|
+
|
18
|
+
base_url = "https://ai.gitee.com/v1"
|
19
|
+
|
20
|
+
|
21
|
+
# /images/edits
|
22
|
+
async def edit_gitee_ai_image(token: Optional[str] = None):
|
23
|
+
token = token or "5PJFN89RSDN8CCR7CRGMKAOWTPTZO6PN4XVZV2FQ" # 替换为您的 Bearer Token
|
24
|
+
|
25
|
+
# --- 请在这里配置您的参数 ---
|
26
|
+
image_path = "/path/to/image.png" # 替换为您的图片实际路径
|
27
|
+
# --------------------------
|
28
|
+
|
29
|
+
headers = {
|
30
|
+
"Authorization": f"Bearer {token}",
|
31
|
+
# httpx 会自动为 multipart/form-data 设置 Content-Type,无需手动指定
|
32
|
+
}
|
33
|
+
|
34
|
+
data = {
|
35
|
+
'prompt': "A sunlit indoor lounge area with a pool containing a flamingo",
|
36
|
+
'model': "FLUX.1-Kontext-dev",
|
37
|
+
'size': "1024x1024",
|
38
|
+
'steps': "20",
|
39
|
+
'guidance_scale': "2.5",
|
40
|
+
'return_image_quality': "80",
|
41
|
+
'return_image_format': "PNG",
|
42
|
+
'lora_weights': json.dumps(lora_weights_data), # 将字典转换为 JSON 字符串
|
43
|
+
'lora_scale': "1",
|
44
|
+
}
|
45
|
+
|
46
|
+
# 构建 multipart 数据
|
47
|
+
files = {
|
48
|
+
'image': ('image.png', image_content, 'image/png'),
|
49
|
+
}
|
50
|
+
|
51
|
+
data = await make_request_httpx(
|
52
|
+
base_url=upstream_base_url,
|
53
|
+
path=f"/v1/{path}",
|
54
|
+
payload=payload,
|
55
|
+
params=params,
|
56
|
+
data=data,
|
57
|
+
files=files,
|
58
|
+
headers=headers,
|
59
|
+
|
60
|
+
debug=True
|
61
|
+
|
62
|
+
)
|
63
|
+
|
64
|
+
|
65
|
+
# 运行异步函数
|
66
|
+
if __name__ == "__main__":
|
67
|
+
asyncio.run(edit_gitee_ai_image())
|
meutils/apis/images/recraft.py
CHANGED
@@ -191,7 +191,7 @@ if __name__ == '__main__':
|
|
191
191
|
token = "__Host-next-auth.csrf-token=b6b37b10948a6156a1a39d09bd43ab6d0867fcd6001987531fe6f86f802bb0aa%7C3afdfd56119e801c5cb80dc96670031c85a2d9a02e8205f38fc5d6128e1a4075; _gcl_au=1.1.386131236.1736384852; _ga=GA1.1.282109674.1736384854; AMP_MKTG_7268c9db0f=JTdCJTdE; _fbp=fb.1.1736384856672.571916090953259055; _clck=2fa0yj%7C2%7Cfsf%7C0%7C1835; x-recraft-referral-code=1f1xoKVYB9; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; _uetsid=1d264620ce2611efaf8a0f99cb3bbb99; _uetvid=1d2649e0ce2611efb597376fda548d79; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJlMTcxNjRlMy0xMjU4LTQ3ZTYtYTJmYi1jN2JhM2FmNWRiZWUlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjJlYTNmNmY4NC0zNzNhLTQ0ODgtYTRjMi1mYjgxMzk1YzNiMzElMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM2Mzg0ODU2MzQxJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNjM4NTAzMTczNyUyQyUyMmxhc3RFdmVudElkJTIyJTNBNjQlMkMlMjJwYWdlQ291bnRlciUyMiUzQTEzJTdE; _clsk=szrjt7%7C1736385032306%7C11%7C1%7Cq.clarity.ms%2Fcollect; _ga_ME15C3DGRL=GS1.1.1736384853.1.1.1736385032.0.0.0; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..SyUWD5O3-8Fu7f9K.jbfQGmUTAstB_wL4cyqA7QcbWKp4AFMnouf-WtJnwaPC4gIfu7iuNkXmrvbfp2YsqFJzSIl-5MvZrXt-bhk-DJtwqAdPzTw6sSa33I3IHWSS3TVlVFc9Ze-HT_6dIeMpIiN-rCSNGdpmtkEJLp_3WrCSGPB0NbJLLL_MGg6cQdS5WYz4trehD8sPSQUgYlTw_VaMImqVZOxKujLLgmGfgYdV8nl9p-JmFHMbpfcgn-yXqLca8E50sQOWldPw0p4RqsYyByUANX1POJAW33rm9fsRDHEKtVxOtlW5Hy1jev__V9UqSrhcvH_OQREngiQGYbtD0qLogeUg-vbL0VUAL-9USzXIn2Una3lP04lp3m_NKldiSShXsHJT8RW8IAl7K28ILGilA1fgx0V09JFIHhM4fX-hrPzqoh-BuxaaiF5czEHTtTPLXmnV1UiQgZVmfgliI2e_r9J3WtF-SgSc1Il2cvwxAsp66p5cjixFbpj7AULPXndQniHhTiU9zgDDdv-fEf0arKzW2w0--zwSmYizXMMpNblgxZ9k51CdOBCAM9YGtzDaB-NSA8I9RuHzmgXMvT5GMZSiezuoLdRRcVpuJBz-XF0v9QoQz7SQt6aMaCCTa-fxee--nfYZELu1Uhh90StcuT84VOAlx-wg6FxPEDI6cjlVtKuzcN_RMVYbWKO2z5xLw4zlqyGBleRjt7hNNt-IeCbGuaDxgbUViwhNr_qdh-_ZjQlz_FL4rzlJwPrl6puOsydFF8NIy0MU9oBdelGTtG8LwzNnOW_hGdqEfhXfDP9mzv4Fs4kqGNQxvT0PU2NQ5hIOTb540yHqTGb3kihXPaZL4YregR2-UPRxOM1qmWwgRZ93d9m0BUplhO9s9U2hYoLhp01ID8kiNi2AWp0hRcalh6PwgqSdzgbif3IH8AcHRJpnV2pRSbD7k883O6ukkItWPE-ysv-ak_Hl8FR046xjDaX1ITtyrJmTzFqQ627PGuOt01RmsVMOb1IFCcx4Fr4AYwOMDY0RDk1YxIUUqU4kyMZMVlMrI_ITcrYshdJwdr4k3hNk51gS3QUrhIDnUq93mvUSidSUy_jX47H-ORf9Al5poN3vNJPye9ogASdqRr2psn1UpceMzrejXz_xDSBllWGlSyAmHDlXniKfzGSbRtqET9xRZfy7X0iOGd0WW2Sb9BkI2OE6h2abFkeSmTXJTMaZXhQ244XkhvDVnps1QX4mdSIa1Js0Pb73DcWLV5TR1sTVxm5h9c1l5r-YxWQ9hjF3A43_V0Jp9ATDlcPIjewTqAcPuuNhcQRR6i7pt2CadiFpfT-h7DA1PvPRo7ReySBzDK9VhnlvodflQugnxj5gsRljH6r43s4OrgpJwCtENl-_yw4jDJCCXkJwHfLpSKhLR6CFSM52vrMa9fWg7iW1C4HIVVqyqIwC98-CTe5jYDMKrX_g40oDZL3XEhFCTfzl5o_UfqXJEWlDKZ0D_Aig7iNLDOEq3cwK9QDiP4-bX6jtM1zkltpCY-HPpwTXbtV4iIP6usg9lSJgCDgJjaS39rpBVYSrj-Y_PtPlPW5rJMVkSnp_f_J7uAwQWnluuEpxrb0Ap-vF4Vk4q9gBESbnk3PBg8wfFPC1GesPI4HyG8Jy3oIss8pDXba6D70soJiozgBcPTSxdeDIP1CXsRN2wiItYHeyslQE-_egn8oezT9__8LyVrY8guv14Nu-WGPx3R9xzpHn4TPY3nJQ6bU9H0PlB0qmJLsSh6tWtJ0Yl8-NMlEKr9WkcjOJB-QpFiDEyw3V7r65U5b_BOaNpzRA5OUJ_ZmCfufmyfnHm8R6mE5wqrwUfmxYBRfP_w8_ix58zwTzFsLe7Fii5_J411vqxFHefcljnpgFgf1UIOoAPBUfygBTVdpdJcWzA2QXNI9lKxUIC6pLme9rpNlXE2bCE1cn74qA974x1gBjZ5B_FVsmkYhFRwSboi8ypRFA1F6EWwSNO-LUQH8uVbrDisjjjAX19xq_Sibwq5P-dZMY6aLCuInQjfWic5NGsjjwh4xtBv3FTyt1nvt9SonxdsJi_wvcjEoCVyP7PfYy5Eo-MkOpznzGYc9slQscUhKPihaB7wlAJZxe99tBUHLJI6XoI1o2Z3G4KGRK6PTO_THOTVFBylKTMbg_jvHw63TL4-LNlhJ2efmSjnEZqpGkgIUb8wYSoG3OR-v3H7WPvvAtJAs-NfvQXSGaFZ3O-LnStvyT869zXwP9U6_NZjml7gB9iA0cZVw4o5tAFI5DPVstJAqSrjIW59cpTxxDo2zeBdl8aq5FoKIZ63w8QebUeibLT8_lejsWQtg8RX4WrSTbuZN-gtCsMY4Q-TY4gJtVygtjz44QMzYDXq0G5mlqnPanLvR9tOfZODm8z87e355KdmD7pI305NimlYjMAFECfAaQN4G3oDZiDb85KkO92JXlVwWbo1xfbx4FTikedjY-BI1ErQB5gxTgPo252aw5r9fItydPBE_nuZU211tc41k8IF2F_cbSZ9tUjZz14yb4Ux4RWUdtHs3y7Jh9_5Pj0dnS3dEgJ-7jlhz-v2tmrcgzcEKqDPQGdhKfLl__AMM_11LqMuvj0boYiiaDx8DHN95J_d48um0YvB5IU3sQucEXiRK2j8FpAXc9ptQqPTGdSzz4VhIE0EIzZIV3QqqaRqH6ZEXcNuV_DXwl6HOjui78yu-rpqz50E9fxePaV5LHPbzXp_ZEOLrWonqo9ZAIHzWhCbVM_vMxK7CnrfmhW4ow8l71maoD0ToyTW7J0KbegCnEVyVhAF-IqYc98gq0vEbfgH42JKk07-8v1gVNQ6TZpAbtgajdrRe9XCuR58f_dt7_y8xWLXw_tINMB-x5MLNbdomfSMsit9Vfl29Yr8yD4KIkYhsfhl-nH-7ntrx4KkkLdLoNhKbhdI7o7NO1zdJ22ur7op4YlAWSNq5q-q2uhF3bKTkYhAIJ2FnPZpYmv7NoldLkAML79C7xtbZTJ0ZgXCjxzbEI50-9qvhEMSNm5AjZLrE3tTp6GVJWfIvjb3HmTvEAxR3rRefzzTaKW-MO9t3OurUPood1vkMR7oQzQY_n6DaZKUcxA6L8sK8s2MfEb78h_ZKeKDRAFsnspHdVTYf4xEu_SbXyDYbx2vBU2beXYdhzcdLWff32f3jioAf_q8hk2wKAcj2Spik7Ng-HPbme3XPD0w1b6d266bJ8GIWCUoGmJ9Wm0UalL-ZnoX16yN9El_wfOEoXBFWRe56Ur1ih6ZwZkcuCMZcnUAlXaL3JGgrxtwQjUtuSPSAo7kBZGIS7xXzFL7aJOi9ctqBAJVH0C3g8TJcW7ilF-qzEwrOoo1zWfLQpxMXhg8XKLDzOPAFBwyEOlDaRdoj20aE6NTeWST-X3QEufdM0PE0uB3FAhYWTPyILrAulrIsMJphGU-9sABotQs9apb8Vvekzou3oQ02Nr8n_CHVdDfE7m9I1lOxnB8Yz78oJhBs0WAbcZL9Vy-c-RVBauUMgceqSyQJ3uHR3iWsze4yeVOb4LE4nUxsfBMHQhW-Via3wFpInCCJxS3je2wtiyDTztuMNN8Mxn_GuTJ1i-KkDdvWiAL9c4zg_6HQfsMpLXQXpJ4Ovk-wUAV_NaW9NnVXHR-ygTcsf-BUHEV6dm0EPEk3tNVdlOTMDzXeYmpXn7xSSPuHglNcLnCzbmiANoqs1N5knV9_gVx49MLkYzE2rK_xdAFZUgiR4uujQ16mWNHtzrUUZOWmPu0HrAt2cJsz0snCfakahNceO3di-MQCDppMUnoSlq2ZnRcsMYu_n7mjOP6suimdawk9Ik1y_RpJ1O92UjKl63SqTtknADbwywiDiLr62V59YEUxKhGIaNrg; __Secure-next-auth.session-token.1=q9Nx6cKkfa0ZpdMRs7aQg5BCEByRK-upafTx1BRw9yA7R30AXoMtQfz6ExKBqsbpyVHqJFnLBQuZqJEi_Bmk34FeYJrUjD1ddsPmEex0ftUACPSugpdrgsTxc8CN0f4a8t_m8wTHxhQWbE5_GT-A4Hb4T68U9pDkzA1kWMVHkQ6h1x7HyW_Ykh1KXejgZFJBhdvv4dAKpv0ckYCNXwJVgVwCKGCNikx-ubtZ-5XDX5ZquUNzVEGpx1cr-F4e0-aw8CDQmdZ0Zh7VHV5DKL7SkQW20FHjpiK-J6gdkkjGFX7EybuEM1KCZ-KI_9hna9JzZc52f_yyoN05hqTzWmfh4aFeQL3j1nErMn23uiava2BfKIoQ59dKWOO5zos66El2TtIFerhUFJDyt8sUOcybCWsmmf05oSeLzHeaJYBA8j7SP.FYyhM198a9ZP-Ep6hZRQNQ"
|
192
192
|
token = "__Host-next-auth.csrf-token=14ca9d794219c34aca808cdc2a310d73ae76584a7bc746518742db0ac0baadd1%7C74c6e91fc8b1400a4035ce81d78e6a0516c8283e7c2a9104b3d75d93441a83ae; _gcl_au=1.1.526202796.1738463460; _ga=GA1.1.1626801434.1738463460; AMP_MKTG_7268c9db0f=JTdCJTdE; x-recraft-referral-code=7d7RbMefDM; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..GN6pvZZE1X-avzQn.7TBThGPGii6nH6hS8TWazy7XV9Mk22vd2sqPfoHKuEbesS_pITSQc1kUchGlB_HQ_Lx8EldQGvzeVbFil6mBb4tqjNxJFecSHeDgLubqE0u5ueA-ZF4rf6Xz44NGnx-zJr6iA_rD7319KiL4-WWm57Ds5UJ_jo410_018LlUuWme0G2RKMwPySVL3Jg8Zyma5Z-twK50W8WRkwp07xiCZFXIQK6wLu_TvBYBwjVFa0wNJmyRCirM9YHKOsqVMIKP38q679Cd8S9A0s2T7SjLDm_5rme6TtaGq7Xye0cZLuARf_h2oX79Rm3XDPWYXjEJ6OMpNnlB1uvslb8Lbq0GkVAEYJbgc5PgQ2aD7WjqX8omU1uj1HVIXxr3lxDuSyvBPz_16Fkf7wMOI_OVQDCujAh4hdyNGVJ-vBuybQ6yo0vYF0S5X2_lUJqcwchUtwDneBXUUl3kI8JiZf8YF0kROkqkW82bFycQDtaNNFtwdFWyVhC7_L7gYpYpk0QrFJ7MVN25J8xbggLVRKrl-9gZ-55I9IkmM-iAtSuvTzTvqc9NzzRnoRPBDuwPwyKok2TE93QnAPQIzUacXIdZdkjTue-jymc60QrjBRGTIsIC93KD67vYdEH8vb1V0fiiqS4MkGfSpMA4NFaTpRECwqGcNzLj6XTrLGzl8Z2RO9tBWxqtq2Qfggyb8Oxftsab8hTjarw2b8mSSeyy2mnh_sIZiwM5Pl4ZDSYX9TsCdqNnOXyIGEWZCb5fb1rKSALKHrt71QZJXRETZCfJB-ndqw8I3l8rOhKuW0iio58umegRJYyFsJ6UY___fjBLz-0AwqSecklqkt8WDSaymIqR79YiGVjHt_qKLS1M43nVnp5TFneV9yorWPL6Oa2R0TAjU2fWjiaUohlI4XPSNlRXSz9m5EvYKJvKxMdRnZdx7UeZn2rP-C7K5xcjURm0QwXrcWL883DhDiYWrE3Y0IoG-U1n4MhosGeVnJA7FYeOSlpHZs0Re7Aud9nrLo3lWxyRHM9mTjBOTnpRWP5xwAneyM52FT78-RkVBrcaXc60UyK8h1WIxmLDWPIIvDI-W4wlR0SYDRUP7t_8dFXT7NCZXSzskNFa9wmPPWvh4__CXXFWwW2J5X_x_6iLfsBX8C5KsPKeRNplhWJqKM-50Vwk5gM9JtYGjsguKWrAqPbacs-cuexbg-_WwU1trXv6hc28pMU2RJ8FNk4t7OCrhbuwt-PSdAO2bksP8QFKEez8w1mfptn3DN8mFaranAzgwdo-xD0v2Ew2C_oqoYUahxVrKMHqEYSd_bQnLylaftMfYGBNU0WuY7bcvRtJp3DGfQrHTF76ZA5AqgPKFwlmE_5pa-1xb5slX76bFAm1NKhgZZDpGyeqEobp_3u4yXhJTHVHYQuFHNFQm6ZDsepFh8SLR-dWlyrYsu3KHQUcZAMzOW4jiTc7SK37z03ONM5kgw2o_MRcdmvpIMBHCwuGjwLSUxCmora5cDKQY49gKWu778wfeUw-RJIdg4TZzsRM3OV3FnyN7koaWF-D5HdOP0H2v3zre9DtY5N-3_iIo1Fa9F1Pd59X3Oz1wpJ7Yjuam-mboCXgIfQ9q-dn4vGoxdqBqyvDM9IZV8N1MnjxoG6m3BOTdLR90aaYqHKSkDE3ks4oaE2CfGuhK0hHKcnXcEFXm81Mx-eJ90rFTmYOdlId0e19mk5tu-Cbj79MbBpx5cRfojiTqrQH-AIXXRa8aBr4QxAW_p1iDnAQ9owtX8dvbacg_VKhB0IOLlBaDfDmDAwBkvMWwBnaYThOsbIOWQhH-dPBndW8G7ycKJ2xtK0PHApsn0iAujAuPUTYeobNgKdfNHu5eXwaRltkuH8jvDbcxj5m4ajsVX7qA7N8uod6TIVyh_5Hvp1iRQHjtOC6_pI7hCnC_5B9mwaXsYPQqPiP-h7sv8CoG6KQ5UlE7_SkHXpfjEsI9RWETa8YPDTHek4k4bz0Y4VIIov_sBXsqLR3ZnNMdzsbCekfMqXtzgw6I1UqzzPVew4mA0J7qC3WHW6XK2a7sxnO4y-R4njEf7W6a8nEj4n6bwfKeozaQ_mvKVekVUR1ocjD94PYBzGb_DTpToeEz8f5RS6csXMWM1BORz2pF6N-mOH_H4g-0qGdIwh5rdRu2xcZX_VGR3_vVjvm2svnSvdKEsVn4cRcytt10iiDTPw-RQVW_DdkuXOK9CPN2WJDBtSkEEwLlNTHjRxPzamsnKB2fQe02suVPpU2dfF5qy4pKXLeKabT4Ky_Ih4Yb4ez6oy2fUknvKS2JKeorGk6lWrDGlyGX36IJO6fbDQogn5ba98E5IYWCKOknszOtT36QqAywyqja_dBRepAtI1YNN5DNNryH1AnF7d4q38l1O_PPbAXrk_taIAo225y-Cwsdp3f2hOINdAORsRa5GuFXeED1MOsFMpHX7C1atdGaZGi2ypZ6plvG70fxoVw9GLrWItUStCq5i8And6ZKXd815nI7yAW0lQv3RCBRqUuoWX5E3F8-bTv4aBlM4Q3gkh6_H2GhYYmRUwA8ASeCdEeOCw-kZ_wm742k99x2N65uBWLBe7T40zYWPGBafTxcPnBrcLw2xLlEIj2KeyZ7hYDhZdeoC5plS1Qxwxw2m53g8e8K_fOgELtMfB6mr32EdSjNqnx5WNZ7NNqq8ROj6vtfGK7y5cqC7ZkoKOkK6z9KO7pyDxZ9Mj221lQte7h7hzb676GiErrovAu2pCwWT9RVNUntK6mz2W7A97tjyKOz2VuLzhPBE_WAYyYSZ0Ykl4QKAU7cpmoaXNBs58YGm_H7cSOu3_4yEIuKh_O-pggiBfdxKKDiK3Mt7jeNV98-YCUlLmZEv5yWkjBsmm2LUEgX2w6DVUUUJwy5ongmXDktpViHLLMubj9PW5GGfJPsMuXEOfUTTL1C7wnMJzWzco4y11YmzRiSlCuKkPCMcT5_yhZvAZRyyrPUOBUftcOKUbBh4oBYIN3RbT1v4sMTjSGzYez52Sisb18InbQDM0zn0j88HRorWH6bxpKDb_PvmTebrhDIiWXbI3Zlm4NCQm7NZWicEFK-1fR46b5qRD80tp_cq8BWfECvvFfcT2NzO1rMhl6xIY5-TBWXIM6-qd1Pbd3xOdLRQPotxbZimS--dFBsLvrK3Ginax_mqc01AIXcjph23oQbQ9gnQzgtwicPafnQaOEcdR-moB9ca6oEShgymUyy_XcK6UdKpy4xI1yZsQ9omcquT_s8hzVrLEXwlwtUSzfqvH9pMCIjASWqMeRkfEojrjJd4th122hn2al7s2TbmPSXDOn0iHjh8N5aLcZbG_J9x6qwnpjMwDiGpU2Il3AlXuL0IaMFKukUbx_xKz4DoHsnJMMGsJfItAzyFbLPsPlVq3I97qwTZNUHqATjW3U9AO-PntTdK0OOSu3YbbJ2dk_A-SI1oK3O64Ie-u8rS2dFRmyUT_wYOcXL5cJ_-3HPz2xsO2SzRA7c8G-LsNCSSVSv9Vd5HBQhHA5IxsCptmFZ9OIkHFqeA5wcCYuhMHqSaC6kbPClyEExzaPsrJI6-SJUd86psoJn8dmn4I31WNf_5STzPBeii6qBYbLVIfiwXJckk0M-hvDeQfCyzRpKHeCslGkm6kziutEvfS0yZwZgDpBpGevyOcPCxYicpZSzUxEvsVCjtB9NBcIEHmm8Ho_JjiebQ3HcrchWFAYYU8XScsvkpfVqF71lut7ik7VOFcmQ3a35_zEA9kzYLKvmC49nyIMIkWDR5iCKW63rw2-6PzSTzSjf_xb_VADIYdat8a-i96mCbhtah6WH7Y5tTQKUYRWLUYib6kE8hwPy7jyHX0IMebioaklJKaU_G1tBYDsF4Q; __Secure-next-auth.session-token.1=12vFH4Zo9AA6uZzZrVWEaWBTWDlMDYiDUP5HUYoEOv3R3ksn-sPq93b2jISpNOW9RecN5E_5NXB76IfeH-VZauOwKzd4Kc37Mf6EM4gwXALfqMGsvFX8DlW6MkwbNqZ14WbE1pR_KhKVYrdB6ZX6J4ZlscRoqPB-A7GpvOtVPUComrZg00-evxSWcyKvLsCW1NNqqnXA-7J94rJJBdsS6j1c3s5KiCqB1Ptr1eTeWanjxkjNfSewVQqX6WVytsLnsVE9KqmJGZiz0zIFvnLPQwSv1Bg0IFzt8UF4J1PXrQaIbwIvqmNj7BU3589K2Rb58tarZoZ-ogxZG5ZneR1CWLSlRJDhsnOvAXubqD0EuT_POI7EXdrfsNiifr7knH_xxEu7iqxzpXsDMuaO_pxzwkPuKFtcxDkVOJH-TY5njugFS.Jodtt7brKicBj8c26v0T3A; _ga_ME15C3DGRL=GS1.1.1738463460.1.1.1738463490.0.0.0; _clck=1l7d1gy%7C2%7Cft3%7C0%7C1859; _clsk=1uwygz6%7C1738463492407%7C1%7C1%7Co.clarity.ms%2Fcollect; _uetsid=be5a5d90e10d11efbff71f781c6cba79; _uetvid=be5abc90e10d11ef9a96119e1652d011; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI2ZTNiMzU3NC1lOThlLTQ2OWEtYWIzOS0xM2ZhM2M4NTdjNDglMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjIyNzA0ZWQ4MC01YWExLTQ3YWUtOTRkYi0wNmQxZWZhODBjYTYlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM4NDYzNDYxMjMzJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczODQ2MzUyMjQ1NSUyQyUyMmxhc3RFdmVudElkJTIyJTNBMTklMkMlMjJwYWdlQ291bnRlciUyMiUzQTMlN0Q="
|
193
193
|
token = "__Host-next-auth.csrf-token=57a886df76b501a8467d75e3ea1c22afeac547c8d7a4ea3a54f4adb1f70a5953%7Cef1d0022dea0bdcd86790555817fc6c9862b563a388ea57c03ebfa073cdf2976; _gcl_au=1.1.643138976.1740644316; _ga=GA1.1.1825767211.1740644316; AMP_MKTG_7268c9db0f=JTdCJTdE; x-recraft-referral-code=xrTsvlkNBB; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..8f2HiURsmryfKBj5.eE15I7cyLAqMkb7m_0r2GhaiWdZlN9fq4hxdgZk88X5xxStF66xOFJqDZN3GGAWUwaA1ikliDDtkEBYVcVtx17hbcjDkw6DPKiPDwLzMZe-RNwJHliNWt3jAsW3UjtbPqaTyKTlOhiu5R70tKb4M8zD3v-nYeStZ_aQk36O22LTYURWddGoozjsDCwgIPnZ4gBCwK_DqOsK_TnTvZhshPaYWlwdvoxiH_WMiE1WGLlguSsXWnEaiXNcQlM5o4SpVeqfSqrv3uTapLagjHcZbx_fJtvruCW1ItXvyFNW89M1xdmaIodX8D_HKfsKZLyDknYkbLeXbVedLZm9zxfF7THlEavPKkihQkid7spBLxEl4uA4xX4-Wk19KXLiHAgbyj8eqRB8Md3Ru5qNwX4RUGRcLtSxMkyz-L2k11QtolHjeCSzCao0roh6nB3xDywKPiSorPcLKQ-OoErqu4VnW2YzLjngUfZiDo6MOEkAkbuF2vN_GV9cD2Lbskyu1dB8YTC0o0D3x1RJ544I3YfibP5FG6TNkXvYNBYisowyddpeQCuciaVyqjYDEFUosfN0Ro7hk8JN0Bcd3vgmEBbrJ2YovPTBnTqnf3FcX0YVtVqrpFWz3rJPM8u76g4UclwBSpV4BKsYrvrA1PlC11CGNgDADzmKr9F_kWRnya05SeZ5kZ8J6-BXfUKiRBKupUDK5A9qk7E6c5DzYxTvYsfXIlxubTs8PdR7dqSEoD1ZEsPglOvNWilz961vv6JEeWPFKx8kWfeeEE7EbgmriDcIzOwhdnUzsUlAQHAdk9w2SdZSAb17RuBm0--Ua58ChhCgpiiFl_P2cCrvRP7NuzqaD-2Jcs1yMC-YnYXbGzqQmOVlEwuAaszKwoirGbfQRIkHkrhCTFknHkcGu5iKzST0efJS-ymgOQSG9bBkpY237PDiC_Cfm-bOoSe0yGf3JQKwJvvY6Y1sruiEfTZqjawJ9RC0hPBluXzD8pnKm6qM1OlgI1J-tpzn8iG4E_b60eY4QeSwP8Xf7qodzAGhTtcLa4_vMffz0xH3jmEBzUCjNC4d0k8SFe9-2scg04AGFhFpQ9R__pNyte4I5OWYBm_6JBRFfSn8UrAAtoneyXbVts13MKieYZKwhYg2OoM1ggzVIjMqQntv0wQgsQhM9ecXYbOKj3C0IfsjC6IqhYCPmWHKvt-Kk0M13A2lSuym1NAwgV2CE3HvgYSDve17RP0AZpCIGrrtTacbDfIDA7stpYZSs852xr3BNhLo64Qnit6jU3yds02SxKlfAUBZvuEA8fViTObbGeylK5uS4nxpGOwFhiKp0oN3GH_VApw6jqPu5XnR8Zb7uXSgGQU23mJxuzVaOMPF92ZfXvirw2kQPUKo9y5sPCok-tqlh3YS6ed-WMBBO11Mnfahas4IoMvjceKfXJF9LlvoA4TZ43r2ZxfM1joI3cbxZGo7juJ_vbCh9858rY7ZYOdOl0ov9gRKPHoitH83zTP5FIKwcGSqkxwdFIkaeS7pkaNnC61nw6u_-eAKLpjt2z9yyyRTKVdihdfrTr_gkY9UUAPPp84R9UaYRYcviTsXQOx_TCAhFHb_CJMmvGmncb8pTQvxWiZnWiYlLd6CvFQDBqpYrjTs6WjPqVHNfejYJUdOWjv0soFdZngbos1BgPEw5umujqk0IOO3CyxJ6KHZDdbV-kKX1SgSdm5SLQ-DkQppx3AdeXiN1r0tvVzLguUJ8nS6MaoPYUZeSC4LYuAXcZf0LCbKIc8fmPdCDYq2ZDX9rYiAO7I9PoZdY9xLotBFlU6uYdVR8KvLemWEpnJq_08lMoOSNSkNY5Ofnr5A6BxEEmCYiBxU3zWRmUu2_KRq0oTODKBYYGktWsbzjCZKosgPNh2eD1FDw_r1S3dqE8kUWsxhrBptagB0v7ftvK2g1SH19W0Wda0lFsS-zLqAXYH2QLjzHci8rMyrSCsA8-bEB8gQd_q1uAhgiMP2wnObGoEzFCgIVIKJgylEaDE6RhNo4kO-wORl1_-AS0eDVohaTx_9_rVyvu-r82QsTJrjddUOKgr2D2rSoO0vOa-uy9jKSg9vAY5EOEeQww2_rCNmJfuaLGDIKMelWGr1H1Hd-dZ1BWncRFnRgduN5uRJWaMLCuDdAIqsv_k7xx0Zux9EkiFQwivEpRTHoEIzh1_a6i4zTua2uOCARGhFvScmkEnX0LBCjkbnK1H_0iJ7MWMVbIjq1YH07NxIbz0DV2bJ50Gavi87QAngRAAECOmL5oHuk-pNjSsMn7ZCguKozXivTNiaPHTSdOiTHzydPpX8vkvszoAEXcf3gadmiVROtpzz-nueExobACcU8Omlc1Vet_hlryV1P2OewpbnY9JAqZJfv5XYnKkGty_EQHMZepdJ2UAd7QIGixtM8ZeYjPth24dNH2oFR8lydTGVxCALzd4sgW3f8uPXmXxMZTTmO6j7GI2CWm6TLxQc4vIq_5NFu9jjIT2VLufzDCaevauZBP3li8w9difYCjVS5NGqE1JKLVmmrQTeiCd4rpsa2J6KOerCC7WdwjD3tRvYcOwz8u2i0_gP4RfKGuCeHJV3h5fa9Hp9HTPbVz1mhPjKQewhnuBvpX7ylL6fTFXj0DiKUR_oI8WIhxsNhGEvIxeitEwFIdpBhS1zkyp_9JYwu1BfFgnRFweNl15Zx_yLAQj4oVkN15RNOVgKsVkn0S9jaMT_L7vbzFkxdxYgtPyla95xS823hpQ0v5LbaoFDY-NKL7sXiRG_Bc1ujmnNcYysoL5DAWXfUnBf9Wh_DDqUFwpjaBRAuAGYEPz3BEXFJ60Hspax2OE_RKIw-mFACf4X0REqeeTy0AHvDqZ_fznRTH2bUCSuEPTXszr886FIGTe8mwmEgjRJfGvFuQmeABijIMTOYBDrcRD0vmjFrM-XG1cPckvrkmIND5szQQwCEw_QIXdH2KRfoBsWAH5rQUCnVGMftu4SWhiy6vL0Q1gEVFUk3GGxUaugSDgQKbibY7IYxXatqvdUISgYL5lmPGS6dYIN7mtjHdVDpt-4yG56ZbeVabhVzNxTlYZ5udm7eakwyMOog0nv2iGyWEP1f0kV1Q9VGA_r1f0zTioT1v_85nd4VVs8zM9jufuJdZhv4_OMrfzu9A9lOXAokKM2aQc5MWdhwyTsmBSaAt-73lp-UAtpyRrFY_4Ljqg5AQzYoIr8R2PHz9Xwe-h0_7Bt82NHYJhpJo8pwwUA9gneQsrK6y8RFLEYfp0_gEg_U0vdrw_hZaXQtaSJgHMSjdniPS0ubvbvrpWXNzy1SvclMYPEJS8KwfJ9rSgsfUqobaVFaZ6nwmo6-c2Cm4IZ2PmxPs8bOtgi_JeHLrG8fD1OP36_HHNlWA9_nxXpnQbwCiL6XJrBl1n6unEpsKtTSq4SOrLAhGsGP0fK9Y2IRvLAUpq1qgwGFVnSPUHmnIuQ7AIe5GzCXs_c7tdz1y0kJ-z2o1ZdIoBPlG8-p_CEb4iPHbMfR4_i00Bfox7HK--ajFgqKgxDhDp53wziW4MGaRYLfKiR9IGzMoMGj-wCqlWtasFqsbe2qWlmSaJGR6TtyWqb28D1H5WO44Z__DxwNcxCKsHi5nhgPTACObFrt02QAkcoxeQg6MRoQ2aJN9CnpstpIVuIcDk4wa0Ay1_l6FIKgJ5nucZaiLehrSiQQrK0LI_oIzEd2XDlao2Dx9vKEx65rTXYQ0KH1DPTkBynZbMY2uffOhYrC1YHZm4H4VPQ3hSJP9sQIcam7MrQADQLIXLO1ESYmEW4CUPQ7v9Z_yyDFfpudD_TkwJfhCpstNPB1Zqcuvm-Kwjk1rIUIVKmVsf8UebzbrQ5ACAWlrjGmuHlSnIeD-6c; __Secure-next-auth.session-token.1=nWFZ4KrnoE0thoRpHK7gAozIJCt3l7M8VkzPxSypdlUUPewpPu0mS6YMouSZhgu7i2M6jB2-fTwSmK0r7mLKUyzJsBHaQsmm7_ELVEPX5Wm1704a2ktPIAU9JTDfOC5kQzR6XFiO8PCyBOBIlJGJ4mz3qtLCYq48g8_ZYwdcLTcaQlDUuG0s5NF2CmC-7yHfIbePvYRTQL8I5bSwDjLKUl2geru6mURBhYNE6gvBLJfD6P7J1qT6gHZqeUqOtEgDG9dBIQPbyvgp7wdL0oqT7DHqsY2Ap0jFGspzCXzVri5AOHJ-JL9gf1cnz8AOBlqDVZyqvwLwDLHK5GrNBknSfHajQuI47imwmSOLJ_J_DLMzHivmvZeps4xYgdV6hSzKVLbOoqxOZEjaexqgOqVQ7fSphBPfhUWOd55opsEURinGY.4EDW8XkvsgX7oYL2QJIQsw; _clck=x6jacq%7C2%7Cfts%7C0%7C1884; _clsk=10ppugy%7C1740644423156%7C2%7C1%7Cj.clarity.ms%2Fcollect; _uetsid=711f1780f4e311efabc199bd18469bf3; _uetvid=711f3de0f4e311efaab61f90155799d0; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJjMDBkNTMwZS05ODBmLTRiYTEtOWM5Yy03OTI1Yjk1YmNmMTklMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjI3MGFjZDNhZS1lOTc0LTQ0NzktOWFiMy1mOTVjZjhmMDliMzAlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzQwNjQ0MzE2MzcxJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTc0MDY0NDUxNzg4OCUyQyUyMmxhc3RFdmVudElkJTIyJTNBMjAlMkMlMjJwYWdlQ291bnRlciUyMiUzQTUlN0Q=; _ga_ME15C3DGRL=GS1.1.1740644316.1.1.1740644518.0.0.0"
|
194
|
-
token = "_ga=GA1.1.435165527.1730362257; _fbp=fb.1.1730362257600.714008794112161913; AMP_MKTG_7268c9db0f=JTdCJTdE; _tt_enable_cookie=1; _pin_unauth=dWlkPU0yWmxPR1JsWkRJdE5qZGlZeTAwTWpNeUxXRmpNVEV0TlRrd1l6RTNZelEwTldZMw; __zlcmid=1OVn8OoYVNvKEWM; _ga_ME15C3DGRL=deleted; _ttp=412qSInHGw3jjdyNR6K4tBIYmNZ.tt.1; _ga_ME15C3DGRL=deleted; _gcl_au=1.1.
|
194
|
+
token = "_ga=GA1.1.435165527.1730362257; _fbp=fb.1.1730362257600.714008794112161913; AMP_MKTG_7268c9db0f=JTdCJTdE; _tt_enable_cookie=1; _pin_unauth=dWlkPU0yWmxPR1JsWkRJdE5qZGlZeTAwTWpNeUxXRmpNVEV0TlRrd1l6RTNZelEwTldZMw; __zlcmid=1OVn8OoYVNvKEWM; _ga_ME15C3DGRL=deleted; _ttp=412qSInHGw3jjdyNR6K4tBIYmNZ.tt.1; _ga_ME15C3DGRL=deleted; _uetvid=a8a766f0975f11ef9b7921e48a0cd258; _clck=uflztg%7C2%7Cfui%7C0%7C1765; cookie-consent-accepted=true; _gcl_au=1.1.772477802.1746667247.1156078987.1750674190.1750674262; R_DEVICE_ID=6915c253-c12c-4986-b376-1127cff11e28; __Host-next-auth.csrf-token=510b864a6b732433642c2c0fbf2ee4794f1f62dd9847afcf056c4b9aeb9887eb%7Cd83b49015ad5f6439fc3b90bda955f748c56814a82810bc82693fd39a0fd283c; R_DEVICE_ID=6915c253-c12c-4986-b376-1127cff11e28; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; _ga_ME15C3DGRL=GS2.1.s1752460127$o91$g1$t1752460157$j30$l0$h0; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI2OTE1YzI1My1jMTJjLTQ5ODYtYjM3Ni0xMTI3Y2ZmMTFlMjglMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjI0MDQ5YWRmMi0yNWQ0LTRkNmUtYTFkMy01YmY3NmI3NDMwZDElMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzUyNDYwMTI3NjIxJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTc1MjQ2MDE1Nzk5MiUyQyUyMmxhc3RFdmVudElkJTIyJTNBMiUyQyUyMnBhZ2VDb3VudGVyJTIyJTNBMSU3RA==; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..lhJ8wTCSS4SLeRAi.rJxgSxxBLu153hNI30lrEvj0D1zbPzc02FNYpPcYPyILmvoygyOXybQguB7Nd2jvQru0H_H2WY7nFYvQLsE_HFLcMytsrrPBV_qfk1nEutFtmUzQUn92LR1cjQw3sU4AQfF37thp-GYij4uaweD58Daep4aZG-Q0hO3f5y6BJZzwe7rr7Z_SGUy96k0oVpplbOG8RMi7UB8yFSxHBtQUVZDisLyWYOgRSoqanPlkU2w-5L3682BNBkzf7JNKe9KGW7pS-pATkNyY5PVh4d_N1x2GW_bEVN0vYpNLtxMjEDGdna4wiTDIINyfMLbWOhDG2hqciViI9MvO0j5sq_3cNUHslsLCX_b-X08K5YdR2Ba-tH31Pquj0qxAl2sZLmPvSHxupqxitHGRDHu5UIKu4SGImQfCrs3m4O0J6jIukbrZtJFVGcCX_f17_xwKuQsV3QILmrjCDOIWW55W2Cc--DpuhLSzmfofe3gUbOLWRIHPUD4G4j5A0md0fJQXDF4lFazxrRJYqbOam9BoJI9cQ4uFskLqBbPG-ofoCfISvDy2gku1Pq0iLPWqm4Q84Gayw5Q02Ur2HX0RXFdtOH8o1mmGrNFIJQxUaLjEZsBQ5aukPKB_9JRVVaqG6DKo2QhI6nXVEjfHXmhleteNgq0Gi8jBulk9JkVd23a6UWOrqf5o7S0oRA65E-feRerhppjixxPa8ejQY6M2AiKMGax7Dx0kLZZlt3DczHTqTmIylVgv2dT_aNV2HDU5JdHzNNBoNedp9LZK24F3XegRnbKt36IvaxP9D6G2OTy3KS1qe9GzMPxytehQkanywHqKQ44ujAbQ4QBgvXn8547gOsJCFXXRYt3uXpp49AAXj37k1pXGMtz-5UmwLPeT0SRSzPchaoQUua7zYCZBK-26h2ruPm8u75bEks1jrxW5nBH1y5hKcBcKMN9gPC_8svG4lXCMjr9J-m29DTjcfgYVaXV92-ePZcKBpwAMsnM9GdG2pjerWdLwUTxAUaJ0awyCwveALnQ91kO694JWmdEQ0tdYp90Yq9AQk2OdsHsf9SuM4ZuYvqmP2HKkzEzyYhJ1Lvct_ctSwvK2V1Gf-7tuWtNCAWnhf_FWjluHUN5FdIICUw7styR6z_9FoQjZSdq_DZBe4-dyIdvwGbpHTuAFXsT5nI5edpgq3ariE-0iccdEg1x0NtNY4bTnpEh8qpy8OLABPllIiLsvxf5XPx0CnQ19VliMyLRer18MIDMtUcVfUwcb2irKXPj1nk4ma3ZFataOAqx59cxjFG-l6BKNWglVH_fiCquvuZ7zvPq2VyqtCJtIGnZekh7gEMOYDP50BMNaUmErP0LOyW5cWsKOYI52QAsFw2nO4HhqItNzveCtqYbUvzA7CT09pKazunika4yxudgjZz6xlKvt6Iy7Z-cP4xr5CdOlc82YprgWhH4Pk2D0CZYbfyL0ue64V2CzAOXcaJpK4GoNH1MFFQxiRFbNTxMdldOyzsmIm7-VILcTUJKDi51FiCh3p5kNcaHgyJ_Sy3OtHaTGH0DQAbRitqk7LsZ8a4sYIHYARKZTVJ9lVGlpEXOl7m2lrB7geM2HqqjiUqbFDU8xwp53Oyb4bfjIUVOPJ6rWnUndWuyYNEImvRVGynpFcib89ke9JuvDDh2w6YtQ7XnZnHFjXHfGZR6xcEAD5J1F5N2dEKJNy3_63YmwkvPgz_oFNUNJgt2MBS6N1OrXjap9azsvR7s4iHwG_wEtl7iORT4VxOu8gggt9T7uYtZFjVaJHqTcZ7cXmpjbUuV2Y0aJ15cdwbR2ZgWZ2wT88hPNzyPeogooB1MQqd2Q1H9JGkq9NibQQxPG3QsDu3SiA11CsNs0baBRivjO4iWHpxJdJ28hnmFiw4dMcGfGEuvYKdCOsWGMuZSVX3Znt0c5DHevkMHJetKSMnOZSkQKJQ1fucyPmpTd9Yg1Jj2qRSgEvqAStT1PIh2hMjqBwMDhvActZRSmiQ699gBoJGN8JY2YfDSomU6dtEFxTl9y5TjC6e7AhcpBvKcWac3a29zJuRImi9yQ2vnL5x7xIW40tDScTaUc3qAuysg5G3HYzI_2vYXdnWXpirqBd1-idA1PRGT-j-0jBHQhlu-Llg871Qy9uXY0mJA66S2ReCEpn3_ikZuhPFoSVycEjVQAOGDOwddATCKEtdyYrywjfEguA6meB_dQU1Xg33qqiEAp7nhM2Ek9El9KgBEGbx1Dy0QsilevM9N6DQ3UBr0dM55sPZbefL1awB_U4T7WGxoK3X-3BEIJj8bz6XrdXF7jKrZfaCvwbBlgSwKA4aydBcjH2P0KGF_1gAVgnRRcOCeC3JMSX5Of6rdfp4KK1EAwwu4VUfiFfEKB3ueHL_GQs_VDdN9CDWE0mEmMnyskXGlw8toX_p37z7Z42r6N0jKpkeY6OAkE6H85MvDiTUi09pDpgpB8FLkQ8q3sfcUS9zSV8iWHFE81IPmQ0NB7iHd-iL7lshbGg6q_fn9Nw-s4bzRHssSmaoFEBlZ3pqecbWYYj9Xr0z4oItysfVMnHQ7w-29uAGpsSPhWzIjJjVxCJkJuIPJNsoY9F75rTU_XamrNcqYUs-3BM5k8HaNmqTgxPskMltJeT8Cv-byB1NdderCiV7vvd7pOsPTB_OG6ettwbpGhbjMeadftpi740nYb1PXbGu5QqQ192h9fBXFu-J5d_PIAGnz9NZcscbAFcvqx7LfxkhA4B_MZ9kJZMefEHgEmY4i6u6VHuLRX4Zbnt3j5Nx94Wpid5_lXx_F7ySrgxADPQHpSuWVSLm5FLF4STkExEygRGw6_kCZbUk3i701KmJdQXb-rH01PM3brtZr-g_M4NevUjGjFzVIFtUm2L-S3eT-r3fvqwIdCW128Bzbtx4jqUXevcHYWNJ_MobwmRgkhYBHxJ5hebGalSSeHth35gLd_IL1ODCsJCRGqMh6eVSHmly62Ct4mDmsO_AjaX5Px5Ltm1uQiX-oA3kMYqD9bUv3B-6km4sWtHIPLxasDemlKJpHN3_oy9JIMh3uexT6g1LUXsW8w2WsNWtd41Jn9onDAiRlb7cZERbXDYYcQeLvX3U1J8t9Jjp2mqICGri1Q3A4A0RhJBARx4aJYRHkIewUBofEJuTIegKQhw_jCoIvx6EyKGA4PDXtslLZp5wAvTDgLMWQ3YMRwPvnV8IK3bTqNI33WXQHH6eI3PMimutPUPXgio1FppnRnzoF_uuvcdys8h6KwDnx92N4niR2f6L5QOoOSbn3favnKc_cejeBz3MzvB7RZ-p8YTmMwW5SBGdSIfHmmtnfIlz-KhZI-v2dZaT4-UjaA2t63VdPtakuCcNpglw5vwwJyfuG-khPxHU6sqYbKYNfvZ3RWmJj26_CzapXdoQvjXJehOj0Ufo7YDE18ed9Fh2lHOZjBUSplC5j1NxaXaL-v-ClR9UFhQi1OiRJMgLCwp_HGdZeF49RLiDnJ4qDwgrgNFLYH5mXjvpl4nuVJIisOlD5mYpECQ_28vMbt_fCWjLW0N5Gpdgyq1LYUcz4xCgid_1GYnC_m-mwJEdAH4jqcmTfZ26MPiCvJfdBwPYpXln5VwFdinC83UFTZiV_iiaYyEXGemdZvEI-oS7OCXnFFYUn5icqwA43MNTsnTEWpCGfrs8GNJTkk9u-Gqaa0z7QYgknuw95NQhVS4WtW8AzWhlYUUemlWk_f4s1rNx4TbZc1W2IdV917bIT8QXuwoHXzbZiOOqgOXTtC4T4u4CCRyAP4XCrlve4OD-PEel71hbzEOsiUDwebv3GAq133XOkUhCBJhbMQig2PRK1o0pbuNJwjb7gPUNoW4g-l3jNPCE_J8Dn649xBMcrOd7I; __Secure-next-auth.session-token.1=gHRIDKSNzXK6mnBiL4Fz4KIPN6TpSeks-bjD0O5H1aSMXo0xdBgI75yeAV1LSc0w8MPxoSbmlClgwodyfuZ8-SehrbWaV--3TXaL9QO--UwAz4jmZX2SASooOY2x4yseRjXTmVqJ4ewohOTKqaO76z7W2EK51h9naryyS2olV-TzDOPs4CVCcF93EokXurYRMfu8iozt8GzZzwb3rWsiiQYfygFqKfuUeR1BpmyZymLJpM6F2G9dRUv17d9E2BMXJrGNL1nHEUpPGaKb-2jNSMgE5D5NyIZ1y7aDyW3V5oSDnC3o2CdlIjY9KqxlarvJqV1D3KVV7h57qRIdZ9HJ70BMTAIsITE3vgIRiGn1IWm8Wyd8fSkyIfj7hVyE4mdILmtu_aq3oSrdywsmzEFGovSGeKXjbs68AzNqnw_Va1sAXmxqKXMLrUKhWWf2jsqgEW3nndREHApw9K2TlgXdqyrR0jwUFXipqx5glM_raSUusHmFjIch8FO68m-SHXlcFJznQtX0hxO_ElGM7RIEgQ4VU7cN3XDETU1Uij-kPCYOhKJSqqpbd8CnYbnOKtB6DQmBYb-q-tWSxDDc-N-nMSg.I0uqyMPLHILf3zzHiAQ0Zw"
|
195
195
|
# arun(get_access_token())
|
196
196
|
data = {
|
197
197
|
"model": "recraftv3",
|
@@ -211,6 +211,6 @@ if __name__ == '__main__':
|
|
211
211
|
|
212
212
|
# with timer():
|
213
213
|
# arun(edit_image("https://oss.ffire.cc/files/kling_watermark.png"))
|
214
|
-
|
215
|
-
tokens = list(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0]) | xfilter_
|
214
|
+
tokens = [token]
|
215
|
+
# tokens = list(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0]) | xfilter_
|
216
216
|
r = arun(check_token(tokens))
|
meutils/apis/models.py
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : models
|
5
|
+
# @Time : 2025/7/14 16:47
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
|
13
|
+
|
14
|
+
def create_fal_models(model: str, request: dict):
|
15
|
+
if model == "pika":
|
16
|
+
duration = request.get("duration")
|
17
|
+
resolution = request.get("resolution")
|
18
|
+
|
19
|
+
billing_model = f"{duration}s_{resolution}"
|
20
|
+
else:
|
21
|
+
duration = request.get("duration", "5")
|
22
|
+
resolution = request.get("resolution", "720p")
|
23
|
+
|
24
|
+
billing_model = f"_{duration}s_{resolution}"
|
25
|
+
return billing_model
|
meutils/apis/oneapi/channel.py
CHANGED
@@ -91,12 +91,15 @@ async def exist_channel(
|
|
91
91
|
'rix-api-user': '1',
|
92
92
|
}
|
93
93
|
async with httpx.AsyncClient(base_url=base_url, headers=headers, timeout=100) as client:
|
94
|
-
|
94
|
+
path = "/api/channel/" if "api.chatfire.cn" in base_url else "/api/channel/search"
|
95
|
+
response = await client.get(path, params={"channel_id": request.id, "keyword": request.id})
|
95
96
|
response.raise_for_status()
|
96
|
-
logger.debug(response.json())
|
97
97
|
|
98
98
|
if items := response.json()['data']['items']:
|
99
|
-
|
99
|
+
_ = [item for item in items if item['id'] == request.id]
|
100
|
+
logger.debug(_)
|
101
|
+
|
102
|
+
return _
|
100
103
|
else:
|
101
104
|
return False
|
102
105
|
|
@@ -238,8 +241,8 @@ if __name__ == '__main__':
|
|
238
241
|
# # arun(delete_channel(range(10000, 20000)))
|
239
242
|
key = "KEY"
|
240
243
|
request = ChannelInfo(name='', key=key)
|
241
|
-
request = ChannelInfo(id=
|
244
|
+
request = ChannelInfo(id=44, key=key, used_quota=0.001)
|
242
245
|
|
243
|
-
arun(create_or_update_channel(request))
|
246
|
+
# arun(create_or_update_channel(request))
|
244
247
|
|
245
|
-
|
248
|
+
arun(exist_channel(request, base_url=base_url))
|
@@ -0,0 +1,89 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : tasks
|
5
|
+
# @Time : 2025/7/11 13:05
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
|
12
|
+
from meutils.pipe import *
|
13
|
+
from meutils.apis.utils import make_request_httpx
|
14
|
+
|
15
|
+
# headers
|
16
|
+
ACTIONS = {
|
17
|
+
"doubao": "https://api.chatfire.cn/volc/v1/contents/generations/tasks/{task_id}",
|
18
|
+
"jimeng": "https://api.chatfire.cn/volc/v1/contents/generations/tasks/{task_id}",
|
19
|
+
|
20
|
+
"cogvideox": "https://api.chatfire.cn/zhipuai/v1/async-result/{task_id}",
|
21
|
+
|
22
|
+
"minimax": "https://api.chatfire.cn/minimax/v2/async/minimax-hailuo-02",
|
23
|
+
"fal": "https://api.chatfire.cn/fal-ai/{model}/requests/{request_id}",
|
24
|
+
|
25
|
+
"wan": "https://api.chatfire.cn/sf/v1/videos/generations", # wan-ai-wan2.1-t2v-14b 可能还有其他平台
|
26
|
+
}
|
27
|
+
|
28
|
+
|
29
|
+
async def polling_tasks(platform: str = "flux", action: str = "", status: str = "NOT_START"):
|
30
|
+
base_url = "https://api.chatfire.cn"
|
31
|
+
path = "/api/task/"
|
32
|
+
headers = {
|
33
|
+
'authorization': f'Bearer {os.getenv("CHATFIRE_ONEAPI_TOKEN")}',
|
34
|
+
'new-api-user': '1',
|
35
|
+
'rix-api-user': '1',
|
36
|
+
}
|
37
|
+
|
38
|
+
params = {
|
39
|
+
"p": 1,
|
40
|
+
"page_size": 100,
|
41
|
+
"user_id": "",
|
42
|
+
"channel_id": "",
|
43
|
+
"task_id": "",
|
44
|
+
"submit_timestamp": int(time.time() - 24 * 3600),
|
45
|
+
"end_timestamp": int(time.time() - 0.5 * 3600),
|
46
|
+
"platform": platform,
|
47
|
+
"action": action,
|
48
|
+
"status": status
|
49
|
+
}
|
50
|
+
response = await make_request_httpx(
|
51
|
+
base_url=base_url,
|
52
|
+
path=path,
|
53
|
+
params=params,
|
54
|
+
headers=headers
|
55
|
+
)
|
56
|
+
if items := response['data']['items']:
|
57
|
+
tasks = []
|
58
|
+
model = ''
|
59
|
+
for item in items[:8]: # 批量更新
|
60
|
+
task_id = item['task_id']
|
61
|
+
action = item['action'].split('-', maxsplit=1)[0] # 模糊匹配
|
62
|
+
if 'fal-' in item['action']:
|
63
|
+
model = item['action'].split('-')[1]
|
64
|
+
|
65
|
+
if action not in ACTIONS:
|
66
|
+
logger.warning(f"未知任务类型:{action}")
|
67
|
+
continue
|
68
|
+
|
69
|
+
url = ACTIONS[action].format(model=model, task_id=task_id)
|
70
|
+
# logger.debug(url)
|
71
|
+
|
72
|
+
# task = await make_request_httpx(
|
73
|
+
# base_url=base_url,
|
74
|
+
# path=path
|
75
|
+
# )
|
76
|
+
# logger.debug(bjson(task))
|
77
|
+
base_url, path = url.rsplit("/", maxsplit=1)
|
78
|
+
_ = asyncio.create_task(
|
79
|
+
make_request_httpx(
|
80
|
+
base_url=base_url, path=path,
|
81
|
+
)
|
82
|
+
)
|
83
|
+
tasks.append(_)
|
84
|
+
data = await asyncio.gather(*tasks)
|
85
|
+
return data
|
86
|
+
|
87
|
+
|
88
|
+
if __name__ == '__main__':
|
89
|
+
arun(polling_tasks())
|
meutils/apis/oneapi/user.py
CHANGED
@@ -117,7 +117,7 @@ if __name__ == '__main__':
|
|
117
117
|
# arun(get_api_key_log("sk-2KedjhqS6uubaONCS1Dxyq28Tc1P4AtQk3WFfBpzy4enyalH"))
|
118
118
|
|
119
119
|
# arun(get_api_key_log('sk-iPNbgHSRkQ9VUb6iAcCa7a4539D74255A6462d29619d6519'))
|
120
|
-
arun(get_user_money("sk-
|
120
|
+
arun(get_user_money("sk-DmIQQe32ortrlLUPTQi8PeId27pAFEy8ewhN7KyVhRHv1prM"))
|
121
121
|
# arun(get_user_from_api_key('sk-'))
|
122
122
|
|
123
123
|
# arun(get_user_for_quota("sk-2KedjhqS6uubaONCS1Dxyq28Tc1P4AtQk3WFfBpzy4enyalH"))
|
meutils/apis/ppio/videos.py
CHANGED
@@ -141,10 +141,10 @@ if __name__ == '__main__':
|
|
141
141
|
resolution="768P",
|
142
142
|
)
|
143
143
|
|
144
|
-
|
144
|
+
r = arun(create_task(request, api_key=api_key))
|
145
145
|
|
146
146
|
# arun(get_task("d8b048d0-5c54-42ef-a691-3feab31693fe"))
|
147
147
|
|
148
148
|
# print(request.model_dump_json(exclude_none=True))
|
149
149
|
|
150
|
-
arun(get_task("959d759e-da77-42f9-95c5-c29cccc6a894"))
|
150
|
+
# arun(get_task("959d759e-da77-42f9-95c5-c29cccc6a894"))
|