DeepSeek-V4.1-Flash API 사용법

DeepSeek-V4.1-Flash API 호출: 모델 ID deepseek-flash, 기본 URL, curl/Python/Node를 이용한 첫 호출, 추론 노력, 이미지 입력, 스트리밍, 가격.

INEZA Felin-Michel

INEZA Felin-Michel

10 September 2026

DeepSeek-V4.1-Flash API 사용법

Apidog 엔터프라이즈

온프레미스 배포

SSO & RBAC

SOC 2 준수

Apidog Enterprise 살펴보기

DeepSeek-V4.1-Flash가 오늘, 2026년 9월 10일, API에서 정식 출시되었습니다. 릴리스 노트는 짧지만, DeepSeek API를 호출하는 모든 사람에게 세 가지 사항을 변경합니다: 이제부터 `deepseek-flash`라는 단일 모델 ID를 사용하게 됩니다; 토큰당 요금이 다시 인하되었습니다; 그리고 4일 후인 9월 14일에는 `deepseek-v4-pro`로의 모든 요청이 이 모델로 리라우팅되고 Flash 가격으로 청구됩니다.

마지막 지점은 이 가이드가 존재하는 이유입니다. V4-Pro에 프로덕션 코드가 있다면, 마이그레이션 날짜를 선택할 수 없습니다. V4-Flash를 사용하고 있다면, 이미 기존 이름으로 새 모델의 서비스를 받고 있는 것입니다. 어떤 경우든, 오늘 보내는 매개변수를 확인해 볼 가치가 있습니다.

이 게시물은 모델 ID, 기본 URL, 세 가지 언어로 된 첫 호출, 추론 노력, 이미지 입력, 스트리밍 및 가격 책정과 같은 실용적인 측면을 다룹니다. 아키텍처 및 벤치마크 스토리에 대해서는 먼저 DeepSeek-V4.1-Flash란 무엇인가를 읽어보세요.

코드로 무엇이든 연결하기 전에, 요청을 빠르게 보내고 응답을 비교하는 방법을 원할 것입니다. Apidog가 이를 처리합니다: `https://api.deepseek.com`을 가리키고, 키를 변수로 저장하고, 각 작동하는 호출을 다시 실행할 수 있는 테스트로 저장하세요. 워크플로는 거의 끝 부분에 있습니다.

버튼

요약

API 호출자에게 변경된 사항

릴리스 노트와 변경 로그에서 가져온 변경 사항은 다음과 같습니다.

단일 모델 ID. 정식 이름은 이제 버전을 포함하지 않는 `deepseek-flash`입니다. 다음 Flash 릴리스는 동일한 이름으로 출시될 것이므로, 프롬프트와 테스트를 버전 문자열이 아닌 동작에 고정하십시오.

레거시 이름은 여전히 라우팅됩니다. `deepseek-v4-flash` 및 `deepseek-v4-flash-vision-exp`는 현재 허용되지만, 그 뒤에 있는 모델인 V4-Flash 및 V4-Flash-Vision-Exp는 은퇴했습니다. 해당 이름으로의 요청은 V4.1-Flash에 의해 처리됩니다. 아무것도 고장나지 않지만, 생각하는 모델을 실행하고 있는 것은 아닙니다. 가능할 때 이름을 바꾸세요.

베타 이름이 사라졌습니다. 9월 8일부터 이틀간 진행된 베타는 `deepseek-v4.1-flash-expires-on-0910`으로 실행되었습니다. 약속대로 만료되었습니다. `deepseek-flash`로 전환하십시오.

기본 URL 및 형식은 변경되지 않았습니다. OpenAI 호환 호출은 `https://api.deepseek.com`으로 이동하고, Anthropic 호환 호출은 `https://api.deepseek.com/anthropic`으로 이동하며, Flash 라인이 이미 지원했던 응답 API 형식이 그대로 유지됩니다. SDK 구성은 변경되지 않습니다.

V4-Pro의 남은 시간은 4일입니다. 2026년 9월 14일 04:00 UTC (베이징 시간 12:00)부터 모든 `deepseek-v4-pro` 요청은 V4.1-Flash로 라우팅되고 V4.1-Flash 요율로 청구됩니다. DeepSeek은 V4.1-Flash가 여러 당사자의 테스트를 인용하며 "성능, 비용, 속도 및 총 시간 면에서 V4 Pro를 종합적으로 능가했다"는 이유를 밝혔습니다. 이는 공급업체의 주장입니다. V4-Pro 은퇴 마이그레이션 가이드는 변경이 적용되기 전에 자체 프롬프트에서 이를 확인하는 방법을 보여줍니다.

