calesthio/generative-media-skills/bytedance-seedream
Claude Code and agent skill by calesthio/generative-media-skills
- community
Checking that the SKILL.md file is still in the repository.
Build and operate production image generation and natural-language image editing with ByteDance Seedream through first-party Volcengine Ark (China) or BytePlus ModelArk (global), including model and region selection, multi-reference and grouped outputs, streaming, secure artifact handling, retries, cost controls, prompting, safety, and rights review.
Install
npx vskill@latest install calesthio/generative-media-skills/bytedance-seedreamSKILL.md
ByteDance Seedream
Use this skill when an application calls Seedream directly through the first-party Ark image-generation API. It covers text-to-image, reference-guided generation, natural-language editing, multi-image fusion, grouped outputs, and streamed grouped outputs. It does not cover Seedance video generation, third-party gateways, consumer apps, model training, or UI automation.
All volatile facts below were checked against first-party documentation on 2026-07-09. Recheck the linked model catalog, availability, pricing, and retirement pages before a production launch.
Evidence labels
- Documented means a current ByteDance Seed, Volcengine, or BytePlus page states the behavior.
- Provider claim means a first-party product or research page makes a qualitative performance claim; treat it as marketing until tested on the application's corpus.
- Operational recommendation means a production practice inferred from the documented contract, not a provider guarantee.
- Unknown means the first-party pages reviewed do not establish the behavior. Feature-detect or ask support instead of inventing a contract.
Choose the commercial surface first
Model IDs and hosts are not interchangeable.
| Deployment | API base | Current image model IDs documented on 2026-07-09 | Important boundary | |
|---|---|---|---|---|
| Volcengine Ark, China | https://ark.cn-beijing.volces.com/api/v3 | doubao-seedream-5-0-pro-260628, doubao-seedream-5-0-260128 (also documented as alias doubao-seedream-5-0-lite-260128), doubao-seedream-4-5-251128, doubao-seedream-4-0-250828 | China host and doubao-... IDs only | |
| BytePlus ModelArk, Asia Pacific | https://ark.ap-southeast.bytepluses.com/api/v3 | seedream-5-0-260128 (also documented as alias seedream-5-0-lite-260128), seedream-4-5-251128, seedream-4-0-250828 | Global host and non-doubao IDs only | |
| BytePlus ModelArk, Europe | https://ark.eu-west.bytepluses.com/api/v3 | Seedream 5.0 Lite is documented for EU; confirm the live catalog before deploying any other version | The availability page prohibits restricted models, including Seedream 4.0, in the EU/EU market |
All three use:
Do not send a China token to a BytePlus host or a BytePlus token to the China host. Use an exact host allowlist, never log the key, and inject it at runtime from a secret manager.
Documented region caveat: BytePlus says an AP request normally prefers AP but may be served from EU, and an EU request may be served from AP when needed. Endpoint selection is therefore not a data-residency guarantee. Obtain a contractual answer if residency is a requirement.
Select a model by contract, not name alone
| Capability | China 5.0 Pro | 5.0 Lite | 4.5 | 4.0 | |
|---|---|---|---|---|---|
| Text generation and reference/edit input | Yes | Yes | Yes | Yes | |
| Max reference images | 10 | 14 | 14 | 10 conservative; generic API says 14 | |
Grouped output (sequential_image_generation) | No | Yes | Yes | Yes | |
SSE streaming (stream) | No | Yes | Yes | Yes | |
web_search tool | No | Yes | No | No | |
| Output format control | PNG/JPEG | PNG/JPEG | JPEG only | JPEG only | |
| Resolution labels | 1K/2K | 2K/3K/4K | 2K/4K | 1K/2K/4K | |
| Prompt optimization | standard; not fast | standard; not fast | standard; not fast | standard or fast |
The 5.0 Pro row applies to the China model documented above; BytePlus's current global image API does not document a global 5.0 Pro ID. Do not synthesize one.
First-party 4.0 conflict: the current generic image API describes 2–14 reference inputs, while the Seedream 4.0 model-specific card describes 2–10 for multi-image-to-single and multi-image-to-set workflows. Default 4.0 production validation to 10. Use 11–14 only after an authorized live canary confirms the exact endpoint contract; record the response and retrieval date.
Use 5.0 Lite when grouped output, SSE, or optional real-time web search is required. Use China 5.0 Pro when its documented higher-end single-image contract is required and grouped/streamed output is not. Keep 4.5 or 4.0 only for a measured compatibility, quality, or cost reason and maintain a migration test.
Seedream 5.0 Lite's first-party release page describes multimodal reasoning, world knowledge, and optional real-time search. These are provider claims; evaluate factuality and visual quality with representative prompts.
Request contract
Core fields
modelis required and may be a documented model ID or a configured endpoint ID.promptis required. The guide recommends no more than about 300 Chinese characters or 600 English words; this is a recommendation, not a documented hard server limit.imageis optional and accepts one URL/data URL or an array. A data URL must bedata:image/<lowercase-format>;base64,<payload>.- Input formats: JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC, or HEIF. Each dimension must be greater than 14 px, aspect ratio must be within
[1/16, 16], file size at most 30 MB, and total image area at most 36 MP. sizeaccepts a model-supported resolution label or explicitWIDTHxHEIGHTstring. Validate against the selected model before sending.response_formatisurlorb64_json; default isurl. Returned URLs expire after 24 hours.watermarkdefaults totrueand adds a visible Chinese “AI generated” mark.falseremoves that visible mark; it does not waive disclosure, provenance, or legal obligations.output_formatispngorjpegonly on current 5.0 models; it defaults to JPEG. Do not send it to 4.5/4.0 expecting conversion.
The current canonical 4.0–5.0 API pages do not document seed or guidance_scale for these models. BytePlus documents those controls only for legacy 3.0 models and explicitly marks guidance unsupported on the current family. Do not send them unless the exact endpoint contract you control explicitly documents them. Similar output is not deterministic output.
Size constraints
| Model | Default | Explicit-pixel area | Aspect ratio | |
|---|---|---|---|---|
| China 5.0 Pro | 1024x1024 | 921,600 through 4,624,220 pixels | [1/16, 16] | |
| 5.0 Lite | 2048x2048 | 3,686,400 through 16,777,216 pixels | [1/16, 16] | |
| 4.5 | 2048x2048 | 3,686,400 through 16,777,216 pixels | [1/16, 16] | |
| 4.0 | 2048x2048 | 921,600 through 16,777,216 pixels | [1/16, 16] |
Prefer a documented label plus an aspect/use description in the prompt, or choose a documented recommended size. Common documented examples include 5.0 Lite 2K square 2048x2048, landscape 2848x1600, portrait 1600x2848; 5.0 Lite 4K square 4096x4096; and Pro 1K square 1024x1024 or 2K square 2048x2048. Do not assume the same label maps to the same pixel dimensions on every model.
Natural-language edits and references
There is no separate mask/inpaint route in the current unified API. Supply one or more image references and describe the edit in prompt:
- Identify references by ordinal: “In image 1… use the lighting from image 2.”
- State the target operation: add, remove, replace, recolor, relight, restyle, or compose.
- State invariants explicitly: “Keep pose, face proportions, camera, background, and all text unchanged.”
- For a hard-to-identify local region, annotate the source image with an arrow, box, or doodle and refer to that mark. This technique is documented in the prompt guide.
- For fusion, assign a single role to each reference rather than asking the model to infer roles.
Reference URLs must be fetchable by the service. Prefer short-lived, least-privilege presigned URLs. Data URLs avoid public hosting but still transmit the image to the provider and can make request bodies large.
Grouped output
On 5.0 Lite, 4.5, or 4.0:
max_images is 1–15 and defaults to 15. The input-reference count plus generated-image count must not exceed 15. auto lets the model decide whether and how many images to create; it does not promise the requested maximum. Name the exact set in the prompt—such as “Create exactly four storyboard frames; frame 1…, frame 2…”—then validate the actual count. Do not send these fields to China 5.0 Pro.
Optional web search
Only 5.0 Lite currently documents:
The model decides whether to use it; usage.tool_usage.web_search reports use. Search adds latency and external-content risk. Treat searched facts and visual details as untrusted, review attribution and rights, and do not promise that search will occur.
Interpret responses defensively
For non-streaming requests, expect top-level model, created, data, usage, and possibly error. Each data member may be either a successful image (url or b64_json, size, and where supported output_format) or an item-level error. A 200 response can therefore still contain partial failure.
Validate:
- Top-level status and error.
- Every
dataitem independently. - The actual successful count versus the requested deliverable.
- Declared size/format versus decoded bytes.
usage.generated_images, output tokens, and tool usage for cost and observability.
The documentation says only successful generated images are billed. Do not infer zero cost from a client timeout: without a documented idempotency key, a timed-out request may have completed server-side.
When stream: true, parse server-sent events until the final completion event:
image_generation.partial_succeeded: containsimage_index(zero-based) plusurlorb64_jsonandsize.image_generation.partial_failed: containsimage_indexand an error.image_generation.completed: final usage/tools summary.- top-level
error: request failure.
The stream guide says a content-filter failure can be followed by later images, while an internal 500 stops subsequent generation. Do not treat the first partial event as completion.
Production workflow
1. Establish a policy envelope
Before calling the API, record:
- deployment surface, account, endpoint region, exact model/endpoint ID, and launch date;
- allowed input classifications and whether personal data, faces, trademarks, or confidential material are permitted;
- maximum references, output count, dimensions, bytes, latency, retries, and spend per job;
- visible watermark/disclosure policy and a durable provenance policy;
- reviewer and approval criteria for public, commercial, or high-impact use.
2. Normalize and validate input
- Decode local inputs and inspect their real type; do not trust filenames or client MIME alone.
- Reject malformed, oversized, decompression-bomb, extreme-ratio, and unsupported inputs before upload.
- Strip unnecessary EXIF/location metadata unless it is intentionally preserved.
- Hash each source, store its license/consent record, and assign a stable reference number.
- Keep reference order stable from prompt through audit record.
3. Build a testable prompt
Use natural sentences rather than a keyword pile:
For typography, put required copy in double quotes, specify placement and hierarchy, then run OCR and human proofing. Generation is not a typesetting guarantee.
4. Submit with a job ledger
Create a client job ID and persist the request hash, redacted parameters, model, host, start time, attempt number, and state. The image API is synchronous or request-scoped SSE; the current docs do not document an async image job, polling API, webhook, or idempotency key. Do not import Seedance video task semantics.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/providers/image-generation/bytedance-seedream/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/calesthio/generative-media-skills/bytedance-seedream)