Langkau ke kandungan utama
TransConvert

API TransConvert

Tukar imej dan dokumen secara programatik dengan satu titik akhir HTTP yang mudah.

image API Penukaran Imej description API Penukaran Dokumen picture_as_pdf API Penukaran PDF movie API Penukaran Video music_note API Penukaran Audio compress API Pemampatan Imej compress API Pemampatan PDF
rocket_launch

Mula pantas

Daripada sifar kepada fail pertama yang ditukar dalam tiga langkah.

1

Dapatkan kunci API anda

Daftar (atau naik taraf akaun sedia ada) ke Basic, Lite, Pro, atau Team, kemudian jana kunci daripada halaman akaun anda — anda boleh kembali dan melihatnya semula pada bila-bila masa.

2

Hantar permintaan

POST fail anda ke titik akhir di bawah sebagai multipart/form-data, dengan kunci anda dalam header Authorization serta category + target ditetapkan.

3

Dapatkan fail anda kembali

Respons 200 ialah bait mentah fail yang telah ditukar — simpan badan respons secara terus. Selain itu semuanya ialah ralat JSON yang menerangkan apa yang tidak kena.

key

Pengesahan

Setiap permintaan memerlukan kunci API, dihantar sebagai token Bearer dalam header Authorization.

Header
Authorization: Bearer tc_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Tersedia pada pelan Basic, Lite, Pro, dan Team. Jana kunci daripada akaun anda →

Uji kunci anda

Cara pantas untuk mengesahkan kunci berfungsi sebelum menulis sebarang kod integrasi sebenar — ini sahaja tidak akan menukar apa-apa (tiada fail dilampirkan), tetapi 400 no_file dan bukannya 401 mengesahkan kunci itu sendiri sah.

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

Titik akhir

Satu titik akhir mengendalikan setiap penukaran. Hantar permintaan POST multipart/form-data dengan fail anda dan medan-medan di bawah.

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

Parameter

Field Description
AuthorizationWajib. "Bearer tc_live_...".
categoryWajib. "image" atau "document" — untuk memampatkan dan bukannya menukar, lihat Mampat di bawah.
targetWajib. Kod format output, cth. "PNG", "DOCX" — lihat Format yang disokong di bawah.
fileWajib. Fail yang hendak ditukar (muat naik multipart).
pdf_modePilihan, kategori image sahaja. "pages" (lalai, merasterkan setiap halaman) atau "extract" (mengeluarkan imej terbenam seadanya) — hanya relevan apabila sumbernya PDF.
pdf_pagesPilihan, kategori image sahaja. "all" (lalai) atau "first".
pdf_qualityPilihan, kategori image sahaja. "normal" (lalai, 150 DPI) atau "high" (300 DPI).

Penukaran biasa

Rujukan pantas untuk pasangan popular — titik akhir yang sama mengendalikan kesemuanya, hanya dengan kombinasi category/target yang berbeza.

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

Respons

Jika berjaya (200): bait mentah fail yang telah ditukar, dengan header Content-Type dan Content-Disposition ditetapkan untuknya. Jika gagal: badan JSON berbentuk {"error": {"code": "...", "message": "..."}} dengan kod status HTTP yang sepadan — lihat Ralat di bawah.

Header Value
Content-TypeJenis MIME sebenar fail yang telah ditukar (cth. image/png, application/pdf).
Content-Dispositionattachment; filename="..." — cadangan nama fail, sama seperti muat turun fail lain.
Content-LengthSaiz badan respons dalam bait.
compress

Mampat

Kecilkan saiz fail tanpa menukar formatnya — format masuk sama dengan format keluar. Sepasang kategori berasingan daripada penukaran, iaitu image-compress dan document-compress, masing-masing dengan pilihannya sendiri di bawah.

image-compress

Format masuk sama dengan format keluar (JPG/PNG/WEBP/GIF) — target_percent ialah sasaran saiz hasil berbanding dengan asal secara kasar, bukan tetapan kualiti yang tetap.

