MeUtils 2024.3.4.13.4.45__py3-none-any.whl → 2025.1.16.17.15.52__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-2024.3.4.13.4.45.dist-info → MeUtils-2025.1.16.17.15.52.dist-info}/METADATA +38 -32
- MeUtils-2025.1.16.17.15.52.dist-info/RECORD +864 -0
- {MeUtils-2024.3.4.13.4.45.dist-info → MeUtils-2025.1.16.17.15.52.dist-info}/WHEEL +1 -1
- {MeUtils-2024.3.4.13.4.45.dist-info → MeUtils-2025.1.16.17.15.52.dist-info}/entry_points.txt +1 -0
- apps/spider.py +24 -8
- examples/_openaisdk/4v.py +110 -0
- examples/_openaisdk/__init__.py +11 -0
- examples/_openaisdk/baichuan.py +38 -0
- examples/_openaisdk/bpo.py +138 -0
- examples/_openaisdk/chat_latex.py +95 -0
- examples/_openaisdk/chattts.py +85 -0
- examples/_openaisdk/copilot.py +48 -0
- examples/_openaisdk/dalle3.py +48 -0
- examples/_openaisdk/deeplx.py +31 -0
- examples/_openaisdk/demo.py +77 -0
- examples/_openaisdk/embeddings.py +34 -0
- examples/_openaisdk/gpt4all.py +69 -0
- examples/_openaisdk/gpt_fc.py +23 -0
- examples/_openaisdk/gr_vl.py +46 -0
- examples/_openaisdk/json_mode.py +12 -0
- examples/_openaisdk/kimi.py +91 -0
- examples/_openaisdk/kimi_qa.py +57 -0
- examples/_openaisdk/minimax.py +75 -0
- examples/_openaisdk/open_router.py +48 -0
- examples/_openaisdk/openai_aiplus.py +54 -0
- examples/_openaisdk/openai_audio.py +20 -0
- examples/_openaisdk/openai_baichuan.py +59 -0
- examples/_openaisdk/openai_cache.py +37 -0
- examples/_openaisdk/openai_chatfire.py +228 -0
- examples/_openaisdk/openai_chatfire_all.py +166 -0
- examples/_openaisdk/openai_deepinfra.py +55 -0
- examples/_openaisdk/openai_deepseek.py +29 -0
- examples/_openaisdk/openai_doubao.py +43 -0
- examples/_openaisdk/openai_embeddings.py +36 -0
- examples/_openaisdk/openai_files.py +57 -0
- examples/_openaisdk/openai_gitee.py +33 -0
- examples/_openaisdk/openai_god.py +45 -0
- examples/_openaisdk/openai_groq.py +240 -0
- examples/_openaisdk/openai_images.py +203 -0
- examples/_openaisdk/openai_json.py +78 -0
- examples/_openaisdk/openai_lingyi.py +59 -0
- examples/_openaisdk/openai_modelscope.py +54 -0
- examples/_openaisdk/openai_moon.py +55 -0
- examples/_openaisdk/openai_oi.py +61 -0
- examples/_openaisdk/openai_ppu.py +47 -0
- examples/_openaisdk/openai_qwen.py +58 -0
- examples/_openaisdk/openai_search.py +42 -0
- examples/_openaisdk/openai_sensenova.py +81 -0
- examples/_openaisdk/openai_siliconflow.py +52 -0
- examples/_openaisdk/openai_step.py +45 -0
- examples/_openaisdk/openai_test.py +66 -0
- examples/_openaisdk/openai_together.py +57 -0
- examples/_openaisdk/openai_tune.py +38 -0
- examples/_openaisdk/openai_zhipu.py +59 -0
- examples/_openaisdk/ppu.py +28 -0
- examples/_openaisdk/rag.py +54 -0
- examples/_openaisdk/rag_.py +26 -0
- examples/_openaisdk/test.py +52 -0
- examples/_openaisdk/x.py +32 -0
- examples/_openaisdk/xx.py +29 -0
- examples/_openaisdk/zhipu_files.py +47 -0
- examples/_openaisdk/zhipu_/346/231/272/350/203/275/344/275/223.py +45 -0
- examples/_openaisdk//345/205/234/345/272/225/346/265/213/350/257/225.py +50 -0
- examples/_openaisdk//345/244/232/346/250/241/346/200/201/346/265/213/350/257/225.py +76 -0
- examples/_openaisdk//345/244/232/346/250/241/346/200/201/346/265/213/350/257/225_.py +56 -0
- examples/_openaisdk//346/226/207/344/273/266/351/227/256/347/255/224.py +36 -0
- examples/_openaisdk//346/226/207/346/241/243/350/247/243/346/236/220.py +34 -0
- examples/_openaisdk//346/250/241/345/236/213/346/265/213/350/257/225.py +53 -0
- examples/_openaisdk//351/230/277/351/207/214.py +80 -0
- {meutils/serving/jina/__demo → examples/ann}/__init__.py +1 -1
- examples/ann/main.py +31 -0
- examples/apis/kl.py +28 -0
- examples/apis/x.py +17 -0
- examples/apis/xx.py +17 -0
- examples/arq_demo/demo.py +3 -0
- examples/backgroundtasks.py +25 -0
- examples/bserver.py +513 -21
- examples/cache_demo/HermesCache_demo.py +81 -0
- examples/cache_demo/acacge.py +26 -0
- examples/cache_demo/x.py +31 -0
- {meutils/docarray_utils → examples/caches}/__init__.py +1 -1
- examples/caches/llmcache.py +18 -0
- examples/celery_demo/product_task.py +2 -0
- examples/demo.py +17 -1
- examples/fastapi_caching.py +59 -0
- {meutils/dependencies → examples/gr}/__init__.py +1 -1
- examples/gr/d.py +22 -0
- examples/gr/demo.py +30 -0
- examples/ip2/345/234/260/345/214/272.py +16 -0
- examples/jinja2_demo/j2_demo.py +20 -1
- examples/json/346/240/207/345/207/206/345/214/226.py +54 -0
- examples/md.py +29 -0
- {meutils/serving/jina → examples/nesc}/__init__.py +1 -1
- examples/nesc/main.py +76 -0
- examples/orm/mysql_orm.py +113 -0
- examples/orm/sql_creater.py +57 -0
- examples/orm/sqlm.py +134 -0
- examples/rq_demo/fns.py +18 -0
- examples/rq_demo/redis/351/230/237/345/210/227.py +14 -7
- examples/rq_demo/redis/351/230/237/345/210/227_add_chatfire.py +30 -0
- examples/size_map.py +43 -0
- examples/test.py +59 -0
- examples/webs/__init__.py +11 -0
- examples/webs/main.py +34 -0
- examples/x.py +13 -0
- examples//345/216/273/346/260/264/345/215/260.py +20 -0
- examples//346/226/207/346/241/243/346/231/272/350/203/275/__init__.py +11 -0
- meutils/_utils.py +15 -6
- meutils/ai_audio/asr/__init__.py +3 -2
- meutils/ai_audio/asr/cf_asr.py +53 -0
- meutils/ai_audio/asr/de.py +11 -0
- meutils/ai_audio/asr/fast_asr.py +15 -7
- meutils/ai_audio/asr/openai_asr.py +83 -6
- meutils/ai_audio/fast_asr.py +8 -4
- meutils/ai_audio/tts/EdgeTTS.py +33 -7
- meutils/ai_audio/tts/openai_tts.py +24 -20
- meutils/ai_audio/tts/tts_ui.py +1 -0
- meutils/ai_audio/utils.py +9 -0
- meutils/ai_cv/__init__.py +0 -1
- meutils/ai_cv/ocr.py +3 -2
- meutils/ai_cv/utils.py +154 -0
- meutils/ai_video/avmerge.py +6 -0
- meutils/ai_video/video.py +11 -2
- meutils/{api → apis}/__init__.py +1 -1
- meutils/apis/ali_apis.py +60 -0
- meutils/apis/audio/__init__.py +10 -0
- meutils/apis/audio/deepinfra.py +59 -0
- meutils/apis/audio/fish.py +248 -0
- meutils/apis/baidu/__init__.py +9 -0
- meutils/apis/baidu/bdaitpzs.py +229 -0
- meutils/apis/baidu/test.py +78 -0
- meutils/apis/chatglm/__init__.py +11 -0
- meutils/apis/chatglm/glm_video.py +273 -0
- meutils/apis/chatglm/glm_video_api.py +116 -0
- meutils/apis/chatglm/images.py +63 -0
- meutils/apis/chatglm/temp.py +259 -0
- meutils/apis/chatglm/x.py +31 -0
- meutils/{api → apis}/common.py +10 -6
- meutils/apis/fal/__init__.py +11 -0
- meutils/apis/fal/files.py +53 -0
- meutils/apis/fal/images.py +57 -0
- meutils/apis/fal/images_.py +72 -0
- meutils/apis/fal/videos.py +77 -0
- meutils/apis/firecrawl.py +45 -0
- meutils/apis/gitee/__init__.py +11 -0
- meutils/apis/gitee/images/__init__.py +9 -0
- meutils/apis/gitee/images/kolors.py +99 -0
- meutils/apis/hailuoai/__init__.py +11 -0
- meutils/apis/hailuoai/demo.py +34 -0
- meutils/apis/hailuoai/hasha_new.py +248 -0
- meutils/apis/hailuoai/music.py +11 -0
- meutils/apis/hailuoai/upload.py +116 -0
- meutils/apis/hailuoai/videos.py +460 -0
- meutils/apis/hailuoai/yy.py +242 -0
- meutils/apis/hf/__init__.py +11 -0
- meutils/apis/hf/got_ocr.py +64 -0
- meutils/apis/hf/gradio.py +34 -0
- meutils/apis/hf/hivisionidphotos.py +80 -0
- meutils/apis/hf/kolors.py +68 -0
- meutils/apis/hf/kolors_virtual_try_on.py +107 -0
- meutils/apis/hf/r.py +53 -0
- meutils/apis/hf/x.py +26 -0
- meutils/apis/hf//350/257/201/344/273/266/347/205/247.py +41 -0
- meutils/apis/hunyuan/__init__.py +11 -0
- meutils/apis/hunyuan/image_tools.py +84 -0
- meutils/apis/images/__init__.py +11 -0
- meutils/apis/images/deepinfra.py +92 -0
- meutils/apis/images/demo.py +150 -0
- meutils/apis/images/eidt.py +36 -0
- meutils/apis/images/flux/__init__.py +11 -0
- meutils/apis/images/flux/fluxpro.py +108 -0
- meutils/apis/images/flux/mystic.py +116 -0
- meutils/apis/images/ideogram/__init__.py +10 -0
- meutils/apis/images/ideogram/ideogram_images.py +193 -0
- meutils/apis/images/prodia/__init__.py +12 -0
- meutils/apis/images/prodia/faceswap.py +76 -0
- meutils/apis/images/recraft.py +152 -0
- meutils/apis/images/virtual_try_on/__init__.py +11 -0
- meutils/apis/images/virtual_try_on/images.py +65 -0
- meutils/apis/jiema/24mail.py +96 -0
- meutils/apis/jiema/__init__.py +11 -0
- meutils/apis/jiema/yezi.py +97 -0
- meutils/apis/jimeng/__init__.py +11 -0
- meutils/apis/jimeng/common.py +328 -0
- meutils/apis/jimeng/doubao.py +68 -0
- meutils/apis/jimeng/doubao_utils.py +175 -0
- meutils/apis/jimeng/files.py +263 -0
- meutils/apis/jimeng/images.py +140 -0
- meutils/apis/jimeng/lip_sync.py +11 -0
- meutils/apis/jina.py +55 -0
- meutils/apis/kling/__init__.py +11 -0
- meutils/apis/kling/api.py +60 -0
- meutils/apis/kling/images.py +174 -0
- meutils/apis/kling/kolors_virtual_try_on.py +111 -0
- meutils/apis/kling/kolors_virtual_try_on_web.py +126 -0
- meutils/apis/kling/videos.py +67 -0
- meutils/apis/kling//351/211/264/346/235/203.py +34 -0
- meutils/apis/kuaidi.py +32 -0
- meutils/apis/kuaishou/__init__.py +10 -0
- meutils/apis/kuaishou/klingai.py +523 -0
- meutils/apis/kuaishou/klingai_video.py +197 -0
- meutils/apis/kuaishou/kolors.py +189 -0
- meutils/apis/llm_qa.py +55 -0
- meutils/apis/luma/__init__.py +11 -0
- meutils/apis/luma/luma.py +123 -0
- meutils/apis/minicpm/__init__.py +9 -0
- meutils/apis/minicpm/luca.py +137 -0
- meutils/apis/monica/__init__.py +11 -0
- meutils/apis/monica/llm.py +11 -0
- meutils/apis/napkin/__init__.py +11 -0
- meutils/apis/napkin/icons.py +42 -0
- meutils/apis/niutrans.py +73 -0
- meutils/apis/oneapi/__init__.py +11 -0
- meutils/apis/oneapi/channel.py +68 -0
- meutils/apis/oneapi/common.py +135 -0
- meutils/apis/oneapi/log.py +47 -0
- meutils/apis/oneapi/token.py +48 -0
- meutils/apis/oneapi/token_.py +112 -0
- meutils/apis/oneapi/user.py +100 -0
- meutils/apis/oneapi/utils.py +47 -0
- meutils/apis/pixverse/__init__.py +11 -0
- meutils/apis/pixverse/pixverse.py +150 -0
- meutils/apis/proxy/__init__.py +11 -0
- meutils/apis/proxy/ips.py +178 -0
- meutils/apis/remini/__init__.py +11 -0
- meutils/apis/remini/remini.py +89 -0
- meutils/apis/replicateai/__init__.py +11 -0
- meutils/apis/replicateai/images.py +79 -0
- meutils/apis/replicateai/raw.py +53 -0
- meutils/apis/runwayml/__init__.py +10 -0
- meutils/apis/runwayml/gen.py +143 -0
- meutils/apis/search/__init__.py +11 -0
- meutils/apis/search/baichuan.py +11 -0
- meutils/apis/search/metaso.py +218 -0
- meutils/apis/search/metaso_.py +77 -0
- meutils/apis/search/n.py +99 -0
- meutils/apis/search/searxng.py +42 -0
- meutils/apis/search_music.py +39 -0
- meutils/apis/siliconflow/__init__.py +9 -0
- meutils/apis/siliconflow/audio.py +63 -0
- meutils/apis/siliconflow/image_to_image.py +116 -0
- meutils/apis/siliconflow/images.py +154 -0
- meutils/apis/siliconflow/rerankers.py +40 -0
- meutils/apis/siliconflow/text_to_image.py +132 -0
- meutils/apis/siliconflow/utils.py +66 -0
- meutils/apis/siliconflow/videos.py +102 -0
- meutils/apis/sunoai/__init__.py +10 -0
- meutils/apis/sunoai/haimian.py +135 -0
- meutils/apis/sunoai/suno.py +373 -0
- meutils/apis/textcard/__init__.py +11 -0
- meutils/apis/textcard/demo.py +25 -0
- meutils/apis/textcard/hanyuxinjie.py +81 -0
- meutils/apis/textin.py +159 -0
- meutils/apis/to_image/__init__.py +11 -0
- meutils/apis/to_image/html2image.py +29 -0
- meutils/apis/to_image/md.py +29 -0
- meutils/apis/to_image/url2image.py +41 -0
- meutils/apis/together/__init__.py +11 -0
- meutils/apis/together/images.py +80 -0
- meutils/apis/translator/__init__.py +9 -0
- meutils/apis/translator/deeplx.py +55 -0
- meutils/apis/tripo3d/__init__.py +11 -0
- meutils/apis/tripo3d/images.py +106 -0
- meutils/apis/ts.py +60 -0
- meutils/apis/uptime_kuma/__init__.py +11 -0
- meutils/apis/uptime_kuma/common.py +56 -0
- meutils/apis/uptime_kuma//345/233/275/344/272/247/345/210/206/347/273/204.py +68 -0
- meutils/apis/utils.py +47 -0
- meutils/apis/videos/__init__.py +11 -0
- meutils/apis/videos/sora.py +16 -0
- meutils/apis/vidu/__init__.py +9 -0
- meutils/apis/vidu/vidu_video.py +254 -0
- meutils/apis/vidu/x.py +14 -0
- meutils/apis/voice_clone/__init__.py +10 -0
- meutils/apis/voice_clone/fish.py +236 -0
- meutils/apis/voice_clone/fish_api.py +16 -0
- meutils/apis/web_search.py +31 -0
- meutils/apis/yezi.py +97 -0
- meutils/async_task/__init__.py +13 -0
- meutils/async_task/celery_config.py +106 -0
- meutils/async_task/common.py +37 -0
- meutils/async_task/demo_create_tasks.py +73 -0
- meutils/async_task/tasks/__init__.py +11 -0
- meutils/async_task/tasks/_all.py +20 -0
- meutils/async_task/tasks/hailuo.py +24 -0
- meutils/async_task/tasks/kling.py +30 -0
- meutils/async_task/tasks/replicateai.py +24 -0
- meutils/async_task/tasks/test.py +124 -0
- meutils/async_task/tasks/vidu.py +28 -0
- meutils/async_task/utils.py +191 -0
- meutils/async_task//351/200/232/347/224/250/350/256/276/350/256/241.py +119 -0
- meutils/async_utils/asyncer_.py +37 -0
- meutils/async_utils/background.py +68 -0
- meutils/async_utils/common.py +136 -16
- meutils/async_utils/test.py +47 -0
- meutils/cache_utils.py +29 -23
- meutils/caches/__init__.py +9 -0
- meutils/caches/acache.py +45 -0
- meutils/caches/redis_cache.py +63 -0
- meutils/clis/check_api.py +66 -0
- meutils/clis/cli.py +1 -1
- meutils/common.py +56 -17
- meutils/config_utils/__init__.py +11 -0
- meutils/config_utils/lark_utils/__init__.py +11 -0
- meutils/config_utils/lark_utils/common.py +385 -0
- meutils/config_utils/lark_utils/demo.py +13 -0
- meutils/config_utils/lark_utils/x.py +50 -0
- meutils/config_utils/manager.py +108 -0
- meutils/crawlers/__init__.py +11 -0
- meutils/data/VERSION +1 -1
- meutils/data/cowboy-hat-face.webp +0 -0
- meutils/data/oneapi/FOOTER.md +7 -0
- meutils/data/oneapi/NOTICE.md +138 -0
- meutils/data/oneapi/__init__.py +15 -0
- meutils/db/orm.py +179 -0
- meutils/db/redis_db.py +87 -0
- meutils/decorators/cache.py +1 -1
- meutils/decorators/common.py +84 -5
- meutils/decorators/contextmanagers.py +17 -6
- meutils/decorators/fastapi_decorator.py +77 -3
- meutils/decorators/polling.py +46 -0
- meutils/decorators/retry.py +150 -26
- meutils/fastapi_utils/__init__.py +11 -0
- meutils/fastapi_utils/exceptions/http_error.py +72 -0
- meutils/fastapi_utils/exceptions/validation_error.py +44 -0
- meutils/hash_utils.py +9 -4
- meutils/hooks/__init__.py +11 -0
- meutils/hooks/hook_test.py +174 -0
- meutils/hooks/wechat.py +162 -0
- meutils/hooks/wechat_channel.py +303 -0
- meutils/init/evn.py +1 -1
- meutils/io/files_utils.py +232 -0
- meutils/io/image.py +148 -10
- meutils/io/x.py +75 -0
- meutils/llm/__init__.py +10 -0
- meutils/llm/check_api.py +109 -0
- meutils/llm/check_utils.py +106 -0
- meutils/llm/clients.py +38 -0
- meutils/llm/completions/__init__.py +11 -0
- meutils/llm/completions/agents/__init__.py +11 -0
- meutils/llm/completions/agents/file.py +125 -0
- meutils/llm/completions/cp.py +112 -0
- meutils/llm/completions/delilegal.py +135 -0
- meutils/llm/completions/dify.py +81 -0
- meutils/llm/completions/kimi.py +47 -0
- meutils/llm/completions/modelscope.py +11 -0
- meutils/{fileparser/filetype.py → llm/completions/oi.py} +5 -3
- meutils/llm/completions/rag/__init__.py +11 -0
- meutils/llm/completions/rag/fire.py +157 -0
- meutils/llm/completions/rag/qwen.py +11 -0
- meutils/llm/completions/rag/rag.py +41 -0
- meutils/llm/completions/rag.py +38 -0
- meutils/llm/completions/tryblend.py +201 -0
- meutils/llm/completions/tune.py +284 -0
- meutils/llm/completions/x.py +26 -0
- meutils/llm/completions/xx.py +61 -0
- meutils/llm/completions/yuanbao.py +176 -0
- meutils/llm/demo.py +114 -0
- meutils/llm/functions/__init__.py +11 -0
- meutils/llm/mappers.py +15 -0
- meutils/llm/openai_utils/__init__.py +11 -0
- meutils/llm/openai_utils/common.py +284 -0
- meutils/llm/openai_utils/tool_outputs.py +45 -0
- meutils/llm/output_parsers/__init__.py +80 -0
- meutils/llm/prompts/__init__.py +244 -0
- meutils/llm/prompts/demo.py +155 -0
- meutils/llm/prompts/html2image_test.py +19 -0
- meutils/llm/utils.py +133 -0
- meutils/llm/x.py +75 -0
- meutils/notice/feishu.py +40 -9
- meutils/notice/wechat.py +23 -21
- meutils/np_utils.py +10 -1
- meutils/office_automation/pdf.py +6 -1
- meutils/oss/__init__.py +20 -0
- meutils/oss/minio_oss.py +184 -0
- meutils/oss/minio_utils.py +48 -0
- meutils/other/__demo.py +6 -4
- meutils/pandas_utils/__init__.py +1 -0
- meutils/pandas_utils/common.py +31 -0
- meutils/pandas_utils/pd_utils.py +10 -6
- meutils/parsers/__init__.py +10 -0
- meutils/parsers/file_parsers.py +110 -0
- meutils/parsers/fileparser/demo.py +41 -0
- meutils/parsers/fileparser/filetype.py +41 -0
- meutils/pay.py +37 -0
- meutils/pipe.py +37 -4
- meutils/playwright_utils/common.py +20 -12
- meutils/plots/common.py +35 -34
- meutils/queues/demo.py +56 -0
- meutils/queues/smooth_queue.py +120 -0
- meutils/queues/uniform_queue.py +3 -1
- meutils/request_utils/__init__.py +26 -2
- meutils/request_utils/ark.py +47 -0
- meutils/request_utils/crawler.py +34 -5
- meutils/request_utils/jwt_utils/__init__.py +11 -0
- meutils/request_utils/jwt_utils/common.py +42 -0
- meutils/request_utils/volc.py +160 -0
- meutils/schemas/__init__.py +0 -1
- meutils/schemas/baidu_types.py +70 -0
- meutils/schemas/batch_types.py +450 -0
- meutils/schemas/celery_types.py +64 -0
- meutils/schemas/chatfire_types.py +15 -0
- meutils/schemas/chatglm_types.py +197 -0
- meutils/schemas/db/__init__.py +11 -0
- meutils/schemas/db/oneapi_types.py +117 -0
- meutils/schemas/dify_types.py +40 -0
- meutils/schemas/embedding.py +31 -0
- meutils/schemas/fal_types.py +13 -0
- meutils/schemas/fish_types.py +11 -0
- meutils/schemas/hailuo_types.py +208 -0
- meutils/schemas/haimian_types.py +51 -0
- meutils/schemas/idphoto_types.py +43 -0
- meutils/schemas/image_types.py +476 -0
- meutils/schemas/jimeng_types.py +28 -0
- meutils/schemas/jina_types.py +67 -0
- meutils/schemas/kimi_types.py +86 -0
- meutils/schemas/kling_types.py +235 -0
- meutils/schemas/kuaishou_types.py +328 -0
- meutils/schemas/luma_types.py +59 -0
- meutils/schemas/message_types.py +165 -0
- meutils/schemas/message_types_.py +219 -0
- meutils/schemas/metaso_types.py +64 -0
- meutils/schemas/napkin_types.py +85 -0
- meutils/schemas/ocr_types.py +37 -0
- meutils/schemas/oneapi/__init__.py +11 -0
- meutils/schemas/oneapi/_types.py +49 -0
- meutils/schemas/oneapi/common.py +883 -0
- meutils/schemas/oneapi/icons.py +30 -0
- meutils/schemas/oneapi/model_group_info.py +48 -0
- meutils/schemas/oneapi/model_info.py +34 -0
- meutils/schemas/oneapi/models.py +26 -0
- meutils/schemas/oneapi/x.py +26 -0
- meutils/schemas/oneapi//351/207/215/345/256/232/345/220/221.py +132 -0
- meutils/schemas/openai_api_protocol.py +411 -0
- meutils/schemas/openai_types.py +366 -0
- meutils/schemas/pixverse_types.py +88 -0
- meutils/schemas/playwright_types.py +57 -0
- meutils/schemas/prodia_types.py +19 -0
- meutils/schemas/replicate_types.py +112 -0
- meutils/schemas/request_types.py +20 -0
- meutils/schemas/runwayml_types.py +190 -0
- meutils/schemas/siliconflow_types.py +80 -0
- meutils/schemas/step_types.py +19 -0
- meutils/schemas/suno_types.py +319 -0
- meutils/schemas/task_types.py +192 -0
- meutils/schemas/translator_types.py +29 -0
- meutils/schemas/tripo3d_types.py +57 -0
- meutils/schemas/tryblend_types.py +51 -0
- meutils/schemas/video_types.py +62 -0
- meutils/schemas/vidu_types.py +350 -0
- meutils/schemas/wechat_types.py +316 -0
- meutils/schemas/yuanbao_types.py +260 -0
- meutils/serving/celery/__init__.py +8 -0
- meutils/serving/celery/config.py +115 -0
- meutils/serving/celery/router.py +4 -6
- meutils/serving/celery/tasks.py +6 -4
- meutils/serving/celery//351/200/232/347/224/250/350/256/276/350/256/241.py +119 -0
- meutils/serving/fastapi/common.py +27 -31
- meutils/serving/fastapi/dependencies/__init__.py +0 -1
- meutils/serving/fastapi/dependencies/auth.py +55 -2
- meutils/serving/fastapi/exceptions/http_error.py +67 -2
- meutils/serving/fastapi/exceptions/validation_error.py +18 -2
- meutils/serving/fastapi/lifespans.py +73 -0
- meutils/serving/fastapi/routers/scheduler.py +12 -0
- meutils/serving/fastapi/routers/screenshot.py +47 -0
- meutils/serving/fastapi/routers/spider.py +8 -3
- meutils/serving/fastapi/routers/task.py +48 -0
- meutils/serving/fastapi/utils.py +48 -1
- meutils/serving/streamlit/common.py +1 -1
- meutils/smooth_utils.py +3 -0
- meutils/str_utils/__init__.py +22 -3
- meutils/str_utils/json_utils.py +7 -0
- meutils/str_utils/regular_expression.py +102 -10
- meutils/templates/xx.html +21 -0
- meutils/templates/xxx.html +117 -0
- meutils/todo.py +12 -0
- meutils/tools/token_monitor.py +33 -0
- MeUtils-2024.3.4.13.4.45.dist-info/RECORD +0 -540
- meutils/ai_audio/asr/subtitle.srt +0 -40
- meutils/ai_audio/demo.ipynb +0 -1215
- meutils/ai_audio/example.srt +0 -348
- meutils/ai_audio/new.srt +0 -179
- meutils/ai_audio/subtitles.srt +0 -696
- meutils/ai_audio/tts/new.srt +0 -179
- meutils/ai_audio//350/247/206/351/242/221/345/220/210/345/271/266.sh +0 -32
- meutils/ai_cv/1.jpg +0 -0
- meutils/ai_cv/197.jpg +0 -0
- meutils/ai_cv/2.jpg +0 -0
- meutils/ai_cv/img.png +0 -0
- meutils/ai_cv/invoice.jpg +0 -0
- meutils/ai_cv/tbl.png +0 -0
- meutils/ai_cv/test.png +0 -0
- meutils/ann/README.md +0 -33
- meutils/ann/README_gensim.md +0 -47
- meutils/ann/examples/client.py +0 -59
- meutils/ann/examples/demo.py +0 -24
- meutils/api/deeplx.py +0 -29
- meutils/api/qr.png +0 -0
- meutils/clis/README.md +0 -29
- meutils/clis/__test.sh +0 -17
- meutils/clis/deepseek.txt +0 -8
- meutils/clis/deepseek_13003330042.json +0 -1
- meutils/clis/deepseek_13003872192.json +0 -1
- meutils/clis/deepseek_13852263862.json +0 -1
- meutils/clis/deepseek_13913898681.json +0 -1
- meutils/clis/deepseek_13962978617.json +0 -1
- meutils/clis/deepseek_15251801790.json +0 -1
- meutils/clis/deepseek_15720826383.json +0 -1
- meutils/clis/deepseek_18395563611.json +0 -1
- meutils/clis/deepseek_313303303@qq.com.json +0 -1
- meutils/clis/kimi_state.json +0 -1
- meutils/cmds/README.md +0 -55
- meutils/coding/__init__.py +0 -11
- meutils/coding/find132.py +0 -40
- meutils/db/README.md +0 -51
- meutils/decorators/README.md +0 -17
- meutils/docarray_utils/demo_es.py +0 -34
- meutils/docarray_utils/demo_hnsw.py +0 -55
- meutils/docarray_utils/in_memory.py +0 -38
- meutils/docarray_utils//346/224/271/351/200/240/344/270/213hnsw.py +0 -43
- meutils/io/file.py +0 -20
- meutils/io/img.png +0 -0
- meutils/io/x.yml +0 -1
- meutils/notice/img.png +0 -0
- meutils/notice/todo.md +0 -10
- meutils/office_automation//346/212/225/350/265/204/347/256/241/347/220/206/347/263/273/347/273/237O3.2_/344/272/244/346/230/223/347/273/204.pdm +0 -22469
- meutils/playwright_utils/__test.sh +0 -2
- meutils/playwright_utils/kimi1_cookies.json +0 -1
- meutils/playwright_utils/kimi2_cookies.json +0 -1
- meutils/playwright_utils/kimi_cookies.json +0 -93
- meutils/serving/README.md +0 -1
- meutils/serving/celery/_run.sh +0 -10
- meutils/serving/gui/run.sh +0 -9
- meutils/serving/jina/__demo/client.py +0 -42
- meutils/serving/jina/__demo/flow.svg +0 -1
- meutils/serving/jina/__demo/s.py +0 -34
- meutils/serving/jina/__demo/s2.py +0 -37
- meutils/serving/jina/__demo/server.py +0 -83
- meutils/serving/jina/__demo/test.py +0 -40
- meutils/serving/jina/executors/SentenceEncoder.py +0 -62
- meutils/serving/jina/executors/SentenceEncoder_.py +0 -63
- meutils/serving/jina/executors/__init__.py +0 -46
- meutils/serving/jina/executors/base.py +0 -40
- meutils/serving/jina/nlp_serving/__init__.py +0 -11
- meutils/serving/jina/nlp_serving/word_segmentation.py +0 -40
- meutils/serving/streamlit/conf.yaml +0 -5
- meutils/serving/streamlit/ocr.png +0 -0
- meutils/serving/streamlit/run.sh +0 -17
- meutils/serving/webui/.streamlit/_config.toml +0 -186
- meutils/serving/webui/.streamlit/config.toml +0 -26
- meutils/serving/webui/pages/_1_/345/210/206/350/257/215.py +0 -56
- meutils/serving/webui/pages/_2_/350/257/215/346/200/247/346/240/207/346/263/250/344/270/216/345/256/236/344/275/223/350/257/206/345/210/253.py +0 -54
- meutils/serving/webui/pages/_3_/346/226/207/346/234/254/345/214/271/351/205/215.py +0 -64
- meutils/serving/webui/run.sh +0 -9
- meutils/spark/__init__.py +0 -26
- meutils/tools/monitor.yml +0 -29
- {MeUtils-2024.3.4.13.4.45.dist-info → MeUtils-2025.1.16.17.15.52.dist-info}/LICENSE +0 -0
- {MeUtils-2024.3.4.13.4.45.dist-info → MeUtils-2025.1.16.17.15.52.dist-info}/top_level.txt +0 -0
- {meutils → examples}/comp_utils/__init__.py +0 -0
- {meutils → examples}/comp_utils/reverse_metric.py +0 -0
- /meutils/{fileparser/README.md → fastapi_utils/exceptions/__init__.py} +0 -0
- /meutils/{fileparser → parsers/fileparser}/PDF/346/212/275/345/217/226.py" +0 -0
- /meutils/{fileparser → parsers/fileparser}/__init__.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/common.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/__init__.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/__main__.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/filetype.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/helpers.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/match.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/types/__init__.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/types/application.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/types/archive.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/types/audio.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/types/base.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/types/document.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/types/font.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/types/image.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/types/isobmff.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/types/video.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/filetype/utils.py +0 -0
- /meutils/{fileparser → parsers/fileparser}/pdf.py +0 -0
- /meutils/{fileparser → parsers/fileparser}//350/241/250/346/240/274/346/212/275/345/217/226.py" +0 -0
@@ -0,0 +1,193 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : images
|
5
|
+
# @Time : 2024/8/23 10:26
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
11
|
+
from meutils.decorators.retry import retrying
|
12
|
+
from meutils.oss.minio_oss import Minio
|
13
|
+
from meutils.pipe import *
|
14
|
+
|
15
|
+
from meutils.schemas.openai_types import ImageRequest, ImagesResponse
|
16
|
+
from meutils.schemas.image_types import ASPECT_RATIOS
|
17
|
+
|
18
|
+
FEISHU_URL = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=IN01qU"
|
19
|
+
|
20
|
+
from urllib.parse import urlencode
|
21
|
+
|
22
|
+
STYLES = {'AUTO', 'DEFAULT', 'PHOTO', 'ANIME', 'ILLUSTRATION', 'RENDER_3D'}
|
23
|
+
|
24
|
+
|
25
|
+
# @alru_cache(ttl=600)
|
26
|
+
# @retrying()
|
27
|
+
async def get_access_token(refresh_token: Optional[str] = None):
|
28
|
+
refresh_token = refresh_token or await get_next_token_for_polling(FEISHU_URL)
|
29
|
+
|
30
|
+
refresh_token, cookie = refresh_token.strip().split('\n', maxsplit=1)
|
31
|
+
|
32
|
+
payload = {
|
33
|
+
"grant_type": "refresh_token",
|
34
|
+
"refresh_token": refresh_token,
|
35
|
+
}
|
36
|
+
|
37
|
+
data = urlencode(payload)
|
38
|
+
|
39
|
+
headers = {
|
40
|
+
'accept': '*/*',
|
41
|
+
'accept-language': 'zh-CN,zh;q=0.9',
|
42
|
+
'content-type': 'application/x-www-form-urlencoded',
|
43
|
+
'origin': 'https://ideogram.ai',
|
44
|
+
'priority': 'u=1, i',
|
45
|
+
'referer': 'https://ideogram.ai/',
|
46
|
+
'sec-ch-ua': '"Not)A;Brand";v="99", "Google Chrome";v="127", "Chromium";v="127"',
|
47
|
+
'sec-ch-ua-mobile': '?0',
|
48
|
+
'sec-ch-ua-platform': '"macOS"',
|
49
|
+
'sec-fetch-dest': 'empty',
|
50
|
+
'sec-fetch-mode': 'cors',
|
51
|
+
'sec-fetch-site': 'cross-site',
|
52
|
+
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36',
|
53
|
+
# 'x-client-data': 'CI22yQEIo7bJAQipncoBCNqFywEIlKHLAQiGoM0BCJ2szgEYj87NAQ==',
|
54
|
+
'x-client-version': 'Chrome/JsCore/10.12.3/FirebaseCore-web'
|
55
|
+
}
|
56
|
+
|
57
|
+
base_url = "https://ideogram.chatfire.cc"
|
58
|
+
base_url = "https://securetoken.googleapis.com"
|
59
|
+
params = {"key": "AIzaSyBwq4bRiOapXYaKE-0Y46vLAw1-fzALq7Y"}
|
60
|
+
async with httpx.AsyncClient(base_url=base_url, headers=headers, timeout=30) as client:
|
61
|
+
response = await client.post('/v1/token', content=data, params=params)
|
62
|
+
# logger.debug(response.status_code)
|
63
|
+
# logger.debug(response.text)
|
64
|
+
data = response.json()
|
65
|
+
|
66
|
+
user_id = data['user_id']
|
67
|
+
access_token = data['access_token']
|
68
|
+
|
69
|
+
return user_id, access_token, cookie
|
70
|
+
|
71
|
+
|
72
|
+
@retrying(max_retries=8, max=5, predicate=lambda x: x is True)
|
73
|
+
async def create(request: ImageRequest, refresh_token: Optional[str] = None):
|
74
|
+
user_id, access_token, cookie = await get_access_token(refresh_token)
|
75
|
+
|
76
|
+
width, height = ASPECT_RATIOS.get(request.size, request.size).split('x') | xmap(int)
|
77
|
+
|
78
|
+
payload = {
|
79
|
+
"sampling_speed": 2, # 2 是快速 0 是中速 -2 高质量
|
80
|
+
|
81
|
+
"prompt": request.prompt,
|
82
|
+
"user_id": "",
|
83
|
+
# "model_version": "V_1_5",
|
84
|
+
# "model_version": "V_0_3",
|
85
|
+
"model_version": request.model,
|
86
|
+
|
87
|
+
"use_autoprompt_option": "AUTO",
|
88
|
+
"style_expert": request.style if request.style in STYLES else "AUTO",
|
89
|
+
|
90
|
+
"resolution": {
|
91
|
+
"width": width,
|
92
|
+
"height": height
|
93
|
+
},
|
94
|
+
# "resolution": {
|
95
|
+
# "width": 1152,
|
96
|
+
# "height": 864
|
97
|
+
# },
|
98
|
+
# "resolution": {
|
99
|
+
# "width": 1280,
|
100
|
+
# "height": 960
|
101
|
+
# },
|
102
|
+
|
103
|
+
# "resolution": {
|
104
|
+
# "width": 1024,
|
105
|
+
# "height": 512
|
106
|
+
# }
|
107
|
+
}
|
108
|
+
|
109
|
+
headers = {
|
110
|
+
"Authorization": f"Bearer {access_token}",
|
111
|
+
"user_id": user_id,
|
112
|
+
|
113
|
+
"Cookie": cookie,
|
114
|
+
|
115
|
+
"Host": "ideogram.ai",
|
116
|
+
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0",
|
117
|
+
"Accept": "*/*",
|
118
|
+
"Accept-Language": "en-US,en;q=0.5",
|
119
|
+
"Accept-Encoding": "gzip, deflate, br",
|
120
|
+
"Referer": "https://ideogram.ai/u/test1014/generated",
|
121
|
+
"Content-Type": "application/json",
|
122
|
+
"Alt-Used": "ideogram.ai",
|
123
|
+
"Connection": "keep-alive",
|
124
|
+
"Sec-Fetch-Dest": "empty",
|
125
|
+
"Sec-Fetch-Mode": "cors",
|
126
|
+
"Sec-Fetch-Site": "same-origin",
|
127
|
+
"TE": "trailers"
|
128
|
+
}
|
129
|
+
|
130
|
+
base_url = "https://ideogram.ai"
|
131
|
+
async with httpx.AsyncClient(base_url=base_url, headers=headers, timeout=30) as client:
|
132
|
+
response = await client.post('/api/images/sample', json=payload)
|
133
|
+
logger.debug(response.status_code)
|
134
|
+
# logger.debug(response.text)
|
135
|
+
if response.status_code in {401, 403}:
|
136
|
+
return True
|
137
|
+
|
138
|
+
if response.is_success:
|
139
|
+
data = response.json()
|
140
|
+
payload = {
|
141
|
+
"request_ids": [data['request_id']]
|
142
|
+
}
|
143
|
+
|
144
|
+
for i in range(10):
|
145
|
+
await asyncio.sleep(5)
|
146
|
+
logger.debug(f'获取结果 「{i}」')
|
147
|
+
response = await client.post("/api/gallery/retrieve-requests", json=payload)
|
148
|
+
|
149
|
+
logger.debug(response.status_code)
|
150
|
+
# logger.debug(response.text)
|
151
|
+
|
152
|
+
if response.is_success:
|
153
|
+
data = response.json()
|
154
|
+
if data['sampling_requests'][0]['is_completed']:
|
155
|
+
image_responses = data['sampling_requests'][0]['responses']
|
156
|
+
tasks = []
|
157
|
+
for image_resp in image_responses:
|
158
|
+
url = f"https://ideogram.ai/api/images/direct/{image_resp['response_id']}"
|
159
|
+
|
160
|
+
image_resp['raw_url'] = url
|
161
|
+
|
162
|
+
task = await Minio().put_object_for_openai(
|
163
|
+
file=url,
|
164
|
+
filename=f"{shortuuid.random()}.jpeg",
|
165
|
+
|
166
|
+
headers=headers, follow_redirects=True
|
167
|
+
)
|
168
|
+
|
169
|
+
tasks.append(task)
|
170
|
+
await asyncio.sleep(1)
|
171
|
+
|
172
|
+
# file_objects = await asyncio.gather(*tasks)
|
173
|
+
|
174
|
+
file_objects = tasks
|
175
|
+
for file_object, image_resp in zip(file_objects, image_responses):
|
176
|
+
image_resp['url'] = file_object.filename
|
177
|
+
|
178
|
+
return ImagesResponse.construct(data=image_responses)
|
179
|
+
|
180
|
+
|
181
|
+
if __name__ == '__main__':
|
182
|
+
# arun(get_access_token(refresh_token)) # 88uwVq1nbyctFsgAOWytFefTAW02
|
183
|
+
with timer():
|
184
|
+
arun(
|
185
|
+
create(
|
186
|
+
ImageRequest(
|
187
|
+
model='V_0_3',
|
188
|
+
|
189
|
+
prompt='一位性感的中国美女',
|
190
|
+
|
191
|
+
style=''
|
192
|
+
))
|
193
|
+
)
|
@@ -0,0 +1,76 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : faceswap
|
5
|
+
# @Time : 2024/8/14 14:22
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
from meutils.decorators.retry import retrying
|
13
|
+
|
14
|
+
from meutils.schemas.task_types import TaskType, Task
|
15
|
+
from meutils.schemas.prodia_types import BASE_URL, FEISHU_URL, FaceswapRequest
|
16
|
+
|
17
|
+
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
18
|
+
from meutils.notice.feishu import send_message as _send_message
|
19
|
+
|
20
|
+
send_message = partial(
|
21
|
+
_send_message,
|
22
|
+
title=__name__,
|
23
|
+
url="https://open.feishu.cn/open-apis/bot/v2/hook/dc1eda96-348e-4cb5-9c7c-2d87d584ca18"
|
24
|
+
)
|
25
|
+
|
26
|
+
|
27
|
+
@retrying(max_retries=8, max=8, predicate=lambda r: r is True) # 触发重试
|
28
|
+
async def create_task(request: FaceswapRequest, token: Optional[str] = None):
|
29
|
+
token = token or await get_next_token_for_polling(FEISHU_URL)
|
30
|
+
|
31
|
+
payload = request.model_dump()
|
32
|
+
|
33
|
+
headers = {
|
34
|
+
"X-Prodia-Key": token
|
35
|
+
}
|
36
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60) as client:
|
37
|
+
response = await client.post("/faceswap", json=payload)
|
38
|
+
logger.debug(response.text)
|
39
|
+
|
40
|
+
if response.status_code in {429}: # 触发重试
|
41
|
+
return True
|
42
|
+
|
43
|
+
if response.is_success:
|
44
|
+
data = response.json()
|
45
|
+
task_id = f"{TaskType.faceswap}-{data['job']}"
|
46
|
+
return Task(id=task_id, data=data, system_fingerprint=token)
|
47
|
+
else:
|
48
|
+
logger.debug(token)
|
49
|
+
return Task(data=response.text, status=0, status_code=response.status_code)
|
50
|
+
|
51
|
+
|
52
|
+
async def get_task(task_id: str, token: str):
|
53
|
+
task_id = task_id.split(f"{TaskType.faceswap}-", 1)[-1]
|
54
|
+
|
55
|
+
headers = {
|
56
|
+
"X-Prodia-Key": token
|
57
|
+
}
|
58
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=100) as client:
|
59
|
+
response = await client.get(f"/job/{task_id}")
|
60
|
+
|
61
|
+
logger.debug(response.text)
|
62
|
+
logger.debug(response.status_code)
|
63
|
+
|
64
|
+
if response.is_success:
|
65
|
+
data = response.json()
|
66
|
+
return data
|
67
|
+
|
68
|
+
|
69
|
+
if __name__ == '__main__':
|
70
|
+
request = FaceswapRequest(
|
71
|
+
sourceUrl='https://oss.ffire.cc/files/source.jpg',
|
72
|
+
targetUrl='https://oss.ffire.cc/files/target.jpg'
|
73
|
+
)
|
74
|
+
arun(create_task(request))
|
75
|
+
|
76
|
+
arun(get_task('e40e290f-71b6-4755-a4e8-d5201462d9d4', 'fbb99c65-3ac9-4077-8a3c-67387442f48b'))
|
@@ -0,0 +1,152 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : ecraft
|
5
|
+
# @Time : 2024/10/31 16:30
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
from meutils.caches.redis_cache import cache
|
13
|
+
from meutils.io.files_utils import to_url, to_url_fal
|
14
|
+
from meutils.schemas.image_types import ImageRequest, ImagesResponse, RecraftImageRequest
|
15
|
+
from meutils.notice.feishu import IMAGES, send_message as _send_message
|
16
|
+
from meutils.config_utils.lark_utils import get_next_token_for_polling, aget_spreadsheet_values
|
17
|
+
from meutils.decorators.retry import retrying
|
18
|
+
|
19
|
+
BASE_URL = "https://api.recraft.ai"
|
20
|
+
|
21
|
+
FEISHU_URL = "https://xchatllm.feishu.cn/sheets/GYCHsvI4qhnDPNtI4VPcdw2knEd?sheet=Lrhtf2"
|
22
|
+
|
23
|
+
DEFAULT_MODEL = "recraftv3"
|
24
|
+
MODELS = {}
|
25
|
+
|
26
|
+
send_message = partial(
|
27
|
+
_send_message,
|
28
|
+
title=__name__,
|
29
|
+
url=IMAGES
|
30
|
+
)
|
31
|
+
|
32
|
+
|
33
|
+
@cache(ttl=10 * 60)
|
34
|
+
@retrying()
|
35
|
+
async def get_access_token(token: Optional[str] = None):
|
36
|
+
token = token or await get_next_token_for_polling(feishu_url=FEISHU_URL, check_token=check_token)
|
37
|
+
headers = {"cookie": token}
|
38
|
+
|
39
|
+
async with httpx.AsyncClient(base_url="https://www.recraft.ai", headers=headers, timeout=60) as client:
|
40
|
+
response = await client.get("/api/auth/session")
|
41
|
+
response.raise_for_status()
|
42
|
+
logger.debug(response.json())
|
43
|
+
return response.json()["accessToken"]
|
44
|
+
|
45
|
+
|
46
|
+
# @retrying()
|
47
|
+
async def generate(request: RecraftImageRequest, token: Optional[str] = None):
|
48
|
+
token = await get_access_token(token)
|
49
|
+
headers = {"Authorization": f"Bearer {token}"}
|
50
|
+
# params = {"project_id": "26016b99-3ad0-413b-821b-5f884bd9454e"} # project_id 是否是必要的
|
51
|
+
params = {} # project_id 是否是必要的
|
52
|
+
# params = {"project_id": "47ba6825-0fde-4cea-a17e-ed7398c0a298"}
|
53
|
+
payload = request.model_dump(exclude_none=True)
|
54
|
+
logger.debug(payload)
|
55
|
+
|
56
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60) as client:
|
57
|
+
response = await client.post(f"/queue_recraft/prompt_to_image", params=params, json=payload)
|
58
|
+
response.raise_for_status()
|
59
|
+
params = {
|
60
|
+
"operation_id": response.json()["operationId"]
|
61
|
+
}
|
62
|
+
logger.debug(params)
|
63
|
+
|
64
|
+
response = await client.get("/poll_recraft", params=params)
|
65
|
+
response.raise_for_status()
|
66
|
+
metadata = response.json()
|
67
|
+
logger.debug(metadata)
|
68
|
+
|
69
|
+
# {'credits': 1,
|
70
|
+
# 'height': 1024,
|
71
|
+
# 'images': [{'image_id': 'f9d8e7dd-c31f-4208-abe4-f44cdff050c2',
|
72
|
+
# 'image_invariants': {'preset': 'any'},
|
73
|
+
# 'transparent': False,
|
74
|
+
# 'vector_image': False}],
|
75
|
+
# 'random_seed': 1423697946,
|
76
|
+
# 'request_id': '77bd917d-0960-4921-916f-038c773a41fd',
|
77
|
+
# 'transform_model': 'recraftv3',
|
78
|
+
# 'width': 1024}
|
79
|
+
|
80
|
+
params = {"raster_image_content_type": "image/webp"} #####
|
81
|
+
params = {"raster_image_content_type": "image/png"}
|
82
|
+
|
83
|
+
images = []
|
84
|
+
for image in response.json()["images"]:
|
85
|
+
response = await client.get(f"""/image/{image["image_id"]}""", params=params)
|
86
|
+
# url = await to_url(response.content)
|
87
|
+
url = await to_url_fal(response.content, content_type="image/png")
|
88
|
+
images.append(url)
|
89
|
+
|
90
|
+
return ImagesResponse(image=images, metadata=metadata)
|
91
|
+
|
92
|
+
|
93
|
+
async def check_token(token, threshold: float = 1):
|
94
|
+
if not isinstance(token, str):
|
95
|
+
tokens = token
|
96
|
+
r = []
|
97
|
+
for batch in tqdm(tokens | xgroup(32)):
|
98
|
+
bools = await asyncio.gather(*map(check_token, batch))
|
99
|
+
r += list(itertools.compress(batch, bools))
|
100
|
+
return r
|
101
|
+
try:
|
102
|
+
access_token = await get_access_token(token)
|
103
|
+
headers = {"Authorization": f"Bearer {access_token}"}
|
104
|
+
|
105
|
+
async with httpx.AsyncClient(base_url=BASE_URL, headers=headers, timeout=60) as client:
|
106
|
+
response = await client.get("/users/me")
|
107
|
+
response.raise_for_status()
|
108
|
+
data = response.json()
|
109
|
+
logger.debug(data["credits"])
|
110
|
+
return data["credits"] >= threshold
|
111
|
+
except Exception as e:
|
112
|
+
logger.error(e)
|
113
|
+
logger.debug(token)
|
114
|
+
return False
|
115
|
+
|
116
|
+
|
117
|
+
if __name__ == '__main__':
|
118
|
+
token = None
|
119
|
+
# token = "__Host-next-auth.csrf-token=6694c35f61afab7aadfeae158e6074458605550b9cd2e4ef2e63ab4ccaf951ac%7Cac9bf15973e5b6a168150a16a386b821f09559fdaa29a0bf1134b0fa4e327664; _gcl_au=1.1.1248447681.1736148414; AMP_MKTG_7268c9db0f=JTdCJTdE; _fbp=fb.1.1736148414688.910490316103599764; _ga=GA1.1.1798926416.1736148415; _pin_unauth=dWlkPVptRTNOekEzWWpFdE56SmpZUzAwWVdFMkxUZzJORGN0TkdFNU0yTTBaR0U0TlRCaA; x-recraft-referral-code=3h7wfOgFGn; _clck=11vqeuv%7C2%7Cfsc%7C0%7C1832; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; _tt_enable_cookie=1; _ttp=TcbY_nwRLBZ2qsM-uRmC3WgcqHh.tt.1; _clsk=yoduqn%7C1736148450927%7C2%7C1%7Cu.clarity.ms%2Fcollect; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..PdFk7mpcQ-BCcDE0.S4M-rsTMqzIPxiQYjH8HNgYixGpB4Ff_AgLnEEw9ro9h-L_gWycqYrVRvsFP2h_OtZI3afoq_MVXX2M28sY4sgBWVlVatS_q0CApRi0pj738g0hoGBEKMcTJ-kXGKwvHYfM8CC6ugtM5XCfCxFPC3ZwebCf_mjBWmGm_kHBOvc20Zyv2Dy82dg4yCriVdklf8pUSC2-W-XV4KSRVuYplHglrD0c5QpweQSyOUpVeQHJYwaZnUabTSk8NJ6szdq46JxveDgqkeCVpHKW-8KFtXnOJsdG4FHKWdaVs833emAGzFzh7ua9eoD58gJ2dAwVd9RtcTOHoeCIUF6WT0QsGOUZQ4lAakjkRuTqxOSY8jILMyp4L6EVvis-KXp8LL6oxR8kIiEEsjj28KKju8B6YgGQF6fKtHL7yHrf33I4JTGRDSWia_6ltlHBp5s9UggqI5YE6FA5-3SEk74tT-GyJqsQnoFcs0PK2iixTy18-sDmijvdfVZHrcP-J-r0hrV9yk9wPA8hd9k6A9XTPnH_pi9h0YntAGWzd_SVxEpZUNaKXdGrL9oO-9E05XG-GHehYnhO3_zn0oSSRduatnk4RRfDCBBZotz5gKasdsncvCEUX33ZP_cY6B4ju1ej0a6LzOTdmXhCZGbnSLAPu0dAgYj3qXAO_vjiL-kYpzV-J9sQTOecQJE-Rd6IU3mtRSKtV5SqRY-v91cyXhx8O4pQNy1wtNIYST3DFEu8iTxt_8-CKWMiCSVnOOWV0KSoipeK3IDrJt9n1qB8OWCfCQ6A3ZLftI469x7XUDa_wPfmiLj-0ZErhtAz0U50xpfrfjCaunwQ9LKDRjjf-8FdGlqC0HH8EBkAqb7e1a6zvpqWx95oJeic7H8M3HgbbeyF0JqO_W9Zf2AdyNZsYUE7T3N-JDApEESgEMPnBF_ayf2CKknoWiCFOzflpwzcxd_rGlhe3q_CrNW1-ZqKh1sG_t4lKf956fFrHz28c2mfBJjqx5tYcsYw-HQf6wyPFPnzK3FS16wMpVMNRDiAinf-i779tdC_pgPbJJlU73I1aNDpdLnRtowlkMviuVL6y-KcBeK7d3euRYGJdKqM4gjX5WxK1N71s07yDhiXKU35D-gGE1ruF8u6N2epD3jyfjdKsRmxKce4xl96OwZzF0je4lV_LUBl5oXON2TBbznp32o1okq3jUH-7Suzuiis6NERW2dO3wARdlfhNLJ3Ur6zOxhH86v12npd0ZkUbHgqTKn40_4XvmGIdzyMyddIh78k8OFMlLEFIhONFR2PFFhnjvnzfjQrtm4fCDjWZyiAZYB2HOsyHDI2uS66fXLSOglYA9Tco_UrSCQgM4Yom0m3Hq0JH6eC_hAckBNfJ89IFVECVt23njWc0Rj6wG8-OBKyw4nqgCke446n-7ZS_S9d2UA-fcVBoFG7kr9WTEQQYOOC_stkd7jlH2huUUxGCpi_Nye2KL0LGA-VlbCt7KUzKQ_G1Zrl4CiqGNImoGU9PsY9UtwWxUaPVag62iVicD-4_2Z0-lv6mQyS_TICV_CfxegxkBqGmTad14l71M_WjU9eIzSSs-dMguR2Gs3-0JX3SOfn7DQZGXfZps3_FvmvNTji-9YZpEycSWSUssb0XCd3ISqcqYo1TslVOk47Nz4xAOsrM5MKnrpCYAmiXVC7LZA_ezcnM_3zjIIzjRRi-5R4u5jQ-RAqnrjD6LUn0oCnqyKJPl75iMU2YrI4OlD3HrjPXKWKQFYx70gJH8LpugfNCwQuuIrE5teAO9PTVqO_tGt1WWbbfzD8_j3C9tMb2vqP_YL0Ho4YHBPudZ01L2vlyKOplRKeTw7yl4h61bbe2qdYREhYITxrTRmm8biayCWgmj-NQtoMP20N00LtuINpaRraQrRarB67wkCnO-gtP_OGbp7gXQPlm-eyskSX4OuqNJ6v0EKgD2-o6v0j9G2rFvE0rzzEUL5AQxj3KA6lc8RpFR2WCYHQ23CSTsLdrXdptm85Ij4QsD_nNmrMpu5z9BFhoeuGtuwgFqBIJNPJ6rGlRBMVnhWKzSw5-IYNlpFNMDR9kAZo3f_NbM0LzFSIcdeOq3VWVNiBhXOaDztnx7tIUWGiAEqtAKnEfo8W6T_D7-hO3h2sdQIccmj2-iWN7NKSDVzc3eHH4zi4PcAG-X_86MmOy06_xSiOpMWbs0sHxSe4TZGxPYuB2piAvj1TipZGGXnVuy3r31qMxZhG1LOuSPwyrGIKQL3jHr1vh_JRKdObkfEeg7jlrCObCOaLX6wTcEXdQ5g0pMYRPm0a393BqNQafK9MxyMBgmL59YTFW71awz3vyDj9pNswBzfSSK0mew6eS-u2fI4nMnV-1eYnrmKKY_vnqjnwoWDUc1VUoNHMLD3aDtn08hjziLdBuGfUICsygOcjtypYDp8ys-S3KedzBZyNRVyejQq_uEw1SlIFG4up83NjP3aiG2aPZz3JZNGK-RhmTMcuGNa7EpO28k57yZwNnBtXT0ajCPBcjTP2svs-Km0-vuJ0D33JwGpedykr6JAUksQXZ7zQabkKPcmkxnFRjsRF0n9JqH_Abf6eInl_jmTgDnSeMIvA4Tp6aGamu95TEWM_9DjV-fffo9Qd3VJ8Qde4CJSfIrGX5BtxMUAi8zUozrTwL4zTfO2W3NTVK708hLJ-i8N8dE65gAFxEDiqTPX06Y-kYwVp2DfHEsxYR8xojGeHk1rH56duzrmSF1qSgBH_x-LM_XDvKXOq6zsq5TH5q1XfPDepxDeFk2hodOiuHOY9vMe9CPc-arnvz3Dnx2KdiHaM3R3wWB_I7og_9IiRJGtHxwBRFZ6--WEhFi7EqN9n9CU9FfOhg0A5O5F8fxndSamw6pqTD_v_67ZOUue4eJRRnx_n9U-tFz_b1Yp6MAS72a5rmy0DUpz_B1ZWira9T21Nb7G3Q0Eb-rE5FOfaFAqz5ivdekRttlREfgNGfhJQyIM05J5cHessFs2aJTNSU9fXgPvxmrMzziDzvE-QYG3jlmbdrpzIUr3PUjiGbZu7KA0yv_8dZBVXNFUP-w54n3KQ3K7tcL9fBawyX2uTgFWXO955O10Qhp4HnNR9D55DhSe4rjtiLU5nhXC99Q1TeVHpn1skJH_KAgksMM--I_T5TqueiS_c7yjYZIETds1TO_347euTp0Gq2I4uDfMm6ZLOKE8XSN6tMt0cn04TsGn--mMWwCJCslrXomI0rg9vrteQWFsoW3vYgvpgEF9h8A-Uinz_qnzfrocnnQGVtFChOlJ7q4cC88b-JjZ7g9arATlEhlrLj67wbzYIfK_r_7sdvMLocicdunInOsYL_nJ7eM9pj3WZrAdQrFH2fhYIJa5H0MNBj-uybFJKq6nOSpYyfo4QpVtjiBpH4mFQlsYhg17s_xH8m8wPc8t_Q0V7pwCqKgMlj_ZvK45dNLqwU8MWF4P3xIcSoI2IuGl7kKLmTXsUcQz_EZuoz16aRFXTMPQJOYizH2IsuWixdb2q6q1_7f0205id_ILnzbCYjrcSCDqMK84ka5uiAuISSuW7crZZoyqSzEXU0c6Wc5I1ALaJYeszLzZMneRC3Cb0vfXa4bxmNsqNWogcIBVyver1rpfuJKjWRmYFw3lB6-aG55PJLjF-8ltupPkYKml1G51mQt2HBMpslLTHvwefa4bHoO9czfufl_cZ_uTRaza1jQ6HhFtBSiCiOkl-tekYF0yB1_Gc7ZlDL3QwntfqGWnbtwyWGt_OsOjEggLpVanZOMFwdsra_1YuOreAFSyrO_22Wec6YUTSlky_9B2uQi3TaDWK8b7jdXTq7pMVICNOEoTqwylETNCaSPiwwfGz_AMHr4mvlqpkDbR_ufoxHgDv; __Secure-next-auth.session-token.1=AUyEn2IB_h-Y2_scfWb-83b85MgRA7tKrvfAfo0wWgRY-nYvg8vqCrtT44nflyQlpqvhfwiTAwool46MbcQrcGYJOxX2D9b1Pjk-uSjYQAi-fkuIDDvsBmPsxfQngVJVBMcOIpTIlSLh9pus9s13c2b6a4Ek2QD1KK6WT_YRODbItv0ogbrTWH-TtNNmxWZqXd1kMuK59_Opg0GX20TCZ57AL5wDBF3V4pgpwOJBOEDcFKWsEPzZDqteYkhNkrP6RPNKmKuFjVyiRtLL-D-KPhLUzNsB89LdL48IKv56FmobIHeSBgm8NFXd_vprPZDuIuxzUDuZhuKj2y6CJM9TojqSK84UUPP7QYhazyy1F3XWztplGMFE90fgJqrqlcr3WB88Q_8mM9vv9SOO0Vms6fGEyh0JiCTzxqvF8XvEiMH4z.TXnDKodKFQMO_cj5xn_pSw; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJlMzZmOTJkNi1kYTBhLTQ5MWYtYWM5NS0zZmJkYTczNGJhMzAlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjIwNzAwNzUyMi1hOWZkLTQ5NGEtYjkwNS0zYTcyOTMwNTgwNDIlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM2MTQ4NDE0NDQ2JTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNjE0ODQ1NzUwNyUyQyUyMmxhc3RFdmVudElkJTIyJTNBOCUyQyUyMnBhZ2VDb3VudGVyJTIyJTNBNCU3RA==; _ga_ME15C3DGRL=GS1.1.1736148414.1.1.1736148457.0.0.0; _uetsid=9aca73b0cbff11efa68307613c52d182; _uetvid=9aca7820cbff11ef8ce01f1852339efe"
|
120
|
+
|
121
|
+
# token = "__Host-next-auth.csrf-token=b6a0091ee0d152fe37d2eaa7322219d59021b4ac3c403763e11780c5013ae0fd%7C6de0d7e75853cd14212aa486e57e284e880e7233c1756519d5062f7e78d7adef; _gcl_au=1.1.1036319845.1736148196; AMP_MKTG_7268c9db0f=JTdCJTdE; _fbp=fb.1.1736148196408.381886146149209078; _ga=GA1.1.1233695181.1736148196; _tt_enable_cookie=1; _ttp=ScLXjpXS1bWskaW_gYVrdjGfKFi.tt.1; _pin_unauth=dWlkPU5EYzBPVGRtTVdVdE9XWmhZUzAwTkRabExXRmlaREF0TXpjNU5tTTNaVFV5TjJGag; x-recraft-referral-code=3h7wfOgFGn; _clck=exo3qo%7C2%7Cfsc%7C0%7C1832; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..rRuUZ-Yb_3WDAlhl.cwafj0Ba4NdYuP96D8vplfHL55zRggpHcZz4bVF2KQBdI9au-4p6lSybuRqVUjWumNEUGoi3wfLSey8OIGtpvbCP0MEsXz6HlXVlJnIOFQ1WiuRJot4VAFmJ8ybdTiR-ygS6coZDYojIr4qGS9ILITFNMhw6r0N5VINswoV38D4sL_MjNsppvhhHNGUSYUYgVjn7D21XvfzM5bhDpvstjuCVbE90i-i0xCqO77ti5y_U2SUSmA2WjnO39cK-AYchWbyRZd-ok2XgA12bG8bM3stHXm5CHOD5rSIf0Bnz7QtLz91PHxsFm3I7hIDZz-mLQQy5y2LmXgV34Ze3_HSc2L4IojH1S1wjemV4SPivbqdzaSqYK7JVd_ltMLSvYs7Bip5ZJzhN388C2TbFn8pqXsS-H8f3aTcKQ5LyJmgesIiH8kJt2sgXu-HGgeRJxOerD7MxQ5xDm__Q7Tt576bLxbT2mUwuV-EKRR--cB94CRhckia4BMNEtBTmKZD5UupwXZ-KKPHLGLMo3hhEitbTnL4sWeUBD_kIctMde3C3njzuB6pb6GCCX_MIrgVovLh4kRo1Q172XZlNjbVMJZOa2pIhALV9valGtWUuzgj7yWOj_u6ALEJjS_8El1f38OVVvNjDaBzktGM-2g0ad1EHXflAYePAAb9PzbSuVaINlnwxg6KmMifmDlHXIJW9cExcS6o7tI8xos9yxjjzQprpa4-KGcPG1VjphxVOa8UBNl9lkXXLPtK6_RYdI8UV6s7vyYIW6uNL7G5j-yffIY-je6HHuCRHYMBNy2rr--D_tRoTHUVzDbmZzTzHHOBcYkNSt-UH_3rwZJDvPdKPfAo_EgjOIerGTCh8xD7IZVF3gal3yAB-dflfeedihGNwPmMY2MkrogEMSnV91NJpYf5NEuTnNczv_XbUbrZQnPc4nStk3de_FU_HOriDUPaRuXIMtiCAnExF2rv0mGnxuYxHeji6ItMfD4Tn5iC-JNXyG5j_0MCnUC59YpqTeOZf3Ae7caKkeS7YSreRDnqSaTRPOHDJD3sxP6K7xSzOvN5i5BUvL3jA9oqR8jkBQvcxDuLzQHFMgZOBUL7nQKgi6OKJSArXIvX1MUHdq918PiOl2IhX-dpnK3gfSsNtSuhBVbMMfIYdG129uebVL1Np0-xPTmYYOunsEwGIbLvEaZFrbISza_aTmtT575MywCLtLef68wK2ll9FOMHmAcH4Zip4K6TIyZyikbevsE9UIB7m5QYm5Hbne22hZ0_rvAX0WAFfS3ZBckC2dqD4qeKyQYJawo3Q3fAQ6lZnhRBYca1e8j9Aj9Z7p_DiaFdXCG1KigtqPKbjOvxYhWNxNDPM1edvPDUnONyTZrmaYvODhg3VGCLtbJGhy4dujRXBbvhTI0ul2fUtqPe9E3avjlvxOZqVRjYeBxbbJ5OcnhIhi4APc_MB7lB1kN7qVpkNoS8UKCtMAHF9BxcBhxPt7R_wNJsD9DhBzWhviE5KTSziKrJVUOFR5aEa4rjOxfi_zk0oAK1dLiuRMGlpLFIj2ybC7ceFP4L9Bz4_rmIgxOOkqnguNbgN9d2siZfY4USmwLkI-sSEChVEgdIuW2OO3eYyqUiQbQKcoQg8YMgRld6MXAtXACRWAyaViar-LfNPasG9m1qvzz7LtEfVwrTafN_Wx-crG3xeHkc-2KSYmWzDOBAeBUfZoHXnFq-ES9GL8il2AKipGdqSZBy5XrKS4SPzSb9AKEiV-TnkcZHeWKLwfxghNxD05WUa63cPDhH8p3Ygabx-uPzrr5TXfDZqYbdsghihW9BAAzUD8vz4dessqm_5nGe7x865AIUjkmqLol81bj5rNU0wl-AFYMmscIx-GA5KhSp5CxZ9sKcezxf21njovLVGNVjMLFlma40x2nenKnadvq7kAvn6luvDOK1g27B_gcuxxpjjy4Y8OQick2PzbcssD0lJdjKZY4LBsEZd_O5h3dB4ioohnLEYpukw2r9S0FAkWko31Eho3NxBJhEnMqI9Xt7fg9fxiUsRvI9w8DjMUKeyM6odLohu7pRLYJA_ow72jKyOiOonaG5Ry_YE45xoDaTNdsmejaP4My5re0CyYroHlLSKmGZ5pq-wiEbNQ8Uque9PwAxcQoqE8O0uV_Uvl5-HBK8KfP2zU8QhSRz-dEEw_0azH7QbsioeDSy3vl6ff1WzYIZ83NBqhoOlVlB5iUEja_MC0m6khzAJuPnHrUmLGlHF3d35xjA08e0f2GGHdWImnLg9CWSb2ywyV8Nbne0uuokNCtUHoamGfrW8eivBIoYnNTVuM8xb-Tp7Vqgk1TkA0bUPY1ufdo4pf0AQ4VenV4jfm9zAGm2xt1Ev8cf_LDnI7WPo-Kptr9Smm34y3rKYKAVZBtacMJk8RX-PWJcmXJXu_JSodvZdnXRal0j55EdlkaPjHt8R7V8xwTgtd6SonkeZNftXRjYOFwfx8k7mG6cjvznmY2Mg5ft0I4j8q5z_UQ4K5hL4N1nfAlAb4qOO5BZJ2eRuFrGa3oTQe-DFJPBROjHbZc88Qj8bcyV8xvtbDryzj58eEYJdjv5HMkRqKmbSTTRuPpC-BT54zRVINB7SidSyIETv2rBBNqSZJ87CXg68Ps5FadF_1bFStfReZnLujbq562dEBJxPEb2f3NDsP_aafbQRB_LnIrL9Nv8sWAxk_L5kj3PqkR_RhjueSyT7ti63XCuOMYkXcii0psASTEXS9Z2HtbMyn9oSf8Ab7SCnpdAgqXo00qTuOVuRlwmBoNZunjyj4yUWaflfUzMDtPLEsV119pGfwxjQYrn_l8RTd4rn8vQTlv5iDro-MRH-9HL0ikGY_sINBjp0YNph1kFIMHblNb0T0tjfwCWfgjT00J_Z-OMR2HagidN4SxIhOdOXinNdDA0xPMB4iTdgiZ7fvAlmEcDqAefW70Z7vjnNeg7Y6pihBrckCkrewrFQtCbS093zR8W2cOx4tlwhDTkyrMlpLuatTiSpa9GfvkWGT69g7-bQ_0dHhHgFdhxeOLQNIZnYIdPpMMsWS-cQxywJBCklLyxxxHlObIyjY6rpFgXs7klmvb5YYUsV42uykKsg_pzQY4EZa9Z0TpMHugoa2CbRTnHF8dLj_RmI15MMigAEvZCs-2zBzuBUx3wxgwFGMJ2vXMdjM_wblwHuyIOSxpGmDno4HXUQz40d5-65qfxw1CjuvotJPWloZLVFe3kb1LxjiiK6n7U5ZwAEd585-3MREQS0Z3DxTPxJpmPGEcSgGywzDw0_ydfbibmEFpKw0yKbR1P56Y9AL1xqaOUC1r9lwv8prCCPsTS-Sm33o7JmDHireizL8GomAohpmRdNwXKkD7ty_g9q01R-V3H8xTEJ8vH8U6Q80PJPEpBpedrzddjaBmEoIA82kq8VGQw_JHRROsn8ZFroKMosyZhDPolt7bQjLfkB0yYHjR3IhoocfW_cOhIB5qVMUHjTuhxMqIwMHNf4cyzMpo5WeiIhhHexvAVxmvUiu3RQT7rcAJ_Sa7_1zbDAMMwZx55cqQEpQxACcmRChSQ3Uae0X6PnnMOSuybfBG7Tt-93vM_H0DxkLIlA3vZbtB9NRrxxjM9nND-eO_vuXVm8dPCI0oi_VaBVcvjE5_KHSG5lwkU21NsNerGT0F083Lc7A4kdxbggcWdEDZY7ADbJO6VDwzBrPCC5NWrmf6ZOS7XVQeeAmfHTx8bCP5kRB-RXUaXKq_Jd0rLfaBjrjjcQ8cvn1Oabf9SgRQYtCvBdhNkDRalfYKeZO2_4UQjN6-bMgZ_PiqBNq_i-SKWbxcWLxoPo4iytattI15ey7rN1UD4ZVxymzyo87vAbZyDSjO_MwJoYAPO; __Secure-next-auth.session-token.1=2t3R30JeLV4aIut5Zg61NXEwXSktmgQfWRkc728kk-djfvfqbVFzLmNwbXybOAFVL7vfVm54BY9dGXaXM3LLod05Gy8aTIHG8HdXdLcxzoVqpTJiZKbczh9W8z39J-wv8jfSpVYkh14fKhAD1x8cPwqt4CE8yPw2n31ObKivmvSRxISs2iMvPqzUziQAXRW7GjgCkfrXGpwsoxCx34yQReRyCcKoXxUeTY5KlhCOMk0e2z-rGBU3bM1fWVnsg-tS-NbFprJWfoJ1VsCZ3GOuf9PelcoptxSiozL-iY3nH7Qe4pLX1dUromUDFP64tGfMnrNDQk556zeqchqcN10bWe2LHnt6qh-PJXh1W-fQc6tcxorVocOimaSFlNbMAnQ-iZ3nxqsc9K6oJbwrU4psowM4rpIhSxwjBAkM4YYD0PJwU.NG2c6fTxCExNJjAot3PIzw; _ga_ME15C3DGRL=GS1.1.1736148196.1.1.1736148271.0.0.0; _uetsid=18aa7b50cbff11ef8cdc198444574434; _uetvid=18aa7a10cbff11ef96081d44284f3a9c; _clsk=16oagzu%7C1736148273747%7C3%7C1%7Cu.clarity.ms%2Fcollect; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI4OTYwMjU3ZC1hNDBiLTQ3YmYtOWQzYi00OTE3NmI0ZmZjZWIlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjJkNTgwYWU5Yi1iOGMwLTRkOTYtYjkzMC04MWI1OGMzMTA0NDglMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM2MTQ4MTk2MDczJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNjE0ODI3NTQwMSUyQyUyMmxhc3RFdmVudElkJTIyJTNBMjMlMkMlMjJwYWdlQ291bnRlciUyMiUzQTQlN0Q="
|
122
|
+
|
123
|
+
# token = "_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; __Host-next-auth.csrf-token=5a254fcd5cf01dbe6f4d38ff6653073673eb96145321a4aa4e032c1361db4067%7Cfcc1ced5fcc03aca73a9b3374bfaf0f518079e6802a706311c2428b8b12a5639; _clck=uflztg%7C2%7Cfs5%7C0%7C1765; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2F; _uetsid=c8d13160c64611efb4398769b61c9995; _uetvid=a8a766f0975f11ef9b7921e48a0cd258; _clsk=5j7win%7C1735524194170%7C4%7C1%7Cb.clarity.ms%2Fcollect; _ga_ME15C3DGRL=GS1.1.1735524172.75.1.1735524194.0.0.0; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI2OTE1YzI1My1jMTJjLTQ5ODYtYjM3Ni0xMTI3Y2ZmMTFlMjglMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjI0MDQ5YWRmMi0yNWQ0LTRkNmUtYTFkMy01YmY3NmI3NDMwZDElMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM1NTI0MTcyNzY2JTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNTUyNDIwNjMyMCUyQyUyMmxhc3RFdmVudElkJTIyJTNBMTM4NCUyQyUyMnBhZ2VDb3VudGVyJTIyJTNBNCU3RA==; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..U1YidkTjsjiDSGx0.6m18tVwC2Obkzr8qZE7sYPvf2uYS4wk0tiljhQCEnKzJbgO6ZND-G_XSth2dSK023l-82oO7Ilac1uNxhpqOIt97xYbVY0jsvBtEx8GCQADQDjVkPia-pXz9zEhG-o_COvhjBwLTHUePLLvPXjl1pTHaCE_EmSmVRCga_efmG_v7ohs_0P9lGC1bVd6iVb1Z5bG6ep5K5koCUtBdZz4DEenzPAk0ZTYd3SC8XrEgveyN6CH1WH9ZPWO3Ixz1at1xTJeaHMZkQkIInWhdgCRANzXClZscu1NYF-cAT58r1PP9zbfMByJvxtKClFxJlDOc_5CXEMUC-87qSvJK6LWjUADNIPTqXFynp5hh-mY8tVMItv6S4IKhhXvQ6-UARrIGkjjUx2G-K-kXuHDibYiJEYyJZJzzqR0Ld36LjsOY08TFj1NNBZ4PqNcW1RnRvGXtrEvCH9xJrjz6YJeXloptmhHBPlHmNmS3r6qaA9xERD_17by4O2PZwTAKvAeu-gXxLkVDc5DQp_Xy_ID3P9mytkcllz40So5LVJ5SuVggFpjq2lzuuTJsMX7e3t9x0fB_3n5oGU6uFE5dKtf-1eg_o-mVmDBc38hS3xYMv9ZK4QFbxpR5-KQnSK9liTqV3K_V9tfLnsujgrG3zS-bRs9vvROV0XBN9hku407N7DQhfLFwrpOvaH9YmKfGQpuSP2siJutMEudd7VYa67GCeQQSm71irOBPQ1e78wAz06NtBM26890tQbcpuggeo816HtxIlIsS_4TMc5vrs3Palqhzg5_e54ogsP_dlIzAS686M1vFWVDdqNAzNYja96wvJXxTlFAdVaX9THQUNtRGABJxU_uugHpByFtxY3kEfMc0IdhbozenCIhG9F6YFBkM05c5BoaOx_JOhm6l6Cke3gzyrt4rADW68KlF2dcisS61y3pbHSbEKiZptNkq8AZB0QMaeTmb3nfheukVm4gZHq1bFn41vOYwN3GDehzAfivKtME9YgJvAWhXI-ZJI0oC5CKragg3g994KZBtquk_-8CxQpAzchfaExca6YMrOLBrmhtveDj73QIv4Ov-k4GePIqB2avEnRsCI6WVNFemLMNXzBgBqk4I8G1rR94wVDm2xLsEKr5WCrM1VXES2NljT6pIJbMkbW0XwguMxUkSadF0iNc9GIL1S4SCB4kkiX9XXN2n-qupoJ5hkW09z1f4-CvYeVmM7UJX5kqb5Qg0lPhIoLO_9zx7dtSvtgfMxmYptygyqTUKg5Fu4kczqpMtjbqQHZTU2DEziTFQIDSaqxKW98rudTPGiOY81LKWwZpxgrr0ymrzGzmMxHnHTlRPj6_TKdUuA7SOhjIDNdHP4DfBdrd23QhOZRky_p0eYq4QpP_PJ6A4AbMKhAv3cKa4LRG4_zM2mj0OhJmWbRPgLTqmuJ5GJJJtO9Mh7wUrDvxjO0zfJadm9g3Po6rkJj62EtJpc0iqLtUadyeRxsQ0fieFpxJT65oRFkfU92hzHkhrQ2dYt0aqEZ3DPQZp-tDLJWZNUUcXRPC3UDL6HswsX49sH5GeMesWfGo1OBSPrC8uNOFgldfRZfswX5k9GEf5JGEtRQq2bbHWussswRnJkaZZR7AmnFjgEe8K9Amjnv8vMLfP8wyzhdV0w8pKG5iJVmbzW2q0_HemL84XAd9CUUQaMm0B9p7MBzIzvSAj24DoMbXXVnlcLMrtAPxLlRab_cR55FDxRpPdYe36GDd1I80NJdVMMPUQ25xAf_g8H25O5g8uCrWlI7i30UQq20iPqRqJ1cRYe5tKKsfqf4zBDIt6qUGrGOcJdeiWMg8J-vfVaaqmpLKHr3uOPT-kKNt6TelaAVfitIxKPd5woiw_x0ZdF78xSQ0IsL18t3scZP3iYQW3hTSrxG_45e0dT-9aEit_5ClTN1_0NbFbWqarxFI6YZkE3aDbBVbQI9BHys4Q1Sk4xa7j9ApUZKi7XboqULrD8Kgne9UY12uMn_PEa35HTZ-9a19ACihy3VxATY-PVCIylzgLUHCXPISvyiAmPnTlDHhWZ9yHQKduNLhvobIQgq9RW7vaiwEGReav70KXbBeEe5AO0mS5UNFyxaG9_d4WcadQ5eIK5LxzrlPqePSTIHwhhWq5LunPl0cvQ62pJVPKxAqN2Hc1BuVWP3QimkBH6rCSurCZPxUhJukbsQRQAhG-HcMLEq5cNDO79OZ-Pg4goNZ5AsmkgoKGnIP_sPxGiRmTR2WhczJPk4OiuNPh03nvEG6D8WU7BLwfuyT_BBIz8lPjwrrQ5O0YtdMY_Q6lGj-JUPObkSz_UsFvVlus9DFgfKPDQDAXJ5Qza6LD1GB9eMymzsf0s-muYMZ_wcu7S0kTkjzeypFuzQF9IS03hzOBFOx8sX0Vu5_JP_8FWMOvnj7r7B9PApYBjr5vGLkXsO1HQO0egd6YARVXJrRCfuh1zebhWqPsvVy1B3GtGE681qymdBC5Ig0fuzkhmGkwAByD5KmXPwsiH0Z8fxLMF3RxLum6r3VkGD_yzExhxzwBDWEwRECQXVhvYYwv2uIltLFEtVAnQJoBHmFUGUFIaX__xYkDz4G2B8ePormDLydLGAXpCD1yexwacKpw-nZij4TUujJdXIzOdWw0oiAFDdpOowLui-3LurHP21i0nj5zkIncg4EegW6BWkpUBujmJh-RT1b8A9epBfQTVL7FMHZfzaYNOMFcghTZz7rk6SsJwYiMYXReoCNVkt8-NGxXsifIKjfQ9XliVhJhIpqa0zZGqjpXgEI7l7UwX0HZGQuPUCoyhg54P5zKOoUa5Qvo7hgByNTS5Iz59lECZwDyEvsDid1LEopuUfcVlAYidOEk1rrQHDq1ffw6QNCk089ntU7P3myL08cSE_GZL2CUWNQfHwM_6M3A-DFbfoVSYrnuorJGEn2MGIV8Rw8A8LpOoeKqtI3SIuTGrXvVTZo9BtV93BTWZ9sIDxoaxh4aixadJidTLxMpsDhok5Sd14g4-hRcjj-pXHzsqrZB33RBPIeOYJpbVmCGw0wYbL4P3j41agnRIAEjJqRP0XhN1wyw1oTvrZTksN2IeXuoz_-7UeBOu2qt1GBNtHB85GrZrErrWJRC9CF0JjQSHFV99p7LYuoIAp3LAUJtDRgrFSTkgYl7o-r1tyb_k9FaUdK0cwy3P3NvI15YzItRWIaDRvQvNNLyUOeeZVi_M8mF1DDedkY9QKLdpcf5ONFOBLDe5VXSTPQlPttW7BfnX6wQLxQcBrxSFCiFZwIkUJIvBA1B2i6hu-OGqoOfPDeLl4CFEPZVtqJbuh-nqEslw37LW43R4dQf8EVDOR4jMr2rkSp4tQxj0ooX_i3YMN6cBHtiKgBLY5YxuMsQ3wuhkj-H1AugaqwhG4DdpIPCflNNim6xJCNL_cnJnen9TKoH_z56SNVmD8B4XOGef1q_ZId32jJ5lNr_5dnA3OpLe2-HfnLF0CHMYFH3CP_C7ACMNZmcdUP91_3ZXlSNCXGoazkoI_vzkbfiqIIXWbCkX1xmU3COBOhRr9Itc-SPELgW-cSdw_WgicCHwEKNpOOx1s6uPVugDnb5zr8faIvLYpH9B9i6poTEv8pvlW8kNi0bwmTarfW3a913B5GhWHE-PEDhGQWwVbZA_Tw9MRqllnOOFysriiKp-VGUPnBXL1ZhVx9L7-9kE8lmZg7x976IXvIA1Fej9JsgV8fdoiUVN22qmBKo1Pf1uYNT9vcl6hCok_a70uwF6VWxW-Af1p0z_eVPDP6c6jiDi6P8sEArjkakYFYduiXJBJ554aewD981PrP6elc1JcYwbOf0wSacArvx7hDYij_F4jIbuJB9rPY11HNPDuEJ-sMM_RryFXX; __Secure-next-auth.session-token.1=z9OLL_N0mgHuxZVvHW1Lk3aZeTfY49SpHmak0fuOP9KRo2AD6Fr2vL6d2yzweQwZvstiYbquxtOmgMGmBcmZ9LjgHBiProhlENuw0gwGbzGOd45_Y-3adgkKiYvPaKLj8MNN2U29vy_Zkv-XGgImas2kYj2JNxq_uoioI6f5a8Urztq7zC8s4VXoNaAWSar30fS6HXATFWbm69SQ0f1pqYdSWM6Ph6dBxTWjjSdLqrjslRHKr-_oykG7C2oZATVnNXMwxp9rNm02T_Pc8DDVlVGrvSfxbayFC0Qah151V1MyxTj1zMbsJqplzZ6dJFsw-KgHO8S2DzPaQkgHPkR_yERr53BQ9Y2DBCRIJP8g0suObVKRS7QoH4YWSAlWmwBJ9A7IyAsP0Rj1_x-YjjSPecF_Ek7ZFB2PLwtbpBuIVWrXVmjBXp0hUsxdz0lMSW9O0yl84Y2j9ExBfph1dUL8IZ4OFuK6iMu8BBJP6nvrnVx0Mbgd7IXeeuo-k8hQjW-5q9D9awxTOf1AT6CJa6NzrK_N3IYEOFzvU9mrxqHjLy5V4tMV52WTXhvymiSQJVQqX1Z0iU8PTPrg4vZfrOTVTA6b5yxo.Oz5LynFSv1m3FPvz_CdnuQ"
|
124
|
+
# token = "__Host-next-auth.csrf-token=6694c35f61afab7aadfeae158e6074458605550b9cd2e4ef2e63ab4ccaf951ac%7Cac9bf15973e5b6a168150a16a386b821f09559fdaa29a0bf1134b0fa4e327664; _gcl_au=1.1.1248447681.1736148414; AMP_MKTG_7268c9db0f=JTdCJTdE; _fbp=fb.1.1736148414688.910490316103599764; _ga=GA1.1.1798926416.1736148415; _pin_unauth=dWlkPVptRTNOekEzWWpFdE56SmpZUzAwWVdFMkxUZzJORGN0TkdFNU0yTTBaR0U0TlRCaA; x-recraft-referral-code=3h7wfOgFGn; _clck=11vqeuv%7C2%7Cfsc%7C0%7C1832; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; _tt_enable_cookie=1; _ttp=TcbY_nwRLBZ2qsM-uRmC3WgcqHh.tt.1; _clsk=yoduqn%7C1736148450927%7C2%7C1%7Cu.clarity.ms%2Fcollect; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..PdFk7mpcQ-BCcDE0.S4M-rsTMqzIPxiQYjH8HNgYixGpB4Ff_AgLnEEw9ro9h-L_gWycqYrVRvsFP2h_OtZI3afoq_MVXX2M28sY4sgBWVlVatS_q0CApRi0pj738g0hoGBEKMcTJ-kXGKwvHYfM8CC6ugtM5XCfCxFPC3ZwebCf_mjBWmGm_kHBOvc20Zyv2Dy82dg4yCriVdklf8pUSC2-W-XV4KSRVuYplHglrD0c5QpweQSyOUpVeQHJYwaZnUabTSk8NJ6szdq46JxveDgqkeCVpHKW-8KFtXnOJsdG4FHKWdaVs833emAGzFzh7ua9eoD58gJ2dAwVd9RtcTOHoeCIUF6WT0QsGOUZQ4lAakjkRuTqxOSY8jILMyp4L6EVvis-KXp8LL6oxR8kIiEEsjj28KKju8B6YgGQF6fKtHL7yHrf33I4JTGRDSWia_6ltlHBp5s9UggqI5YE6FA5-3SEk74tT-GyJqsQnoFcs0PK2iixTy18-sDmijvdfVZHrcP-J-r0hrV9yk9wPA8hd9k6A9XTPnH_pi9h0YntAGWzd_SVxEpZUNaKXdGrL9oO-9E05XG-GHehYnhO3_zn0oSSRduatnk4RRfDCBBZotz5gKasdsncvCEUX33ZP_cY6B4ju1ej0a6LzOTdmXhCZGbnSLAPu0dAgYj3qXAO_vjiL-kYpzV-J9sQTOecQJE-Rd6IU3mtRSKtV5SqRY-v91cyXhx8O4pQNy1wtNIYST3DFEu8iTxt_8-CKWMiCSVnOOWV0KSoipeK3IDrJt9n1qB8OWCfCQ6A3ZLftI469x7XUDa_wPfmiLj-0ZErhtAz0U50xpfrfjCaunwQ9LKDRjjf-8FdGlqC0HH8EBkAqb7e1a6zvpqWx95oJeic7H8M3HgbbeyF0JqO_W9Zf2AdyNZsYUE7T3N-JDApEESgEMPnBF_ayf2CKknoWiCFOzflpwzcxd_rGlhe3q_CrNW1-ZqKh1sG_t4lKf956fFrHz28c2mfBJjqx5tYcsYw-HQf6wyPFPnzK3FS16wMpVMNRDiAinf-i779tdC_pgPbJJlU73I1aNDpdLnRtowlkMviuVL6y-KcBeK7d3euRYGJdKqM4gjX5WxK1N71s07yDhiXKU35D-gGE1ruF8u6N2epD3jyfjdKsRmxKce4xl96OwZzF0je4lV_LUBl5oXON2TBbznp32o1okq3jUH-7Suzuiis6NERW2dO3wARdlfhNLJ3Ur6zOxhH86v12npd0ZkUbHgqTKn40_4XvmGIdzyMyddIh78k8OFMlLEFIhONFR2PFFhnjvnzfjQrtm4fCDjWZyiAZYB2HOsyHDI2uS66fXLSOglYA9Tco_UrSCQgM4Yom0m3Hq0JH6eC_hAckBNfJ89IFVECVt23njWc0Rj6wG8-OBKyw4nqgCke446n-7ZS_S9d2UA-fcVBoFG7kr9WTEQQYOOC_stkd7jlH2huUUxGCpi_Nye2KL0LGA-VlbCt7KUzKQ_G1Zrl4CiqGNImoGU9PsY9UtwWxUaPVag62iVicD-4_2Z0-lv6mQyS_TICV_CfxegxkBqGmTad14l71M_WjU9eIzSSs-dMguR2Gs3-0JX3SOfn7DQZGXfZps3_FvmvNTji-9YZpEycSWSUssb0XCd3ISqcqYo1TslVOk47Nz4xAOsrM5MKnrpCYAmiXVC7LZA_ezcnM_3zjIIzjRRi-5R4u5jQ-RAqnrjD6LUn0oCnqyKJPl75iMU2YrI4OlD3HrjPXKWKQFYx70gJH8LpugfNCwQuuIrE5teAO9PTVqO_tGt1WWbbfzD8_j3C9tMb2vqP_YL0Ho4YHBPudZ01L2vlyKOplRKeTw7yl4h61bbe2qdYREhYITxrTRmm8biayCWgmj-NQtoMP20N00LtuINpaRraQrRarB67wkCnO-gtP_OGbp7gXQPlm-eyskSX4OuqNJ6v0EKgD2-o6v0j9G2rFvE0rzzEUL5AQxj3KA6lc8RpFR2WCYHQ23CSTsLdrXdptm85Ij4QsD_nNmrMpu5z9BFhoeuGtuwgFqBIJNPJ6rGlRBMVnhWKzSw5-IYNlpFNMDR9kAZo3f_NbM0LzFSIcdeOq3VWVNiBhXOaDztnx7tIUWGiAEqtAKnEfo8W6T_D7-hO3h2sdQIccmj2-iWN7NKSDVzc3eHH4zi4PcAG-X_86MmOy06_xSiOpMWbs0sHxSe4TZGxPYuB2piAvj1TipZGGXnVuy3r31qMxZhG1LOuSPwyrGIKQL3jHr1vh_JRKdObkfEeg7jlrCObCOaLX6wTcEXdQ5g0pMYRPm0a393BqNQafK9MxyMBgmL59YTFW71awz3vyDj9pNswBzfSSK0mew6eS-u2fI4nMnV-1eYnrmKKY_vnqjnwoWDUc1VUoNHMLD3aDtn08hjziLdBuGfUICsygOcjtypYDp8ys-S3KedzBZyNRVyejQq_uEw1SlIFG4up83NjP3aiG2aPZz3JZNGK-RhmTMcuGNa7EpO28k57yZwNnBtXT0ajCPBcjTP2svs-Km0-vuJ0D33JwGpedykr6JAUksQXZ7zQabkKPcmkxnFRjsRF0n9JqH_Abf6eInl_jmTgDnSeMIvA4Tp6aGamu95TEWM_9DjV-fffo9Qd3VJ8Qde4CJSfIrGX5BtxMUAi8zUozrTwL4zTfO2W3NTVK708hLJ-i8N8dE65gAFxEDiqTPX06Y-kYwVp2DfHEsxYR8xojGeHk1rH56duzrmSF1qSgBH_x-LM_XDvKXOq6zsq5TH5q1XfPDepxDeFk2hodOiuHOY9vMe9CPc-arnvz3Dnx2KdiHaM3R3wWB_I7og_9IiRJGtHxwBRFZ6--WEhFi7EqN9n9CU9FfOhg0A5O5F8fxndSamw6pqTD_v_67ZOUue4eJRRnx_n9U-tFz_b1Yp6MAS72a5rmy0DUpz_B1ZWira9T21Nb7G3Q0Eb-rE5FOfaFAqz5ivdekRttlREfgNGfhJQyIM05J5cHessFs2aJTNSU9fXgPvxmrMzziDzvE-QYG3jlmbdrpzIUr3PUjiGbZu7KA0yv_8dZBVXNFUP-w54n3KQ3K7tcL9fBawyX2uTgFWXO955O10Qhp4HnNR9D55DhSe4rjtiLU5nhXC99Q1TeVHpn1skJH_KAgksMM--I_T5TqueiS_c7yjYZIETds1TO_347euTp0Gq2I4uDfMm6ZLOKE8XSN6tMt0cn04TsGn--mMWwCJCslrXomI0rg9vrteQWFsoW3vYgvpgEF9h8A-Uinz_qnzfrocnnQGVtFChOlJ7q4cC88b-JjZ7g9arATlEhlrLj67wbzYIfK_r_7sdvMLocicdunInOsYL_nJ7eM9pj3WZrAdQrFH2fhYIJa5H0MNBj-uybFJKq6nOSpYyfo4QpVtjiBpH4mFQlsYhg17s_xH8m8wPc8t_Q0V7pwCqKgMlj_ZvK45dNLqwU8MWF4P3xIcSoI2IuGl7kKLmTXsUcQz_EZuoz16aRFXTMPQJOYizH2IsuWixdb2q6q1_7f0205id_ILnzbCYjrcSCDqMK84ka5uiAuISSuW7crZZoyqSzEXU0c6Wc5I1ALaJYeszLzZMneRC3Cb0vfXa4bxmNsqNWogcIBVyver1rpfuJKjWRmYFw3lB6-aG55PJLjF-8ltupPkYKml1G51mQt2HBMpslLTHvwefa4bHoO9czfufl_cZ_uTRaza1jQ6HhFtBSiCiOkl-tekYF0yB1_Gc7ZlDL3QwntfqGWnbtwyWGt_OsOjEggLpVanZOMFwdsra_1YuOreAFSyrO_22Wec6YUTSlky_9B2uQi3TaDWK8b7jdXTq7pMVICNOEoTqwylETNCaSPiwwfGz_AMHr4mvlqpkDbR_ufoxHgDv; __Secure-next-auth.session-token.1=AUyEn2IB_h-Y2_scfWb-83b85MgRA7tKrvfAfo0wWgRY-nYvg8vqCrtT44nflyQlpqvhfwiTAwool46MbcQrcGYJOxX2D9b1Pjk-uSjYQAi-fkuIDDvsBmPsxfQngVJVBMcOIpTIlSLh9pus9s13c2b6a4Ek2QD1KK6WT_YRODbItv0ogbrTWH-TtNNmxWZqXd1kMuK59_Opg0GX20TCZ57AL5wDBF3V4pgpwOJBOEDcFKWsEPzZDqteYkhNkrP6RPNKmKuFjVyiRtLL-D-KPhLUzNsB89LdL48IKv56FmobIHeSBgm8NFXd_vprPZDuIuxzUDuZhuKj2y6CJM9TojqSK84UUPP7QYhazyy1F3XWztplGMFE90fgJqrqlcr3WB88Q_8mM9vv9SOO0Vms6fGEyh0JiCTzxqvF8XvEiMH4z.TXnDKodKFQMO_cj5xn_pSw; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJlMzZmOTJkNi1kYTBhLTQ5MWYtYWM5NS0zZmJkYTczNGJhMzAlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjIwNzAwNzUyMi1hOWZkLTQ5NGEtYjkwNS0zYTcyOTMwNTgwNDIlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM2MTQ4NDE0NDQ2JTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNjE0ODQ1NzUwNyUyQyUyMmxhc3RFdmVudElkJTIyJTNBOCUyQyUyMnBhZ2VDb3VudGVyJTIyJTNBNCU3RA==; _ga_ME15C3DGRL=GS1.1.1736148414.1.1.1736148457.0.0.0; _uetsid=9aca73b0cbff11efa68307613c52d182; _uetvid=9aca7820cbff11ef8ce01f1852339efe"
|
125
|
+
token = "__Host-next-auth.csrf-token=3da153bbbceac89ee879a58271a68e04ef33ac04f50b88591340afc6ec19812e%7C5b3ad5eb06a8b5f02fb9f3fba48133a5dcd268f10668d4035b966461dea83822; AMP_MKTG_7268c9db0f=JTdCJTdE; _gcl_au=1.1.1896709423.1736302346; _ga=GA1.1.10593690.1736302348; _fbp=fb.1.1736302349336.414258450110248556; _pin_unauth=dWlkPVlqazJNVEZoTTJRdFpUVXlOaTAwWlRRNUxXRmxNelF0TnpOa1ltUXlOVEZsWXpsaw; _tt_enable_cookie=1; _ttp=kLi5NQ_CWb0_K4XUfVtA10jGvFn.tt.1; _clck=13e8jkl%7C2%7Cfse%7C0%7C1834; x-recraft-referral-code=3h7wfOgFGn; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2Fprojects; _clsk=1wqxtem%7C1736302380447%7C2%7C1%7Cb.clarity.ms%2Fcollect; _uetsid=033a7bf0cd6611ef819c1f2b018047c4; _uetvid=033aacd0cd6611efa43ba93c5e6daeb0; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..ZrGSeVcHFLbRXRt9.sLv2uELzOs2q92YoQ1NOcXCT8AN8mw1fuzDVj0ge7LDp5O7N37ZVTQqaoirb3kIFoIkgl1GXcK6_JG2zkaQHpr2ZkLD7EM2g0UuVGxngoh5YbU0dgsfDndvwqgwrh0MZodd4AzsOL-5DdAvm-68gxPxndJ9kYw5BJ9OM0Xs3aTI6PkFv-HHNWtTSXYNur7e27RnmVt-UFpzWaBEOAAMJ65w7jGZuPQ7ViAeajw_jsaf0sqZ8sVv4sCe7qa9V1H1Odz_IGVIWHD0jJcBXAoLGcHVquWa1OswdQ89fUfzMBKmWOH9m2qiuMa9HV7wuDjrLVIeVAaIteDFjdkS8xxNRnARDZ3J77VO2zwVgiYvl38Or4gbhlcLcDmravtWl_wX3F-xKkHFjkLIGIFmIkvt8EnzLVhbDaoRwdG4cyTrcHQ7UFzXtjIf_Ipgs-__YYOSUUE5U5QSNhgbRblOzZR2GKmlRryIp-K0JKtuxmsHWoNglKnzO_ts3D_5IU6gaRPBB0hhOfgaAYH8GhMpXB759SrBpxaVgLdSLeD1MFn3sg1GFFK7d1p7ks1KNGQGTSTIkR9ju7diyl48f7deD0QhsaVUftg637L8nCvQUOTtAM2L6vXaSG3Xaw6kb5eF97UjjYIBhCByrePeuzVRidcJO9f1h8d8RLoFn82oHCHVDf4S9jO8OqsLsCWvgWiOt4JdMyHccoiwotVh9zum-YX1_-ygaoU0SHzN2l7mJtAYDuheEN4Amg7guNE3uSBFloGFILRKIBcu9PyqlDWg31yKbIGiQyjTn0SiA0JT2itkIUgg5sx3Np_6_3pwR7JyjRJwcTdO4mf8mvawzM61ALCpv4hcB7VmvkE9Sd7XWG_XPH7Y686v3tZGSsJmOOfoBefT-PXLSLnFdj_enJ63UNeqgK4HpSidt5ncCudIu91H1kRgBgW3QVCQcFvjTnCamPSyAiyu7VHqlSwdg4vPUvI5Ngbg9AiLn-L84NkDZfJ0ejiKwB3PeIgwI2PMc_1c1gSU5fMXIezCWbEo0atAHdeABQjFzOSAv6Sng8XPdB-hB5BKtww7_6QwLqPdkRTLDGC5HMecvVMtuHTdfjr61FEdayDBhbIXmeKTCN1dn7DZovoHc28wPLOVfJ1VWwDvOHez3gsVYt8ZMTm0kamzpYcdyGeXrq8d6G4ZwkXSl34-SQ6jBeHw_hfE4oOfsWK8RRfFf6Lk3NIPZQzVtH6-tRSNW5OOQ6QiQS76s6-OEtM2feCGXnP4wUBZZmcbWmgjOoWw0VtMwf4KiTYQfLY741gAAsebc1wZPWT2iKmJQdI8oxdxQjr1mpvkW72xJqh2IXf5SiLsmTvzhbWDDzcKcVdv152-snKkTnF4483tSRzaTcetvj78pl29YVILRs08REsJeulP-oh7j8S8AHck947MBXvg9YLC37RyGPVzVsMFxAXSFymRX3HepqqAWNTPTJVhwNP7pT0da7SD2wP2I2YE1UHZwRTdVFcFTM6H-vLP1dSIdClPD9utvgNJ511v56ywOAnX9IeCBVeEyF_kKYW0vmfKrnwF5H4FszAa3kHMn8G2hJBFMwfXMu9DjT3B_7JoZHGGCilTe5vvCg9aBFrhgo0ydOFk15nQSD__tlMVTCxyl6qkj4gqV9l6aRjZGTtAVZ9hVk3UB3ZU_6sy4I-28_5vvfn5yD_KV0vTB-LO4CUqPqOZWsYoq7CT07NAFFlMtlXOytQwDkBsP9_2mu2ZtawpCTVGcql1gETBKaSWYr3_CmOp8aSbv_HqWOpqyVEKV775jCmjX-l44ZuChVZfZUJxC_EsZbFVnSXUEnR2dw5Qb3_WOWKhhLNgjFtwARsf5vU-d2XX6kPgJZMfOVGfl6CRy1KEJYray_n2fR9e8ZMF1ZHR0MWLYZZoeSoDYZHpAo0iaXy43g-KI16bVaer_wez0zg2UvMj26jkqOMS6J1bW-VpzucoKkRXYOjnO5L11_gNmMM8dA_mnlwWl18n-G3evNLJsKUNEFwMWZbpja1_YfsevxzYecIYXtyJCDpFESX430-K6ZYX3ryC0R_9EFxmwZczft6OXtR1DxvMd0HutiYg0lu4IeVJlWUTswbcAs3daXxir-6p9sCJGwk1rumvfiMVWu2EUTUqsm47NEmOAiZegOnftMwjcuJVV0y6gPDf5d3oCJi1r9DI9F7W5zX8SfCfm8psTfuamN-vk1Pl3w5y0_pRlGYxOCrcq822cmN-mOWpzTRCKBAtvPmfbHukv2SeQyzQssT0uadQb14IjL1aYeAy9bo7GSf9gAyaZ3wq1VRrC0yOoJ2_zZggC6MDpp0qUp-reF3G7PqQL3m3ij4V9ykyI-w4isvBhD3KRxtywE_n282dXjdZCQhKpvtYHleig5oc8DuHAiFEwmIS-1NAKKtdhshJe_oXkRh_wWbuKSX_YRBmNg7QbQXx7qcTXCrsdOWE_5pEDoh9CI3PfZeDlsAx6KvXDaBbCUdMdgMPjwir2NkOU3AkBUuvpoNn3MExiRznl9J7eG2GydCoBwMAEglRRb-U9wVmI0O9DIQYQUhCJvY0D1coNhRcPz2ewYY6uT8vuRmlfAMMt1oZqD3737ghXcji2ypFoaGOMZJe4vE114kajWCNHsiaGsMPIqroztxo7fctwDiTW8AMdwwowGMtqqniGLlcE2pc6iRMc-1ZjuUqjsettPnzCHnd3mA5vtxjkZk7IiAT_-ut5m4_22rVnyXMluLh48Qx6hDjiRTBmf3voZWVPd2mvhJFh7k6P9_a3a54bebXhyTuF6m11iV4yUmQ96S_t518hN13TiVaP3Y-hWZQssbi0ikAprlcQ_gofLJA-lONU3YRTvVlV3HzkRgqt9ZGS2NgXRppMrQ46D3KBqYA5gzJKTO4PE9WX7JxIx9q5bhfq8vnLgfh3Rex57IYPXasLDKGsI_kADJ4YlkoBSYkMh09TeneJVKGAFqN_8EHtDc_deXvysaLaDr6gGQJEz7yKPU5fYeD5ONQJhAf1BwEzYVW--s_iagpFLaH0LSqRbWzfk3FpbzSuqoIX-wWm_zyzFYIDpEq7xKq5uzluXMUpIMZKx-R20QHn3_IOo6OPCSiqu400dB6BaeCv_Yl08jIzqpaFMOlt1e3LTpE03fSRwI6d2P9AgxYF79tjiFcIz7VJMXi5in6VVA1QPsGhy9BRSaCUusuS0IB6fpDCFU0cgvyWEMYBiFFMQ5PUhxgiq3teedocY2dh1wOsBmhA5nIIV3fwmABBPhWLWv_ltBMj1pd_mn2Drd5g-0fTihSVo2lmGElTktCiS_3LliKPX6ZDIiKfBj1Johv9q1lomAsVr-rLRgFSi7oVA5zc2HlxFraTUdVmynZhVdxKTnR2L8BXuW0f6C9VTPXgtJbAP7GNiwKRGdwDpEealgDNlPQcS3v_k_2hDb5kgTrFfNFYyzW6pgupjPqaGCRhZAssPMCMzmlnoM52XzYOB008_XvGtyMyUL8Sk3tPYHzrHUvT-JfNSiBSfPB526frwom4HX-it-TPx7aTP5VMPx2bePyU8_JqfHvDYuVdBoK_Y_kkicPfe7zO9G98MHs12ovy8L_sYmQxVKnoPl8T_dbZG2cyxGFHWKgElHCCRYqntXUVpMwET75wJYRb_xvflHkuCdGSDeleKqxlsXJ1Oh3IF9TDj6QVi0Y4z1SDYsOBNMswzY29V7uMGz4UPRdq7TTeWrieKhqGmn6_G1iwgZMO8ow9szzQzT_FT38ibm8YY72_de493xom-F1cLjYk4ojrzAF1KSqnil5IoV_3iwJp0Du3duMuJZWk5g1uv2AuH2qiKetTBEjRl49jK7eYV6t9oPfFY3joKBcsPvI_ExwzCw8; __Secure-next-auth.session-token.1=IewRmnPuUisNykivhYJM8wUa4DZiA3B5W46rlWa6hv7U8ILy52x9Gmvxeq81q8YPWXo0ySlx1Fc0pwDWpOR-o_roVqnnj99uoDHysIKYYd8JZ-G9GhkEcaOWmD3nXvGa18S2L5Z_xO6JdGD1cRcim1VgoYs4m47OTPF2s4D8sVbF2Rlg9el0doGDb0UL_O864ZLG2cZfsXu9er12patwXI6AtZmczAU6ZuN1vPA1Pcha7kjEXkoz_VCAmp362777Il4KHt1aoxiW5moPGwu435SI6rc3-OQYLab-yxWvfOxR7ySuBr83zdQ-m7eUR-A2ecMeHfY2qOpGRaIlnfUGmJxC1TOe8tjCoZP-6Wqa_UdCIrfKRzwC0C94I_pShhJPakXM1TK-mAIrl6R-drd4cgXI3HmQovgnTOJWrRQ9YPYZY.Ao1Ei7uEfJSZkvUhmBKwSA; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJmMjM3YWUzZi02YTQ4LTQzMzQtODk1Ny01MzVmOWNmZmJhYmQlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjJlNmY0N2Y1YS05ZjQ0LTQwNTYtODU5NC1kNTM0MjIxMWI5OTQlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM2MzAyMzQ2MjEwJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNjMwMjYzNDg0NyUyQyUyMmxhc3RFdmVudElkJTIyJTNBMjIlMkMlMjJwYWdlQ291bnRlciUyMiUzQTQlN0Q=; _ga_ME15C3DGRL=GS1.1.1736302347.1.1.1736302634.0.0.0"
|
126
|
+
token = "__Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..MthtOvg7eoQD9xqX.IuhVv53z9pmKkS538A4lPIE-mOcvNkWjS76H6Tctwt9MbkMO1vKZSnh7oexvweSn_a_CzQH6iDsAqD79fO6R7J6g6hmRjcPUBLHle6fmu7aNrEyuDsLgqJ5p53KKtGpQGqleY-cJr24mXl4caM1U_qJXcE8ZE4GTVdvWWfiMaJ6wyuOatB8X-sa4L578yvW3_QXh8PTauB1ih4IqKXkFTQOQgfPN4mFKJyCxsu4Tf2UdaJbRkimlpt-sFnneMDqTAbOnaz6H4ym0oZSXJuKnIdGaiPSZnAMLZQ82vpKQjzlZW3OJ1UbyCK1oJfH4PwML7Yab2_QOU-xOK8bN6PuHT1kIRGwLKkLwDXOuUGjY61ECQc9xxm6L5ULoFXFaLlcUPKDi4RIwNmYH_LVcmAgYL6zkQr4UWvu6ZN5zW8kXEKwW3MgunjUZp6Vt2OWuJqyKiDwx9IY-kgIfjmhluTSI0Z5SXvuiUmcLBW2YwpppcAv3tEshSh4WolsIn_QUh_LlTHNm9mJM0OA07r5Vteg2gBAYAtxvtHhD7V-8LEjNkv7fgTXqYdM5daYUQjIHpZVygOklgrdQaHahRZnVBR3HxvncIuLbSd9AucV8QfcM6bhdI7ZWmU1bmX0O-KJVdsCHtsK-2zKBgGQ7cj9hD7MlsSjRswDVxUZG9UIDe4XW6m5497jwgafliVAaYPgP78S0ICnNnk4cgyGjvVvml35G2TQYCxzsCwGBvMouDces8NwVmrt52GPoK71XDpHyRj1qilhKi1WC8pstfCuSQuOOmZDQElU4WUT_hFfFS-fe6b0nBZNE9XlhEYspdH000pImYHaUXSDxZStuaPqYaqZpOsE5abEhrVAa8T3u6EQzVavGHRyL_ZK8_7Bhi-AAv8mBm6SSjkDPlZypBu9J06F7NXHUG04B-Gjipq34hEy0ABaeptIM1VeowMr8WFQHV6kTPv9lZDR8pUNo7ZiDbU0e5rcVKUjCvEeod_5M900K4hwYXMt-wcI84acC6lg6k2LhSlCSNWl053gC04iXL_VaUUf3lqNE1HunENdKE60K9FIygU9VP9RzqFI_qeJAs07K6v0k3swNv3bI8GJaJqAyGd-36xDR-3ome2ysDZMWzL6KZ58MOoq4rV5TklOgOscUR8NSn-eFzhS9LaMCCV0ffSLINH6XwF5-v74HvsfGeXYFcIcTO4gh9gIWOMGBSChZrrH_aLrJB4roBNxTN6y_tTU8X6vylaRGIvNgoZRt43FIuNfTJvATQTMAQr5fnLitK3pdhM77WFEflVmCuFXVJTzi1IG0sxMt0n2-a94HzkPGbsWEEbFjeQxNTT_-m5mRWRzNoN64dfWWT9X6VT1_YB--iciHCV8XsL9QHx_NRTce34_tmc-ni3fDQ6AmV1hBleuR6qU7YiOK0x0xAn-YUaNK2bcRWtuXpivVukgcIVS61NdPKzRoeRKrkN60ZcQ87Wh-ssn6GLNzbx3t6NHey2quJZa5nRdrHbbAgSVFyIgN78I0voxK8yLS3edJ9A8FX3SRwmdFF6c9G9-_6CRjDC56OjCuiC5ZdTITfLDCNbXnTWVJIykGSzOQLrK395zuBUgRgzE1KOKJNJRZ58f2I-_mTLs_VHP_bJpqqR4LupAGqSVEhzc1TSKS4o5rsTbW0SrMNrUQ-r4oJ_gf3VoAYumuMhW-ymU4zgxvT9aquXSjUM1vrN8HWxg9YhtMIpxi3ZNmb1tkTP6xRT_jsFBY_wI5pfxMezwNGqYl18SWPbGMdkTtjbGpLk04YmnAK5XX2o93lxS7oHQBVHwS4r4-3vviW8l0FvZVCjHkhgQYoe2szKfWCCqD8QHlXn_jcln1m9kuVp65AAfY6xN-mxTiKUIkFOdM66gW6IWgZU7eBvZmxm8ROMwZNz7BRwHLH7mo5fUwyrABVkY6nzsYwg4mLFZznrWJlC3HVJmupT-OT2rytFOd7o_Q9kbqW4FVx5gmeEa35KhTSHwUNa-HC4mnZWjoEs4C6wwjAAdJt9O0HlAyNJF_qnPuQGrIHz13fJbQ4SURz5vCWyl7Q7x4qIwZGSm5P2ZXTn-kABIiXsRNWpzbOew0VFOcMQ4l4D9u8lgwwfNesyWZEmMkNUD-64fxNIrB52pejsjwCYyoNEQjYxdNc7fNGQsdBK4R20lZlglX3RwPJ5P4hMuu5ERNeKRCxpFTTiEG15SQ7QjmrTs5KNfasCCXfses9UXZXFpLBXHPgO3c9AgKYN-7lF2AGkAv07an7AH97YmVnG9TUPsVPj_kBxoLowtk9vGQSvhMYZtEztmQKS4fDMIbw0WnENYcijxX54ZzriMSAMzAeuNO3Jzl6WOp-n53tGnDziZR_sHZFyN6FG4Phfiz5Chwq550_PBah_nUdRxE_qoDBHg5Zm39hRLq5vgucmvTMo7Kz4-Vr-IM9caKj8OMzbgLXjXdArenNJo9sq3iNOvdDkv915mGYr8g3BszL1fBQ4u9CCvagE-nCmLxaxmoLpTpyBJhoDydMyoi5n__7evIci9CP7QSusqeIgFJ8tHrSpZ3KmTZ_xpOlLgU4PpQDFc_4yXm9ZzukZcBeWnfIn4PdvwtqM2ZsjSellC4o1BdiJ0iUcoSXl-ZA-P1uq_b8RPNVe13YqruGpSkKluUe4G5_mxOwvwHDfstNgYet1pcq9W0K1EDrU4bNkyZoTitYSOHEwsH1LDZ7K7UmjwmBgGpGFHIWcN7uVBKHyX8940IhBo5YvIZAGGNcFXNLdNUqVY57wkRBQon62yTfEPZwqYa_6jIEX7j43OlCreCK2Q2eu916aTYg3YinCz_hlBCOMklczupYqbqO84xsixjQ2NDrd7NuvxameWB-QsIsMdX5XYOihkf5R4u8bDFyhVXgxIsuRkTyF0JdIMhNTEFc0R5aCfWVhzoED13ldJR2fJqM2GhzjACMwY7uHZ8nIQjFXR84j-myXMgmOOxbuv-x1YnOmxZHtdzgPjDqfWM3s3kmrdffwH9YXizo81YAuF1X440KPCt_o9s3ArAl8hVYIw96jQDEWaQ2YuZId8mQbI3_tANygdt6WnDPMW5jvjWz9wK8WYRD8kg0zbF04gaMLZ_jZTEC5WAlNNBRq3W4zKwbBbYUrdm9Bxe71G8moIgo9-3S0158kwGeebHJL4Hrx76P0-iODFE9CXSxxhuD6XYTC4izf7jVmEbWppBQ7skRcXfv2PTr1_7I6BY6JZ3Zzmo-2uDpPwAJp1im4UnRJRovKOajXcLI29KcxvRYy5reDryUFK7teaim0DJMrO2eyYZOPu3SRlTLRWFavZF0yFVLw3g5EgcCEycte_9g8ye3lqGtbqpuIP6j92fgt3ITFRfSh26kerjEdgH5jo8A6jbQulMG0KhlZ6ijgc7NYflCOi1eE2U3jmxnuMW6rtWSzzgW1Hwt9cve6w_VY6iXMQ7GsPQlErquKQpJdxeYSig_t-aYdd1MAGlJ9SlT9rZyjPGdc2Z3k__od8o7ZSw-ctRP4wOl9YkZ2pdMFYLT-RqGZEIshipCl8hhEw6qX_h61RzBTyOHICGNEZQQ-TkbbIrnXKSQDYBs_uUHW3G3-JahyBuCyPkA3W-TC0glRB-ZWsgdzKrbB8GP1LeEIV_aE4dmD7A4l0-eZArS8gbMF9I9h7o1BwtwdUuPcjOqkv9uI4I1tGJsgG5WLllMf3UiKc953NF4hpBqoXbet9SiRZg3dH-3DQyuuerexgPsi0jXH3Kd_teIaJCDk_kvvwl41Q0XQThcn2dy7yolgGaDhMixapZseerVpb1cVw0yUe4SGlhkklgbRbf5eudNTr8sLamCf1lfWEWG2YEaZuROoJeyO0n2vAPbq1920hcru7Gy7d; Path=/; Expires=Sat, 08 Feb 2025 01:04:35 GMT; HttpOnly; Secure; SameSite=Lax"
|
127
|
+
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"
|
128
|
+
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; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..WqFwC8QbnjwUkMxi.RYqiKFIQTVwJF5azhoAlOscRiivJrpL5fRaArVfPstl4mOB0YTUtp3l7TMKbGEsM8nV2DW68eRarLqQeVjq0eKzD4MNuvuKy0y0phQTMs7vKlKCM5UgWMxz3Uz30f7GmH6s4D0aFDGbJ6upcsUqZ0BMwY2KkXId5uilh0jrDhinv5ZCIQA0o89Nf_lOcapGVsEi4OdYhe8fDDuhaI8x8TnkTQcDjwijc44WWUQg5vXJusYAVRbXR0-hO_fLl7verrBVKWPKXsP_tbRSk2TIqTavXoP-RcHI55R-vQD0G3lbl0hkjiDhWZ8SG2g3_KkbnF9XovoilxZpguNUSqLLHevldctBrMDG9vnoG6FRVwmPF8T5IxVYnkCb5IiyIJLMAOWlVlcNmKM2n2N-_iW21-skyqq0O0sUpukL0gFLp5UlpKtXUbTOMaD60Ja0D7n2THWO3yWrlTmXJ641igNxsAfb8iMuN9XpVSLTGmSVoojIQkbb41Br5ZmAdlH3D9X2u7cZD756HkOG4LhWp6rjaoUwDY1XBMjSxs9lOOGQGnr7xfmVC7fSWDuRhHxwF0C9PUbndo3zv12A437VASNXzuJ7W-nvBP0i7PUw09bKgYTsUyytFwBiRFW_Lj3l5Fcu0qrXQBosvdZvgS3QNEMqOWPWiyQBI5NatP8ZSQuquzvNDRt4typ5T6YP6NEqqMwSLRL6mwA1_ZquU78kygEUFYq5fUtUoWoW8CdbHsZe8DvN0fIhW2iAguey5hj7Dwg3xstOM-aDyRMbY-ML__zTi0w-TB0XzJ9NSXe8a1b3vvjzNqNWmeUwF4eT2KAloIvKRrlWZRC3OedxI8aRvoVGcnWqpRsvZNgUY3blfxG9lR1KrNgAcDhcRB3Si3APLlUT5Uv0MzfZKwWtZ16lLNmY6bRnlQO_IGRVvGWp0tXiwMAR6vXEhq3FqEOMy9W1JW2MVS9s_mpOrloRr4CIxtDbrE90Pjhm1wPzC43OMGsm2gxU8JTaRtWftnZ6EUlO2rski0Ep2Kl_iTwotDVPZY3RV9B8GWTfmJ8mU2EPTjlKcpeyPGiLdZkI4r5HGT6Bt9sv3JXQeU64ecmhbDEr9zrDVRDJlt3nGsQlDq21xkOsQw6nyFjg0cw_i5sGqkyLEQgkfVHGaNuUy_aP7us-DHeLCgusM0qFjsGh6TqY536AxlecGZr5Xh7FOEgVcNHfmT8gTRGPJuqMU_c8kyWqhihx_vm1dTTkHF0O4LJ3W9c-8sAQhsHvzsGGoEBkCi3TaTlBAcJ1_4ix1ITj21Ix1Udmc4cvNE5NRW_aBiwGQvrKlT7qvpxzzHZd-zpF2jAN78bGm6-jK2WSy59-y4FN9ZUrG1QwG5n-3rFiSl-pqRY3Bybx4ANnEU1cbf-0rnL-R3rcbCOEcMOf3CWc78PraUa7sqoV4tnmJdSwjmpVPmptOs2b9bbg6B7XqAsYX9PlkSAztLJQlVIUD4et0O1MOf5nSCmOG-x4cb1wtw8O2ZKea963732M9MUpiw9jBn2sAQbH5cufD0xlXGuVzn8gkDzOb007V018t--yJmbYcvDgMbp7VPESkQdtVMScn-jcpzNrdqDRIUjehEseVuULZhlv4HKopQjNrnyEenZb7kbeogISNKAa5zVKLKots1L9kTHkyziYdcv8bETD53c1CiIekupheQO32zXFc5KDeoTyQNi0O4KKpSCKSlp8GtmNt1q5--y8z1mmFru0xQeTcFG7rgm-q3u6lIQuxRM5n-hHdosYhRsJmX_AOlzw7UpagoV90hzxfGQwa5Oa9OHfoisF5-ueVsibMe-mqWct6OVV9Rke_7lPfjhVbQUS1-Y73MJJF1H5uW8b88GZqPIFxNTb8P-1ACFCWFpvCJRHjJ2rNP5AF1VtSKIgitmaNVwmqcwCwXOpGO7KqSqfKiIBGgik2t7T_joJjwZetvjpnZ-apNCJpmqtJc1rEfDGDBQvaXEuIJ3aB2nB1f4JNqxUatW9D_QMuLHvKmKPlRBQRtHMA7p-XFaJHQm4U-yhz75eGMCfcT7ik-3i8QNFJwwrZcWVbDNqdExmpV0hiE9fjgbmhU5OkoysPgrZfn0WSfo1Cdccb8WQuR8Kn_xj9cCqUjLm79mrsfUzLDsQOgIRBeiUoAH3oQKfI5Iqp2tquOHWb8SyZwENkpKPnipX_60G7BxcqpB5WI6-3MIilfH9itqdYYKImNncuVEzNZX-b2STHKxX1ESCgeb-Hq6SUuEwQtHK0lFnw_Jom8he6ShB-n4a2s6dBO4zT_awB4LZF42-ri7ewlONh2WzLTGW-lK7JNLPEfeXWR-jye7ALwGA2UEtXisMUhEMpuCt2La5EiCKBaw6deGygVbJ2t6dEbkSSEAoZONHctgqmZ9dNMaXC9Hyyo5sPKZPo8uXtJSslyHJlMvgY4W8Uj41IP3Umw1-j_FjYjWiOc5BFAvSbLczgWoXWqbcDa2plXnUmty9OTHw02dZb4opkhLi43ONSodwHqHGWyTgH3kdRhFYV-2uwkSVF8nZG0RHxEDGB3knN6HoHji2LJcn9TwZzOQDaG5sJzrVI12ZLPUx3KSxrygZ6d7KFJpXmi7jXe2kyExrO_HtpNebKq__h776GvuWsx887t2T-DoA1XFoNxbSWIDBaaRrrrMQnTubI7Dl6gs3ea7z2hmDFYcwrqb0r9bDBgx7yhSPjn3AgoRs43NYRe1gVoURcHduyFS6DM7wncDDMIyz3bgEtvJ4YPI2oPIH74MHDJOR1yUt6OmGMqIs_XbuekM9bi91iNAxwcIgdnYWTGUiR2Vk6O2VqqheOwAXn-_G16oGocsaLoOzu22ywuK6xNcleypBc_vyaPuoDmIlxxNvApurczDFHbTOvlq19G-CcP34gKlW_VLe_1KSA8W5cnH28yllZhzTUs14UpxLC6uV6VarxVqrUCLeWgvJ3Nc0pXiBE4ZwZuwWMzYWGSi2VtPeShJwhYpRlyt-AZLgXmNMpN4cGqxaFLhiD3m3M5r8ZzsBE_krksF4x-dfptxE18DRSZ5mQ9iF8BEl73VX5s88L4hDBZn9up6hAG-rTVVr3JOT85KYhvXfll92al7kgmYxNF3UVsHBTX8XxtiQx14wKm5gRwLtbBxeuD7HdU3cyqZgvrBrQlISH8p5ghqULI_BFIuXEN8uD52RE3vXrb9gUEMSAWeo7CS_xx-XwSVsfbnMBwzqFe7AcYDGfe38zpCi-oh9sCJjAAXN-KD40UZB7ld-kx3DrDjmRLnp1-gO0Sl4CKti9MFZboe_gxODqG070Cok0niSsoxJdLnfhcYw_JN5fWfhJOzTxRP7l4CXq74ji7ltw7N_EgYUzIONC3nAxZrU746soEvWcUNLmXyYEow3XWyTddMcenK7tLkveetyVXrQRnR7-n0y-WHKpA0dN8ZdnCM4j_z7wkoO4FN3GxGAL9Y0hi--9th4XbP8p_r6VLJ4SQNIuIKuyxRB6Y2NPFNnrOLlXuZiM9OUuFGO8Kz2qU0mPswV805wFCNh2bGNnSPOamizz4LernNK84t6_GM4NgoN7yTaBEX-Ng1EvnJhEfcZtwI3oSXBuLn7ufbWupHMJZfggEZ2FV5y3-w6SQymrpUSBnDZh1LpmibK1cGnJjAB7-1sWmTGUnV75j-qWMh97bPqJi8Uty5tYbgpulO-P4n1KTuCqGXbLDwINu_FNcmOEreQYJcEX1i0QOEoVblu5eJqC5kBPkBPEC1bVhNl3D2Ufdd3i2XCbxvfCoyc5eysl35Od1Hxst-KLZ4tmYI_pTNlI-JqwuKC2RUzJXVqiXpmaAk8jT592uFJs28jlLiB4TmWQ3L48kCnLaya0c_AFhGecdHEbbEy; __Secure-next-auth.session-token.1=twI76zjwWsf6cDBVpwTSlQGNTowWAosArlcPKymXnMkcNljStgeFkom9k95zpiXIDpFsiJB-PTLuGBj_3HmZUpEm5MuHUgbQKSFPio2l7wRW6a98uWicEzF4fcCjGz9OrDwBUnUxjcNnXue0alwa6AhF5T1B79ibZHjBtGq4IYsmt_l9mHR4wsRNXV0w_zCOhQfH1R8sczNff7eKcVnDo14FeadzZEqSNoKGU1C_6TZMOa7zzETGQPekh279ylKUaOZ9EshI_P3aRw71XNEdE2C-uOMZPuJIA3zPBvgYxdfppBXENTh8quyQAzHFmIMubPMg2zCNTD6ANvC5eTEH1B675sA9emI9DnC2UJVmNBJQPIpkncxQd98eaeYS0tHaUyzD7HQFJBFQOCmEh-ORdrJVoab1A36idPdzLusO0Tm1e.ZrEoUqMjNICG-4yAF6sAPw; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjJlMTcxNjRlMy0xMjU4LTQ3ZTYtYTJmYi1jN2JhM2FmNWRiZWUlMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjJlYTNmNmY4NC0zNzNhLTQ0ODgtYTRjMi1mYjgxMzk1YzNiMzElMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM2Mzg0ODU2MzQxJTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNjM4NTAzMDcxOSUyQyUyMmxhc3RFdmVudElkJTIyJTNBNjElMkMlMjJwYWdlQ291bnRlciUyMiUzQTEyJTdE; _clsk=szrjt7%7C1736385030758%7C10%7C1%7Cq.clarity.ms%2Fcollect; _ga_ME15C3DGRL=GS1.1.1736384853.1.1.1736385031.0.0.0"
|
129
|
+
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"
|
130
|
+
token = "_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; __Host-next-auth.csrf-token=5a254fcd5cf01dbe6f4d38ff6653073673eb96145321a4aa4e032c1361db4067%7Cfcc1ced5fcc03aca73a9b3374bfaf0f518079e6802a706311c2428b8b12a5639; _clck=uflztg%7C2%7Cfsf%7C0%7C1765; __Secure-next-auth.callback-url=https%3A%2F%2Fwww.recraft.ai%2F; _ga_ME15C3DGRL=GS1.1.1736384021.94.1.1736384813.0.0.0; _uetsid=3bef14a0cd5c11ef8908d9361f23bf21; _uetvid=a8a766f0975f11ef9b7921e48a0cd258; AMP_7268c9db0f=JTdCJTIyZGV2aWNlSWQlMjIlM0ElMjI2OTE1YzI1My1jMTJjLTQ5ODYtYjM3Ni0xMTI3Y2ZmMTFlMjglMjIlMkMlMjJ1c2VySWQlMjIlM0ElMjJjNDdkY2ZiYi0yOWE5LTQ1Y2EtYWRiZS1hM2ZhYWZiODhkNzQlMjIlMkMlMjJzZXNzaW9uSWQlMjIlM0ExNzM2Mzg0MDIxMjg4JTJDJTIyb3B0T3V0JTIyJTNBZmFsc2UlMkMlMjJsYXN0RXZlbnRUaW1lJTIyJTNBMTczNjM4NDgxNTMzMSUyQyUyMmxhc3RFdmVudElkJTIyJTNBMTQ3JTJDJTIycGFnZUNvdW50ZXIlMjIlM0E0MiU3RA==; _clsk=lpjwif%7C1736384816977%7C21%7C1%7Cq.clarity.ms%2Fcollect; __Secure-next-auth.session-token.0=eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2R0NNIn0..i9IpV1p6GdtCwBJf.GhX0MZyY886Dpslr3HPr3QQrF4cLCeL14lby_VsLhOfc1VBDE5ZmRX6fYfPtHPJNfYIPlj8U83UVMZyNmiSeRCTLDKKht5oWGdbMS8Q6KCLYzpFtO3wgfROiWTy4Jaq2XdXvTJiFHpHtg4FNsDcKfD-zyCt6-ffuq7gTtKhWl3ie33vu2Y1dBksAadej9hGGsozwQZRju2GaNw2QpWdgbP-cYbojKSFxFkara0-_yZgXYtjlSNXpj-AXI6wmkDi701dyZPHS0i_eNRg4d36SMOLTWqPxtgk-0PjYKGAndHeLlrypt_4HS94WAy5_Ond46YIvFtY6MS5P0wQePXka_kj95uV7_Vj-aBNhcJhOjv7FP2TRvOqjx0aKIS6ilq6ljCIrAp4iC-P-uEpRWxQ7l4VwejsrM1_k8IzatOUFjNxhmTsGQG8t-CaN6zq0GI6SkSXlOj_X6jUIfu7aaT4nvzNM_yDz53P-H90mgl6-6KmHhldPRZPPwA6mOci1sZ2hQp4l4nZCSSXmrJ9KSEIhcqUM599xDL90bBmIyb0LMwa9smXavJFq0dlmjcqGGmfCWmriNf7eSw96ewhOT-bA-yNt7Igmsj0YAV59_FVBicRwPkMSZshfikl0Pxz_pmTQrSllF1WXeyCEflhqncXRXNnl1n23l3rC6XK72fyMX7Q4kB1G3stQpZ8BZ2jaoV4P9RmKWje_ruY30myXj4Kf8Hzh5YjzfxAdVv8aVCOceuAcQCaZzySFSAWV2R7XLONGCOiQqcRyHeP4KzEac-w_w_8AgOpn5Bt0vkzw_roK4WK13mNyrx-sLbAy-Pufuln_6V_hyJiYdPnC3kykTFveaeYNrSTrhOSMSTRWMwbO32apU-6a5l42FWZVQaVRTYw4IN7aOrhbqINzSN-yRlkze_4YfRUqIE6ip6r8OSjsu65WdmA2haUaTlPwSfsJh2zm-SlDRPUlZkUXO1rKlfWccdUarlAyX085fSxs3amQlg5SBe9ziyCH0-1FIY0fJN96dYrNcHXWxUYu01UKbR1IX27OhOj6gmgtUHeZZorJZ_Ce4fnuTfnK65Athovqjy0_U6JXwJoQ9T_we5IlYQ3Rv95ezdbA7HSY49F3PuCxpf_-QujriKIWTGRQ_KbJy3bOxv1dV7mmHvMBumNVOq3VIqyKS3NnjtD2fjGcGWh8sCViU6wOCTERI6lbxMsHL6oMKTvzQuIp80DgKyQOWO5LoIPKtpz4b0mf6A1Xncz0ProBBvL7ZIiFEpiiFztqQJigVTsRirTMOqViOqU4Eht6AIvIczsW6GyuOK7gCgty6RezCHQsSwXD0FfwpvxjCFZQZ4A4ZFatHCirBDv6djBdBJIOJoSVVkoN6_Q2E8U4C7J1J5UQYZZq1fm5xBjEwQBzdP18doD4q7KNsgQIjGU5ZMJsaZgUNAhjU-UyA3BwLXhtmpMGnx9G2Pxf11OgHOUUYKd-DsX4yFrelf0QFe6VI0TMz7V8xpJrW-BTYYmaCupxkyLmwRfTO_HDkbyKoZES2yiCFh-Vfkyxz2gLuBhhryczt4HogMh_CmuHcOWPv6TAuH4QDZpyBWzyThBx3ZKvLfxo87LwbQgRfoediXV2c9DEWTx-pBcMosr1L-GZQ1eTVDVhcmsVshVL9Nb-DYh7C7-d97aq1Wl06Ljsf74xzijQPTgQAMgqwdPOWBg_WvRZP_cxiiz2XsUbbjYW2uQeqFL8dhYmzr8t2ABPpP9_damETeR5bkYA2jOwF6sNwhe0uIXP4xjN2xqzJ4OnSE_zeh1L5bqRajroLnYbRsZ0QwBoqf7am51RFzcyZRvRPKxLbA3rRDqKun41AcC3usyrFw6wX1dBH9IBLfqwP4qVPlwMdpVkQuH6A0rawFDM7ulJ6uYWy5XuiSUGejnBt6LICYki0C3bgOV--932msjQlzwVcWPHGWP634teJ8do0UMDIlII9ogA307POi8j4Ab92QxWLt1DAe3bh-vBkuEvIzmiKvq3RjgP52ysvTlDZtqEi19RkVBJ55aBNAK84oddVNrYIv0-SZ736WxqtpqNQggOkwubG96a9IL2K0nM3lD-IweswFzhd5d2t2GIwDnkRWCn_3sMFblMFGsvof-dbcp2fKgB5BFFtel6DO8cKZiGrFTKNNaTUEIpQYFZueXZMDMhpGFmsbWcABXJAyQk4gl5DR0hY_-zRrEnaBQ5f_wquwpENKFl0tBzVKLi45F3jgrnMYAyyIR4GVrS4x2a3PIBFl2HPwDvPNfuP2lnICf6Bbeh84BhI_V2aCoaxur4OTuc4E1HUM_p0gLq0d3xVpVbmYlDSff7YyrnwP0FdaiTt0dcMKyoGL44W_WdvPete8U6hlNhGSySHp-srMFyl4eMliYAITeiRwwZuYjfnW95-kK1rTm6tiBlpBJcSLEaxe6iZTTJcEAm5MLO07jEny_C6thxrYPug_5Ih8SdM9DOEkqF0slCWne82S8x49dp0pMllCZJAvtdYQbEmtE2KjytyKU5ns6OiraQpFm16fQGpmu7HYQbBU0fwASerwXdMRa6e7lTVGLd2mdDoF9gBdQClA75LyaKdrPg7rkV4x2NOulsFsPSPxhyQl-r0jqc-7qMs0hCbKr8I7O04T5F8Jg0ZWvYvUCvbnfiW767XltnjN_hNy3zQDVjR-4XxlYWmq_wzj7a0U5r9MzISR_DsFEP-mI5qKXfNFUzatM0UmKs-m1YLxm3InlWaA0VH1W5pABHK-npbuHmUlQ5_HBvO0JK84P0iif9M2-KXIEOxzMPLOw9cjs0j98hETINMm2-_6AGcNVrqLAmxrgE9sREJ2YVSweVVxLzi0UvZnjPwOs4qAaM3O2IWy5UZ1cB6bFxAj2HvDBQZ3j04kPxT0Sl33MGQS0Td7J_9ap8r2IBQUof9bOGjjMZHV1YsIcHVC5vCT2EZCovmz1avFFW04o0B2DC-A1kTujPp4SWtxT33470WPSk1CMGK_tKv0w2ou6lTkdGdTWCTDA2uNMVZRGxYwGnGo1q0OkC_a60JlvzPTXbOVcfZu_lcATm-aLt60H9jHuCBmKEvg46B5Qc2TZW3Dwz2T7Tl125jkfPWYEBoVnqB7mNPzhZxaDY3sMd8I0O_FNeNRZ3BEqpJkNWIMOnf8aZ6nCoMw8DdpL1POGvAZ-XhedkAIICUkJ_SYbvho2lZ3oEIAFxl5arPmQPnIpW4Abry_PWYvZx7kVXA0frDjYZv89NlctrGKMBfyYZVKTRnoQkXf-K6JGCZcySJuuWOuADGQfNTarwuy6M9e7k83d-mFZTYHhllPQakN8xXZ2ExTBDIHH7D9y1qKoOwb22Lg8hjv7cD9uq21iZTmD2K45D4W76Yrz1rX3n8t1tv1l1HTSB3UeuoCGaT5LkCSDKsHhM5iTChuIfxVefYBZh9We-TiU8QyHOxud1zOpE8Op6Ky9dUaCnUl5YUxeDntgeceaqP20ZmjlwvADd6P8UOjvvq-uZAhSlJ9Q4rYmO4pP2lfaRuo-thyrowHwOETPC8kmsMcm43MqFCzNNqnyXDHuyggjexTrk8T0swpo-eeBpvElZcP9-U5bFbS5vyb5H4tOLspSo8JcxsRVT4b32plWTRT-EQpAosu5IQNO-MQAGKnwqgzwhiePc8_K-6QbfDaZ7UwvCxJBvp8Ql5NRgMAUiViLuxD4BkUaKXuouXp9UcvyW6qrJFHVzyDVjTKW7oG0lYLhRREePp3OLqLUH-upSEWFMnkOljpn_kE3W_F62fnyC-6YG25kGKhw8bMpIVaKLAfe0SXto8pKrQPb4cLKTTTPHXCz9PKtO1xE2qHIE2Ys1k7-JlkTK6AvoY6sI6t3EPL-1rXPmB8P; __Secure-next-auth.session-token.1=yFjlKz8Sy8-L5993eI09Y6KcuLf5lx4fC99u6YFtWp_BQLG0Mk0GI7RllqeDlxU-5QO9VYeBlTNh-sp8SJ7hkNv5hpMnWaCE-7sPMHLcJAFNA5Sx43a4aJglZFEkCI8RFe4HGAusm9qQG18PBByIKj_ZhLnsS9zXaGQ5YL7eX9QVWrpkowuA35WfksZp3mvwkGR_6LrmpR7kmmK2_C_X5e5SsXTXhUfrBT8r79I39P18D9E1S-hT31ETyajNNgw-u3BHbET4buRhT043W_c3x2RwIc6Fzs5DAeTUFR39e3_jT-ge_RIG5-1YRhvtEXHVUInRVeoYorqzN62JO-8RDeBNry6wUGR9O7QCLOH_a0w.976ySjYDq2pGONqc_zx8Ng"
|
131
|
+
|
132
|
+
# arun(get_access_token())
|
133
|
+
data = {
|
134
|
+
"model": "recraftv3",
|
135
|
+
"prompt": "Draw an astronaut | Style: any (recraft-v3)",
|
136
|
+
"style": "any",
|
137
|
+
"response_format": "url",
|
138
|
+
"size": "1152x2048",
|
139
|
+
"n": 2,
|
140
|
+
}
|
141
|
+
request = RecraftImageRequest(
|
142
|
+
# prompt='一条猫',
|
143
|
+
**data
|
144
|
+
)
|
145
|
+
|
146
|
+
with timer():
|
147
|
+
arun(generate(request, token=token))
|
148
|
+
# tokens = [token]
|
149
|
+
|
150
|
+
# tokens = list(arun(aget_spreadsheet_values(feishu_url=FEISHU_URL, to_dataframe=True))[0]) | xfilter_
|
151
|
+
#
|
152
|
+
# r = arun(check_token(tokens))
|
@@ -0,0 +1,65 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# @Project : AI. @by PyCharm
|
4
|
+
# @File : images
|
5
|
+
# @Time : 2024/11/22 15:22
|
6
|
+
# @Author : betterme
|
7
|
+
# @WeChat : meutils
|
8
|
+
# @Software : PyCharm
|
9
|
+
# @Description :
|
10
|
+
|
11
|
+
from meutils.pipe import *
|
12
|
+
from meutils.schemas.replicate_types import FEISHU_URL, ReplicateRequest, ReplicateResponse
|
13
|
+
from meutils.config_utils.lark_utils import get_next_token_for_polling
|
14
|
+
|
15
|
+
from replicate import Client
|
16
|
+
|
17
|
+
|
18
|
+
@alru_cache(ttl=3600)
|
19
|
+
async def get_version(model="black-forest-labs/flux-schnell", token: Optional[str] = None):
|
20
|
+
replicate = Client(api_token=token)
|
21
|
+
|
22
|
+
model = await replicate.models.async_get(model)
|
23
|
+
version = model.latest_version.id
|
24
|
+
return version
|
25
|
+
|
26
|
+
|
27
|
+
async def create_task(request: ReplicateRequest):
|
28
|
+
token = await get_next_token_for_polling(FEISHU_URL)
|
29
|
+
replicate = Client(api_token=token)
|
30
|
+
|
31
|
+
version = await get_version(request.ref, token)
|
32
|
+
prediction = await replicate.predictions.async_create(
|
33
|
+
version=version,
|
34
|
+
input=request.input # {"prompt": "Watercolor painting of an underwater submarine"})
|
35
|
+
)
|
36
|
+
return ReplicateResponse(**prediction.dict(), system_fingerprint=token)
|
37
|
+
|
38
|
+
|
39
|
+
async def get_task(task_id, token: Optional[str] = None):
|
40
|
+
replicate = Client(api_token=token)
|
41
|
+
|
42
|
+
prediction = await replicate.predictions.async_get(task_id)
|
43
|
+
|
44
|
+
return ReplicateResponse(**prediction.dict())
|
45
|
+
|
46
|
+
|
47
|
+
if __name__ == '__main__':
|
48
|
+
request = ReplicateRequest(
|
49
|
+
# ref="wolverinn/ecommerce-virtual-try-on",
|
50
|
+
ref="k-amir/ootdifussiondc", # warm
|
51
|
+
input={
|
52
|
+
"seed": 0,
|
53
|
+
"n_steps": 20,
|
54
|
+
"category": "lowerbody",
|
55
|
+
"garm_img": "https://replicate.delivery/pbxt/Ka5cuvEAmCHuL1zHrxatGHeFOs6GJZ5wjMQQg4qCmaRsNm2B/pants.jpeg",
|
56
|
+
"vton_img": "https://replicate.delivery/pbxt/Ka5cuBJhEHKSvUB7dHIwffZUI9oeifAwzAhJhLvy4kIeooII/woman.png",
|
57
|
+
"n_samples": 1,
|
58
|
+
"image_scale": 2
|
59
|
+
}
|
60
|
+
)
|
61
|
+
task = arun(create_task(request))
|
62
|
+
|
63
|
+
# arun(get_task(task.id))
|
64
|
+
|
65
|
+
# arun(get_task("77e6rwn5v5rmc0ck964acn75dc"))
|