Generate video, image and audio with one API call.

Pick a model, send your inputs, and the finished output arrives on your webhook. Pay per job from a prepaid balance. No servers to run.

A woman in a red coat holds a clear umbrella on a rainy neon street at night, made by the image model

Make it in the playground.

Type what you want, press Generate and watch the result come in. Click any demo to watch it with sound.

Models

  • Video v1

  • Image v1

  • Voice v1

Image

  • Text to image

  • Restyle a picture

  • Edit with a prompt

  • Enhance prompt

  • Fast, Pro, 3D or anime

  • Consistent character

Video

  • Text to video

  • Image to video

  • First and last frame

  • Lipsync

  • Camera moves

  • Restyle a video

Edit a video

  • Edit with a prompt

  • Drop in a product

  • Replace the background

  • Relight

  • New camera angle

Tools

  • Create image

  • Variations

  • Edit image

  • Upscale to 4K

  • Turnaround sheet

  • Camera angle

  • Face swap

  • Image to video

  • Text to video

  • Motion sync

  • Lipsync

  • Extend a video

  • Add sound

  • Restyle a video

  • Smart shot

Gallery

What you get with an account.

The same for every model in the catalog.

  • A prepaid balance

    Add funds with a card. Every job deducts its price per unit, nothing else is billed, and there is no subscription.

  • API keys per organization

    Create, rotate and revoke keys for each organization. Usage and spend are counted per key.

  • A playground

    Run any model in the browser with a form, before you write a line of code.

  • Per-model docs

    Every model's page has its parameters, limits and a cURL you can copy.

  • Usage you can read

    Jobs, units and spend over time, with success and failure counts.

  • Webhooks

    The result is POSTed to your address when a job finishes, and retried until you answer 200.

One request shape, every endpoint.

Authenticate once, post a job, receive the result on your webhook. Swap the slug to change what gets generated, or try the model in the playground first.

  1. 01

    Authenticate

    A bearer token: your key id and secret, joined with a colon and Base64 encoded.

  2. 02

    Post a job

    Send modelParams and the webhookUrl we should call. You get 201 Created and a jobId.

  3. 03

    Receive the result

    When the job finishes we POST the result to your webhook: the job id, when it finished, the units used, the output path and the price per unit.

A failed job sends failedAt and a failCode instead of the output. Answer 200, or we keep retrying. A 403 on the request means your balance is empty.

curl -X POST https://api.strontium.ai/jobs/async/{slug} \
  -H "Authorization: Bearer <BASE64_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "modelParams": { "prompt": "A lighthouse at sunset" },
    "webhookUrl": "https://your-server.com/webhook"
  }'
HTTP/1.1 201 Created
Content-Type: application/json

{
  "success": true,
  "jobId": "abc123",
  "createdAt": "2025-02-12T10:30:45.123Z"
}

Watch a job run

A simulation of one job's lifecycle. Nothing is sent and nothing is billed.

Built for enterprise scale.

The same endpoints on capacity, terms and support sized for a company, from the first pilot to production traffic.

  • Private endpoints

    Only your keys can reach them.

  • Reserved capacity

    A throughput band that is yours alone.

  • Usage you can read

    Jobs and spend, per key, as they happen.

  • A team on call

    Engineers on the pipeline, not a ticket queue.

Talk to us
  • Endpoints only your keys can reach, on capacity no one else shares.

    Private endpoints

  • Pay per job while you find the shape of your traffic, then reserve capacity once it settles.

    Usage-based or reserved pricing

  • Our applied engineers work with your team on the pipeline, not only on the ticket.

    Engineers on the same problem

  • Every job, its units and its cost, per key, in the dashboard as it happens.

    Usage you can read

Need an endpoint that is not here?

Tell us the capability. Custom inference is one of the services we build and run.

See custom services