Skip to main content
TransConvert

Audio Conversion API

Convert audio between any of 23 supported formats — MP3, WAV, OGG, AAC, FLAC, M4A, WMA, OPUS, AIFF, AMR, AU, CAF, AC3, DTS, GSM, IRCAM, MP2, TTA, VOC, W64, WV, SPX, and RM. Like video, this is an async, submit-then-poll endpoint rather than one blocking request — same ffmpeg engine behind TransConvert's website converter.

Video and audio conversions can run for minutes, too long to hold open a single synchronous request — these use a submit-then-poll flow instead of the endpoint above. Submit a file, get a job_id back right away, then poll for its status until it's done.

Submit a job

POST https://transconvert.com/api/v1/convert-async.php
Field Description
AuthorizationRequired. "Bearer tc_live_...".
categorySet to "audio".
targetRequired. Output format code: "MP3", "WAV", "OGG", "AAC", "FLAC", "M4A", "WMA", "OPUS", "AIFF", "AMR", "AU", "CAF", "AC3", "DTS", "GSM", "IRCAM", "MP2", "TTA", "VOC", "W64", "WV", "SPX", or "RM".
fileRequired. The audio file.
TransConvert
curl -X POST \
  https://transconvert.com/api/v1/convert-async.php \
  -H "Authorization: Bearer tc_live_your_key_here" \
  -F "category=audio" \
  -F "target=MP3" \
  -F "file=@track.wav" \
  -o output.mp3

Poll for status

Poll this every few seconds with the job_id you got back. "status" is one of queued, processing, completed, or failed.

GET https://transconvert.com/api/v1/job-status.php?job_id=job_...
cURL
curl -H "Authorization: Bearer tc_live_your_key_here" \
  https://transconvert.com/api/v1/job-status.php?job_id=job_...

Download the result

Once status is "completed", the response includes a download_url — the same status URL with &download=1 appended. Requesting it then streams the converted file's raw bytes, same headers as every other endpoint on this page. The result is deleted the moment it's downloaded, or automatically after a short retention window if it's never downloaded.

scheduleJob results are deleted immediately after download, or automatically after a short retention window if never downloaded — download promptly.

Errors

Every failure returns a JSON error envelope with a "code" your code can branch on, plus a human-readable "message". Some errors include extra fields (quota_exceeded includes "limit" and "used", for example).

Status & code When it happens
401 missing_keyNo Authorization header was sent.
401 invalid_keyThe key doesn't exist, or has been revoked.
403 account_suspendedThe account owning this key is suspended.
403 plan_requiredThe account is on the Free plan — API access needs Basic, Lite, Pro, or Team.
400 invalid_category"category" wasn't "image" or "document".
400 invalid_target"target" isn't a supported output format for that category.
400 no_fileNo file was sent, or the upload failed — the field must be named "file".
413 file_too_largeThe file exceeds your plan's max upload size.
429 quota_exceededThe plan's monthly conversion-minutes allowance is used up. Resets at the start of the next calendar month.
429 concurrency_limitToo many conversions already running at once for this account (shared with the website) — wait for one to finish and retry.
404 job_not_foundNo job with that id exists for this account (also returned for another account's job_id — its existence is never revealed).
410 result_goneThe job completed, but its result has since been deleted (results are removed immediately after download, or automatically after a short retention window).
400/415/422/500/503 conversion_failedThe file itself couldn't be converted — "message" explains why. The status code varies with the reason: 400/415/422 mean the file or target won't work no matter how many times you retry; 500/503 mean a server-side problem, and 503 specifically is worth a short retry.

Supported formats

MP3, WAV, OGG, AAC, FLAC, M4A, WMA, OPUS, AIFF, AMR, AU, CAF, AC3, DTS, GSM, IRCAM, MP2, TTA, VOC, W64, WV, SPX, RM

Related