Загрузка...

Free unlimited API Neuronok (O4-Mini, O3-Mini-High)

Thread in Articles created by Vv1rtR Jun 6, 2025. 849 views

  1. Vv1rtR
    Vv1rtR Topic starter Jun 6, 2025 21 May 28, 2023
    [IMG]
    В общем, первый раз пишу пост на форуме, надесюь вам понравится :colobok_shy:

    Написал скриптик на питоне, являющийся авторегом для 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

    Сам скрипт:
    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))
    Для работы скрипта должны быть установлены библиотеки:
    Code
    pip install requests fake-headers pymailtm beautifulsoup4 lxml
    Также, т.к. langdock не открывается в России, нужны ******, пример работы с ними указан в коде

    Надеюсь, что вам все понравилось, успехов :cool_bun:

    [UPD] исправленный код
     
    This article was useful for you?
    You can thank the author of the topic by transferring funds to your balance
    Thank the author
  2. ЧерноеСердце
    ЧерноеСердце Jun 6, 2025 :ok_cool: 18+ сигны кастом lolz.live/threads/7294788 7153 Apr 16, 2021
    бесполезно, так как нужно регать акки, для автоматизации не годится
     
    1. View previous comments (1)
    2. ELMURAT2006
    3. Vv1rtR Topic starter
      ELMURAT2006, причем без симуляции браузера, чисто на запросиках все
    4. Vv1rtR Topic starter
      ЧерноеСердце, и можно просто в коде при ответе 429, или что там openai выдает при $0, менять ключ
Loading...
Top