Finetuning.aiFinetuning.ai

Parameters

Deep dive into all generation parameters — tags, lyrics, BPM, duration, key, scale, and more

When creating a generation via POST /v1/generations, you can fine-tune the output using these parameters.

tags (required)

A string describing the music you want. Maximum 700 characters.

"tags": "epic orchestral trailer music with heavy drums and brass"

Tips for better tags:

  • Describe the mood, genre, and instruments
  • Mention specific styles or references (e.g., "lo-fi hip hop", "cinematic Hans Zimmer style")
  • Include texture details (e.g., "vinyl crackle", "reverb-heavy pads")

lyrics

Optional lyrics for the track. Maximum 2000 characters.

"lyrics": "Walking through the city lights\nFeeling everything tonight"

duration

Track length in seconds. Range: 5–210 seconds. Default: 60.

Free-tier accounts are capped at 120 seconds per track. Upgrade to use the full 5–210 range.

"duration": 120
DurationBest for
5–30sShort clips, intros, stingers
31–60sSocial media, short-form content
61–120sYouTube videos, podcasts
121–210sFull tracks, long-form content

bpm

Beats per minute. Range: 60–200. Default: 120. If not specified, defaults to 120.

"bpm": 128
RangeFeel
60–80Slow, ambient, ballad
80–110Mid-tempo, hip-hop, chill
110–130Pop, house, dance
130–160High energy, drum & bass
160–200Very fast, hardcore

language

Language for lyrics/vocals. Supported values: en, ja, de, fr, es, zh, ko, pt, it, ru.

"language": "en"

key

Musical key of the track. Valid values: C, C#, D, D#, E, F, F#, G, G#, A, A#, B.

"key": "D"

scale

Scale type: major or minor. If not specified, the AI decides based on the mood.

"scale": "minor"
  • Major — Bright, happy, uplifting
  • Minor — Dark, moody, emotional

timesignature

Time signature of the track. Range: 2–7. Default: 4 (i.e., 4/4 time).

"timesignature": "4"

seed

A number for reproducibility. Use the same seed with the same parameters to get consistent results.

"seed": 42

webhook

An HTTPS URL we'll POST the finished (or failed) generation to. Maximum 2048 characters. If you set this, you don't need to poll for the result — see the Webhooks guide for the payload shape and how to secure your endpoint.

"webhook": "https://your-app.com/finetuning-callback?token=YOUR_SECRET"

On this page