---
title: "List the music models you can use"
method: GET
path: "/api/v1/music-models"
tags: ["Music"]
---

# List the music models you can use

`GET /api/v1/music-models`

## Request

- Base URL: `https://your-deployment.example.com`
- URL: `https://your-deployment.example.com/api/v1/music-models`
- Auth: one of:
  - HTTP bearer
  - API key in header `x-api-key`

Returns the music models that are enabled, available in this deployment and have a usable provider key for the caller, with their capabilities and credit price. Validate requests against these capabilities: an unsupported duration, lyrics or vocals option is a 422, never silently adjusted. A few limits only show when the song is rendered (e.g. more lyrics than fit a very short song); such a job ends `failed`.

## Response `200`

The usable models.

- ListMusicModelsResponse200
  - `models` object[], required
    - `id` string, required
    - `object` 'music_model', required
    - `display_name` string, required
    - `provider` string, required
    - `vocals` 'optional' | 'never', required: `never`: instrumental only.
    - `lyrics` object, nullable, required: Limits on custom lyrics, or null when the model does not accept them.
      - `max_chars` number, required
      - `max_line_chars` number, nullable, required
    - `duration` union, required: `exact`: the song has the requested length. `approximate`: the length is steered by the prompt, so the song may run shorter or longer. `fixed`: every song has this length; omit duration_seconds or repeat it.
      - object
        - `control` 'exact' | 'approximate', required
        - `min` number, required
        - `max` number, required
        - `default` number, required
      - object
        - `control` 'fixed', required
        - `seconds` number, required
    - `output_formats` string[], required
    - `typical_render_seconds` number, required: A rough wall-clock estimate, to set expectations. Not billed on.
    - `pricing` object, required: `per_song`: a flat price whatever the length. `per_second`: credits per second of output.
      - `unit` 'per_song' | 'per_second', required
      - `credits` number, required
    - `preview` boolean, required: Labelled preview by its provider: may change or be retired at short notice.
    - `deprecation_date` string, nullable, required

## Other responses

- `401`: Missing or invalid credentials.
- `403`: The API key lacks the `ai:generate` scope.
- `405`: The path does not serve this HTTP method.
- `429`: Per-user rate limit exceeded.

---

[API](https://skmtc.dev/bike4mind/apis/bike4mind-api.md) · [All operations](https://skmtc.dev/bike4mind/apis/bike4mind-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bike4mind/apis/bike4mind-api/revisions/d437aaac22ac?raw)
