Додайте хмарні моделі каталогу до Jan, не залишаючи local-first.
Updated 2026-07-29
Jan за задумом запускає моделі на вашій машині, а його налаштування Model Providers приймають будь-який OpenAI-сумісний ендпоінт для днів, коли локального недостатньо: додайте провайдера, встановіть Base URL на https://api.apisrouter.com/v1, вставте один ключ — і id Claude, GPT, Gemini і DeepSeek приєднуються до вашої локальної лінійки.
Коротка відповідь: один провайдер у Settings.
Відкрийте Settings у Jan і перейдіть у Model Providers. Натисніть елемент керування «плюс» поруч зі списком провайдерів, щоб додати кастомного провайдера, дайте йому назву (APIsRouter), і на нещодавніх збірках оберіть формат OpenAI API, коли діалог запитає (Jan v0.8.1 додав селектор формату OpenAI-чи-Anthropic; для шлюзу обирайте OpenAI). Потім заповніть два поля, що мають значення: Base URL https://api.apisrouter.com/v1 і ваш API-ключ. Додайте моделі, які хочете, за id: документація Jan прямо каже, що властивість id має збігатися з назвою моделі, яку обслуговує ендпоінт, тож копіюйте id зі списку каталогу (claude-sonnet-4-6, gpt-5.4-mini, gemini-3.5-flash), а не вписуйте з пам'яті. Збережіть — і id з'являться в селекторі моделей поряд з усім, що ви запускаєте локально. Мітки змінювалися між релізами (старіші версії називали цю область Remote Engines), тож ставтеся до провайдер, формат, URL, ключ, моделі як до стабільного скелета.
Name: APIsRouter
API Format: OpenAI (v0.8.1+ selector)
Base URL: https://api.apisrouter.com/v1
API Key: sk-YOUR-APISROUTER-KEY
Models: add ids that match the endpoint, e.g.
claude-sonnet-4-6, gpt-5.4-mini, gemini-3.5-flashЯк Jan ставиться до віддалених провайдерів.
Jan (menloresearch на GitHub, приблизно 44 тис. зірок) — це десктопний клієнт local-first: моделі завантажуються на вашу машину, працюють через llama.cpp і функціонують офлайн, а застосунок навіть надає власний OpenAI-сумісний сервер за адресою http://127.0.0.1:1337/v1 для інших інструментів. Віддалені провайдери — це свідома друга смуга, для моделей, які надто великі для локального запуску, або задач, що заслуговують на якість фронтиру. Кастомний провайдер у форматі OpenAI — це просто опис ендпоінта: base URL, ключ, оголошені id моделей. Розмови проти цих id виходять як стандартні запити chat-completions з id як рядком моделі, тож мультивендорному шлюзу потрібен рівно один запис. Claude для ретельного письма, DeepSeek для об'ємного підсумовування, Gemini для швидкості — один ключ за всіма. Філософська відповідність краща, ніж здається на перший погляд. Користувачі local-first схильні бути свідомими щодо того, що залишає машину, а шлюз тримає віддалену смугу так само свідомою: один ендпоінт для файрвола, один лог використання для читання, один баланс, що рухається лише тоді, коли ви вирішили щось надіслати назовні. Нічого в локальній смузі не змінюється; ваші завантажені моделі продовжують працювати офлайн точно так само, як і раніше.
Оголошення моделей: контракт id.
Jan не отримує каталог кастомного ендпоінта автоматично за вас; моделі, які ви оголошуєте, — це моделі, які ви отримуєте, і id — це контракт. Авторитетне написання походить зі списку /v1/models шлюзу, включно з суфіксами версій. Оголошений id, що розійшовся зі списком, дає помилки not-found лише тоді, коли ця модель обрана, що виглядає як нестабільний провайдер, доки ви не порівняєте рядки. Оголошуйте свідомо. Селектор local-first працює найкраще, коли віддалених рядків небагато і вони цілеспрямовані: один швидкий id для повсякденних віддалених ходів (gpt-5.4-mini чи claude-haiku-4-5-20251001), один id фронтиру для роботи, що виправдовує залишення машини (claude-sonnet-4-6), і будь-який спеціаліст, якого заслуговує ваше навантаження (deepseek-v4-flash для довгих багатомовних підсумків, gemini-3.5-flash, коли затримка — це фіча). Кожен рядок легко додати пізніше; вставлений цілий каталог — це шум, який ви щодня прокручуєте. Якщо ви також використовуєте локальний API-сервер Jan для обслуговування інших інструментів, тримайте модель мислення чіткою: цей сервер — це Jan у ролі провайдера на 127.0.0.1:1337/v1; запис кастомного провайдера — це Jan у ролі клієнта. Ці два незалежні, і налаштування одного ніколи не впливає на інше.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50
# declare these ids verbatim in the provider's model listВибір того, які розмови залишають машину.
Оскільки віддалене використання передоплачене й вимірюється по ключу, вартість віддаленої смуги — це число, яке ви читаєте, а не підписка, яку ви вгадуєте. Прогоніть місяць вашого реального поділу — і лог використання скаже точно, скільки коштує залишення машини, по моделі, по дню.
- Повсякденні віддалені ходи, швидкі питання, переписування, переклади належать до швидкого рівня: gpt-5.4-mini і claude-haiku-4-5-20251001 відповідають швидко і тримають баланс майже нерухомим.
- claude-sonnet-4-6 — крок наверх для роботи, яку локальна модель явно не витягує: довге ретельне складання чернеток, тонкий рев'ю коду, аналіз, який ви переправите далі.
- gemini-3.5-flash заробляє свій рядок на затримці; для коротких інтерактивних ходів вона відчувається найближчою до чуйності локальної моделі.
- deepseek-v4-flash — об'ємний вибір для підсумовування довгих документів, які ви б не згодували малій локальній моделі.
- Тримайте приватні матеріали повністю на локальних моделях; поділ між смугами — це і є сенс запуску Jan від самого початку.
Оплата за фактом · нижче офіційних цін
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Модель | Офіційна ціна | Наша ціна |
|---|---|---|
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| GPT-5.4 mini | $0.75 / $4.50 per M | $0.60 / $3.60 per M |
| Gemini 3.5 Flash | $1.50 / $9.00 per M | $1.20 / $7.20 per M |
| DeepSeek V4 Flash | $0.14 / $0.28 per M | $0.10 / $0.30 per M |
Збої, специфічні саме для Jan.
Помилки not-found на конкретній моделі — це контракт id: оголошений id не збігається з написанням ендпоінта. Порівняйте з виводом /v1/models символ у символ. Збої автентифікації на кожному запиті — це поле ключа. Провайдер, який зберігається, але ніколи не відповідає, зазвичай має проблему з Base URL: суфікс /v1 має бути присутнім, оскільки Jan додає шляхи маршруту на кшталт /chat/completions до бази, яку ви вказали, а подвоєний чи відсутній сегмент дає 404. Якщо провайдера було створено на старішій збірці, перевірте формат API: v0.8.1 запровадив селектор OpenAI-чи-Anthropic, і запис шлюзу, випадково встановлений на формат Anthropic, говорить неправильним діалектом до ендпоінта /v1/chat/completions. І пам'ятайте, яку смугу ви дебажите. Збої локальної моделі (VRAM, квантизація, налаштування llama.cpp) і віддалені збої (URL, ключ, id) ділять вікно чату, але більше нічого; селектор моделі показує, якій смузі належить розмова, що падає, перш ніж ви почнете тягнути не за ту нитку.
Хто додає смугу шлюзу до Jan.
- Користувачі local-first, яким час від часу потрібна якість фронтиру і які хочуть, щоб ця епізодична смуга була на передоплаченому балансі, а не на підписці постачальника.
- Розробники на машинах, що не можуть добре запускати великі локальні моделі, використовуючи Jan як інтерфейс, а шлюз — для важкої роботи.
- Свідомі щодо приватності користувачі, які хочуть мати рівно один віддалений ендпоінт для міркування, файрвола й аудиту, замість одного на вендора.
- Люди, що порівнюють локальний і хмарний вивід на реальних задачах, де віддалені кандидати — це оголошені рядки, а не нові облікові записи.
- Розробники без доступу до білінгу певного постачальника. Доступ на основі поповнення без вимоги картки прибирає залежність від реєстрації в кожного провайдера.
Перевірте ендпоінт і налагодьте перший віддалений хід.
Спочатку зробіть curl до списку моделей і одного chat completion; коли обидва пройшли, усе, що залишилось, — у записі провайдера. Це також дає вам точні написання id для оголошення. Усередині Jan надішліть одне коротке повідомлення на швидкому віддаленому id. Помилки автентифікації — це ключ; not-found — це id; тиша чи 404 — це форма Base URL. Якщо віддалена смуга працює, але здається повільною на id фронтиру, це затримка моделі, а не проблема конфігурації; моделі міркування не поспішають на довгих ходах. Щойно віддалені ходи потечуть, консоль APIsRouter показує модель на запит, кількість токенів і витрати. Для користувача local-first цей лог напрочуд приємно читати: це повний запис усього, що коли-небудь залишало машину, по моделі, по дню, а локальна смуга вносить у нього рівно нуль.
curl -s https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer $APISROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-5.4-mini",
"messages":[{"role":"user","content":"ping"}]}'Поширені запитання
Як додати кастомного OpenAI-сумісного провайдера до Jan?
Settings, Model Providers, потім елемент керування «плюс», щоб додати провайдера. Назвіть його, оберіть формат API OpenAI на збірках, що питають про це (v0.8.1+), встановіть Base URL https://api.apisrouter.com/v1, вставте ваш ключ і оголосіть id моделей, що збігаються зі списком ендпоінта.
Чому моя оголошена модель повертає not-found?
Jan надсилає оголошений id дослівно як рядок моделі, і його документація вимагає, щоб id точно збігався з назвою моделі ендпоінта. Отримайте список /v1/models і скопіюйте написання, включно з суфіксами версій, замість того щоб вписувати id з пам'яті.
Чи змінює додавання віддаленого провайдера роботу локальних моделей?
Ні. Локальні моделі продовжують працювати на пристрої через llama.cpp, включно з офлайн. Запис провайдера додає окрему віддалену смугу до селектора, і розмови торкаються мережі лише тоді, коли ви обираєте віддалений id.
Чи має Base URL включати /v1?
Так: https://api.apisrouter.com/v1. Jan додає маршрути на кшталт /chat/completions до бази, яку ви налаштовуєте, тож відсутній /v1 дає 404, і подвоєний теж. Якщо запити падають, читайте складений URL у помилці, перш ніж щось інше змінювати.
Чи може Jan дістатися Claude і Gemini через один запис провайдера?
Так. У форматі OpenAI id моделі подорожує як звичайний рядок, тож claude-sonnet-4-6, gemini-3.5-flash, gpt-5.4-mini і deepseek-v4-flash можуть бути оголошені під одним записом, оплачуватися через один ключ і перемикатися по розмові.
Чи це те саме, що локальний API-сервер Jan?
Ні. Локальний сервер на 127.0.0.1:1337/v1 — це Jan, що обслуговує свої локальні моделі для інших інструментів. Запис кастомного провайдера — це Jan, що споживає віддалений ендпоінт. Це незалежні фічі, які просто мають спільний дротовий формат OpenAI.