APIMaster.ai

DeepSeek API 튜토리얼: V4 Flash / Pro (Python 및 JavaScript)

APIMaster를 통해 curl, Python 및 JavaScript로 DeepSeek V4 Flash와 Pro를 호출하세요. API 키를 구성하고, 응답을 스트리밍하고, 일반적인 오류를 해결하세요.

OpenAI SDK로 DeepSeek를 호출할 수 있나요? 네. APIMaster를 통해 API 기본 URL을 https://apimaster.ai/v1로 설정하고, APIMaster API 키를 사용하고, deepseek-v4-flash 또는 deepseek-v4-pro를 선택하세요. 이 가이드는 해당 게이트웨이 구성을 다룹니다. 다른 제공업체에서 발급한 키는 상호 교환할 수 없습니다.

마지막 테스트: 2026-09-07. 두 모델 모두 Chat Completions 테스트에서 HTTP 200과 예상 텍스트를 반환했습니다. Codex CLI 0.153.4 및 Claude Code 2.1.239도 동일한 게이트웨이를 통해 텍스트 및 파일 읽기 도구 테스트를 완료했습니다. 이는 단기 기능 확인이며, 장기 컨텍스트 또는 안정성 벤치마크가 아닙니다. 아래의 Python, JavaScript 및 스트리밍 예제는 해당 API 사용법을 보여줍니다. 별도의 벤치마크 결과가 아닙니다.

1. 키 받기 및 모델 선택

계정을 만들고 API 키 받기. 키가 선택한 모델에 액세스할 수 있고 충분한 할당량이 있는지 확인하세요. 모델 마켓플레이스에서 현재 가격을 확인하세요. 요금은 경로와 시간에 따라 다를 수 있습니다.

설정
SDK 기본 URL https://apimaster.ai/v1
HTTP 엔드포인트 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.contentDEEPSEEK_TEST_OK와 같음. 테스트를 반복하려면 modeldeepseek-v4-pro로 변경하세요. 응답에는 버전이 지정된 모델 이름이 포함될 수 있습니다. 요청에는 위의 공개 모델 ID를 계속 사용하세요.

3. Python에서 DeepSeek 호출

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. JavaScript에서 DeepSeek 호출

서버 측 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을 중복하거나 SDK 기본 URL에 엔드포인트를 추가하지 마세요.
429 또는 할당량 부족 오류 본문을 읽어 속도 제한과 할당량 소진을 구분하세요. 속도 제한의 경우 백오프로 재시도하고, 할당량 오류의 경우 잔액을 확인하세요.
빈 응답 또는 잘린 응답 finish_reason을 검사하고, 토큰 예산을 늘리고, content와 추론 필드를 구분하세요.
시간 초과 또는 5xx 타임스탬프와 요청 ID를 기록하고, 백오프로 재시도하고, 지속되면 지원팀에 문의하세요. 버그 보고서에 전체 키를 보내지 마세요.

자주 묻는 질문

API 키가 DeepSeek 공식 키와 동일한가요?

아니요. 이 튜토리얼은 APIMaster가 발급한 키와 APIMaster의 엔드포인트를 사용합니다. 키와 발급 제공업체의 엔드포인트를 쌍으로 유지하세요.

통합을 다시 작성하지 않고 Flash와 Pro 사이를 전환할 수 있나요?

네, 키가 두 모델 모두에 액세스할 수 있다면 model 필드를 deepseek-v4-flashdeepseek-v4-pro 사이에서 변경하세요. 각 모델의 출력과 현재 가격을 워크로드에 맞게 확인하세요.

성공적인 요청이 기본 모델의 정체성을 증명하나요?

아니요. HTTP 성공과 반환된 모델 이름은 요청이 완료되었음을 나타내지만, 모델 정체성을 독립적으로 검증하지는 않습니다.

Codex 및 Claude Code에서 이러한 모델을 사용할 수 있나요?

테스트된 구성은 두 CLI 모두에서 텍스트 및 파일 읽기 도구 요청을 완료했습니다. 프로토콜은 다릅니다. Codex는 /v1/responses를 사용하고, Claude Code는 /v1/messages를 사용합니다. CLI 구성에 Chat Completions 엔드포인트를 대체하지 말고 전용 가이드를 따르세요.

DeepSeek 계속하기