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.

AVAILABLE36 models · 61 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

Necessary cookies support sign-in and security. First-touch sources follow site settings, while key account operations are internal service records. We use these records for our own service, independently of optional consent, and do not share them with third parties. Optional product-interest events and third-party analytics, ads and support require consent. Privacy Policy

Learn more

Necessary cookies support sign-in, security and saving this choice. When enabled in site settings, we record first-touch sources and may link them to new accounts. Key account operations are recorded internally to run our service. These internal records do not depend on optional consent and are not shared with third parties. Optional product-interest events and third-party analytics, advertising and support require your consent. Rejecting does not affect necessary sign-in or security. See the Privacy Policy for details.

You can change your choice in the footer. Withdrawal reloads this page if optional services have loaded and clears accessible first-party cookies from those services. It does not delete data already held by providers.