# Doubao-Seed-2.0-Code Doubao-Seed-2.0-Code 面向企业级编程需求优化,在 Seed 2.0 优秀的 Agent、VLM 能力基础上,特别增强了代码能力,不仅前端能力表现出众,也对企业常见的多语言编码需求做了特别优化,适合接入各种 AI 编程工具使用。 - **基于强大基座模型**:基于 Seed 2.0 的基座模型,Doubao-Seed-2.0-Code 有优秀的 Agentic 能力,支持 Skills 调用和自定义工具使用;VLM 能力优秀,支持基于图片的 Browser Use 等工具使用 - **面向编程任务优化**:特别优化了使用各种编程语言和编程工具的能力,在多轮长程任务下表现出色; - **复杂指令遵循**:能理解长而复杂的编程指令,稳定交付符合预期的产物 - **支持隐式缓存**:无需额外配置,自动开启缓存命中,适合Agentic等复杂上下文场景。请求内容的公共前缀会被自动缓存,但不保证缓存命中。通常需要累计至少 1024 个 tokens 才会触发缓存命中。对命中缓存的部分,按输入缓存命中刊例价计费 数分钟内完成你的首次 API 调用。 [快速入门(新手版)](https://www.volcengine.com/docs/82379/2272060) [方舟文档 MCP](https://www.volcengine.com/docs/82379/2289964) [Coding Plan](https://www.volcengine.com/docs/82379/1928261) ## 1 获取并配置 API Key 1. 获取 API Key:访问[API Key 管理](https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey) ,创建你的 API Key。 2. 配置环境变量:在终端中运行下面命令(替换`your_api_key_here` 为你的方舟API Key),配置 API Key 到环境变量。 配置持久化环境变量方法参见 [环境变量配置指南](https://www.volcengine.com/docs/82379/1820161)。 **MacOS** ```Bash export ARK_API_KEY="your_api_key_here" ``` **Linux** ```Bash export ARK_API_KEY="your_api_key_here" ``` **Windows_CMD** ```Bash setx ARK_API_KEY "your_api_key_here" ``` **Windows_PowerShell** ```PowerShell $env:ARK_API_KEY = "your_api_key_here" ``` ## 2 开通模型服务 访问 [开通管理页面](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement) 开通模型服务。 ## 3 安装 SDK 安装官方或三方 SDK。 **Python** > 运行环境中需安装 [Python](https://www.python.org/downloads/) 版本 3.7 或以上。 - 安装方舟 SDK: ```Bash pip install 'volcengine-python-sdk[ark]' ``` - 安装 OpenAI SDK: ```Bash pip install openai ``` **Go** > 环境中安装 [Go](https://golang.google.cn/doc/install) 版本 1.18 或以上。 在代码中通过下方方法引入 Go SDK ```Go import ( "github.com/volcengine/volcengine-go-sdk" ) ``` **Java** > 环境中安装 [Java](https://www.java.com/en/download/help/index_installing.html) 版本 1.8 或以上。 在项目的`pom.xml`文件中添加以下依赖配置。 ```XML com.volcengine volcengine-java-sdk-v2-ark-runtime LATEST ``` ## 4 发起 API 请求 以下按输入输出类别列举的典型任务,选择任意示例代码体验如何通过 API 调用及体验大模型及方舟平台能力。 ### 文本生成 传入文本类信息给模型,进行问答、分析、改写、摘要、编程、翻译等任务,并返回文本结果。 | 输入 | 输出预览 | |---|---| | Hello | *思考:Got it, let's see. The user said "hello". I need to respond in a friendly and welcoming way. Since the system prompt mentions a professional but friendly tone, I should keep it natural. Maybe something like "Hello! How can I assist you today?" That's simple, polite, and open-ended to encourage the user to share what they need help with.

