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.

Get API key
terminal
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"
Async task → poll GET /v1/model-tasks/{id} until completed

Models live now

Browse all models

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.

AVAILABLE33 models · 56 capabilities

Image

Text to Image · Image to Image

AVAILABLE3 models · 3 capabilities

Audio

Text to Speech

EXPANDINGExpanding

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.

Get an API key