Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 12 additions & 7 deletions apps/playground/src/lib/image-gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ export function getModelImageConfig(model: string) {

const isSeedream =
lower.includes("seedream") || lower.includes("bytedance/seedream");
// Seedream 5.0 Pro tops out at ~2K (no 4K preset at launch) and adds a 1K
// tier, unlike the other Seedream image models which run 2K/4K.
const isSeedreamPro = lower.includes("seedream-5-0-pro");

const isGemini31FlashImage = lower.includes("gemini-3.1-flash-image");
const isGemini31FlashLiteImage = lower.includes(
Expand All @@ -93,13 +96,15 @@ export function getModelImageConfig(model: string) {
? GPT_IMAGE_SIZES
: isReve
? (["2K"] as const)
: isSeedream
? (["2K", "4K"] as const)
: isGemini31FlashLiteImage
? (["1K"] as const)
: isGemini31FlashImage
? (["0.5K", "1K", "2K", "4K"] as const)
: (["1K", "2K", "4K"] as const);
: isSeedreamPro
? (["1K", "2K"] as const)
: isSeedream
? (["2K", "4K"] as const)
: isGemini31FlashLiteImage
? (["1K"] as const)
: isGemini31FlashImage
? (["0.5K", "1K", "2K", "4K"] as const)
: (["1K", "2K", "4K"] as const);

const defaultSize = isGptImage
? "1024x1024"
Expand Down
52 changes: 52 additions & 0 deletions packages/models/src/models/bytedance.ts
Original file line number Diff line number Diff line change
Expand Up @@ -265,4 +265,56 @@ export const bytedanceModels = [
},
],
},
{
id: "seedream-5-0-lite",
name: "Seedream 5.0 Lite",
description:
"ByteDance Seedream 5.0 Lite (Dola Seedream 5.0) text-to-image generation model with strong prompt understanding and up to 4K output",
family: "bytedance",
output: ["text", "image"],
releasedAt: new Date("2026-01-28"),
providers: [
{
test: "skip",
providerId: "bytedance",
externalId: "seedream-5-0-260128",
inputPrice: "0",
outputPrice: "0",
requestPrice: "0.035",
contextSize: 2000,
maxOutput: 4096,
streaming: false,
vision: false,
tools: false,
jsonOutput: false,
imageGenerations: true,
},
],
},
{
id: "seedream-5-0-pro",
name: "Seedream 5.0 Pro",
description:
"ByteDance Seedream 5.0 Pro flagship text-to-image generation model with precise layout control, multilingual text rendering, and up to 2K output",
family: "bytedance",
output: ["text", "image"],
releasedAt: new Date("2026-06-28"),
providers: [
{
test: "skip",
providerId: "bytedance",
externalId: "dola-seedream-5-0-pro-260628",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep inactive Seedream Pro out of the catalog

This mapping is active immediately: test: "skip" only skips e2e selection, while /v1/models and resolveModelInfo() still expose and route bytedance/seedream-5-0-pro because there is no deactivatedAt. In the verified BytePlus account this exact external model returns ModelNotOpen, so any production request pinned to the new model will route to an upstream 502 until the Ark Console activation is completed; keep the mapping deactivated or gate the change on activation.

Useful? React with 👍 / 👎.

inputPrice: "0",
outputPrice: "0",
requestPrice: "0.09",
contextSize: 2000,
maxOutput: 4096,
streaming: false,
vision: false,
tools: false,
jsonOutput: false,
imageGenerations: true,
},
],
},
] as const satisfies ModelDefinition[];
Loading