1단계: 키 얻기

DeepSeek 플랫폼에 로그인하고, API 키를 열어 하나 생성하세요. 키는 `sk-`로 시작합니다. 소스에 붙여넣는 대신 내보내십시오:

export DEEPSEEK_API_KEY="sk-your-key-here"

DeepSeek 전용 SDK는 필요하지 않습니다. OpenAI 및 Anthropic 클라이언트 라이브러리는 기본 URL을 변경하면 모두 작동합니다.

2단계: 첫 번째 호출하기

API 자체를 제외한 모든 변수를 제거하므로, 먼저 curl을 사용하세요:

curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${DEEPSEEK_API_KEY}" \
  -d '{
    "model": "deepseek-flash",
    "messages": [
      {"role": "system", "content": "You are a support engineer for a payments API."},
      {"role": "user", "content": "A customer gets HTTP 402 on /v1/charges. List the three most likely causes."}
    ],
    "stream": false
  }'

OpenAI Python SDK를 통한 동일한 호출:

# pip install openai
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["DEEPSEEK_API_KEY"],
    base_url="https://api.deepseek.com",
)

response = client.chat.completions.create(
    model="deepseek-flash",
    messages=[
        {"role": "system", "content": "You are a support engineer for a payments API."},
        {"role": "user", "content": "A customer gets HTTP 402 on /v1/charges. List the three most likely causes."},
    ],
)

print(response.choices[0].message.content)

그리고 Node:

// npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.deepseek.com",
  apiKey: process.env.DEEPSEEK_API_KEY,
});

const completion = await client.chat.completions.create({
  model: "deepseek-flash",
  messages: [
    { role: "user", content: "Write a Postgres migration that adds a nullable refunded_at timestamp to invoices." },
  ],
});

console.log(completion.choices[0].message.content);

V4-Flash API 가이드를 따라 이전 릴리스에 맞춰 설정했다면, 유일한 차이점은 모델 문자열입니다.

3단계: 추론 노력 및 사고 모드

모델 카드는 추론 노력을 1부터 100까지의 척도로 "지속적으로 제어 가능"하다고 설명합니다. 이는 대부분의 API가 노출하는 저/중/고 사전 설정에서 벗어난 것으로, 계층별이 아닌 엔드포인트별로 비용과 지연 시간을 조정할 수 있음을 의미합니다.

1부터 100까지의 값을 전달하는 매개변수 형태는 API 문서에 대해 [확인]해야 합니다. DeepSeek이 이를 확인할 때까지 V4-Flash 패턴을 따르십시오: `reasoning_effort`와 `extra_body`를 통해 전달되는 `thinking` 객체.

response = client.chat.completions.create(
    model="deepseek-flash",
    messages=[{"role": "user", "content": "Our Redis cluster drops 2% of SETs under load. Plan the investigation."}],
    reasoning_effort="high",
    extra_body={"thinking": {"type": "enabled"}},
)

모델 카드에서 권장하는 샘플링 설정: `temperature` 1.0, `top_p` 0.95 또는 1.0, 그리고 긴 추론 추적을 위한 256K 이상의 `max_tokens`. 최대 출력은 384K 토큰입니다.

실용적인 분할: 자동 완성, 분류 및 사용자가 기다리는 모든 것에 대해서는 사고를 끄고; 에이전트 루프, 다중 파일 리팩토링 및 디버깅에 대해서는 높은 노력으로 사고를 켜세요. 그리고 측정하십시오. 출력에서 볼 수 없는 노력이라 할지라도 어쨌든 비용을 지불하는 것입니다.

4단계: 이미지 보내기

V4.1-Flash는 기본적으로 멀티모달이며, DeepSeek-ViT 인코더로 처음부터 훈련된 45T 토큰 멀티모달 코퍼스에서 훈련되었습니다. 요청 형식은 V4-Flash-Vision-Exp에서 이월됩니다: 이미지는 사용자 메시지 `content` 배열의 일부입니다.

response = client.chat.completions.create(
    model="deepseek-flash",
    messages=[{
        "role": "user",
        "content": [
            {"type": "text", "text": "Extract every line item and the total from this receipt as JSON."},
            {"type": "image_url", "image_url": {"url": "https://cdn.example-shop.com/receipts/48213.png"}},
        ],
    }],
)

로컬 파일의 경우, base64 데이터 URL로 인코딩하세요:

import base64

with open("receipt.png", "rb") as f:
    data_url = "data:image/png;base64," + base64.b64encode(f.read()).decode()

# then pass {"url": data_url} in the image_url part

