Zum Hauptinhalt springen
TransConvert

TransConvert API

Konvertieren Sie Bilder und Dokumente programmgesteuert über einen einzigen, einfachen HTTP-Endpunkt.

image Bildkonvertierungs-API description Dokumentkonvertierungs-API picture_as_pdf PDF-Konvertierungs-API movie Video-Konvertierungs-API music_note Audio-Konvertierungs-API compress Bildkomprimierungs-API compress PDF-Komprimierungs-API
rocket_launch

Schnellstart

In drei Schritten von null zu Ihrer ersten konvertierten Datei.

1

API-Schlüssel erhalten

Registrieren Sie sich (oder upgraden Sie ein bestehendes Konto) auf Basic, Lite, Pro oder Team und erstellen Sie dann einen Schlüssel auf Ihrer Kontoseite – Sie können ihn dort jederzeit erneut ansehen.

2

Anfrage senden

Senden Sie Ihre Datei per POST als multipart/form-data an den unten stehenden Endpunkt, mit Ihrem Schlüssel im Authorization-Header sowie gesetztem category und target.

3

Datei zurückerhalten

Eine 200-Antwort besteht aus den Rohbytes der konvertierten Datei – speichern Sie den Antwortkörper direkt. Alles andere ist ein JSON-Fehler, der erklärt, was schiefgelaufen ist.

key

Authentifizierung

Jede Anfrage benötigt einen API-Schlüssel, der als Bearer-Token im Authorization-Header gesendet wird.

Header
Authorization: Bearer tc_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Verfügbar in den Plänen Basic, Lite, Pro und Team. Schlüssel in Ihrem Konto erstellen →

Schlüssel testen

Eine schnelle Möglichkeit, zu prüfen, ob ein Schlüssel funktioniert, bevor Sie echten Integrationscode schreiben – dies allein konvertiert nichts (keine Datei angehängt), aber ein 400 no_file statt eines 401 bestätigt, dass der Schlüssel selbst gültig ist.

curl -X POST -H "Authorization: Bearer tc_live_your_key_here" -F "category=image" https://transconvert.com/api/v1/convert.php
dns

Der Endpunkt

Ein einzelner Endpunkt verarbeitet jede Konvertierung. Senden Sie eine multipart/form-data-POST-Anfrage mit Ihrer Datei und den unten stehenden Feldern.

POST https://transconvert.com/api/v1/convert.php

Parameter

Field Description
AuthorizationErforderlich. „Bearer tc_live_...".
categoryErforderlich. „image" oder „document" – zum Komprimieren statt Konvertieren siehe „Compress" weiter unten.
targetErforderlich. Der Ausgabeformat-Code, z. B. „PNG", „DOCX" – siehe „Unterstützte Formate" weiter unten.
fileErforderlich. Die zu konvertierende Datei (multipart-Upload).
pdf_modeOptional, nur Kategorie „image". „pages" (Standard, rastert jede Seite) oder „extract" (extrahiert eingebettete Bilder unverändert) – nur relevant, wenn die Quelle eine PDF-Datei ist.
pdf_pagesOptional, nur Kategorie „image". „all" (Standard) oder „first".
pdf_qualityOptional, nur Kategorie „image". „normal" (Standard, 150 DPI) oder „high" (300 DPI).

Häufige Konvertierungen

Eine schnelle Übersicht beliebter Paare – derselbe Endpunkt verarbeitet sie alle, nur mit einer anderen category/target-Kombination.

Source → target category target
PNG → JPGimageJPG
JPG → PNGimagePNG
HEIC → JPGimageJPG
WEBP → PNGimagePNG
JPG → PDFimagePDF
PDF → JPGimageJPG
DOCX → PDFdocumentPDF
PDF → DOCXdocumentDOCX
PPTX → PDFdocumentPDF
XLSX → PDFdocumentPDF

Antwort

Bei Erfolg (200): die Rohbytes der konvertierten Datei, mit entsprechend gesetzten Content-Type- und Content-Disposition-Headern. Bei einem Fehler: ein JSON-Body der Form {"error": {"code": "...", "message": "..."}} mit passendem HTTP-Statuscode – siehe „Fehler" weiter unten.