* 回答:Hello! How can I assist you today? Whether you have a question, need help with something specific, or just want to chat, feel free to let me know. 😊 | **Python** ```Python import os from volcenginesdkarkruntime import Ark client = Ark( base_url='https://ark.cn-beijing.volces.com/api/v3', api_key=os.getenv('ARK_API_KEY'), ) response = client.responses.create( model="doubao-seed-2-0-lite-260215", input="hello", # Replace with your prompt # thinking={"type": "disabled"}, # Manually disable deep thinking ) print(response) ``` **Curl** ```Bash curl https://ark.cn-beijing.volces.com/api/v3/responses \ -H "Authorization: Bearer $ARK_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "doubao-seed-2-0-lite-260215", "input": "hello" }' ``` - 关闭深度思考:配置 `"thinking":{"type": "disabled"}`。 **Go** ```Go package main import ( "context" "fmt" "os" "github.com/volcengine/volcengine-go-sdk/service/arkruntime" "github.com/volcengine/volcengine-go-sdk/service/arkruntime/model/responses" ) func main() { client := arkruntime.NewClientWithApiKey( // Get API Key:https://console.volcengine.com/ark/region:ark+cn-beijing/apikey os.Getenv("ARK_API_KEY"), arkruntime.WithBaseUrl("https://ark.cn-beijing.volces.com/api/v3"), ) ctx := context.Background() resp, err := client.CreateResponses(ctx, &responses.ResponsesRequest{ Model: "doubao-seed-2-0-lite-260215", Input: &responses.ResponsesInput{Union: &responses.ResponsesInput_StringValue{StringValue: "hello"}}, // Replace with your prompt // Thinking: &responses.ResponsesThinking{Type: responses.ThinkingType_disabled.Enum()}, // Manually disable deep thinking }) if err != nil { fmt.Printf("response error: %v\n", err) return } fmt.Println(resp) } ``` **Java** ```Java package com.ark.sample; import com.volcengine.ark.runtime.service.ArkService; import com.volcengine.ark.runtime.model.responses.request.*; import com.volcengine.ark.runtime.model.responses.response.ResponseObject; public class demo { public static void main(String[] args) { String apiKey = System.getenv("ARK_API_KEY"); // The base URL for model invocation ArkService arkService = ArkService.builder().apiKey(apiKey).baseUrl("https://ark.cn-beijing.volces.com/api/v3").build(); CreateResponsesRequest request = CreateResponsesRequest.builder() .model("doubao-seed-2-0-lite-260215") .input(ResponsesInput.builder().stringValue("hello").build()) // Replace with your prompt // .thinking(ResponsesThinking.builder().type(ResponsesConstants.THINKING_TYPE_DISABLED).build()) // Manually disable deep thinking .build(); ResponseObject resp = arkService.createResponse(request); System.out.println(resp); arkService.shutdownExecutor(); } } ``` **OpenAI SDK** ```Python import os from openai import OpenAI client = OpenAI( base_url='https://ark.cn-beijing.volces.com/api/v3', api_key=os.getenv('ARK_API_KEY'), ) response = client.responses.create( model="doubao-seed-2-0-lite-260215", input="hello", # Replace with your prompt extra_body={ # "thinking": {"type": "disabled"}, # Manually disable deep thinking }, ) print(response) ``` - [文本生成](https://www.volcengine.com/docs/82379/1399009):文本生成使用指南。 - [深度思考](https://www.volcengine.com/docs/82379/1956279):深度思考能力使用指南。 - [迁移至 Responses API](https://www.volcengine.com/docs/82379/1585128):新用户推荐,更简洁的上下文管理能力、强大的工具调用能力。 - [Chat API](https://www.volcengine.com/docs/82379/1494384):存量业务迭代推荐,广泛使用的 API。 ### 多模态理解 传入图片、视频、PDF文件给模型,进行分析、内容审核、问答、视觉定位等基于多模态理解相关任务,并返回文本结果。 | 输入 | 输出预览 | |---|---| | ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/a31c2edfbe844461a43f5e8f74fbcce4~tplv-goo7wpa0wc-image.image)

> 支持输入图片的模型系列是哪个? | *思考:用户现在需要找支持输入图片的模型系列,看表格里的输入列中的图像列,哪个模型对应的图像输入是√。看表格,Doubao-1.5-vision那一行的输入图像列是√,其他两个Doubao-1.5-pro和lite的输入图像都是×,所以答案是Doubao-1.5-vision。

* 回答:支持输入图片的模型系列是Doubao-1.5-vision | **Python** ```Python import os from volcenginesdkarkruntime import Ark client = Ark( base_url='https://ark.cn-beijing.volces.com/api/v3', api_key=os.getenv('ARK_API_KEY'), ) response = client.responses.create( model="doubao-seed-2-0-lite-260215", input=[ { "role": "user", "content": [ { "type": "input_image", "image_url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/ark_demo_img_1.png" }, { "type": "input_text", "text": "支持输入图片的模型系列是哪个?" }, ], } ] ) print(response) ``` **Curl** ```Bash curl https://ark.cn-beijing.volces.com/api/v3/responses \ -H "Authorization: Bearer $ARK_API_KEY" \ -H 'Content-Type: application/json' \ -d '{ "model": "doubao-seed-2-0-lite-260215", "input": [ { "role": "user", "content": [ { "type": "input_image", "image_url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/ark_demo_img_1.png" }, { "type": "input_text", "text": "支持输入图片的模型系列是哪个?" } ] } ] }' ``` **Go** ```Go package main import ( "context" "fmt" "os" "github.com/samber/lo" "github.com/volcengine/volcengine-go-sdk/service/arkruntime" "github.com/volcengine/volcengine-go-sdk/service/arkruntime/model/responses" ) func main() { client := arkruntime.NewClientWithApiKey( // Get API Key:https://console.volcengine.com/ark/region:ark+cn-beijing/apikey os.Getenv("ARK_API_KEY"), arkruntime.WithBaseUrl("https://ark.cn-beijing.volces.com/api/v3"), ) ctx := context.Background() inputMessage := &responses.ItemInputMessage{ Role: responses.MessageRole_user, Content: []*responses.ContentItem{ { Union: &responses.ContentItem_Image{ Image: &responses.ContentItemImage{ Type: responses.ContentItemType_input_image, ImageUrl: lo.ToPtr("https://ark-project.tos-cn-beijing.volces.com/doc_image/ark_demo_img_1.png"), }, }, }, { Union: &responses.ContentItem_Text{ Text: &responses.ContentItemText{ Type: responses.ContentItemType_input_text, Text: "支持输入图片的模型系列是哪个?", }, }, }, }, } resp, err := client.CreateResponses(ctx, &responses.ResponsesRequest{ Model: "doubao-seed-2-0-lite-260215", Input: &responses.ResponsesInput{ Union: &responses.ResponsesInput_ListValue{ ListValue: &responses.InputItemList{ListValue: []*responses.InputItem{{ Union: &responses.InputItem_InputMessage{ InputMessage: inputMessage, }, }}}, }, }, }) if err != nil { fmt.Printf("response error: %v\n", err) return } fmt.Println(resp) } ``` **Java** ```Java package com.ark.sample; import com.volcengine.ark.runtime.service.ArkService; import com.volcengine.ark.runtime.model.responses.request.*; import com.volcengine.ark.runtime.model.responses.content.*; import com.volcengine.ark.runtime.model.responses.item.*; import com.volcengine.ark.runtime.model.responses.response.ResponseObject; import com.volcengine.ark.runtime.model.responses.constant.ResponsesConstants; public class demo { public static void main(String[] args) { String apiKey = System.getenv("ARK_API_KEY"); ArkService arkService = ArkService.builder().apiKey(apiKey).baseUrl("https://ark.cn-beijing.volces.com/api/v3") .build(); CreateResponsesRequest request = CreateResponsesRequest.builder() .model("doubao-seed-2-0-lite-260215") .input(ResponsesInput.builder().addListItem( ItemEasyMessage.builder().role(ResponsesConstants.MESSAGE_ROLE_USER).content( MessageContent.builder() .addListItem(InputContentItemImage.builder() .imageUrl("https://ark-project.tos-cn-beijing.volces.com/doc_image/ark_demo_img_1.png").build()) .addListItem(InputContentItemText.builder().text("支持输入图片的模型系列是哪个?").build()) .build()) .build()) .build()) .build(); ResponseObject resp = arkService.createResponse(request); System.out.println(resp); arkService.shutdownExecutor(); } } ``` **OpenAI SDK** ```Python import os from openai import OpenAI client = OpenAI( base_url='https://ark.cn-beijing.volces.com/api/v3', api_key=os.getenv('ARK_API_KEY'), ) response = client.responses.create( model="doubao-seed-2-0-lite-260215", input=[ { "role": "user", "content": [ { "type": "input_image", "image_url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/ark_demo_img_1.png" }, { "type": "input_text", "text": "支持输入图片的模型系列是哪个?" }, ], } ] ) print(response) ``` - [多模态理解](https://www.volcengine.com/docs/82379/1958521):多模态理解详细使用指南。 - [视觉定位 Grounding](https://www.volcengine.com/docs/82379/1616136):图片中找到对应目标并返回坐标任务。 - [GUI 任务处理](https://www.volcengine.com/docs/82379/1584296):在计算机/移动设备中完成自动化任务。 - [文件输入(File API)](https://www.volcengine.com/docs/82379/1885708):传入图片、视频、文档接口。 ### 图片生成 传入图片、文字给模型,进行以下场景&任务: - 广告、海报、组图等图片生成; - 增改元素、颜色更换等图片编辑; - 油墨、水墨等风格切换。 | 提示词 | 输出预览 | |---|---| | 充满活力的特写编辑肖像,模特眼神犀利,头戴雕塑感帽子,色彩拼接丰富,眼部焦点锐利,景深较浅,具有Vogue杂志封面的美学风格,采用中画幅拍摄,工作室灯光效果强烈。 | ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/00fb66006eb84b16965b620b6e1f2d78~tplv-goo7wpa0wc-image.image) | **Python** ```Python import os # Install SDK: pip install 'volcengine-python-sdk[ark]' from volcenginesdkarkruntime import Ark client = Ark( # The base URL for model invocation base_url="https://ark.cn-beijing.volces.com/api/v3", # Get API Key:https://console.volcengine.com/ark/region:ark+cn-beijing/apikey api_key=os.getenv('ARK_API_KEY'), ) imagesResponse = client.images.generate( # Replace with Model ID model="doubao-seedream-5-0-260128", prompt="充满活力的特写编辑肖像,模特眼神犀利,头戴雕塑感帽子,色彩拼接丰富,眼部焦点锐利,景深较浅,具有Vogue杂志封面的美学风格,采用中画幅拍摄,工作室灯光效果强烈。", size="2K", response_format="url", watermark=False ) print(imagesResponse.data[0].url) ``` **Curl** ```Bash curl https://ark.cn-beijing.volces.com/api/v3/images/generations \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $ARK_API_KEY" \ -d '{ "model": "doubao-seedream-5-0-260128", "prompt": "充满活力的特写编辑肖像,模特眼神犀利,头戴雕塑感帽子,色彩拼接丰富,眼部焦点锐利,景深较浅,具有Vogue杂志封面的美学风格,采用中画幅拍摄,工作室灯光效果强烈。", "size": "2K", "watermark": false }' ``` - 您可按需替换 Model ID。Model ID 查询见 [模型列表](https://www.volcengine.com/docs/82379/1330310)。 **Java** ```Java package com.ark.sample; import com.volcengine.ark.runtime.model.images.generation.*; import com.volcengine.ark.runtime.service.ArkService; import okhttp3.ConnectionPool; import okhttp3.Dispatcher; import java.util.concurrent.TimeUnit; public class ImageGenerationsExample { public static void main(String[] args) { // Get API Key:https://console.volcengine.com/ark/region:ark+cn-beijing/apikey String apiKey = System.getenv("ARK_API_KEY"); ConnectionPool connectionPool = new ConnectionPool(5, 1, TimeUnit.SECONDS); Dispatcher dispatcher = new Dispatcher(); ArkService service = ArkService.builder() .baseUrl("https://ark.cn-beijing.volces.com/api/v3") // The base URL for model invocation .dispatcher(dispatcher) .connectionPool(connectionPool) .apiKey(apiKey) .build(); GenerateImagesRequest generateRequest = GenerateImagesRequest.builder() .model("doubao-seedream-5-0-260128") // Replace with Model ID .prompt("充满活力的特写编辑肖像,模特眼神犀利,头戴雕塑感帽子,色彩拼接丰富,眼部焦点锐利,景深较浅,具有Vogue杂志封面的美学风格,采用中画幅拍摄,工作室灯光效果强烈。") .size("2K") .sequentialImageGeneration("disabled") .responseFormat(ResponseFormat.Url) .stream(false) .watermark(false) .build(); ImagesResponse imagesResponse = service.generateImages(generateRequest); System.out.println(imagesResponse.getData().get(0).getUrl()); service.shutdownExecutor(); } } ``` **Go** ```Go package main import ( "context" "fmt" "os" "strings" "github.com/volcengine/volcengine-go-sdk/service/arkruntime" "github.com/volcengine/volcengine-go-sdk/service/arkruntime/model" "github.com/volcengine/volcengine-go-sdk/volcengine" ) func main() { client := arkruntime.NewClientWithApiKey( os.Getenv("ARK_API_KEY"), // Get API Key:https://console.volcengine.com/ark/region:ark+cn-beijing/apikey arkruntime.WithBaseUrl("https://ark.cn-beijing.volces.com/api/v3"), // The base URL for model invocation ) ctx := context.Background() generateReq := model.GenerateImagesRequest{ Model: "doubao-seedream-5-0-260128", // Replace with Model ID Prompt: "充满活力的特写编辑肖像,模特眼神犀利,头戴雕塑感帽子,色彩拼接丰富,眼部焦点锐利,景深较浅,具有Vogue杂志封面的美学风格,采用中画幅拍摄,工作室灯光效果强烈。", Size: volcengine.String("2K"), ResponseFormat: volcengine.String(model.GenerateImagesResponseFormatURL), Watermark: volcengine.Bool(false), } imagesResponse, err := client.GenerateImages(ctx, generateReq) if err != nil { fmt.Printf("generate images error: %v\n", err) return } fmt.Printf("%s\n", *imagesResponse.Data[0].Url) } ``` **OpenAI** ```Python import os from openai import OpenAI client = OpenAI( base_url="https://ark.cn-beijing.volces.com/api/v3", # The base URL for model invocation api_key=os.getenv('ARK_API_KEY'), # Get API Key:https://console.volcengine.com/ark/region:ark+cn-beijing/apikey ) imagesResponse = client.images.generate( # Replace with Model ID model="doubao-seedream-5-0-260128", prompt="充满活力的特写编辑肖像,模特眼神犀利,头戴雕塑感帽子,色彩拼接丰富,眼部焦点锐利,景深较浅,具有Vogue杂志封面的美学风格,采用中画幅拍摄,工作室灯光效果强烈。", size="2K", response_format="url", extra_body={ "watermark": False, }, ) print(imagesResponse.data[0].url) ``` - [Doubao Seedream 4.0-5.0 教程](https://www.volcengine.com/docs/82379/1824121):主流生图模型能力以及如何通过 API 调用。 - [Seedream 4.0-5.0 提示词指南](https://www.volcengine.com/docs/82379/1829186):使用生图模型时,如何编写提示词。 ### 视频生成 通过文本描述、图像素材、视频素材,快速生成高质量、风格多样的视频内容。 | 提示词 | 输出画面预览 | |---|---| | 一位身穿绿色亮片礼服的女性站在粉红色背景前,周围飘落着五彩斑斓的彩纸 | ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/aae3d0c636954bdd9e66e7a23e98c480~tplv-goo7wpa0wc-image.image) | **Python** ```Python import os import time # Install SDK: pip install 'volcengine-python-sdk[ark]' from volcenginesdkarkruntime import Ark client = Ark( base_url="https://ark.cn-beijing.volces.com/api/v3", # The base URL for model invocation api_key=os.environ.get("ARK_API_KEY"), # Get API Key:https://console.volcengine.com/ark/region:ark+cn-beijing/apikey ) if __name__ == "__main__": print("----- create request -----") create_result = client.content_generation.tasks.create( model="doubao-seedance-2-0-260128", # Replace with Model ID content=[ { # Combination of text prompt and parameters "type": "text", "text": "一位身穿绿色亮片礼服的女性站在粉红色背景前,周围飘落着五彩斑斓的彩纸 --wm true --dur 5" } ] ) print(create_result) # Polling query section print("----- polling task status -----") task_id = create_result.id while True: get_result = client.content_generation.tasks.get(task_id=task_id) status = get_result.status if status == "succeeded": print("----- task succeeded -----") print(get_result) break elif status == "failed": print("----- task failed -----") print(f"Error: {get_result.error}") break else: print(f"Current status: {status}, Retrying after 3 seconds...") time.sleep(3) ``` **Java** ```Java package com.ark.sample; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; import com.volcengine.ark.runtime.model.content.generation.*; import com.volcengine.ark.runtime.model.content.generation.CreateContentGenerationTaskRequest.Content; import com.volcengine.ark.runtime.service.ArkService; public class ContentGenerationTaskExample { public static void main(String[] args) { String apiKey = System.getenv("ARK_API_KEY"); ArkService service = ArkService.builder() .baseUrl("https://ark.cn-beijing.volces.com/api/v3") // The base URL for model invocation .apiKey(apiKey) .build(); System.out.println("----- create request -----"); List contents = new ArrayList<>(); contents.add(Content.builder() .type("text") .text("一位身穿绿色亮片礼服的女性站在粉红色背景前,周围飘落着五彩斑斓的彩纸 --wm true --dur 5") .build()); // Create a video generation task CreateContentGenerationTaskRequest createRequest = CreateContentGenerationTaskRequest.builder() .model("doubao-seedance-2-0-260128") // Replace with Model ID .content(contents) .build(); CreateContentGenerationTaskResult createResult = service.createContentGenerationTask(createRequest); System.out.println(createResult); // Get the details of the task String taskId = createResult.getId(); GetContentGenerationTaskRequest getRequest = GetContentGenerationTaskRequest.builder() .taskId(taskId) .build(); System.out.println("----- polling task status -----"); while (true) { try { GetContentGenerationTaskResponse getResponse = service.getContentGenerationTask(getRequest); String status = getResponse.getStatus(); if ("succeeded".equalsIgnoreCase(status)) { System.out.println("----- task succeeded -----"); System.out.println(getResponse); service.shutdownExecutor(); break; } else if ("failed".equalsIgnoreCase(status)) { System.out.println("----- task failed -----"); System.out.println("Error: " + getResponse.getStatus()); service.shutdownExecutor(); break; } else { System.out.printf("Current status: %s, Retrying in 3 seconds...\n", status); TimeUnit.SECONDS.sleep(3); } } catch (InterruptedException ie) { Thread.currentThread().interrupt(); System.err.println("Polling interrupted"); service.shutdownExecutor(); break; } } } } ``` **Go** ```Go package main import ( "context" "fmt" "os" "time" "github.com/volcengine/volcengine-go-sdk/service/arkruntime" "github.com/volcengine/volcengine-go-sdk/service/arkruntime/model" "github.com/volcengine/volcengine-go-sdk/volcengine" ) func main() { client := arkruntime.NewClientWithApiKey( os.Getenv("ARK_API_KEY"), // Get API Key:https://console.volcengine.com/ark/region:ark+cn-beijing/apikey arkruntime.WithBaseUrl("https://ark.cn-beijing.volces.com/api/v3"), // The base URL for model invocation ) ctx := context.Background() // Replace with Model ID modelEp := "doubao-seedance-2-0-260128" fmt.Println("----- create request -----") createReq := model.CreateContentGenerationTaskRequest{ Model: modelEp, Content: []*model.CreateContentGenerationContentItem{ { Type: model.ContentGenerationContentItemTypeText, Text: volcengine.String("一位身穿绿色亮片礼服的女性站在粉红色背景前,周围飘落着五彩斑斓的彩纸 --wm true --dur 5"), }, }, } createResp, err := client.CreateContentGenerationTask(ctx, createReq) if err != nil { fmt.Printf("create content generation error: %v", err) return } taskID := createResp.ID fmt.Printf("Task Created with ID: %s", taskID) // Polling query section fmt.Println("----- polling task status -----") for { getReq := model.GetContentGenerationTaskRequest{ID: taskID} getResp, err := client.GetContentGenerationTask(ctx, getReq) if err != nil { fmt.Printf("get content generation task error: %v", err) return } status := getResp.Status if status == "succeeded" { fmt.Println("----- task succeeded -----") fmt.Printf("Task ID: %s \n", getResp.ID) fmt.Printf("Model: %s \n", getResp.Model) fmt.Printf("Video URL: %s \n", getResp.Content.VideoURL) fmt.Printf("Completion Tokens: %d \n", getResp.Usage.CompletionTokens) fmt.Printf("Created At: %d, Updated At: %d", getResp.CreatedAt, getResp.UpdatedAt) return } else if status == "failed" { fmt.Println("----- task failed -----") if getResp.Error != nil { fmt.Printf("Error Code: %s, Message: %s", getResp.Error.Code, getResp.Error.Message) } return } else { fmt.Printf("Current status: %s, Retrying in 3 seconds... \n", status) time.Sleep(3 * time.Second) } } } ``` - [视频生成教程](https://www.volcengine.com/docs/82379/2298881):学习如何使用模型的视频生成能力,包括文本生成视频、首尾帧生视频、首帧生成视频等。 - [Seedance-1.0-pro&pro-fast 提示词指南](https://www.volcengine.com/docs/82379/1631633):使用生视频模型时,如何编写提示词。 ### 工具使用 通过工具/插件让模型具体读取外部数据及函数的能力,包括 - 内置工具:联网搜索、图片处理、知识库检索等已集成至方舟平台的工具。 - 三方工具:兼容MCP 的三方工具。 - 自定义工具:您自行定义及开发的工具。 | 输入 | 输出预览 | |---|---| | What's the weather like in Beijing? | According to the latest weather data as of March 10, 2026, the current weather in Beijing is sunny with a gentle wind (less than level 3). The temperature around 11:30 AM is approximately 9°C, and it is expected to reach a high of 12°C during the day. The weather will remain clear at night with a low temperature of 1°C.

**Source**: Weather forecasts updated on March 10, 2026, from the Central Meteorological Observatory.

**Note: Data is accurate as of the latest available update at 05:30 AM on March 10.** | **Python** ```Python import os from volcenginesdkarkruntime import Ark client = Ark( base_url="https://ark.cn-beijing.volces.com/api/v3", api_key=os.getenv("ARK_API_KEY"), ) response = client.responses.create( model="doubao-seed-2-0-lite-260215", input=[{"role": "user", "content": "What's the weather like in Beijing?"}], tools=[ { "type": "web_search", "max_keyword": 2, } ], ) print(response) ``` **Curl** ```Bash curl https://ark.cn-beijing.volces.com/api/v3/responses \ -H "Authorization: Bearer $ARK_API_KEY" \ -H 'Content-Type: application/json' \ -d '{ "model": "doubao-seed-2-0-lite-260215", "stream": true, "tools": [ { "type": "web_search", "max_keyword": 3 } ], "input": [ { "role": "user", "content": [ { "type": "input_text", "text": "What is the weather like in Beijing?" } ] } ] }' ``` **Java** ```Java package com.ark.sample; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.JsonNode; import com.volcengine.ark.runtime.model.responses.item.*; import com.volcengine.ark.runtime.model.responses.request.*; import com.volcengine.ark.runtime.model.responses.response.ResponseObject; import com.volcengine.ark.runtime.model.responses.constant.ResponsesConstants; import com.volcengine.ark.runtime.model.responses.content.InputContentItemText; import com.volcengine.ark.runtime.model.responses.tool.*; import com.volcengine.ark.runtime.service.ArkService; import java.util.Arrays; import java.util.List; public class demo { public static ObjectMapper om = new ObjectMapper(); public demo() throws JsonProcessingException { } public static List buildTools() { ToolWebSearch t = ToolWebSearch.builder().build(); System.out.println(Arrays.asList(t)); return Arrays.asList(t); } public static void main(String[] args) throws JsonProcessingException { String apiKey = System.getenv("ARK_API_KEY"); ArkService arkService = ArkService.builder().apiKey(apiKey).baseUrl("https://ark.cn-beijing.volces.com/api/v3").build(); CreateResponsesRequest req = CreateResponsesRequest.builder() .model("doubao-seed-2-0-lite-260215") .input(ResponsesInput.builder().addListItem( ItemEasyMessage.builder().role(ResponsesConstants.MESSAGE_ROLE_USER).content( MessageContent.builder() .addListItem(InputContentItemText.builder().text("What's the weather like in Beijing?").build()) .build() ).build() ).build()) .tools(buildTools()) .build(); ResponseObject resp = arkService.createResponse(req); System.out.println(resp); arkService.shutdownExecutor(); } } ``` **Go** ```Go package main import ( "context" "fmt" "os" "github.com/volcengine/volcengine-go-sdk/service/arkruntime" "github.com/volcengine/volcengine-go-sdk/service/arkruntime/model/responses" ) func main() { client := arkruntime.NewClientWithApiKey( os.Getenv("ARK_API_KEY"), arkruntime.WithBaseUrl("https://ark.cn-beijing.volces.com/api/v3"), // The base URL for model invocation ) ctx := context.Background() maxToolCalls := int64(1) // Limit the number of tool calls, adjust it according to your needs. inputMessage := &responses.ItemInputMessage{ Role: responses.MessageRole_user, Content: []*responses.ContentItem{ { Union: &responses.ContentItem_Text{ Text: &responses.ContentItemText{ Type: responses.ContentItemType_input_text, Text: "What's the weather like in Beijing?", }, }, }, }, } req := &responses.ResponsesRequest{ Model: "doubao-seed-2-0-lite-260215", Input: &responses.ResponsesInput{ Union: &responses.ResponsesInput_ListValue{ ListValue: &responses.InputItemList{ListValue: []*responses.InputItem{{ Union: &responses.InputItem_InputMessage{ InputMessage: inputMessage, }, }}}}, }, Tools: []*responses.ResponsesTool{ { Union: &responses.ResponsesTool_ToolWebSearch{ ToolWebSearch: &responses.ToolWebSearch{ Type: responses.ToolType_web_search, }, }, }, }, MaxToolCalls: &maxToolCalls, } resp, err := client.CreateResponses(ctx, req) if err != nil { fmt.Printf("Error: %v\n", err) os.Exit(1) } fmt.Printf("Response: %v\n", resp) } ``` **OpenAI SDK** ```Python import os from openai import OpenAI client = OpenAI( base_url="https://ark.cn-beijing.volces.com/api/v3", api_key=os.getenv("ARK_API_KEY"), ) response = client.responses.create( model="doubao-seed-2-0-lite-260215", input=[{"role": "user", "content": "What's the weather like in Beijing?"}], tools=[ { "type": "web_search", "max_keyword": 2, } ], ) print(response) ``` - [工具调用](https://www.volcengine.com/docs/82379/1958524):学习如何让模型使用内置工具,如网页搜索、知识库检索、豆包助手等能力。 - [Function Calling(函数调用)](https://www.volcengine.com/docs/82379/1262342):学习如何让模型调用自定义的工具。 - [云部署 MCP / Remote MCP](https://www.volcengine.com/docs/82379/1827534):学习如何让模型使用 MCP 服务。 ## 5 下一步 现在你已经完成了首次方舟模型服务的 API 调用,你可以探索模型的更多能力,包括: - [模型列表](https://www.volcengine.com/docs/82379/1330310):快速浏览方舟提供的模型全集以及各个模型所具备的能力,快速根据你的实际场景匹配到合适的模型。 --- # 快速接入codingplan 本文介绍如何在编程工具中快速使用 Coding Plan 套餐所支持的模型进行代码开发。 ## 核心配置 接入工具的核心参数如下: ### 模型配置 支持以下两种方式配置模型: **方式一:配置 Model Name (配置文件指定)** 在工具配置文件中指定 Model Name,可实时切换模型。支持配置的 Model Name: > **注意**:配置 Model Name 时,支持使用全小写格式,同时也支持直接复制[开通管理页面](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&advancedActiveKey=subscribe)中的模型名称。 - `doubao-seed-2.0-code` - `doubao-seed-2.0-pro` - `doubao-seed-2.0-lite` - `doubao-seed-code` - `minimax-m2.7` - `minimax-m3` - `glm-5.1` - `deepseek-v4-flash` - `deepseek-v4-pro` - `kimi-k2.6` > **说明**:Model Name 不支持配置为 `Auto`,如需使用,请通过控制台切换该模式。 **方式二:配置 ark-code-latest (控制台管理)** 1. 在配置文件中指定模型为 `ark-code-latest`。 2. 通过[开通管理页面](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&advancedActiveKey=subscribe)选择或切换目标模型,切换模型后 3-5 分钟即可生效。支持 Auto 模式,通过「效果 + 速度」双维度智能算法自动选择模型。 ### Base URL 不同的工具配置的 Base URL 根据兼容的协议会有不同: - 兼容 Anthropic 接口协议工具:`https://ark.cn-beijing.volces.com/api/coding` - 兼容 OpenAI 接口协议工具:`https://ark.cn-beijing.volces.com/api/coding/v3` > **注意**:请勿使用 `https://ark.cn-beijing.volces.com/api/v3` :该 Base URL 不会消耗您的 Coding Plan 额度,而是会产生额外费用。 ### API Key [获取 API Key](https://console.volcengine.com/ark/region:ark+cn-beijing/apikey) ## 步骤一:订阅方舟 Coding Plan 访问[方舟 Coding Plan 活动](https://www.volcengine.com/activity/codingplan),按需订阅套餐。套餐介绍请参见[套餐概览](https://www.volcengine.com/docs/82379/1925114)。 ## 步骤二:配置编程工具 Coding Plan 支持主流的编程工具,可按需选择。 - [Claude Code](https://www.volcengine.com/docs/82379/1928262):AI 终端编程助手,自然语言编程 - [TRAE](https://www.volcengine.com/docs/82379/2205646):智能 IDE,构建新一代编程工作流 - [Roo Code](https://www.volcengine.com/docs/82379/2188959#e60a76e3):轻量级编程助手 - [Codex CLI](https://www.volcengine.com/docs/82379/2188959#d89506ca):OpenAI 推出的命令行编程工具 - [OpenCode](https://www.volcengine.com/docs/82379/2188958):开源 AI 编程代理工具 - [Cline](https://www.volcengine.com/docs/82379/2188959#2baed520):VSCode 扩展,代码补全和调试 - [Kilo Code](https://www.volcengine.com/docs/82379/2188959#8acf9b21):轻量高性能编程工具 - [OpenClaw](https://www.volcengine.com/docs/82379/2183190):开源、自托管个人 AI 助手 - [Cursor](https://www.volcengine.com/docs/82379/2188959#6974ab2b):AI 原生代码编辑器 - [Hermes Agent](https://www.volcengine.com/docs/82379/2318283):开源自主 AI 智能体 下面以 Claude Code 为例介绍如何使用 Coding Plan。 ### 安装 Claude Code 前提条件: - 安装 [Node.js 18 或更新版本环境](https://nodejs.org/en/download/)。 - Windows 用户需安装 [Git for Windows](https://git-scm.com/download/win)。 在命令行界面,执行以下命令安装 Claude Code。 ```Bash npm install -g @anthropic-ai/claude-code ``` 安装结束后,执行以下命令查看安装结果,若显示版本号则安装成功。 ```Bash claude --version ``` ### 配置工具 #### 方式一:自动化助手(推荐) Ark Helper 是一个编码工具助手,支持快速配置选择的工具接入 Coding Plan。安装并运行该助手,根据界面提示操作可自动完成工具配置,降低手动配置的时间成本和出错风险。 > **注意** > > - Ark Helper 仅支持 MacOS、Linux 系统,暂不支持 Windows 系统。 > - 以下配置步骤及截图为 Ark Helper 首次使用指引;非首次使用请按界面提示完成套餐配置和工具配置。 1. 执行以下命令安装 Ark Helper。 ```Bash curl -fsSL https://lf3-static.bytednsdoc.com/obj/eden-cn/ylwslo-yrh/ljhwZthlaukjlkulzlp/install.sh | sh ``` 安装完成后,执行以下命令查看安装的版本号。 ```Bash ark-helper --version ``` 2. 在命令行界面输入`ark-helper`命令,启动 Ark Helper。 ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/802e66e79f864ceeaba2d05250f1c743~tplv-goo7wpa0wc-image.image) 3. 根据界面提示完成套餐配置。 1. 选择要配置的套餐:`[Volcano] Volcano Engine(国内)`。 ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/6a68961ee782408ca485dff07b2fcfb5~tplv-goo7wpa0wc-image.image) 1. 配置 API Key: [获取 API Key](https://console.volcengine.com/ark/region:ark+cn-beijing/apikey)。 ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/0f327801346548e49580aff3fbfe9c0f~tplv-goo7wpa0wc-image.image) ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/0d49b2af47294daba8a5e2c86f2c706c~tplv-goo7wpa0wc-image.image) 1. 选择默认模型。 ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/a9a13add5808465bb8c27d6518623916~tplv-goo7wpa0wc-image.image) 4. 根据界面提示完成 Claude Code 工具配置。 1. 选择要配置的编码工具:`Claude Code`。 ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/265d432ab0a549c38eacb7be53891a8a~tplv-goo7wpa0wc-image.image) 1. 选择`设置 Volcano 配置到 Claude Code`,配置完成后,选择`退出`。如果需要重新配置工具,可先选择`卸载 Claude Code 配置`,再重新执行配置流程。 ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/b00e2ee6cb444876b2ff705dac04a7e0~tplv-goo7wpa0wc-image.image) #### 方式二:手动配置 完成Claude Code安装后,配置以下信息。 - **ANTHROPIC_BASE_URL**:`https://ark.cn-beijing.volces.com/api/coding` - **ANTHROPIC_AUTH_TOKEN**:[获取 API Key](https://console.volcengine.com/ark/region:ark+cn-beijing/apikey) - **ANTHROPIC_MODEL**: 支持配置 Model Name (实时切换模型)、配置`ark-code-latest`(控制台切换模型)两种方式,具体见[模型配置](https://www.volcengine.com/docs/82379/1928261#ngCxjYAzHr)。 配置步骤如下: 1. 创建并打开 `settings.json` 配置文件。文件路径因系统而异,具体操作如下: **macOS/Linux** macOS/Linux 系统 Claude Code 配置文件路径:`~/.claude/settings.json`。 1. 如果在主目录下没有`.claude`目录,执行以下命令创建目录。 ```Bash mkdir -p ~/.claude ``` 2. 创建并打开配置文件。 ```Bash nano ~/.claude/settings.json ``` **Windows** Windows 系统 Claude Code 配置文件路径:`C:\Users\<用户名>\.claude\settings.json`。以 CMD 命令行方式为例,操作如下。 1. 如果当前用户目录下没有`.claude`目录,执行以下命令创建目录。 ```Bash if not exist "%USERPROFILE%\.claude" mkdir "%USERPROFILE%\.claude" ``` 2. 创建并打开配置文件。 ```Bash notepad "%USERPROFILE%\.claude\settings.json" ``` 2. 编辑配置文件,需要修改的配置信息如下: - ``:替换为您自己的 [API Key](https://console.volcengine.com/ark/region:ark+cn-beijing/apikey)。 - ``:更新为需要使用的模型信息,如`ark-code-latest`。支持的模型信息参见[模型配置](https://www.volcengine.com/docs/82379/1928261#ngCxjYAzHr)。 ```JSON { "env": { "ANTHROPIC_AUTH_TOKEN": "", "ANTHROPIC_BASE_URL": "https://ark.cn-beijing.volces.com/api/coding", "ANTHROPIC_MODEL": "", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "", "ANTHROPIC_DEFAULT_SONNET_MODEL": "", "ANTHROPIC_DEFAULT_OPUS_MODEL": "", "CLAUDE_CODE_SUBAGENT_MODEL": "" } } ``` > **说明**:推荐使用完整模型配置,显式指定 Haiku、Sonnet、Opus 及子 Agent 模型,实现不同复杂度任务的模型调度。 3. 编辑或新增 `.claude.json` 文件,修改或新增 `hasCompletedOnboarding` 字段值为 true。 1. 不同系统`.claude.json`配置文件路径如下: - macOS/Linux:`~/.claude.json` - Windows:`C:\Users\<用户名>\.claude.json` 2. 修改或新增的字段信息如下: ```JSON { "hasCompletedOnboarding": true } ``` 保存配置文件后,在新的终端窗口执行后续命令。 ### 使用 Claude Code 1. 启动 Claude Code:进入项目目录,执行`claude`命令,即可开始使用 Claude Code。 ```Bash cd my-project claude ``` 启动后,选择信任此文件夹,允许 Claude Code 访问该文件夹中的文件。 2. 模型状态验证:输入`/status`确认模型状态。 ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/4382021492134eee946601bf53514b48~tplv-goo7wpa0wc-image.image) 1. 在 Claude Code 中对话。 > **注意**:[Claude Code 如何开启深度思考模式?](https://www.volcengine.com/docs/82379/2165245#1c6446b6) ![图片](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/631742d8a5814d68a5cbc62988ba8cab~tplv-goo7wpa0wc-image.image) ### 切换模型 请根据模型配置方式,选择对应的模型切换方案。 | 配置方式 | 配置`ark-code-latest` | 配置 Model Name | |---|---|---| | 切换模型操作 | 1. 在[开通管理页面](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&advancedActiveKey=subscribe)选择要使用的模型,切换后3-5分钟即可生效。

2. 在命令行窗口,启动 Claude Code 后,输入`/status`确认模型状态。 | - 启动时:执行`claude --model `,可指定对应的模型。

- 对话期间:执行`/model `切换模型。 | ## 常见问题 [常见问题](https://www.volcengine.com/docs/82379/2165245) ## 错误码 如遇报错,可根据错误信息查看错误码说明,定位&解决问题。详细信息请参见[错误码](https://www.volcengine.com/docs/82379/1299023)。