byteplus/seed-2-0-lite-260228, served by Comfy Router from BytePlus.
Quick start
Create a key in your Comfy workspace and export it asCOMFY_API_KEY. The Python and TypeScript snippets use the Comfy SDKs (pip install comfy-sdk, npm install @comfyorg/sdk); the cURL snippet is the same call over raw HTTP.
Model ID: byteplus/seed-2-0-lite-260228
Endpoint: POST https://api.comfy.org/v2/models/byteplus/seed-2-0-lite-260228
Schema
Input
object
Context-cache configuration.
boolean
default:"false"
When true, only create the public prefix cache; the model does not respond.
string
Possible values:
enabled, disabledobject
Context-management strategies (
clear_thinking, clear_tool_uses) applied to keep the context window manageable.object[]
A single context-edit strategy, discriminated by
type.integer
Unix timestamp (seconds, UTC) at which the stored response and cache expire. Range (creation_time, creation_time + 604800]. Default: creation_time + 259200 (3 days).
string[]
Additional output fields to include. Currently supported:
reasoning.encrypted_content (encrypted+compressed reasoning for manual multi-turn reuse).string | object[]
required
Text content or list of input items provided to the model.
string
System/developer message prepended as the first instruction. Not compatible with
caching — if caching.type is enabled, setting instructions returns an error.integer
Maximum output tokens (response + chain-of-thought).
integer
Range:
1 to 10string
Model ID or Endpoint ID. See https://docs.byteplus.com/en/docs/ModelArk/1330310 for the model list and https://docs.byteplus.com/en/docs/ModelArk/1099522 for Endpoint IDs. A direct v1 call to POST /proxy/byteplus/api/v3/responses MUST supply it — the proxy refuses any value outside its own allowlist, and an omitted one, with a 400. It is NOT in the Comfy Router input schemas’
required lists because Router fills it from the {model} path segment of /v2/models/byteplus/{model}, so a Router caller omits it.string
ID of the previous response, used to continue a multi-turn conversation. Insert ~100ms between requests to avoid failures.
object
Limits the workload of deep thinking.
string
minimal disables thinking entirely. With thinking.type = disabled, only minimal is allowed.Possible values: minimal, low, medium, highboolean
default:"true"
When true, the response is persisted and retrievable by ID for multi-turn use.
number
default:"1"
Range:
0 to 2Format: floatobject
Output-format configuration.
object
Text-output format discriminated by
type. text returns natural language, json_object returns a free-form JSON object, json_schema constrains output to a caller-supplied JSON Schema.object
Controls deep-thinking mode.
string
enabled: always reason before responding.
disabled: respond without additional reasoning.
auto: model decides per-query.Possible values: enabled, disabled, auto`none`, `auto`, `required` | object
Tool-selection mode. Only seed-1-6 models support this field.
object[]
A tool the model may invoke. Currently only
function is supported.string
string
required
object
required
JSON Schema describing the function’s parameters.
string
default:"\"function\""
required
Possible values:
functionnumber
default:"0.7"
Range:
0 to 1Format: floatGET /v2/models/byteplus/seed-2-0-lite-260228/openapi.json, the same document it validates a call against before the request reaches the provider.
Output
object
boolean
string
Possible values:
enabled, disabledobject
Context-management strategies that were actually applied during this response. Unlike the request-side
BytePlusResponseContextManagement (which configures strategies), this echoes the strategies the server invoked, with counts of what was cleared.object[]
One applied context-edit, discriminated by
type.integer
required
Unix timestamp (seconds) when the response was created.
object
Error details. Null when the response succeeded.
string
required
string
required
integer
Unix timestamp (seconds) when the stored response expires.
string
required
Unique ID of the response. Use as
previous_response_id to continue the conversation.object
Populated when
status is incomplete.string
e.g.
max_output_tokens, content_filter.string
Echo of the request’s
instructions field.integer
integer
object
string
required
Model ID that generated the response.
string
default:"\"response\""
required
Possible values:
responseobject[]
required
Ordered output items produced by the model.
string
object
string
Possible values:
minimal, low, medium, highstring
TPM-guarantee-package usage.
default means none.Possible values: defaultstring
required
Possible values:
in_progress, completed, incomplete, failed, cancelledboolean
boolean
number
Format:
floatobject
Echo of the request’s
text field.object
Text-output format discriminated by
type. text returns natural language, json_object returns a free-form JSON object, json_schema constrains output to a caller-supplied JSON Schema.object
string
Possible values:
enabled, disabled, auto`none`, `auto`, `required` | object
object[]
A tool the model may invoke. Currently only
function is supported.string
string
required
object
required
JSON Schema describing the function’s parameters.
string
default:"\"function\""
required
Possible values:
functionnumber
Format:
floatobject
Token-usage breakdown for billing and observability.
integer
required
Total tokens in the request.
object
Breakdown of input tokens (cache hits, etc).
integer
Tokens served from the context cache.
integer
required
Total tokens generated by the model.
object
Breakdown of output tokens (reasoning, etc).
integer
Tokens consumed by chain-of-thought.
object
Per-tool invocation counts.
integer
Number of image-processing tool calls.
integer
Number of MCP tool calls.
integer
Number of web-search tool invocations.
object
Per-tool breakdown of sub-tool invocation counts.
object
e.g.
{"zoom":1,"point":1,"grounding":1}.object
e.g.
{"mcp_server_tos":1,"mcp_server_tls":1}.object
e.g.
{"toutiao":1,"moji":1,"search_engine":1}.integer
required
input_tokens + output_tokens.
Examples
Input
Output
Before you ship
The SDKs create anIdempotency-Key and reuse it for automatic retries. For manual retries, reuse the original key. Router can hold the connection for up to 10 minutes.
When a request fails, Router sends an X-Comfy-Error-Type response header explaining why. A 422 means Router rejected the input before calling the provider. Download generated assets promptly because result URLs can expire.
Headers
Authentication, idempotency, request IDs, error buckets, retry pacing, spend limits.
Using the Router API
Model discovery, validation errors, retries, and billing.
Limitations
What Router does not do today, and what to use instead.