Finetuning.aiFinetuning.ai

Errors

Error codes, responses, and troubleshooting guide

The Finetuning.ai API uses standard HTTP status codes and returns consistent error responses.

Error response format

All errors follow the format:

{
  "error": {
    "code": "...",
    "message": "..."
  }
}

Error codes

CodeStatusDescription
MISSING_API_KEY401X-API-Key header was not provided
INVALID_API_KEY401API key is malformed, revoked, or does not exist
ACCOUNT_DELETED401The account this API key belongs to has been deleted
PRO_PLAN_REQUIRED403Your subscription does not include API access
RATE_LIMITED429Too many requests on a read endpoint — wait and retry (60/min/user)
GENERATION_RATE_LIMITED429Too many calls to a create endpoint — wait and retry (10/min/user, counted separately for music, instrumental, and sound effects)
VALIDATION_ERROR400Request body is missing or has invalid fields
NOT_READY400The work is not completed yet — certificates only exist for finished generations
PAID_PLAN_REQUIRED403The feature needs a paid plan — generation certificates require a Plus, Pro, or Lifetime plan, as do Reimagine and Remove vocals
ADD_FAILED400None of the tracks in a bulk playlist add could be added — see details
MOVE_FAILED400None of the tracks in a bulk playlist move could be moved — see details
MONTHLY_LIMIT_REACHED402No generations remaining this month
QUEUE_FULL429Too many generations in progress
DAILY_LIMIT_REACHED429The shared daily sound-effect cap has been reached — try again tomorrow
GENERATION_FAILED500Generation queue submission failed
NOT_FOUND404Resource not found
INTERNAL_ERROR500Unexpected server error

Reimagine and Remove vocals

These codes come from the Reimagine and Remove vocals endpoints. Everything above applies to them too.

CodeStatusDescription
ATTESTATION_REQUIRED400The rights confirmation is missing or out of date
LYRICS_REQUIRED / LYRICS_TOO_LONG400Reimagine: no lyrics, or more than the song's length allows
INSUFFICIENT_CREDITS402Not enough credits for the render. Also returned by POST /v1/songs/uploads for Reimagine when there's no credit for the transcription (1)
PRIVATE_ONLY403Reimagine / Remove vocals tracks can't be made public, shared or certified
TRANSCRIPT_NOT_READY / TRANSCRIPT_REQUIRED409Reimagine: we haven't finished listening to the song, or haven't been asked to
CATALOGUE_MATCH409The upload matches a commercial release and was deleted
UPLOAD_EXPIRED410The upload's 24 hours are up
FILE_TOO_LARGE413Upload over 20 MB
UNSUPPORTED_FORMAT / UNREADABLE_AUDIO415Not an MP3 or WAV we can read
SONG_TOO_LONG / SONG_TOO_SHORT / SOURCE_UNAVAILABLE / TRIM_FAILED422Upload problems — see POST /v1/songs/uploads
UPLOAD_LIMIT429More than 10 song uploads in an hour or 30 in 24 hours; see Retry-After
FEATURE_COMING503Remove vocals is switched off for now; nothing was charged

Common issues

"Invalid API key"

{
  "error": {
    "code": "INVALID_API_KEY",
    "message": "API key is malformed, revoked, or does not exist"
  }
}

Fix: Ensure you're using the X-API-Key header (not Authorization: Bearer). Double-check for extra whitespace or newlines in your key.

"Monthly limit reached"

{
  "error": {
    "code": "MONTHLY_LIMIT_REACHED",
    "message": "No generations remaining this month"
  }
}

Fix: Upgrade your plan or wait for your monthly limit to reset at finetuning.ai/dashboard.

"Invalid request body"

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "duration must be between 5 and 210 seconds"
  }
}

Fix: Check the message field for details on which fields are invalid.

Generation stuck in "processing"

If a generation stays in processing for more than 5 minutes, it may have failed silently. Contact support.

Need help?

If you're encountering errors not listed here, visit the Support page.

On this page