Beatoven.ai Tasks API

Poll asynchronous composition task status and retrieve generated assets.

Operations 1

GET /api/v1/tasks/{task_id} Get Composition Task Status #

Documentation

Specifications

Code Examples

Schemas & Data

Other Resources

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/beatoven-tasks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

beatoven-tasks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Beatoven Composition Tasks API
  description: 'Public REST API for Beatoven.ai''s text-to-music generation. Submit a natural language prompt and receive an asynchronously composed track with downloadable master mix and individual stems (bass, chords, melody, percussion). The API is asynchronous: POST a composition request to receive a task_id, then poll the task endpoint until status is "composed".

    '
  version: v1
  contact:
    name: Beatoven.ai Support
    email: hello@beatoven.ai
    url: https://www.beatoven.ai/api
  license:
    name: Beatoven.ai Terms of Service
    url: https://www.beatoven.ai/tos
servers:
- url: https://public-api.beatoven.ai
  description: Beatoven public API production server
security:
- BearerAuth: []
tags:
- name: Tasks
  description: Poll asynchronous composition task status and retrieve generated assets.
paths:
  /api/v1/tasks/{task_id}:
    get:
      summary: Get Composition Task Status
      description: 'Retrieve the current status of an asynchronous composition task. While the task is queued the status is "composing", once execution begins it is "running", and once finished it is "composed" and the response includes URLs for the master track and individual stems.

        '
      operationId: getTaskStatus
      tags:
      - Tasks
      parameters:
      - name: task_id
        in: path
        required: true
        description: Task identifier returned by POST /api/v1/tracks/compose.
        schema:
          type: string
          example: ccb84650-7b4a-4d00-9f80-8a6427ca21aa_1
      responses:
        '200':
          description: Current task status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStatus'
              examples:
                Composing:
                  value:
                    status: composing
                Composed:
                  value:
                    status: composed
                    meta:
                      project_id: 3ade3151-372d-4ac8-b1ef-866a67ef0875
                      track_id: ccb84650-7b4a-4d00-9f80-8a6427ca21aa
                      prompt:
                        text: 30 seconds peaceful lo-fi chill hop track
                      version: 1
                      track_url: https://cdn.beatoven.ai/tracks/example.wav
                      stems_url:
                        bass: https://cdn.beatoven.ai/stems/bass.wav
                        chords: https://cdn.beatoven.ai/stems/chords.wav
                        melody: https://cdn.beatoven.ai/stems/melody.wav
                        percussion: https://cdn.beatoven.ai/stems/percussion.wav
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          description: Task not found.
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    TaskStatus:
      type: object
      required:
      - status
      properties:
        status:
          type: string
          enum:
          - composing
          - running
          - composed
          description: composing = queued, running = in progress, composed = finished.
        meta:
          $ref: '#/components/schemas/TaskMeta'
    Prompt:
      type: object
      required:
      - text
      properties:
        text:
          type: string
          description: Natural language prompt describing the desired track (genre, mood, length, instruments).
          example: 30 seconds peaceful lo-fi chill hop track
    Error:
      type: object
      properties:
        error:
          type: string
    TaskMeta:
      type: object
      properties:
        project_id:
          type: string
        track_id:
          type: string
        prompt:
          $ref: '#/components/schemas/Prompt'
        version:
          type: integer
        track_url:
          type: string
          format: uri
          description: Pre-signed URL to download the rendered master track.
        stems_url:
          $ref: '#/components/schemas/StemUrls'
    StemUrls:
      type: object
      properties:
        bass:
          type: string
          format: uri
        chords:
          type: string
          format: uri
        melody:
          type: string
          format: uri
        percussion:
          type: string
          format: uri
  responses:
    Unauthorized:
      description: Missing or invalid Bearer API token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Beatoven API token, issued by hello@beatoven.ai or from the API dashboard.