В общем, первый раз пишу пост на форуме, надесюь вам понравится Написал скриптик на питоне, являющийся авторегом для langdock, функция generate_api_key возвращает api_key, на генерацию одного уходит ~20с Просто меняя api_key, когда заканчивается срок действия free триала, или заканчиваются кредиты, получаем бесплатный безлимитный api хороших нейронок! Напоминаю, в api langdock доступны такие модели: o4-mini o3-mini-high o3-mini o1 o1-mini o1-preview gpt-4.1 gpt-4.1-nano gpt-4o gpt-4o-mini claude-sonnet-4 claude-3-7-sonnet Сам скрипт: import requests from fake_headers import Headers import pymailtm import bs4 import re import json import uuid import random import time def get_random_phone(): op_code = str(random.randint(900, 999)) number = str(random.randint(0, 9999999)).zfill(7) return op_code + number def get_csrf(session, headers, proxies=None): if proxies: login_page = session.get("https://app.langdock.com/login?redirect=%2Fchat", headers=headers, proxies=proxies) else: login_page = session.get("https://app.langdock.com/login?redirect=%2Fchat", headers=headers) soup = bs4.BeautifulSoup(login_page.text, "lxml") script = soup.find("script", id="__NEXT_DATA__") next_data = json.loads(script.string) csrf = next_data["props"]["pageProps"]["csrfToken"] return csrf def generate_api_key(proxies=None): try: mailtm = pymailtm.MailTm() head = Headers() headers = head.generate() account = mailtm.get_account() adress = account.address session = requests.Session() if proxies: csrf = get_csrf(session, headers, proxies) get_email_code_payload = {"0":{"json":{"email":adress,"preferMagicLink":False,"marketingFields":None},"meta":{"values":{"marketingFields":["undefined"]}}}} session.post("https://app.langdock.com/api/trpc/auth.getAuthProvider?batch=1", json=get_email_code_payload, proxies=proxies) message = account.wait_for_message() email_code_pattern = r"[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}" match = re.search(email_code_pattern, message.text) email_code = match.group() session.get(f"https://app.langdock.com/api/auth/code/callback?code={email_code}&email={adress}&csrf={csrf}", proxies=proxies) workspace_name = str(uuid.uuid4()) workspace_jobTitle = str(uuid.uuid4()) workspace_phoneNumber = get_random_phone() create_workspace_payload = {"0":{"json":{"name":workspace_name,"companySize":"1-100","companyCountry":"RU","jobTitle":workspace_jobTitle,"phoneNumber":workspace_phoneNumber,"marketingFields":None},"meta":{"values":{"marketingFields":["undefined"]}}}} session.post("https://app.langdock.com/api/trpc/workspace.createOwnWorkspace?batch=1", json=create_workspace_payload, proxies=proxies) get_api_key_payload = {"0":{"json":{"name":"","expiry":"never"}}} get_api_key = session.post("https://app.langdock.com/api/trpc/apiKeys.createApiKey?batch=1", json=get_api_key_payload, proxies=proxies) api_key_json = json.loads(get_api_key.text) api_key = api_key_json[0]["result"]["data"]["json"]["key"] return api_key else: csrf = get_csrf(session, headers) get_email_code_payload = {"0":{"json":{"email":adress,"preferMagicLink":False,"marketingFields":None},"meta":{"values":{"marketingFields":["undefined"]}}}} session.post("https://app.langdock.com/api/trpc/auth.getAuthProvider?batch=1", json=get_email_code_payload) message = account.wait_for_message() email_code_pattern = r"[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}" match = re.search(email_code_pattern, message.text) email_code = match.group() session.get(f"https://app.langdock.com/api/auth/code/callback?code={email_code}&email={adress}&csrf={csrf}") workspace_name = str(uuid.uuid4()) workspace_jobTitle = str(uuid.uuid4()) workspace_phoneNumber = get_random_phone() create_workspace_payload = {"0":{"json":{"name":workspace_name,"companySize":"1-100","companyCountry":"RU","jobTitle":workspace_jobTitle,"phoneNumber":workspace_phoneNumber,"marketingFields":None},"meta":{"values":{"marketingFields":["undefined"]}}}} session.post("https://app.langdock.com/api/trpc/workspace.createOwnWorkspace?batch=1", json=create_workspace_payload) get_api_key_payload = {"0":{"json":{"name":"","expiry":"never"}}} get_api_key = session.post("https://app.langdock.com/api/trpc/apiKeys.createApiKey?batch=1", json=get_api_key_payload) api_key_json = json.loads(get_api_key.text) api_key = api_key_json[0]["result"]["data"]["json"]["key"] return api_key except Exception as e: print(e) time.sleep(10) return generate_api_key() proxy = "<you'r proxy here>" proxies = { 'http': f"socks5://{proxy}", 'https': f"socks5://{proxy}", } print(generate_api_key(proxies)) Python import requests from fake_headers import Headers import pymailtm import bs4 import re import json import uuid import random import time def get_random_phone(): op_code = str(random.randint(900, 999)) number = str(random.randint(0, 9999999)).zfill(7) return op_code + number def get_csrf(session, headers, proxies=None): if proxies: login_page = session.get("https://app.langdock.com/login?redirect=%2Fchat", headers=headers, proxies=proxies) else: login_page = session.get("https://app.langdock.com/login?redirect=%2Fchat", headers=headers) soup = bs4.BeautifulSoup(login_page.text, "lxml") script = soup.find("script", id="__NEXT_DATA__") next_data = json.loads(script.string) csrf = next_data["props"]["pageProps"]["csrfToken"] return csrf def generate_api_key(proxies=None): try: mailtm = pymailtm.MailTm() head = Headers() headers = head.generate() account = mailtm.get_account() adress = account.address session = requests.Session() if proxies: csrf = get_csrf(session, headers, proxies) get_email_code_payload = {"0":{"json":{"email":adress,"preferMagicLink":False,"marketingFields":None},"meta":{"values":{"marketingFields":["undefined"]}}}} session.post("https://app.langdock.com/api/trpc/auth.getAuthProvider?batch=1", json=get_email_code_payload, proxies=proxies) message = account.wait_for_message() email_code_pattern = r"[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}" match = re.search(email_code_pattern, message.text) email_code = match.group() session.get(f"https://app.langdock.com/api/auth/code/callback?code={email_code}&email={adress}&csrf={csrf}", proxies=proxies) workspace_name = str(uuid.uuid4()) workspace_jobTitle = str(uuid.uuid4()) workspace_phoneNumber = get_random_phone() create_workspace_payload = {"0":{"json":{"name":workspace_name,"companySize":"1-100","companyCountry":"RU","jobTitle":workspace_jobTitle,"phoneNumber":workspace_phoneNumber,"marketingFields":None},"meta":{"values":{"marketingFields":["undefined"]}}}} session.post("https://app.langdock.com/api/trpc/workspace.createOwnWorkspace?batch=1", json=create_workspace_payload, proxies=proxies) get_api_key_payload = {"0":{"json":{"name":"","expiry":"never"}}} get_api_key = session.post("https://app.langdock.com/api/trpc/apiKeys.createApiKey?batch=1", json=get_api_key_payload, proxies=proxies) api_key_json = json.loads(get_api_key.text) api_key = api_key_json[0]["result"]["data"]["json"]["key"] return api_key else: csrf = get_csrf(session, headers) get_email_code_payload = {"0":{"json":{"email":adress,"preferMagicLink":False,"marketingFields":None},"meta":{"values":{"marketingFields":["undefined"]}}}} session.post("https://app.langdock.com/api/trpc/auth.getAuthProvider?batch=1", json=get_email_code_payload) message = account.wait_for_message() email_code_pattern = r"[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}" match = re.search(email_code_pattern, message.text) email_code = match.group() session.get(f"https://app.langdock.com/api/auth/code/callback?code={email_code}&email={adress}&csrf={csrf}") workspace_name = str(uuid.uuid4()) workspace_jobTitle = str(uuid.uuid4()) workspace_phoneNumber = get_random_phone() create_workspace_payload = {"0":{"json":{"name":workspace_name,"companySize":"1-100","companyCountry":"RU","jobTitle":workspace_jobTitle,"phoneNumber":workspace_phoneNumber,"marketingFields":None},"meta":{"values":{"marketingFields":["undefined"]}}}} session.post("https://app.langdock.com/api/trpc/workspace.createOwnWorkspace?batch=1", json=create_workspace_payload) get_api_key_payload = {"0":{"json":{"name":"","expiry":"never"}}} get_api_key = session.post("https://app.langdock.com/api/trpc/apiKeys.createApiKey?batch=1", json=get_api_key_payload) api_key_json = json.loads(get_api_key.text) api_key = api_key_json[0]["result"]["data"]["json"]["key"] return api_key except Exception as e: print(e) time.sleep(10) return generate_api_key() proxy = "<you'r proxy here>" proxies = { 'http': f"socks5://{proxy}", 'https': f"socks5://{proxy}", } print(generate_api_key(proxies)) Для работы скрипта должны быть установлены библиотеки: pip install requests fake-headers pymailtm beautifulsoup4 lxml Код pip install requests fake-headers pymailtm beautifulsoup4 lxml Также, т.к. langdock не открывается в России, нужны ******, пример работы с ними указан в коде Надеюсь, что вам все понравилось, успехов