---
title: "Quote one music generation before creating it"
method: POST
path: "/v1/music/estimate"
tags: ["platform-api"]
---

# Quote one music generation before creating it

`POST /v1/music/estimate`

## Request

- Base URL: `https://api.cuddler.ai`
- URL: `https://api.cuddler.ai/v1/music/estimate`
- Auth: HTTP bearer

## Request body

- object
  - `model` 'lyria-3-pro' | 'lyria-3' | 'lyria-2' | 'eleven-music-2.5', required
  - `prompt` string, required
  - `output_format` 'mp3'
  - `max_usd` string: Maximum USD this job may charge; creation refuses a larger hold and settlement never exceeds this ceiling

## Response `200`

Frozen text meter and price

- object
  - `meter` 'generation', required
  - `units` 1, required
  - `usd` string, required
  - `hold_usd` string, required
  - `object` 'music_estimate', required
  - `model` 'lyria-3-pro' | 'lyria-3' | 'lyria-2' | 'eleven-music-2.5', required
  - `usd_micros` integer, required
  - `price_version` string, required

## Other responses

- `400`: Invalid request or maximum USD
- `401`: unauthorized — no key, or an unknown or revoked one (WWW-Authenticate: Bearer)
- `403`: organization_suspended — the organization is not active; forbidden — a test key on a live-only route
- `404`: not_found — the Platform API is switched off, or the object does not exist
- `429`: rate_limited — over this key's requests per minute (Retry-After)
- `500`: internal_error — quote request_id when contacting support
- `503`: Price configuration unavailable

---

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