DeepSeek-V4.1-Flash 是 DeepSeek 全新架构系列中的轻量旗舰模型,以 552B 总参数 MoE 实现越级智能,在多项基准上超越包括 DeepSeek-V4-Pro 在内的主流旗舰模型,原生支持多模态视觉理解能力。
- DeepSeek-V4.1-Flash 模型:查看模型支持能力、上下文及速率限制、支持 API 等模型信息。
- 模型价格:查看高峰时段、空闲时段价格信息。
支持场景总览#
模型能力增强#
| 场景 | DeepSeek 官网 | 方舟 |
|---|---|---|
| 图片理解 | 单个图像不超过 32MB |
单个图像不超过 50MB,支持 detail 模式(low/high/auto/xhigh)。详细见 图片理解。 |
| 视频理解 | 不支持 | 支持 单视频文件不超过 50MB,支持 Files Id 方式。抽帧策略与 doubao-seed-2.0 及后续模型一致,详细见 视频理解。 |
| 隐式缓存 | 支持 | 支持 缓存最少 Token 数为 256 |
| 显式缓存 | 不支持 | 支持 |
| 前缀续写 | 支持 在 beta 接口中支持。 |
支持
详细见 前缀续写。 |
关键 API 参数#
| 场景 | DeepSeek 官网 | 方舟 |
|---|---|---|
| 最大输出长度:max_tokens | 控制模型回答和模型思维链内容长度,超出长度后会报错。 | 控制模型回答和模型思维链内容长度,超出长度后不报错。 |
Chat API 非思考模式默认 8K,思考模式默认 64K(reasoning_effort 为 max 时为 128K)。 |
Chat API 默认值 128K。Responses API 对应 max_output_tokens,默认 128K。详细见 最大输出长度。 说明
|
|
| 调节思考长度:reasoning_effort / reasoning.effort / output_config.effort | Chat API / Responses API / Messages API 三个 API 均支持,默认取值 high。 |
Chat API / Responses API / Messages API 三个 API 均支持,默认取值 high。 |
|
详细见 调节思考长度。 |
|
| 核采样阈值:top_p |
|
|
| 对数概率:logprobs / top_logprobs | 支持 | 支持 为了保证与 OpenAI 协议的一致性,方舟开启 logprobs 后,接口会在 choices[].logprobs.content 中返回模型完整生成序列的逐 token 对数概率,包括思维链内容和最终回答。 |
| 停止词:stop | 最多支持 16 个字符串。 |
|
| role 是否支持 developer | 不支持 | 支持 |
| tool_choice | 思考模式下不支持 tool_choice 为 required,接口会报错。 |
思考模式下支持 tool_choice 为 required。 |
| Responses API 整体兼容性 | 弱校验,对不支持字段全部不校验,不报错。 | 强校验,不支持的字段仍然校验,会报错。 说明如果 User Agent 里包含 codex 字样,也会进入弱校验,但不支持 store。 |
模型使用说明#
前缀续写#
续写模式配置及使用方式,参见 续写模式。
DeepSeek-V4.1-Flash 模型前缀续写行为支持情况如下:
| API | Chat API | Responses API |
|---|---|---|
| 触发前缀续写条件 |
|
|
图片理解#
图片理解支持的图片传入方式和使用,参见 图片理解。
DeepSeek-V4.1-Flash 模型在图片理解支持的 detail 模式及缩放规则如下:
表格中图片像素区间指的是:传入的图片根据 detail 模式处理后的像素区间。
| detail 模式 | 图片像素区间 | Chat API | Responses API | Messages API |
|---|---|---|---|---|
| low | 262144 | 图片会被保持长宽比自动缩放,缩放后的总像素相当于 512 × 512 的图片 | 图片会被保持长宽比自动缩放,缩放后的总像素相当于 512 × 512 的图片 |
|
| high | [295936, 1690000] |
|
|
|
| auto | ||||
| xhigh | 1690000 | 图片会被保持长宽比自动缩放,缩放后的总像素相当于 1300 × 1300 的图片 | 图片会被保持长宽比自动缩放,缩放后的总像素相当于 1300 × 1300 的图片 |
DeepSeek-V4.1-Flash 模型在图片理解的使用限制如下:
| 使用限制 | 要求 |
|---|---|
| 单图大小 | 50 MB |
| 总请求体大小 | 64 MB |
| 单请求中图片张数 | 3600 张 |
| 单个请求中通过 URL 方式传入图片文件的总大小 | 200 MB |
视频理解#
视频理解支持的视频传入方式及使用,参见 视频理解。
DeepSeek-V4.1-Flash 模型在视频理解场景下,抽帧策略与 doubao-seed-2.0 及后续模型保持一致,具体如下:
| 抽帧策略 | DeepSeek-V4.1-Flash模型 |
|---|---|
| 单帧 tokens | 支持 tokens 在 [64, 384] 区间内连续动态调整,默认值为 384。
|
| 单帧对应的最大像素 | 单帧最大 tokens * 42 * 42 [110K, 670K] |
| 抽帧数 |
|
| 视频最大 tokens | 默认值为 81920(80 × 1024)。 |
| 抽帧方案 | 说明
|
视频理解工作原理:
视频处理的核心方式为 “帧与时间戳的结构化拼接”,具体规则如下:
- 对视频抽帧得到的每帧图像,在其前插入时间戳文本。
DeepSeek-V4.1-Flash 模型处理后的时间戳格式为[<时间戳> second]。例如:[4.0 second]、[4.5 second]。 - 拼接后形成“时间戳+图像”的有序序列,模型通过该序列理解视频的时序逻辑和内容变化。
回传思考内容#
回传思考内容的教程,参见 Agent 场景模型调用的正确姿势。
DeepSeek-V4.1-Flash 模型支持回传思考内容原文(明文)。在 Agent 场景下,需要将思考内容原文拼回下一轮请求。
调节思考长度:reasoning_effort/reasoning.effort/output_config.effort#
Chat API 和 Responses API 中调节思考长度的配置及使用,参见 调节思考长度。
DeepSeek-V4.1-Flash 模型在方舟 API 的支持情况如下:
| API | Chat API | Messages API | Responses API |
|---|---|---|---|
| 调节思考长度参数 | reasoning_effort | output_config.effort | reasoning.effort |
| 默认取值 | high |
high |
high |
| 兼容映射规则 | 支持档位:none、low、high、max
|
支持档位:low、high、max注意 thinking.type 为 adaptive,output_config.effort 才有效。
|
支持档位:none、low、high、max
|
最大输出长度:max_tokens/max_completion_tokens/max_output_tokens#
最大输出长度的通用配置方式,参见 设置最大输出长度。
DeepSeek-V4.1-Flash 模型最大输出长度参数支持情况如下:
| API | Chat API | Responses API |
|---|---|---|
| 参数 | max_tokens/max_completion_tokens | max_output_tokens |
| 规则 | 控制模型回答和模型思维链内容长度,超出长度后不报错。 注意如果思维链内容超出 max_tokens,则会截断思考。 |
控制模型回答和模型思维链内容长度,超出长度后不报错。 |
| 默认值 | 128K | 128K |
代码示例#
Chat API 的示例代码如下:
curl https://ark.cn-beijing.volces.com/api/v3/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ARK_API_KEY" \
-d '{
"model": "deepseek-v4-1-flash-260910",
"messages": [
{
"role": "user",
"content": [
{"type": "image_url","image_url": {"url": "https://arkdocs.tos-cn-beijing.volces.com/images/advanced-usage/ark_demo_img_1-zh.png"}},
{"type": "text", "text": "Which model series supports image input?"}
]
}
]
}'
import os
# Install SDK: pip install arkruntime
from arkruntime import Ark
client = Ark(
# The base URL for model invocation
base_url="https://ark.cn-beijing.volces.com/api/v3",
# Get API Key: https://ark.volcengine.com/region:cn-beijing/apikey
api_key=os.getenv('ARK_API_KEY'),
)
completion = client.chat.completions.create(
# Replace with Model ID
model = "deepseek-v4-1-flash-260910",
messages=[
{
"role": "user",
"content": [
{"type": "image_url","image_url": {"url": "https://arkdocs.tos-cn-beijing.volces.com/images/advanced-usage/ark_demo_img_1-zh.png"}},
{"type": "text", "text": "Which model series supports image input?"},
],
}
],
)
print(completion.choices[0])
package main
import (
"context"
"fmt"
"os"
"github.com/volcengine/ark-runtime-go/arkruntime"
"github.com/volcengine/ark-runtime-go/arkruntime/model/chat"
)
func main() {
client := arkruntime.NewClientWithApiKey(
//Use os.Getenv to get ARK_API_KEY
os.Getenv("ARK_API_KEY"),
// The base URL for model invocation
arkruntime.WithBaseUrl("https://ark.cn-beijing.volces.com/api/v3"),
)
// Create a context background
ctx := context.Background()
// Construct the content of the message
contentParts := []chat.ChatCompletionContentPart{
chat.ChatCompletionContentPart{OneOf: chat.NewChatCompletionContentPartImageChatCompletionContentPartSum(chat.ChatCompletionContentPartImage{Type: chat.ChatCompletionContentPartImageTypeImageURL, ImageURL: chat.ChatCompletionContentPartImageImageUrl{URL: chat.NewOptString("https://arkdocs.tos-cn-beijing.volces.com/images/advanced-usage/ark_demo_img_1-zh.png")}})},
chat.ChatCompletionContentPart{OneOf: chat.NewChatCompletionContentPartTextChatCompletionContentPartSum(chat.ChatCompletionContentPartText{Type: chat.ChatCompletionContentPartTextTypeText, Text: "Which model series supports image input?"})},
}
// Construct chat, specify model and message
req := &chat.ChatCompletionRequest{
// Replace with Model ID
Model: "deepseek-v4-1-flash-260910",
Messages: []chat.ChatCompletionRequestMessage{
chat.ChatCompletionRequestMessage{OneOf: chat.NewChatCompletionRequestUserMessageChatCompletionRequestMessageSum(chat.ChatCompletionRequestUserMessage{Role: chat.ChatCompletionRequestUserMessageRoleUser, Content: chat.NewChatCompletionContentPartArrayChatCompletionMessageContent(contentParts)})},
},
}
// Send chat, store result in resp and any possible error in err
resp, err := client.CreateChatCompletion(ctx, req)
if err!= nil {
fmt.Printf("standard chat error: %v\n", err)
return
}
// Print response
fmt.Println(resp.Choices[0].Message.Content)
}
package com.ark.sample;
import com.volcengine.ark.runtime.models.chat.*;
import com.volcengine.ark.runtime.models.chat.ChatCompletionContentPart.*;
import com.volcengine.ark.runtime.service.ArkService;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import okhttp3.ConnectionPool;
import okhttp3.Dispatcher;
public class MultiImageSample {
static String apiKey = System.getenv("ARK_API_KEY");
static ConnectionPool connectionPool = new ConnectionPool(5, 1, TimeUnit.SECONDS);
static Dispatcher dispatcher = new Dispatcher();
static ArkService service = ArkService.builder()
.dispatcher(dispatcher)
.connectionPool(connectionPool)
.baseUrl("https://ark.cn-beijing.volces.com/api/v3")
// The base URL for model invocation .
.apiKey(apiKey)
.build();
public static void main(String[] args) throws Exception {
List<ChatCompletionRequestMessage> messagesForReqList = new ArrayList<>();
// Construct the content of the message
List<ChatCompletionContentPart> contentParts = new ArrayList<>();
// Use builder mode for the image
contentParts.add(ChatCompletionContentPartImage.builder()
.type(ChatCompletionContentPartType.IMAGE_URL)
.imageUrl(ChatCompletionContentPartImageImageUrl.builder().url("https://arkdocs.tos-cn-beijing.volces.com/images/advanced-usage/ark_demo_img_1-zh.png").build())
.build());
// Use builder mode for text
contentParts.add(ChatCompletionContentPartText.builder()
.type(ChatCompletionContentPartType.TEXT)
.text("Which model series supports image input?")
.build());
// Create message
messagesForReqList.add(ChatCompletionRequestUserMessage.builder()
.role(ChatCompletionRequestMessageType.USER)
.content(ChatCompletionMessageContent.ofList(contentParts))
.build());
ChatCompletionRequest req = ChatCompletionRequest.builder()
.model("deepseek-v4-1-flash-260910") //Replace with Model ID .
.messages(messagesForReqList)
.build();
service.createChatCompletion(req)
.getChoices()
.forEach(choice -> System.out.println(choice.getMessage().getContent()));
// shutdown service after all requests are finished
service.shutdownExecutor();
}
}