FAQ
Onboarding & Account
What is the Base URL and where do I find it?
The Base URL is the access domain, filled into the docs examples automatically per deployment at build time. For example, the CN site API base URL looks like https://www.silvamux.com. The https://www.silvamux.com placeholder in these docs is replaced with the actual domain when the site is built — no manual edits needed when copying examples.
- Chat (OpenAI Chat Completions compatible, recommended):
https://www.silvamux.com/api/v1/chat/completions - Chat unified entry (optional, cross-protocol):
https://www.silvamux.com/api/v0/chat/completions - Chat (Anthropic format):
https://www.silvamux.com/api/v1/messages - Images, video, and 3D:
https://www.silvamux.com/api/v3/...
Where do I create an API key? What does it look like?
Create keys on the console API Keys page. Keys start with sk_live_ and are shown only once at creation; store yours as the environment variable SILVAMUX_API_KEY.
What goes in the model field?
Use the model call name (the model id or alias), preferring the alias, for example minimax-m2.5. The model catalog API and the Model Plaza are authoritative for currently available models.
Is the legacy vendor/model format still supported?
The legacy vendor/model format still works, but new integrations should use the simpler, more stable alias.
What are the Standard / Pro tiers? Do I need @tune?
The platform can expose the same model through different supply tiers; the @tune suffix marks the standard tier. All models are currently single-tier — use the alias directly without @tune. Dual-tier models will be flagged in the model catalog when introduced.
What if my balance runs out?
Top up in the console. When the balance is insufficient, model requests return INSUFFICIENT_BALANCE (HTTP 402).
Does "no discount configured" mean it's free?
No. Without a configured discount you are billed at list price (discount factor 1). Discounts are configured by administrators per organization and pricing group.
401 Unauthorized
Check that the API key is correct and not revoked. Gateway APIs use Authorization: Bearer sk_live_... or x-api-key: sk_live_....
429 RATE_LIMITED
The request hit a rate limit — wait and retry with exponential backoff. Image and video generation return CONCURRENCY_LIMIT_EXCEEDED when the concurrency cap is reached.
502 UPSTREAM_*
The model side is temporarily failing; retries are reasonable. If failures persist, contact the platform with the X-Request-Id.
Chat & Models
If a streaming response is interrupted, am I billed twice?
No. Settled tokens are never charged twice; a retried request is billed only for its own actual usage.
Why do multimodal calls fail?
SilvaMux passes images, audio, and other content through to the model. Whether the input type is supported depends on the model's capabilities; text-only models may return errors when given images or audio.
Should I use the unified entry or a compatible entry?
When using OpenAI, Anthropic, Gemini, Volcengine, or Zhipu SDKs, prefer the matching compatible entry. Use the SilvaMux unified entry when you want to call different models across protocols through a single endpoint.
Image Generation
Do text-to-image and image editing share one API?
No. Text-to-image uses POST /api/v3/images/generations; image editing uses POST /api/v3/images/edits (multipart/form-data).
413 REQUEST_TOO_LARGE
The request body exceeds the 64 MB limit. Compress the images or reduce the number of input images, then retry.
Video & Tasks
Does video generation use Volcengine AK/SK?
No. Video generation uses the SilvaMux API key. Volcengine V4 signing is used only by the Volcengine-compatible asset management APIs.
How do I query a video task result?
Poll GET /api/v3/contents/generations/tasks/:id until status becomes succeed (read result.video_url) or failed.
403 MODEL_ACCESS_DENIED
Your organization lacks the permission flags required by the model; ask an administrator to enable them.
What does the expired task status mean?
A task expires when it is not queried for a long time or times out before completing; create a new task.