제한 사항: 최대 32MiB의 base64 데이터 URL, 최대 8,192자의 외부 URL 또는 파일 ID. 선택적 `detail` 필드가 허용됩니다. DeepSeek은 위의 문서 읽기 사례인 DocVQA 95.6을 보고합니다. 비전 API 가이드는 다중 이미지 프롬프트, 상세 수준 및 요청당 이미지 비용을 다룹니다.

5단계: 응답 스트리밍

`stream=True`로 설정하면 엔드포인트는 서버 전송 이벤트를 반환합니다. 추론 내용과 답변 내용은 별도의 델타로 도착하며, 이는 UI에서 "사고 중" 상태를 렌더링할 때 중요합니다.

stream = client.chat.completions.create(
    model="deepseek-flash",
    messages=[{"role": "user", "content": "Explain idempotency keys in one paragraph."}],
    stream=True,
)

for chunk in stream:
    delta = chunk.choices[0].delta
    if delta.content:
        print(delta.content, end="", flush=True)

SSE가 생소하다면, 서버 전송 이벤트로 LLM 응답 스트리밍이 와이어 형식과 재연결 에지 케이스를 설명합니다.

가격 한눈에 보기

공식 가격 페이지에 따르면, 2026년 9월 10일 04:00 UTC부터 적용되는 1M 토큰당 USD 가격은 다음과 같습니다:

deepseek-flash 비성수기 deepseek-flash 성수기
입력, 캐시 히트 $0.003 $0.006
입력, 캐시 미스 $0.15 $0.30
출력 $0.60 $1.20

알아야 할 세 가지 사항:

Apidog에서 API 테스트

첫 번째 호출이 작동하면, 계속 작동하는지가 문제입니다. `deepseek-flash`는 버전을 포함하지 않으므로 다음 업그레이드는 조용히 진행될 것입니다. 이를 감지하는 Apidog 워크플로는 다음과 같습니다:

  1. 엔드포인트 추가. `POST https://api.deepseek.com/chat/completions`를 생성하거나, OpenAI 호환 OpenAPI 스펙을 임포트하여 모든 경로를 한 번에 가져오세요.
  2. 키를 환경 변수로 저장. `DEEPSEEK_API_KEY`를 Apidog 환경에 넣고 헤더를 `Bearer {{DEEPSEEK_API_KEY}}`로 설정하세요. 개인 키와 프로덕션 키 간 전환은 드롭다운으로 이루어집니다.
  3. 노력 수준별로 하나의 요청 저장. 기본 요청을 변형으로 복제하세요: 사고 끄기, 낮은 노력으로 사고 켜기, 높은 노력으로 사고 켜기. 동일한 프롬프트, 다른 매개변수. 세 가지 모두 전송하고 토큰 사용량과 지연 시간을 나란히 비교하세요.
  4. 스트림 관찰. `stream: true`의 경우, Apidog는 SSE 이벤트가 도착하는 대로 렌더링하므로, 추론 델타와 콘텐츠 델타는 `data:` 접두사의 벽 대신 별도의 줄로 나타납니다.
  5. 변형을 테스트 시나리오로 전환. 상태 코드, 두 번째 실행 시 `usage`의 캐시 히트 수가 0보다 큰지 여부, 그리고 앱이 파싱하는 필드가 응답에 포함되어 있는지 여부에 대한 단언을 추가하세요. 모든 모델 업데이트 후, 그리고 V4-Pro 리라우팅이 활성화되는 9월 14일에 시나리오를 다시 실행하세요.
  6. CI에서 실행. `apidog-cli`는 파이프라인에서 동일한 시나리오를 실행하므로, 조용한 모델 변경은 고객 대신 빌드를 실패하게 만듭니다.

Apidog 다운로드를 통해 전체 설정은 약 10분 정도 소요됩니다.

자주 묻는 질문

리라우팅 전에

API 표면은 거의 움직이지 않았습니다: 동일한 기본 URL, 동일한 요청 형식, 하나의 새 모델 ID. 변경된 것은 가격과 9월 14일부터 모든 V4-Pro 호출의 라우팅입니다. `deepseek-v4-flash`를 `deepseek-flash`로 이름을 바꾸고, 엔드포인트별로 노력 수준을 선택하고, DeepSeek이 대신하기 전에 새 모델로 프롬프트를 실행하십시오.

이 작업을 하는 동안 해당 프롬프트를 테스트로 저장하십시오. Apidog는 한 번의 클릭으로 이를 다시 실행하며, 다음 조용한 Flash 업그레이드는 지원 티켓 대신 실패한 단언으로 나타날 것입니다.

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요