Przejdź do treści głównej
TransConvert

Video Conversion API

Convert video between MP4, MOV, AVI, MKV, and WEBM. Video encodes can take minutes, so this is an async, submit-then-poll endpoint rather than one blocking request — same ffmpeg engine behind TransConvert's website converter.

Konwersje wideo i audio mogą trwać kilka minut — zbyt długo, by utrzymywać jedno synchroniczne żądanie — dlatego zamiast powyższego endpointu korzystają z modelu wyślij-i-odpytuj. Prześlij plik, od razu otrzymaj job_id, a następnie odpytuj o jego status, aż będzie gotowy.

Prześlij zadanie

POST https://transconvert.com/api/v1/convert-async.php
Field Description
AuthorizationRequired. "Bearer tc_live_...".
categorySet to "video".
targetRequired. Output format code: "MP4", "MOV", "AVI", "MKV", or "WEBM".
fileRequired. The video file.
TransConvert
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" \
  -o output.mp4

Odpytuj o status

Odpytuj co kilka sekund, używając otrzymanego job_id. „status” przyjmuje jedną z wartości: queued, processing, completed lub 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_...

Pobierz wynik

Gdy status to „completed”, odpowiedź zawiera download_url — ten sam adres URL statusu z dopisanym &download=1. Zażądanie go strumieniuje surowe bajty przekonwertowanego pliku, z takimi samymi nagłówkami jak każdy inny endpoint na tej stronie. Wynik jest usuwany w momencie pobrania, a jeśli nigdy nie zostanie pobrany — automatycznie po krótkim okresie przechowywania.

scheduleWyniki zadań są usuwane natychmiast po pobraniu, a jeśli nigdy nie zostaną pobrane — automatycznie po krótkim okresie przechowywania — pobierz je bez zwłoki.

Błędy

Każde niepowodzenie zwraca kopertę błędu JSON z polem „code”, po którym Twój kod może rozgałęziać logikę, oraz czytelnym dla człowieka polem „message”. Niektóre błędy zawierają dodatkowe pola (na przykład quota_exceeded zawiera „limit” i „used”).

Status & code When it happens
401 missing_keyNie wysłano nagłówka Authorization.
401 invalid_keyKlucz nie istnieje lub został unieważniony.
403 account_suspendedKonto, do którego należy ten klucz, zostało zawieszone.
403 plan_requiredKonto jest w planie Free — dostęp do API wymaga planu Basic, Lite, Pro lub Team.
400 invalid_categoryPole „category” nie miało wartości „image” ani „document”.
400 invalid_target„target” nie jest obsługiwanym formatem wyjściowym dla tej kategorii.
400 no_fileNie wysłano żadnego pliku albo przesyłanie się nie powiodło — pole musi nazywać się „file”.
413 file_too_largePlik przekracza maksymalny rozmiar przesyłania dla Twojego planu.
429 quota_exceededMiesięczny limit minut konwersji w tym planie został wyczerpany. Odnawia się na początku kolejnego miesiąca kalendarzowego.
429 concurrency_limitZbyt wiele konwersji uruchomionych jednocześnie dla tego konta (limit współdzielony ze stroną) — poczekaj, aż jedna się zakończy, i spróbuj ponownie.
404 job_not_foundNie istnieje zadanie o tym identyfikatorze na tym koncie (zwracane też dla job_id innego konta — jego istnienie nigdy nie jest ujawniane).
410 result_goneZadanie zostało ukończone, ale jego wynik został już usunięty (wyniki są usuwane natychmiast po pobraniu lub automatycznie po krótkim okresie przechowywania).
400/415/422/500/503 conversion_failedSamego pliku nie udało się przekonwertować — powód wyjaśnia pole „message”. Kod statusu zależy od przyczyny: 400/415/422 oznaczają, że plik lub format docelowy nie zadziałają niezależnie od liczby prób; 500/503 oznaczają problem po stronie serwera, a 503 w szczególności warto krótko ponowić.

Supported formats

MP4, MOV, AVI, MKV, WEBM

Powiązane