Field Description
categoryTetapkan kepada "image-compress".
target_percentPilihan, 1–100 (lalai 60). Saiz sasaran sebagai anggaran peratusan daripada asal — nombor lebih kecil memampatkan dengan lebih kuat.
fileWajib. JPG, PNG, WEBP, atau 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 masuk, PDF keluar, melalui pemampatan semula Ghostscript sendiri — tidak akan sekali-kali memulangkan fail yang lebih besar daripada yang dimuat naik (kembali kepada fail asal jika pemampatan semula tidak membantu).

Field Description
categoryTetapkan kepada "document-compress".
levelPilihan: "low", "medium" (lalai), "high", atau "none". Pemampatan lebih tinggi mengorbankan lebih banyak kualiti visual, terutamanya pada imej/imbasan terbenam.
grayscalePilihan. "1" untuk turut menukar kepada skala kelabu; biarkan kosong untuk warna penuh.
fileWajib. PDF yang tidak terbuka/dilindungi kata laluan (gunakan Buka Kunci PDF di laman web dahulu jika ia dilindungi).
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-SizeSaiz fail yang dimuat naik dalam bait, sebelum pemampatan.
X-Saved-PercentAnggaran berapa peratus lebih kecil hasilnya berbanding asal, sebagai peratusan nombor bulat (boleh jadi 0).
movie

Video & audio (async)

Penukaran video dan audio boleh mengambil masa beberapa minit — terlalu lama untuk mengekalkan satu permintaan segerak terbuka — jadi ia menggunakan aliran hantar-kemudian-tinjau, bukan titik akhir di atas. Hantar fail, dapatkan job_id serta-merta, kemudian tinjau statusnya sehingga selesai.

Hantar tugas

Bentuk POST multipart yang sama seperti titik akhir utama, pada URL yang berbeza.

POST https://transconvert.com/api/v1/convert-async.php
Field Description
AuthorizationWajib. "Bearer tc_live_...".
category"video" atau "audio".
targetWajib — cth. "MP4", "MOV", "MP3", "WAV".
fileWajib. Fail yang hendak ditukar (muat naik multipart).
webhook_urlPilihan. URL http(s) untuk POST hasil kerja apabila selesai, selain hanya membuat tinjauan (polling) job-status.php. Mesti diselesaikan kepada alamat awam.
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"

Respons (202 Accepted)

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

Tinjau status

Tinjau ini setiap beberapa saat menggunakan job_id yang diterima. "status" ialah salah satu daripada queued, processing, completed, atau 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"
}

Webhook (pilihan)

Jika anda memberikan webhook_url semasa penghantaran, kami akan POST kandungan JSON yang sama ke situ sekali apabila kerja selesai — berjaya atau gagal — dan cuba semula beberapa kali jika titik akhir anda tidak bertindak balas. job-status.php tetap berfungsi sebagai alternatif.

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"
}

Muat turun hasil

Apabila status ialah "completed", respons menyertakan download_url — URL status yang sama dengan &download=1 ditambah di hujungnya. Memintanya kemudian menstrim bait mentah fail yang telah ditukar, dengan header yang sama seperti setiap titik akhir lain pada halaman ini. Hasil akan dipadam sebaik sahaja dimuat turun, atau dipadam secara automatik selepas tempoh penyimpanan yang singkat jika tidak pernah dimuat turun.

scheduleHasil tugas dipadam sejurus selepas dimuat turun, atau dipadam secara automatik selepas tempoh penyimpanan yang singkat jika tidak pernah dimuat turun — muat turun dengan segera.

terminal

Contoh

Permintaan yang sama dalam empat bahasa — pilih mana-mana yang sepadan dengan tindanan anda. Setiap satu menukar photo.jpg tempatan kepada PNG dan menyimpan hasilnya.

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

Ralat