Header Value
Content-TypeDer tatsächliche MIME-Typ der konvertierten Datei (z. B. image/png, application/pdf).
Content-Dispositionattachment; filename="..." – ein vorgeschlagener Dateiname, wie bei jedem Datei-Download.
Content-LengthGröße des Antwortkörpers in Bytes.
compress

Komprimieren

Verkleinert eine Datei, ohne ihr Format zu ändern – gleiches Format rein, gleiches Format raus. Eine eigene Gruppe von Kategorien getrennt von der Konvertierung, image-compress und document-compress, jede mit eigenen Optionen weiter unten.

image-compress

Gleiches Format rein, gleiches Format raus (JPG/PNG/WEBP/GIF) – target_percent gibt an, wie klein das Ergebnis im Verhältnis zum Original ungefähr sein soll, keine feste Qualitätseinstellung.

Field Description
categoryAuf „image-compress" setzen.
target_percentOptional, 1–100 (Standard 60). Zielgröße als ungefährer Prozentsatz des Originals – kleinere Zahlen komprimieren stärker.
fileErforderlich. JPG, PNG, WEBP oder GIF.
cURL
curl -X POST \
  https://transconvert.com/api/v1/convert.php \
  -H "Authorization: Bearer tc_live_your_key_here" \
  -F "category=image-compress" \
  -F "target_percent=50" \
  -F "file=@photo.jpg" \
  -o compressed.jpg

document-compress

PDF rein, PDF raus, mittels Ghostscripts eigener Rekomprimierung – liefert nie eine größere Datei als die hochgeladene zurück (fällt auf das Original zurück, falls die Rekomprimierung nichts gebracht hat).

