
Spend less time on models Make more with MuseSpan
MuseSpan (Muse Span) is an AI model API for developers. With one API key and one REST API, you can call image generation, image editing and text-to-speech models from makers such as Alibaba, Black Forest Labs and ElevenLabs. You pay as you go from a prepaid balance with no subscription, and failed requests are not charged.
REQUEST_ID=$(python3 -c "import uuid; print(uuid.uuid4())")
curl --fail-with-body -X POST "https://api.musespan.com/v1/model-tasks" \
-H "Authorization: Bearer $MUSESPAN_API_KEY" \
-H "X-Request-Id: $REQUEST_ID" \
-H "Content-Type: application/json" \
--data '{
"model": "bytedance/seedream-5-flash/text-to-image",
"input": {
"prompt": "A corgi in a yellow raincoat on a rainy Tokyo street, watercolor style"
}
}'
curl --fail-with-body "https://api.musespan.com/v1/model-tasks/$REQUEST_ID" \
-H "Authorization: Bearer $MUSESPAN_API_KEY"Models live now
Pick a model. Submit a task.
Copy a model ID from the live catalog, fill input from its published schema, then poll the task until the result is ready.
POST /v1/model-tasks
A stable interface for a changing model catalog.
Every model publishes its own input schema and price in the catalog.
- AUTH
- BEARER KEY
- FORMAT
- JSON
- MODE
- ASYNC
# Use a new directory for each new generation. Rerunning here continues this task.
set -eu
test -s model-task-id.txt || python3 -c "import uuid; print(uuid.uuid4())" > model-task-id.txt
REQUEST_ID=$(cat model-task-id.txt)
# Idempotent: resending the same bytes with the same ID never charges twice.
curl --fail-with-body --retry 3 --retry-connrefused --request POST 'https://api.musespan.com/v1/model-tasks' \
--header "Authorization: Bearer $MUSESPAN_API_KEY" \
--header "X-Request-Id: $REQUEST_ID" \
--header "Content-Type: application/json" \
--data '{"model":"bytedance/seedream-5-flash/text-to-image","input":{"prompt":"A corgi in a yellow raincoat on a rainy Tokyo street, watercolor style"}}'
# Poll every 5 seconds for up to 25 minutes until status is completed or failed.
# Still queued (with queue_position) 5 minutes after submission: failed with queue_timeout, not charged.
# No result 15 minutes after acceptance (or no confirmation 15 minutes after submission): failed with generation_timeout, not charged.
# Any failure is final: generate again in a new directory (a new X-Request-Id).
# A 404 means the POST did not arrive: rerun this script to resend it with the same ID.
curl --fail-with-body 'https://api.musespan.com/v1/model-tasks/'"$REQUEST_ID"'' --header "Authorization: Bearer $MUSESPAN_API_KEY"One account for every live model.
Every category of model we add runs on the same key and balance.
Image
Text to Image · Image to Image
Audio
Text to Speech
More models
The catalog keeps growing; your key and balance carry over.
Frequently asked questions
- What is MuseSpan?
- MuseSpan, also known as MuseSpan AI, is an AI model API for developers. One API key and one balance work for every live model; browse them in the model catalog.
- Is there an API for Seedream 5 Flash Text to Image?
- Yes. Call it with the model ID bytedance/seedream-5-flash/text-to-image and your API key; the Seedream 5 Flash Text to Image API page lists its parameters, examples and pricing.
- Is there an API for Eleven v4 Text to Speech?
- Yes. Call it with the model ID elevenlabs/eleven-v4 and your API key; the Eleven v4 Text to Speech API page lists its parameters, examples and pricing.
- How does pricing work?
- Pay as you go: top up a balance, and each request is billed at its model's published rate. There is no subscription, and failed requests are not charged. Current rates are on the pricing page.
- How do I start using the MuseSpan API?
- Sign in, create an API key and top up your balance. Then follow the quickstart guide to send your first request and get its result.
Integrate once. Keep creating.
New models join the same key and balance as they go live.
ByteDance

OpenAI









Black Forest Labs


















Google









ElevenLabs


Alibaba