Setiap kegagalan memulangkan sampul ralat JSON dengan "code" yang boleh digunakan kod anda untuk bercabang, ditambah "message" yang boleh dibaca manusia. Sesetengah ralat menyertakan medan tambahan (quota_exceeded menyertakan "limit" dan "used", sebagai contoh).

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_keyTiada header Authorization dihantar.
401 invalid_keyKunci tersebut tidak wujud, atau telah dibatalkan.
403 account_suspendedAkaun yang memiliki kunci ini telah digantung.
403 plan_requiredAkaun berada pada pelan Percuma — akses API memerlukan Basic, Lite, Pro, atau Team.
400 invalid_category"category" bukan "image" atau "document".
400 missing_target"target" kosong.
400 no_fileTiada fail dihantar, atau muat naik gagal — medan itu mesti dinamakan "file".
413 file_too_largeFail melebihi saiz muat naik maksimum pelan anda.
429 quota_exceededPeruntukan minit penukaran bulanan pelan telah habis digunakan. Direset pada awal bulan kalendar berikutnya.
429 concurrency_limitTerlalu banyak penukaran sedang berjalan serentak untuk akaun ini (dikongsi dengan laman web) — tunggu sehingga salah satu selesai dan cuba lagi.
400/415/422/500/503 conversion_failedFail itu sendiri tidak dapat ditukar — "message" menerangkan sebabnya. Kod status berbeza mengikut sebab: 400/415/422 bermaksud fail atau target tidak akan berfungsi tidak kira berapa kali anda cuba semula; 500/503 bermaksud masalah di pihak pelayan, dan 503 khususnya berbaloi untuk dicuba semula dengan singkat.
405 method_not_allowedKaedah HTTP salah — titik akhir ini hanya menerima POST.
400 invalid_target"target" bukan format output yang disokong untuk kategori tersebut.
404 job_not_foundTiada tugas dengan id tersebut wujud untuk akaun ini (turut dikembalikan untuk job_id akaun lain — kewujudannya tidak pernah didedahkan).
410 result_goneTugas telah selesai, tetapi hasilnya telah pun dipadam (hasil dipadam sejurus selepas dimuat turun, atau secara automatik selepas tempoh penyimpanan yang singkat).
500 storage_failedPelayan tidak dapat menyimpan muat naik untuk pemprosesan latar belakang. Selamat untuk cuba semula.

Mengendalikan ralat & cuba semula

Bercabang berdasarkan medan JSON "code", bukan teks "message" — kata-kata mungkin berubah dari semasa ke semasa, kod tidak. concurrency_limit berbaloi untuk dicuba semula dengan singkat selepas beberapa saat (ia hilang sebaik sahaja salah satu penukaran anda yang sedang berjalan selesai); quota_exceeded tidak akan selesai dengan sendirinya sehingga bulan depan, jadi jangan cuba semula dalam gelung. conversion_failed ialah satu-satunya kod di mana status HTTP masih penting: 503 ialah isu sementara di pihak pelayan yang berbaloi untuk satu percubaan semula yang singkat, manakala 400/415/422/500 bermaksud kombinasi fail/sasaran itu tepat tidak akan berjaya tidak kira berapa kali anda hantar semula. Menyemak saiz fail di pihak klien sebelum memuat naik mengelakkan pembaziran permintaan atas file_too_large yang sudah pasti berlaku.

speed

Pelan & had

API berkongsi hadnya dengan pelan yang sama yang anda sudah gunakan di laman web — tiada apa-apa berasingan untuk dikonfigurasikan.

bolt

Basic

bolt2000 minit penukaran / bulan

upload_fileFail sehingga 2 GB

sync_alt50 permintaan serentak

speed30 permintaan/minit

bolt

Lite

bolt3000 minit penukaran / bulan

upload_fileFail sehingga 4 GB

sync_alt100 permintaan serentak

speed60 permintaan/minit

Paling popular
workspace_premium

Pro

bolt5000 minit penukaran / bulan