Field Description
categoryAuf „document-compress" setzen.
levelOptional: „low", „medium" (Standard), „high" oder „none". Höhere Komprimierung geht auf Kosten der visuellen Qualität, vor allem bei eingebetteten Bildern/Scans.
grayscaleOptional. „1", um zusätzlich in Graustufen umzuwandeln; weglassen für Vollfarbe.
fileErforderlich. Eine PDF-Datei, die weder geöffnet noch passwortgeschützt ist (verwenden Sie andernfalls zuerst „PDF entsperren" auf der Website).
cURL
curl -X POST \
  https://transconvert.com/api/v1/convert.php \
  -H "Authorization: Bearer tc_live_your_key_here" \
  -F "category=document-compress" \
  -F "level=high" \
  -F "file=@report.pdf" \
  -o compressed.pdf
Header Value
X-Original-SizeDie Größe der hochgeladenen Datei in Bytes, vor der Komprimierung.
X-Saved-PercentUngefähr, um wie viel kleiner das Ergebnis als das Original ist, als ganzzahliger Prozentsatz (kann 0 sein).
movie

Video & Audio (asynchron)

Video- und Audiokonvertierungen können mehrere Minuten dauern — zu lange, um eine einzelne synchrone Anfrage offen zu halten. Dafür wird statt des obigen Endpunkts ein Submit-dann-Poll-Ablauf verwendet: Sie senden eine Datei, erhalten sofort eine job_id zurück und fragen dann deren Status ab, bis der Vorgang abgeschlossen ist.

Auftrag einreichen

Dieselbe Multipart-POST-Struktur wie beim Haupt-Endpunkt, nur unter einer anderen URL.

POST https://transconvert.com/api/v1/convert-async.php
Field Description
AuthorizationErforderlich. „Bearer tc_live_...".
category„video" oder „audio".
targetErforderlich — z. B. „MP4", „MOV", „MP3", „WAV".
fileErforderlich. Die zu konvertierende Datei (multipart-Upload).
webhook_urlOptional. Eine http(s)-URL, an die das Jobergebnis per POST gesendet wird, sobald es fertig ist – statt nur job-status.php abzufragen. Muss auf eine öffentliche Adresse auflösen.
cURL
curl -X POST \
  https://transconvert.com/api/v1/convert-async.php \
  -H "Authorization: Bearer tc_live_your_key_here" \
  -F "category=video" \
  -F "target=MP4" \
  -F "file=@clip.mov"

Antwort (202 Accepted)

{ "job_id": "job_242e1555d78d166807aa56502f15d118", "status": "queued" }

Status abfragen

Fragen Sie diesen Endpunkt alle paar Sekunden mit der erhaltenen job_id ab. „status" ist einer von queued, processing, completed oder failed.

GET https://transconvert.com/api/v1/job-status.php?job_id=job_...
{
  "job_id": "job_242e1555d78d166807aa56502f15d118",
  "status": "completed",
  "category": "video",
  "target_format": "MP4",
  "created_at": "2026-08-26 19:17:47",
  "download_url": "/api/v1/job-status.php?job_id=job_...&download=1",
  "filename": "clip.mp4"
}

Webhooks (optional)

Wenn Sie bei der Übermittlung eine webhook_url angegeben haben, senden wir denselben JSON-Body einmal per POST dorthin, sobald der Job fertig ist – bei Erfolg oder Fehlschlag – und versuchen es bei fehlender Antwort einige Male erneut. job-status.php funktioniert weiterhin als Fallback.

POST your webhook_url
{
  "job_id": "job_242e1555d78d166807aa56502f15d118",
  "status": "completed",
  "category": "video",
  "target_format": "MP4",
  "created_at": "2026-08-26 19:17:47",
  "download_url": "https://transconvert.com/api/v1/job-status.php?job_id=job_...&download=1",
  "filename": "clip.mp4"
}

Ergebnis herunterladen

Sobald der Status „completed" ist, enthält die Antwort eine download_url — dieselbe Status-URL mit angehängtem &download=1. Ruft man sie auf, werden die Rohdaten der konvertierten Datei gestreamt, mit denselben Headern wie bei jedem anderen Endpunkt auf dieser Seite. Das Ergebnis wird in dem Moment gelöscht, in dem es heruntergeladen wird, oder automatisch nach einem kurzen Aufbewahrungszeitraum, falls es nie heruntergeladen wird.

scheduleAuftragsergebnisse werden sofort nach dem Herunterladen gelöscht oder automatisch nach einem kurzen Aufbewahrungszeitraum, falls sie nie heruntergeladen werden — laden Sie sie zeitnah herunter.

terminal

Beispiele

Dieselbe Anfrage in vier Sprachen – wählen Sie die, die zu Ihrem Stack passt. Jedes Beispiel konvertiert eine lokale photo.jpg in PNG und speichert das Ergebnis.

TransConvert
curl -X POST \
  https://transconvert.com/api/v1/convert.php \
  -H "Authorization: Bearer tc_live_your_key_here" \
  -F "category=image" \
  -F "target=PNG" \
  -F "file=@photo.jpg" \
  -o converted.png
error

Fehler

Jeder Fehler liefert einen JSON-Fehlerumschlag mit einem „code", anhand dessen Ihr Code Fallunterscheidungen treffen kann, sowie einer lesbaren „message". Manche Fehler enthalten zusätzliche Felder (quota_exceeded enthält beispielsweise „limit" und „used").

429 Too Many Requests
{
  "error": {
    "code": "quota_exceeded",
    "message": "Monthly API allowance of 5000 conversion-minutes reached.",
    "limit": 5000,
    "used": 5000
  }
}
Status & code When it happens
401 missing_keyEs wurde kein Authorization-Header gesendet.
401 invalid_keyDer Schlüssel existiert nicht oder wurde widerrufen.
403 account_suspendedDas Konto, dem dieser Schlüssel gehört, ist gesperrt.
403 plan_requiredDas Konto nutzt den kostenlosen Plan – für API-Zugriff ist Basic, Lite, Pro oder Team erforderlich.
400 invalid_category„category" war weder „image" noch „document".
400 missing_target„target" war leer.
400 no_fileEs wurde keine Datei gesendet, oder der Upload ist fehlgeschlagen – das Feld muss „file" heißen.
413 file_too_largeDie Datei überschreitet die maximale Upload-Größe Ihres Plans.
429 quota_exceededDas monatliche Kontingent an Umwandlungsminuten des Plans ist aufgebraucht. Es wird zu Beginn des nächsten Kalendermonats zurückgesetzt.
429 concurrency_limitFür dieses Konto laufen bereits zu viele Konvertierungen gleichzeitig (gemeinsam mit der Website genutzt) – warten Sie, bis eine davon abgeschlossen ist, und versuchen Sie es erneut.
400/415/422/500/503 conversion_failedDie Datei selbst konnte nicht konvertiert werden – „message" erklärt den Grund. Der Statuscode hängt vom Grund ab: 400/415/422 bedeuten, dass die Datei oder das Zielformat unabhängig von der Anzahl der Versuche nicht funktionieren wird; 500/503 bedeuten ein serverseitiges Problem, wobei sich bei 503 insbesondere ein kurzer erneuter Versuch lohnt.
405 method_not_allowedFalsche HTTP-Methode – dieser Endpunkt akzeptiert nur POST.
400 invalid_target„target" ist kein unterstütztes Ausgabeformat für diese Kategorie.
404 job_not_foundFür dieses Konto existiert kein Auftrag mit dieser ID (wird auch für die job_id eines anderen Kontos zurückgegeben — deren Existenz wird nie preisgegeben).
410 result_goneDer Auftrag wurde abgeschlossen, aber sein Ergebnis wurde inzwischen gelöscht (Ergebnisse werden sofort nach dem Herunterladen oder automatisch nach einem kurzen Aufbewahrungszeitraum entfernt).
500 storage_failedDer Server konnte den Upload nicht für die Hintergrundverarbeitung speichern. Ein erneuter Versuch ist unbedenklich.

Umgang mit Fehlern & erneuten Versuchen

Orientieren Sie sich am „code"-Feld des JSON, nicht am „message"-Text – der Wortlaut kann sich ändern, der Code nicht. Bei concurrency_limit lohnt sich ein kurzer erneuter Versuch nach ein paar Sekunden (er verschwindet, sobald eine Ihrer laufenden Konvertierungen abgeschlossen ist); quota_exceeded löst sich erst im nächsten Monat von selbst, versuchen Sie es also nicht in einer Schleife erneut. conversion_failed ist der einzige Code, bei dem der HTTP-Statuscode weiterhin wichtig ist: Ein 503 ist ein vorübergehendes serverseitiges Problem, bei dem sich ein kurzer erneuter Versuch lohnt, während 400/415/422/500 bedeuten, dass genau diese Kombination aus Datei und Zielformat unabhängig von der Anzahl der Versuche nicht gelingen wird. Die Dateigröße clientseitig vor dem Hochladen zu prüfen, erspart eine Anfrage, die garantiert zu file_too_large führt.

speed

Pläne & Limits

Die API teilt sich ihre Limits mit dem Plan, den Sie bereits auf der Website nutzen – nichts Separates zu konfigurieren.

bolt

Basic

bolt2000 Umwandlungsminuten/Monat

upload_fileDateien bis zu 2 GB

sync_alt50 Anfrage(n) gleichzeitig

speed30 Anfragen/Minute

bolt

Lite

bolt3000 Umwandlungsminuten/Monat

upload_fileDateien bis zu 4 GB

sync_alt100 Anfrage(n) gleichzeitig

speed60 Anfragen/Minute

Am beliebtesten
workspace_premium

Pro

bolt5000 Umwandlungsminuten/Monat

upload_fileDateien bis zu 10 GB

sync_altUnbegrenzt viele Anfragen gleichzeitig

speed120 Anfragen/Minute

group

Team

bolt10000 Umwandlungsminuten/Monat

upload_fileDateien bis zu 20 GB

sync_altUnbegrenzt viele Anfragen gleichzeitig

speed240 Anfragen/Minute

tollGemeinsam mit dem monatlichen Guthaben-Pool des Teams genutzt, sofern dieses einen verwendet

Sobald ein Minutenlimit gilt, enthält jede Antwort die Header X-RateLimit-Limit und X-RateLimit-Remaining; eine 429-Antwort enthält zusätzlich Retry-After (in Sekunden) — nutzen Sie diese, um rechtzeitig zu drosseln, statt erst auf einen 429 zu reagieren.

layers

Unterstützte Formate

Genau dieselbe Konvertierungs-Engine, die auch die Website nutzt – nichts ist nur der API oder nur der Website vorbehalten.

image

category: image

Als Quelle akzeptiert:

JPG, PNG, GIF, WEBP, BMP, AVIF, PDF, PSD, TIFF, EPS, HEIC

Als Ziel verfügbar:

JPG, PNG, GIF, WEBP, BMP, AVIF, PDF, ICO, PSD, TIFF, EPS

description

category: document

Als Quelle akzeptiert:

PDF, DOCX, DOC, PPTX, PPT, XLSX, XLS, RTF, ODT, ODP, ODS, HTML

Als Ziel verfügbar:

PDF, DOCX, DOC, PPTX, PPT, XLSX, XLS, RTF, ODT, ODP, ODS

compress

category: image-compress

Quelle und Ziel (gleiches Format rein, gleiches Format raus):

JPG, PNG, WEBP, GIF

compress

category: document-compress

Quelle und Ziel (gleiches Format rein, gleiches Format raus):

PDF

movie

category: video (async)

Quelle und Ziel (gleiches Format rein, gleiches Format raus):

MP4, MOV, AVI, MKV, WEBM

music_note

category: audio (async)

Quelle und Ziel (gleiches Format rein, gleiches Format raus):

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

infoVideo und Audio – sowohl Konvertieren als auch Komprimieren – sind derzeit nur über die Website verfügbar: Ein synchroner HTTP-Aufruf eignet sich schlecht für einen Vorgang, der mehrere Minuten dauern kann.

help

Häufig gestellte Fragen

Unterstützt die API Video- oder Audiokonvertierung?

Noch nicht – diese Konvertierungen können mehrere Minuten dauern, was sich schlecht mit einer einzelnen synchronen HTTP-Anfrage verträgt. Sie sind bereits heute auf der Website verfügbar; API-Unterstützung könnte folgen, falls es einmal eine asynchrone, jobbasierte Version der API gibt.

Was passiert mit meinem Schlüssel, wenn ich auf Free herabstufe?

API-Zugriff erfordert Basic, Lite, Pro oder Team. Wechselt das Konto zu Free – durch Kündigung oder ein auslaufendes Abonnement –, funktionieren bestehende Schlüssel sofort nicht mehr. Sie funktionieren automatisch wieder, sobald das Konto erneut einen kostenpflichtigen Plan hat; Sie müssen keinen neuen erstellen.

Wann wird mein monatliches Kontingent zurückgesetzt?

Zu Beginn jedes Kalendermonats, nicht an Ihrem Abrechnungsdatum.

Gibt es einen Sandbox- oder Testmodus?

Derzeit nicht – jede Anfrage zählt auf Ihr reales monatliches Kontingent. Verwenden Sie beim Integrieren kleine Dateien, um es zu schonen.

Kann ich Konvertierungen parallel ausführen?

Bis zum Nebenläufigkeitslimit Ihres Plans (siehe „Pläne & Limits" oben) – gemeinsam genutzt mit Konvertierungen, die Sie gleichzeitig auch auf der Website ausführen, kein separates, nur für die API geltendes Kontingent.

Garantiert Compress eine kleinere Datei?

Bei document-compress ja – es wird nie eine größere PDF-Datei zurückgegeben als die hochgeladene; falls Ghostscripts Rekomprimierung nichts gebracht hat, erhalten Sie das unveränderte Original zurück (X-Saved-Percent zeigt dann 0). Bei image-compress ist target_percent ein Zielwert, den der Encoder anstrebt, keine feste Garantie – eine bereits stark komprimierte Quelldatei lässt sich möglicherweise nicht viel weiter verkleinern.

Bereit loszulegen?

Erstellen Sie einen Schlüssel und senden Sie Ihre erste Anfrage in unter einer Minute.

API-Schlüssel abrufen