APIMaster.ai

Руководство по API DeepSeek: V4 Flash / Pro с Python и JavaScript

Вызывайте DeepSeek V4 Flash и Pro через APIMaster с помощью curl, Python и JavaScript. Настройте свой API-ключ, стримите ответы и устраняйте распространенные ошибки.

Можно ли вызывать DeepSeek с помощью OpenAI SDK? Да. Через APIMaster установите базовый URL API на https://apimaster.ai/v1, используйте свой API-ключ APIMaster и выберите deepseek-v4-flash или deepseek-v4-pro. Это руководство описывает эту конфигурацию шлюза; ключ, выданный другим провайдером, не является взаимозаменяемым.

Последнее тестирование: 2026-09-07. Обе модели вернули HTTP 200 и ожидаемый текст в нашем тесте Chat Completions. Codex CLI 0.153.4 и Claude Code 2.1.239 также успешно завершили тесты инструментов для текста и чтения файлов через тот же шлюз. Это краткие функциональные проверки, а не бенчмарк на длинный контекст или надежность. Примеры на Python, JavaScript и стриминг ниже демонстрируют соответствующее использование API; они не являются отдельными результатами бенчмарков.

1. Получите ключ и выберите модель

Создайте аккаунт и получите API-ключ. Убедитесь, что ключ имеет доступ к выбранной модели и достаточную квоту. Проверьте текущие цены в маркетплейсе моделей; тарифы могут варьироваться в зависимости от маршрута и времени.

Настройка Значение
Базовый URL SDK https://apimaster.ai/v1
HTTP endpoint POST https://apimaster.ai/v1/chat/completions
Авторизация Authorization: Bearer YOUR_APIMASTER_API_KEY
Модель Flash deepseek-v4-flash
Модель Pro deepseek-v4-pro

Обе модели используют одинаковую структуру запроса. Начните с любой модели, затем сравните результаты на своей рабочей нагрузке. Замените YOUR_APIMASTER_API_KEY ниже на свой ключ локально; не сохраняйте его в системе контроля версий и не помещайте в код браузера.

macOS / Linux:

export APIMASTER_API_KEY='YOUR_APIMASTER_API_KEY'

Windows PowerShell:

$env:APIMASTER_API_KEY = 'YOUR_APIMASTER_API_KEY'

Эти переменные применяются к текущему терминалу. Запускайте следующие примеры из этого терминала.

2. Сделайте первый запрос с помощью curl

Следующая команда использует синтаксис оболочки macOS / Linux. Пользователи Windows могут использовать кросс-платформенный пример на Python ниже.

curl --fail-with-body 'https://apimaster.ai/v1/chat/completions' \
  -H "Authorization: Bearer $APIMASTER_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [{"role": "user", "content": "Reply with exactly: DEEPSEEK_TEST_OK"}],
    "max_tokens": 256,
    "stream": false
  }'

Ожидается: HTTP 200 и choices[0].message.content равный DEEPSEEK_TEST_OK. Измените только model на deepseek-v4-pro, чтобы повторить тест. Ответ может содержать версионированное имя модели; продолжайте использовать указанные выше публичные идентификаторы моделей в запросах.

3. Вызов DeepSeek из Python

Установите SDK:

python -m pip install openai

Сохраните как deepseek_example.py, затем запустите python deepseek_example.py:

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["APIMASTER_API_KEY"],
    base_url="https://apimaster.ai/v1",
)
response = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Reply with exactly: DEEPSEEK_TEST_OK"}],
    max_tokens=256,
)
print(response.choices[0].message.content)

Для задачи программирования замените подсказку на свои требования. Увеличьте бюджет вывода для более длинных ответов; короткий тестовый бюджет не подходит для генерации полного приложения.

4. Вызов DeepSeek из JavaScript

Используйте серверную среду Node.js:

npm install openai

Сохраните как deepseek_example.mjs, затем запустите node deepseek_example.mjs:

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.APIMASTER_API_KEY,
  baseURL: "https://apimaster.ai/v1",
});
const response = await client.chat.completions.create({
  model: "deepseek-v4-pro",
  messages: [{ role: "user", content: "Reply with exactly: DEEPSEEK_TEST_OK" }],
  max_tokens: 256,
});
console.log(response.choices[0].message.content);

5. Стриминг финального ответа

Используя Python client выше:

stream = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Explain a Python dictionary in three sentences."}],
    max_tokens=1024,
    stream=True,
)
for chunk in stream:
    if not chunk.choices:
        continue
    text = chunk.choices[0].delta.content
    if text:
        print(text, end="", flush=True)
print()

Это выводит текст финального ответа из content. Некоторые ответы также содержат reasoning_content; он отделен от финального ответа. Не предполагайте, что каждый стриминговый чанк содержит текст или запись choices.

Устранение неполадок

Симптом Что проверить
401 Используйте ключ APIMaster, проверьте пробелы и заголовок Bearer, а также убедитесь, что переменная окружения установлена в этом терминале.
403 или ошибка доступа к модели Проверьте разрешения модели для ключа и ограничения учетной записи.
404 Используйте /v1/chat/completions; не дублируйте /v1 и не добавляйте endpoint к базовому URL SDK.
429 или недостаточная квота Прочитайте тело ошибки, чтобы отличить ограничение скорости от исчерпания квоты. Повторите с задержкой для ограничений скорости; проверьте баланс для ошибок квоты.
Пустой или обрезанный ответ Проверьте finish_reason, увеличьте бюджет токенов и различайте content и поля рассуждений.
Тайм-аут или 5xx Запишите временную метку и ID запроса, повторите с задержкой и обратитесь в поддержку, если проблема сохраняется. Никогда не отправляйте полный ключ в отчете об ошибке.

Часто задаваемые вопросы

Тот же ли это API-ключ, что и официальный ключ DeepSeek?

Нет. В этом руководстве используется ключ, выпущенный APIMaster, с endpoint APIMaster. Держите ключ и endpoint его провайдера в паре.

Могу ли я переключаться между Flash и Pro без переписывания интеграции?

Да, измените поле model между deepseek-v4-flash и deepseek-v4-pro, если ваш ключ имеет доступ к обеим. Проверьте вывод каждой модели и текущие цены для вашей рабочей нагрузки.

Доказывает ли успешный запрос идентичность базовой модели?

Нет. HTTP-успех и возвращенное имя модели подтверждают, что запрос завершен; они не подтверждают независимо идентичность модели.

Могу ли я использовать эти модели в Codex и Claude Code?

Наши протестированные конфигурации успешно выполнили запросы инструментов для текста и чтения файлов в обоих CLI. Протоколы различаются: Codex использует /v1/responses, а Claude Code использует /v1/messages. Следуйте специальным руководствам, а не подставляйте endpoint Chat Completions в конфигурацию CLI.

Продолжение с DeepSeek