Доступ к DeepSeek API через роутер, совместимый с OpenAI, — это практичный шаблон настройки для indie-хакеров, которым нужны модели DeepSeek, но не хочется превращать выбор каждого провайдера в новую интеграцию через SDK.
У вас есть два понятных пути. Прямой путь DeepSeek использует ключ API DeepSeek, базовый URL DeepSeek, совместимый с OpenAI, и имя модели DeepSeek. Путь через роутер использует базовый URL Flatkey, совместимый с OpenAI, ключ API Flatkey и ID модели DeepSeek, доступный вашему аккаунту. Оба варианта могут работать. Правильный выбор зависит от того, является ли DeepSeek вашей единственной модельной семейством или одним из маршрутов в многомодельном продукте.
Это руководство показывает, как настроить доступ к DeepSeek API через роутер, совместимый с OpenAI, как сохранить отладку прямого пути к провайдеру и что проверить до переноса производственного трафика.
Краткий ответ: доступ к DeepSeek API через роутер, совместимый с OpenAI
Для приложения в стиле OpenAI доступ к DeepSeek API имеет два практических маршрута.
| Решение | Прямой API DeepSeek | DeepSeek через Flatkey |
|---|---|---|
| Ключ API | Ключ API DeepSeek | Ключ API Flatkey |
| Базовый URL | https://api.deepseek.com |
https://router.flatkey.ai/v1 |
| Опция формата Anthropic | https://api.deepseek.com/anthropic |
Используйте формат API Flatkey, который поддерживает ваш маршрут |
| Текущие имена моделей DeepSeek, которые нужно проверить | deepseek-flash, deepseek-v4-pro |
Доступные аккаунту идентификаторы моделей DeepSeek из /v1/models Flatkey и каталога моделей |
| Лучший вариант | Прототип только на DeepSeek или интеграция, зависящая от конкретного провайдера | Многомодельное приложение, которому нужен один клиент, один ключ, один обзор использования и более простое переключение на запасной вариант |
| Операционная проверка | Панель DeepSeek, документация провайдера, актуальная таблица цен | Список моделей Flatkey, журналы использования, страница цен, страница статуса и манифест отката |
Используйте прямой маршрут, когда DeepSeek — единственная модель, которая вам нужна, и контроль на уровне провайдера важнее всего. Используйте Flatkey, когда DeepSeek используется вместе с GPT, Claude, Gemini, Qwen, медиамоделями или маршрутами для кодирующих агентов через одного и того же клиента, совместимого с OpenAI.
Что DeepSeek подтверждает о совместимости API
В текущей документации API DeepSeek сказано, что API DeepSeek использует формат API, совместимый с OpenAI и Anthropic. Базовый URL в формате OpenAI:
https://api.deepseek.com
DeepSeek также документирует базовый URL в формате Anthropic:
https://api.deepseek.com/anthropic
В тех же документах deepseek-flash и deepseek-v4-pro указаны как варианты моделей. Там также говорится, что старые имена deepseek-v4-flash и deepseek-v4-flash-vision-exp по-прежнему принимаются для совместимости, но такие запросы обслуживаются DeepSeek-V4.1-Flash и тарифицируются по цене Flash. Для нового кода рассматривайте старые имена как риск миграции, а не как имена, которые нужно копировать в новый продукт.
На странице цен DeepSeek сейчас deepseek-flash описан как DeepSeek-V4.1-Flash, а deepseek-v4-pro — как DeepSeek-V4-Pro-0813. Там также указаны длина контекста 1M и максимальный выход 384K, а для обеих моделей отмечены поддержка JSON-вывода, вызовов инструментов, Responses API и Anthropic API. Поддержка Vision указана для Flash и не указана для Pro. Перед публикацией точных цен в собственной документации проверьте актуальную страницу цен DeepSeek, потому что в таблице используются пиковые и внепиковые тарифы на токены.
Что меняет Flatkey
Flatkey не отменяет необходимость выбрать корректный ID модели DeepSeek. Он меняет то, где настраивается маршрут и где вы проверяете результат.
В quickstart Flatkey и документации по API моделей используется такой базовый URL, совместимый с OpenAI:
https://router.flatkey.ai/v1
Эндпоинт Flatkey /v1/models возвращает ID моделей, доступные вашему аккаунту, в формате, совместимом с OpenAI. В документации Flatkey по использованию говорится, что каждый запрос можно просматривать вместе с использованной моделью, количеством входных и выходных токенов, стоимостью, временной меткой, API-ключом и статусом. Это упрощает эксплуатацию DeepSeek API Access Through an OpenAI-Compatible Router, когда DeepSeek — лишь один из нескольких вариантов моделей.
Запись маршрута в версии для роутера должна быть явной:
deepseek_route:
provider_access_layer: flatkey
base_url: https://router.flatkey.ai/v1
api_key_source: FLATKEY_API_KEY
candidate_models:
- deepseek-flash
- deepseek-v4-pro
verify_before_launch:
- account_accessible_v1_models
- live_model_directory
- pricing_page_units
- usage_log_readback
- fallback_or_rollback_policy
Не скрывайте имя модели в виде строки в коде приложения. Поместите его в файл конфигурации или манифест модели, чтобы обновление модели DeepSeek было проверяемым изменением, а не экстренным релизом.
Шаг 1: выберите прямой DeepSeek или роутер
Начинайте с операционного решения, а не с SDK.
| Вопрос | Direct DeepSeek обычно достаточно, когда... | Роутер обычно лучше, когда... |
|---|---|---|
| Вы вызываете только DeepSeek? | Да, продукт использует только DeepSeek. | Нет, DeepSeek — это один из маршрутов наряду с другими провайдерами. |
| Нужны ли вам настройки, специфичные для провайдера? | Да, вашей команде нужны нативные настройки DeepSeek и проверка биллинга. | Нет, вашему приложению нужен общий слой доступа и общие логи. |
| Пользователи или задания будут переключать модели? | Нет, достаточно одной фиксированной модели. | Да, нагрузки могут перемещаться между DeepSeek, Qwen, Gemini, Claude, GPT или другими семействами моделей. |
| Кто проверяет стоимость и сбои? | Один разработчик может проверить аккаунт DeepSeek. | Вам нужен единый журнал использования для ключей, моделей и окружений. |
| Что произойдет, если маршрут откажет? | Вы можете приостановить функцию или повторить попытку позже. | Вам нужны механизмы fallback, rollback или поэтапного разворачивания. |
Для большинства независимых разработчиков первая версия может быть простой. Direct DeepSeek подходит для прототипа с одной моделью. DeepSeek API Access Through an OpenAI-Compatible Router становится более удобным, когда продукт сравнивает модели, запускает кодирующих агентов, обслуживает клиентов с разными требованиями к задержке или стоимости или нуждается в одном месте для отладки использования токенов.
Шаг 2: настройте OpenAI-клиент Flatkey
Если ваш проект уже использует OpenAI SDK, настройка роутера в основном сводится к изменению base URL и ключа.
Python:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["FLATKEY_API_KEY"],
base_url="https://router.flatkey.ai/v1",
)
Node.js:
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.FLATKEY_API_KEY,
baseURL: "https://router.flatkey.ai/v1",
});
Прямая версия DeepSeek использует ту же форму клиента в стиле OpenAI, но указывает на DeepSeek:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DEEPSEEK_API_KEY"],
base_url="https://api.deepseek.com",
)
Храните оба ключа в переменных окружения или в защищенном хранилище секретов. Никогда не коммитьте FLATKEY_API_KEY, DEEPSEEK_API_KEY или staging-override в репозиторий.
Шаг 3: проверьте ID модели перед первым запросом
Доступ к DeepSeek API через роутер, совместимый с OpenAI, должен начинаться с обнаружения модели, а не с копирования строки модели.
Для Flatkey запросите у роутера, к каким ID моделей может получить доступ ваша учетная запись:
curl https://router.flatkey.ai/v1/models \
-H "Authorization: Bearer $FLATKEY_API_KEY"
Затем подтвердите выбранный вариант в живом каталоге моделей Flatkey и на странице цен. Для прямого DeepSeek подтвердите имя модели в документации DeepSeek и на странице цен. На момент этой проверки источника новые коды в документации DeepSeek указывают на deepseek-flash и deepseek-v4-pro, при этом предупреждая, что старые псевдонимы V4 Flash — это имена для совместимости.
Создайте небольшой манифест:
models:
deepseek_default:
id: deepseek-flash
route: flatkey
base_url: https://router.flatkey.ai/v1
use_for:
- coding_assistant
- structured_extraction
- long_context_review
owner: product_engineering
rollback: previous_production_model
Это запись для проверки маршрута DeepSeek. Она дает вам место, чтобы зафиксировать ID модели, владельца маршрута, сценарий использования и цель отката до того, как производственный трафик будет зависеть от маршрута. Храните ее вместе с чек-листом релиза, чтобы доступ к DeepSeek API через роутер, совместимый с OpenAI, оставался аудируемым после запуска.
Шаг 4: выполните первый Chat Completion
Начните с короткого детерминированного запроса. Это проверка маршрута, а не бенчмарк.
response = client.chat.completions.create(
model="deepseek-flash",
messages=[
{"role": "system", "content": "Дайте краткие рекомендации по реализации."},
{"role": "user", "content": "Объясните в одном предложении, почему важна настройка base_url."},
],
temperature=0.2,
max_tokens=120,
)
print(response.choices[0].message.content)
Если запрос не удался, проверьте в таком порядке:
| Проверка | Что она выявляет |
|---|---|
base_url |
Путаницу между прямым подключением и роутером, отсутствие /v1, неверный путь провайдера |
| Переменная API key | Пустую переменную окружения, неверный тип ключа, staging-ключ в production |
| ID модели | Устаревший алиас, отсутствие доступа у аккаунта, опечатку |
| Форма endpoint | Несоответствие Chat Completions, Responses или Anthropic Messages |
| Поддержка функций | Предположения о vision, thinking mode, JSON, инструментах или потоковой передаче |
| Журнал использования | Запрос так и не дошёл до роутера, сбой провайдера, несоответствие токенов/стоимости |
Такой порядок предотвращает распространённую ошибку при отладке: принимать сбои конфигурации за сбои модели.
Шаг 5: протестируйте функции, которые ваше приложение реально использует
Совместимость с OpenAI не означает, что каждый провайдер, модель или путь роутера ведёт себя одинаково. Проверьте функции, важные для вашей рабочей нагрузки.
| Функция | Быстрый тест | Условие прохождения |
|---|---|---|
| Чат без стриминга | Один короткий промпт | Возвращается пригодное сообщение с данными об использовании |
| Стриминг | Тот же промпт с включённым стримингом | Фрагменты приходят по порядку, а интерфейс корректно закрывается |
| Вывод JSON | Небольшая задача на извлечение | Вывод проходит валидацию по вашей схеме или по пути исправления |
| Вызовы инструментов | Одна простая схема функции | Поля вызова инструмента разбираются без нестандартных обходных решений |
| Длинный контекст | Репрезентативный длинный ввод | Задержка, стоимость и качество остаются приемлемыми |
| Vision | Промпт с изображением только при использовании модели с поддержкой vision | Запрос выполняется только на маршруте, который поддерживает vision |
| Обработка ошибок | Недопустимый ID модели в staging | Приложение логирует сбой маршрута, не раскрывая ключи |
После каждого теста Flatkey откройте Usage Logs. В запросе должны отображаться ожидаемая модель, количество токенов, статус, временная метка, API key, задержка и стоимость. Если ничего не появляется, подтвердите base URL и ключ, которые действительно использовал запрос.
Шаг 6: нормализуйте стоимость по принятым результатам
Опубликованные цены DeepSeek за токены могут выглядеть привлекательно, но цена токена — лишь одна часть производственных затрат. Сравнивайте по принятому результату.
Используйте этот рабочий лист:
| Метрика | Почему это важно |
|---|---|
| Входные токены | Промпты с длинным контекстом могут определять основную часть стоимости. |
| Выходные токены | Задачи агентов и кодирования могут давать гораздо более длинные ответы, чем чат-задачи. |
| Поведение кэша | Входные данные с попаданием в кэш и без него могут тарифицироваться по-разному. |
| Частота повторных попыток | Дешёвый маршрут становится дорогим, когда требует многократных повторов. |
| Частота отклонений | Невалидный JSON, слабые вызовы инструментов или низкокачественные ответы должны относиться в минус маршруту. |
| Использование fallback | Трафик на запасной маршрут должен быть видимым, а не считаться округлением. |
| Время ручной доработки | Ручная очистка — часть реальной стоимости продукта. |
Практическая формула:
accepted_output_cost =
(successful_request_cost + retry_cost + fallback_cost + human_repair_cost)
/ accepted_outputs
Используйте страницу актуальных цен DeepSeek для прямых единиц поставщика. Используйте страницу актуальных цен Flatkey и ваши журналы использования для начислений по пути роутера. Не копируйте статическую строку цены в документацию приложения без проверенной даты и ответственного за обновление.
Шаг 7: добавьте политику отката
Доступ к DeepSeek API через роутер, совместимый с OpenAI, должен быть обратимым до того, как пользователи начнут на него полагаться.
deepseek_rollout:
environment: production
default_model: deepseek-flash
route: flatkey
start_percentage: 10
increase_when:
- accepted_output_rate >= 0.95
- p95_latency_ms <= 4500
- error_rate <= 0.02
- usage_log_present: true
- accepted_output_cost_within_budget: true
rollback_when:
- error_rate > 0.05
- schema_failures_above_threshold: true
- usage_log_missing: true
- unexpected_cost_spike: true
rollback_action:
set_model: previous_production_model
notify: engineering_owner
Эта политика не требует платформенной команды. Она требует владельца маршрута, один манифест модели, одну привычку проверки использования и тест в staging перед увеличением трафика.
Where This Fits in Flatkey
Flatkey подходит, когда DeepSeek является частью более широкого рабочего процесса маршрутизации моделей:
- Вы уже используете SDK, совместимые с OpenAI, и хотите один базовый URL для нескольких семейств моделей.
- Вам нужны отдельные ключи или квоты для разработки, staging, production или кодирующих агентов.
- Вы хотите, чтобы DeepSeek, Qwen, Gemini, Claude, GPT и другие модели проходили проверку через один каталог моделей и единый рабочий процесс использования.
- Вам нужен путь отката, когда изменяются ID модели, единица цены, функция или маршрут поставщика.
Начните с быстрого старта API Flatkey, используйте руководство по миграции на альтернативу OpenAI API, если вы заменяете прямые вызовы поставщика, и сопоставьте этот чек-лист с проверками маршрутизации DeepSeek vs Qwen API, когда рабочие нагрузки, чувствительные к стоимости, сравнивают региональных поставщиков.
Для решений для production проверьте актуальные каталог моделей Flatkey, страницу цен и страницу статуса. Для поведения моделей DeepSeek и цен прямого поставщика проверьте документацию API DeepSeek и страницу цен в день релиза.
Final Checklist for DeepSeek API Access Through an OpenAI-Compatible Router
Перед выпуском доступа к DeepSeek API для пользователей подтвердите:
- Идентификатор модели актуален в документации DeepSeek и в доступном аккаунту списке моделей Flatkey.
- Прямые тесты DeepSeek используют
https://api.deepseek.comи ключ API DeepSeek. - Тесты через роутер Flatkey используют
https://router.flatkey.ai/v1и ключ API Flatkey. - Вы не используете
deepseek-v4-flashилиdeepseek-v4-flash-vision-expкак новое имя production-модели. - Чат, потоковая передача, JSON-вывод, вызовы инструментов, длинный контекст и vision тестируются отдельно, когда они нужны вашему приложению.
- Журналы использования показывают ожидаемый идентификатор модели, статус, количество токенов, временную метку, задержку, ключ API и стоимость.
- Стоимость нормализуется по принятому выходу, а не только по заявленной ставке за токен.
- Откат — это изменение конфигурации, а не экстренная переписывание кода.
- Ключи провайдера хранятся в переменных окружения или в защищенном хранилище секретов, но никогда не в коде.
Доступ к DeepSeek API через роутер, совместимый с OpenAI, — это простой шаблон интеграции, когда маршрут явно определен. Используйте прямой DeepSeek, когда вам нужен только DeepSeek. Используйте Flatkey, когда DeepSeek является частью многомодельного продукта, которому нужен один клиент, один базовый URL, один цикл использования и понятный путь отката.
Frequently Asked Questions
Does DeepSeek support the OpenAI API?
В текущей документации DeepSeek сказано, что API DeepSeek использует формат API, совместимый с OpenAI и Anthropic. Базовый URL формата OpenAI — https://api.deepseek.com.
What is the Flatkey base URL for DeepSeek API access?
Используйте https://router.flatkey.ai/v1 для совместимого с OpenAI API Flatkey. Затем выберите актуальный идентификатор модели DeepSeek из ответа /v1/models, доступного вашему аккаунту, и из живого каталога моделей Flatkey.
Can I use the same OpenAI SDK for DeepSeek through Flatkey?
Да. Настройте OpenAI SDK, указав ключ API Flatkey и https://router.flatkey.ai/v1 в качестве базового URL. Запрос сохраняет привычную форму Chat Completions для совместимых моделей.
Which DeepSeek model name should new code use?
Перед выпуском проверьте актуальную документацию DeepSeek. На момент этой проверки DeepSeek перечисляет deepseek-flash и deepseek-v4-pro; он сообщает, что старые имена V4 Flash принимаются для совместимости, но обслуживаются DeepSeek-V4.1-Flash.
Should I publish exact DeepSeek prices in my own app docs?
Только если вы укажете дату проверки и ответственного за обновление. На странице цен DeepSeek используются ставки за токены в пиковые и непиковые часы, а доступность маршрута Flatkey или единицы ценообразования следует проверять на актуальных страницах цен и моделей Flatkey.



