Changelog
API version history and updates
v1.6 — Current
August 7, 2026
New
- Generation certificates. Every completed track and sound effect on a paid plan now has a downloadable PDF generation certificate — a formal, single-page document issued by Riku AI LLC confirming the work was generated by you on Finetuning, with your prompt, settings, and the AI model. Finetuning claims no ownership of generated works; all rights stay with the creator. Two new endpoints return the PDF binary:
GET /v1/generations/:id/license— certificate for a music or instrumental trackGET /v1/sound-effects/:id/license— certificate for a sound effect
- Public certificate verification. Every certificate carries a permanent number and a public verification page at
https://finetuning.ai/verify/<number>— anyone can confirm it, no account or API key needed.
Notes
- Certificate downloads use the blanket 60/min/user read limit. The certificate number and issue date are permanent — repeat downloads return the same certificate, and renaming a track refreshes the PDF on the next download without changing its number.
- Certificates require a Plus, Pro, or Lifetime plan (
PAID_PLAN_REQUIREDon free accounts) and acompletedwork (NOT_READYotherwise).
v1.5
July 2, 2026
New
- Zapier: instrumental & sound-effect generation. The Zapier integration gained two actions — Create Instrumental Track and Create Sound Effect — plus a Find Sound Effect by ID search to fetch the finished clip. The New Completed Track trigger fires for instrumental tracks too (they share the music library).
Notes
- No API changes in this release — the Zapier actions wrap the existing
POST /v1/instrumentalandPOST /v1/sound-effectsendpoints.
v1.4
June 25, 2026
New
- Instrumental generation is now on the API.
POST /v1/instrumentalcreates a vocal-free track from a plain text description — the model picks the instrumentation and tempo, so there's no BPM, key, scale, or time signature to set. Instrumentals draw from the same monthly credit pool as music. typefilter and field on generations reads.GET /v1/generationsaccepts?type=musicor?type=instrumental, and both the list and detail responses now include atypefield. Instrumental tracks live in the same store as music — there is noGET /v1/instrumental.ftCLI gained instrumental and sound-effect commands.ft instrumental(aliasft inst) generates a track and reusesft get/ft download/ft list --type instrumentalfor reads. The newft sfxgroup (generate,list,get,download) covers sound effects. See the command reference.
Notes
- Each create endpoint — music, instrumental, and sound effects — has its own 10/min/user burst limit (
GENERATION_RATE_LIMITED). Reads stay on 60/min/user. - When read back, an instrumental track's
parameters.bpm,parameters.keyscale, andparameters.timesignaturearenull;durationandseedare present.
v1.3
New
- Sound effects are now on the API. Generate short AI sound effects (1–8 s) with three new endpoints:
POST /v1/sound-effects— generate a sound effectGET /v1/sound-effects— list your sound effectsGET /v1/sound-effects/:id— get one sound effect (poll for completion)
POST /v1/sound-effectsaccepts an optionalwebhookURL — we POST the finished (or failed) clip to your endpoint, just like music. See Webhooks.
Notes
- Sound effects are metered by a shared daily cap of 100 per UTC day — API and web-app generations draw from the same pool. Every create response returns
dailyRemaining; exceeding it returnsDAILY_LIMIT_REACHED. See Rate Limits. - Creation has its own burst limit of 10/min/user (
GENERATION_RATE_LIMITED), separate from music. Reads stay on the 60/min/user limit. - Sound effects carry no musical parameters, so the webhook payload's
parametersfield isnullfor SFX.
v1.2
New
- Bulk track deletion.
POST /v1/generations/bulk-deletepermanently deletes up to 100 tracks in one request, with per-item success/error reporting. See Bulk delete. - Playlists are now on the API. Five new endpoints:
GET /v1/playlists— list your playlistsGET /v1/playlists/:id— get a playlist with its tracksPOST /v1/playlists/:id/tracks— add up to 100 tracksPOST /v1/playlists/:id/tracks/bulk-remove— remove up to 100 tracksPOST /v1/playlists/:id/tracks/move— move up to 100 tracks to another playlist
- All bulk endpoints share the same model: 100 IDs max per request, partial success (one bad ID doesn't fail the batch), and a per-item
errorsarray. New error codesADD_FAILEDandMOVE_FAILEDare returned when zero items in a batch succeed. See Errors.
Notes
- Playlist privacy rules are enforced server-side: public playlists may only contain public tracks, and private playlists may only contain your own tracks. The API never changes a track's visibility for you.
- A bulk request counts as one request against the 60/min rate limit, regardless of how many IDs it carries.
- The
ftCLI supports all five endpoints:ft delete,ft playlists, andft playlist add / remove / move. See the command reference.
v1.1
New
- Zapier integration (private beta). Connect Finetuning to 8,000+ apps — auto-generate tracks and route finished MP3s anywhere, no code. See Zapier.
POST /v1/generationsaccepts awebhookURL — we POST the completed (or failed) track to your endpoint, so you don't have to poll. See Webhooks.tagsmaximum increased from 500 → 700 characters.durationrange widened from 10–180 → 5–210 seconds (free tier remains capped at 120).
Changed
POST /v1/generationsnow returns202 Accepted(previously201 Created).- Rate limiting on
POST /v1/generationsis now reported separately asGENERATION_RATE_LIMITED(10/min/user);RATE_LIMITEDcontinues to cover read endpoints (60/min/user). See Rate Limits.
v1.0
Base URL: https://pub.finetuning.ai
Endpoints
GET /v1/me— Account info and credit balancePOST /v1/generations— Create a new music generationGET /v1/generations— List your generationsGET /v1/generations/:id— Get generation details
Features
- Text-to-music generation with customizable parameters
- Tag-based genre and mood guidance
- BPM, key, scale, and energy controls
- Credit-based billing
- Rate limiting with standard headers
More endpoints and features are coming soon — stay tuned!