upload_fileFail sehingga 10 GB

sync_altPermintaan serentak tanpa had

speed120 permintaan/minit

group

Team

bolt10000 minit penukaran / bulan

upload_fileFail sehingga 20 GB

sync_altPermintaan serentak tanpa had

speed240 permintaan/minit

tollDikongsi dengan kumpulan kredit bulanan pasukan, jika ia menggunakannya

Sebaik sahaja had seminit dikenakan, setiap respons menyertakan pengepala X-RateLimit-Limit dan X-RateLimit-Remaining; respons 429 turut menyertakan Retry-After (dalam saat) — gunakannya untuk memperlahankan sebelum mencapai had, bukan hanya bertindak balas selepas 429.

layers

Format yang disokong

Enjin penukaran yang sama persis dengan yang digunakan laman web — tiada apa yang eksklusif untuk API atau eksklusif untuk laman web.

image

category: image

Diterima sebagai sumber:

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

Tersedia sebagai sasaran:

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

description

category: document

Diterima sebagai sumber:

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

Tersedia sebagai sasaran:

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

compress

category: image-compress

Sumber dan sasaran (format masuk sama dengan format keluar):

JPG, PNG, WEBP, GIF

compress

category: document-compress

Sumber dan sasaran (format masuk sama dengan format keluar):

PDF

movie

category: video (async)

Sumber dan sasaran (format masuk sama dengan format keluar):

MP4, MOV, AVI, MKV, WEBM

music_note

category: audio (async)

Sumber dan sasaran (format masuk sama dengan format keluar):

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

infoVideo dan audio — baik penukaran mahupun pemampatan — buat masa ini hanya tersedia di laman web: panggilan HTTP segerak kurang sesuai untuk tugas yang boleh mengambil masa beberapa minit.

help

Soalan lazim

Adakah API menyokong penukaran video atau audio?

Belum lagi — penukaran tersebut boleh mengambil masa beberapa minit, yang kurang sesuai untuk satu permintaan HTTP segerak. Ia tersedia di laman web hari ini; sokongan API mungkin menyusul jika versi API berasaskan tak segerak/tugasan pernah wujud.

Apa akan berlaku kepada kunci saya jika saya turun taraf ke Percuma?

Akses API memerlukan Basic, Lite, Pro, atau Team. Jika akaun beralih ke Percuma — sama ada dibatalkan, atau langganan tamat — kunci sedia ada akan berhenti berfungsi serta-merta. Ia akan berfungsi semula secara automatik jika akaun kembali ke pelan berbayar; anda tidak perlu menjana yang baharu.

Bilakah peruntukan bulanan saya direset?

Pada awal setiap bulan kalendar, bukan pada tarikh bil anda.

Adakah terdapat mod sandbox atau mod ujian?

Buat masa ini tidak — setiap permintaan dikira daripada peruntukan bulanan sebenar anda. Gunakan fail kecil semasa mengintegrasikan untuk menjimatkannya.

Bolehkah saya menjalankan penukaran secara selari?

Sehingga had konkurensi pelan anda (lihat Pelan & had di atas) — dikongsi dengan sebarang penukaran yang anda juga jalankan di laman web pada masa yang sama, bukan peruntukan berasingan khusus API.

Adakah compress menjamin fail yang lebih kecil?

Untuk document-compress, ya — ia tidak akan sekali-kali memulangkan PDF yang lebih besar daripada yang dimuat naik; jika pemampatan semula Ghostscript tidak membantu, anda akan menerima semula fail asal tanpa perubahan (X-Saved-Percent akan menunjukkan 0). Untuk image-compress, target_percent ialah sasaran yang cuba dicapai oleh pengekod, bukan jaminan mutlak — sumber yang sudah sangat termampat mungkin tidak dapat dikecilkan lagi dengan banyak.

Sedia untuk bermula?

Jana kunci dan buat permintaan pertama anda dalam masa kurang seminit.

Dapatkan kunci API anda