Distribea Generation API

Generate images, video, music and voice, paid in credits.

Operations 4

POST /api/v1/generate/image Generate images #
POST /api/v1/generate/video Generate a video #
POST /api/v1/generate/music Generate music #
POST /api/v1/generate/voice Generate a voiceover #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/distribea-com:distribea-com-generation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

distribea-com-generation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Distribea Generation API
  version: 1.0.0
  summary: Royalty-free media catalog and AI image, video, music and voice generation for agents.
  description: 'Royalty-free media catalog (music, sound effects, stock footage, images) and AI generation (images, video, music, voice) for AI agents and scripts.


    ## Quick start (steps 1 and 2 need no key)


    1. Search the catalog:

    `GET https://distribea.com/api/v1/catalog/search?q=epic+cinematic+drums&type=music`

    2. Get the exact price of a generation. Nothing is generated or charged:

    `POST https://distribea.com/api/v1/generate/image` with `{"prompt":"a red fox in fresh snow","dry_run":true}`

    3. Get a key at https://distribea.com/account/mcp. Every new account includes 250 test credits, even without a plan.

    4. Send the same body without `dry_run`, with the key, to generate. The response holds the file URL.


    ## Authentication


    Send the key in `Authorization: Bearer ` (or `X-Api-Key: `). Catalog search, item details, the model list and every `dry_run` price quote are public. The account and real generation need a key. The same key works with the Distribea MCP server at https://distribea.com/api/mcp/remote.


    ## Responses


    Success bodies are plain JSON objects, snake_case, with no envelope. One name per idea, in requests and responses alike: `duration_seconds` for any length, `aspect_ratio` for the picture shape (`16:9`), `file_type` for the file format (`png`, `mp4`, `mp3`). Lists are JSON arrays (`genre`, `mood`, `tags`). A setting left to the model''s default is `null`.


    Every generation answer is a `GenerationResult`: read `status` first. `quoted` (`QuotedResult`: dry run, price and settings, `charged: false`), `succeeded` (`SucceededResult`: the file, `charged: true`) or `pending` (`PendingResult`: send again later).


    ## Retries


    For video, music and voice, a job is identified by the request itself: the same key and the same JSON body within 3 minutes is the same job (the body is compared after parsing, so key order and spacing do not matter), so sending it again collects the result and never charges twice. No idempotency header is needed. An image request sent twice makes two images. Only errors with `retryable: true` are worth sending again unchanged.


    Every error, on every endpoint, has one shape:


    `{"error":{"code":"missing_parameter","message":"...","param":"q","fix":"...","retryable":false,"docs_url":"https://distribea.com/openapi.json"}}`


    `code` is stable and machine-readable, `param` names the field to change, `fix` says what to send instead, `valid_values` lists the accepted values when there is a fixed list, `retryable` says whether the same request can simply be sent again, and `retry_after_seconds` (also in the `Retry-After` header) says when.


    ## Credits and limits


    Generation is paid in credits at the same price as the website. `GET /api/v1/models` shows each model''s starting price, and `dry_run: true` returns the exact price of a request. A failed generation is refunded automatically. Each account can run 12 generations per minute and 200 per day (UTC). Public endpoints are cached for 10 minutes.


    ## Long jobs


    Video can take a few minutes. If it is not ready within the request, the API answers `202` with `status: "pending"` and a `Retry-After` header: send the exact same request again to collect the result. Video, music and voice retries within 3 minutes are never charged twice.'
  contact:
    name: Distribea
    email: hello@distribea.com
    url: https://distribea.com
  termsOfService: https://distribea.com/legal/licence-terms
servers:
- url: https://distribea.com
  description: Production
security: []
tags:


# --- truncated at 32 KB (35 KB total) ---
# Full source: https://artifacts.apis.io/distribea-com/openapi/distribea-com-generation-api-openapi.yml