Geliştirici API'si

Her dosya iş akışı için tek bir evrensel API

Converter App, geliştiricilere yüksek performanslı bir dosya işleme arayüzü sunar. Ölçeklenebilir belge dönüştürme, medya işleme, transkripsiyon ve OCR için ayrı araçlar yerine tek bir API kullanın.

Converter App API Genel Bakış

Converter App API, geliştiricilere tüm dosya işleme ihtiyaçları için sorunsuz ve evrensel bir arayüz sunar. Parçalanmış, ayrı araçlar koleksiyonunu entegre etmek yerine, uygulamanız tek ve yüksek performanslı bir hizmeti çağırabilir. Standart dosya dönüştürmelerinden zorlu medya işlerine kadar her şeyi yönetmek için tam dönüştürücü paketimizi doğrudan arka uç iş akışlarına entegre edebilirsiniz.

Genel temel URL https://api.converter.app/ adresidir. Bu belgede yer alan yollar, harici olarak sunulan bu API kökünü kullanır.

Evrensel Kapsam

Tek bir sade entegrasyonla kapsamlı bir dönüştürme araçları kütüphanesine erişin.

İki İşleme Modu

Anında yanıtlar için eşzamanlı istekleri, büyük dosyalar ve uzun süren işlemler için ise eşzamansız görevleri seçin.

İhtiyaçlarınıza Uygun Şekilde Tasarlandı

Bizimle iletişime geçin; ihtiyaçlarınıza özel bir planı rakipsiz bir fiyatla sunabiliriz.

Belgeler Resimler Ses Video Metin Arşivler

Desteklenen Dönüştürmeleri Keşfedin (Anahtar gerekmez)

Genel pairs uç noktasını en basit bağlantı testi olarak kullanın. API anahtarı gerektirmez ve platformda उपलब्ध tüm desteklenen dönüştürme çiftlerinin tam listesini döndürür.

ALIN /public/pairs

Bu uç nokta açıktır; böylece geliştiriciler, bir API anahtarı istemeden veya yapılandırmadan önce evrensel dönüştürme kataloğunu inceleyebilir.

curl "https://api.converter.app/public/pairs"

JavaScript

const response = await fetch('https://api.converter.app/public/pairs');
const pairs = await response.json();
console.log(pairs.supported_pairs);

Python

import requests

response = requests.get('https://api.converter.app/public/pairs')
response.raise_for_status()
pairs = response.json()
print(pairs['supported_pairs'])

Örnek Yanıt

{
  "supported_pairs": [
    { "from": "mp3", "to": "text" },
    { "from": "mp4", "to": "mp3" },
    { "from": "mov", "to": "mp4" },
    { "from": "wav", "to": "mp3" },
    { "from": "mkv", "to": "mp4" }
  ]
}

Kimlik Doğrulama & Erişim Kontrolü

Geliştiriciler, API anahtarlarını HTTP başlığında X API Key olarak ileterek kimlik doğrulaması yaparlar. Genel /public/pairs uç noktası, bu sayfadaki anahtar gerektirmeyen tek uç noktadır.

KontrolNasıl ÇalışırGeliştirici Etkisi
X-API-KeyAnahtarı bir HTTP istek başlığı olarak gönderin./pairs, /convert/sync, /convert, /progress/{jobid} ve /download/{jobid} için gereklidir.
Kullanım KotalarıHer anahtarın sayısal bir dönüştürme kotası vardır. Dönüştürme görevleri oluşturulduğunda kota azalır.-1 kotası sınırsız dönüştürme hakkı verir. Diğer değerler, kalan izin verilen dönüştürmeleri temsil eder.
İzin Verilen EşleşmelerAnahtarlar, mp42mp3 gibi belirli dönüştürme türleriyle sınırlandırılabilir veya desteklenen tüm eşleşmelere all erişimi verilebilir./pairs yalnızca anahtarınızın kullanmaya yetkili olduğu eşleşmeleri döndürür ve bu listenin dışındaki dönüştürme istekleri reddedilir.
curl "https://api.converter.app/pairs" \
  -H "X-API-Key: YOUR_API_KEY"

JavaScript

const response = await fetch('https://api.converter.app/pairs', {
  headers: {
    'X-API-Key': apiKey
  }
});

const pairs = await response.json();
console.log(pairs);

Python

import requests

headers = {'X-API-Key': 'YOUR_API_KEY'}
response = requests.get('https://api.converter.app/pairs', headers=headers)
response.raise_for_status()
print(response.json())

2. Eşzamanlı Dönüştürme

GÖNDERİ /convert/sync

Aynı HTTP yanıtında anında sonuç almak istediğinizde eşzamanlı dönüştürmeyi kullanın. API dönüştürme işini başlatıp tamamlanmasını beklerken istek açık kalır; bu süre en fazla 30 dakikadır.

Form AlanıTür Açıklama
target_formatdize İstenen çıktı uzantısı, örneğin pdf, docx, mp3 veya jpg.
filesdosya[]Yüklenen bir veya daha fazla kaynak dosya. API, kaynak biçimini yüklenen dosya adından belirler.
curl -X POST "https://api.converter.app/convert/sync" \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "target_format=pdf" \
  -F "files=@/path/to/document.docx" \
  -o converted.pdf

JavaScript

const form = new FormData();
form.append('target_format', 'pdf');
form.append('files', fileInput.files[0]);

const response = await fetch('https://api.converter.app/convert/sync', {
  method: 'POST',
  headers: {
    'X-API-Key': apiKey
  },
  body: form
});

const convertedFile = await response.blob();

Python

import requests

headers = {'X-API-Key': 'YOUR_API_KEY'}
data = {'target_format': 'pdf'}

with open('/path/to/document.docx', 'rb') as document:
    files = {'files': document}
    response = requests.post(
        'https://api.converter.app/convert/sync',
        headers=headers,
        data=data,
        files=files
    )

response.raise_for_status()
with open('converted.pdf', 'wb') as output:
    output.write(response.content)

Yanıt, dönüştürülen dosyayı doğrudan akış olarak iletir. Dönüştürme birden fazla dosya oluşturursa, API bir .zip arşivi döndürür.

3. Asenkron Dönüştürme

Yazı gönderisi /convert

Büyük dosyalar, toplu işlem, uzun süren ses veya video görevleri ya da çalışma sürerken yükleme isteklerini açık tutmaması gereken üretim uygulamaları için eşzamansız dönüştürmeyi kullanın.

Form AlanıTür Açıklama
target_formatdizeİstenen çıktı biçimi. Kaynak ve hedef, dönüştürme çiftini oluşturur; örneğin mp42mp3.
filesfile[]Dönüştürülecek bir veya daha fazla dosya.

cURL

curl -X POST "https://api.converter.app/convert" \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "target_format=mp3" \
  -F "files=@/path/to/video.mp4"

JavaScript

const form = new FormData();
form.append('target_format', 'mp3');
form.append('files', fileInput.files[0]);

const response = await fetch('https://api.converter.app/convert', {
  method: 'POST',
  headers: {
    'X-API-Key': apiKey
  },
  body: form
});

const job = await response.json();
console.log(job.jobid, job.remaining_quota);

Python

import requests

headers = {'X-API-Key': 'YOUR_API_KEY'}
data = {'target_format': 'mp3'}

with open('/path/to/video.mp4', 'rb') as video:
    files = {'files': video}
    response = requests.post(
        'https://api.converter.app/convert',
        headers=headers,
        data=data,
        files=files
    )

response.raise_for_status()
job = response.json()
print(job['jobid'], job['remaining_quota'])

Başarılı Yanıt

{
  "status": "success",
  "jobid": "b3f6b2e8f5c34c4ab01c93c4d1b2f9e8",
  "pair": "mp42mp3",
  "remaining_quota": 42
}

4. Durum İzleme

ALIN /progress/{jobid}

Asenkron bir iş oluşturduktan sonra bu uç noktayı sorgulayın. İş durumunu, 0.0 ile 1.0 arasında sayısal bir ilerleme değerini ve dönüştürme başarısız olursa hata ayrıntılarını döndürür.

BaşlıkAçıklama
X-API-KeyGeliştirici API anahtarınız.
curl "https://api.converter.app/progress/b3f6b2e8f5c34c4ab01c93c4d1b2f9e8" \
  -H "X-API-Key: YOUR_API_KEY"

JavaScript

const response = await fetch('https://api.converter.app/progress/b3f6b2e8f5c34c4ab01c93c4d1b2f9e8', {
  headers: {
    'X-API-Key': apiKey
  }
});

const progress = await response.json();
console.log(progress.status, progress.progress);

Python

import requests

headers = {'X-API-Key': 'YOUR_API_KEY'}
response = requests.get(
    'https://api.converter.app/progress/b3f6b2e8f5c34c4ab01c93c4d1b2f9e8',
    headers=headers
)
response.raise_for_status()
progress = response.json()
print(progress['status'], progress['progress'])
{
  "jobid": "b3f6b2e8f5c34c4ab01c93c4d1b2f9e8",
  "progress": 1.0,
  "status": "completed",
  "error": null
}

Olası durumlar processing, completed ve failed şeklindedir. İlerleme, 0.0 ile 1.0 arasında bir sayıdır.

5. Dosya Alma

ALIN /download/{jobid}

Bir eşzamansız görev completed durumuna ulaştığında, görevi oluşturmak için kullanılan aynı API anahtarıyla dönüştürülen çıktıyı alın.

Sonuç TürüDavranış
Tek çıktı dosyasıAPI, dönüştürülen dosyayı doğrudan aktarır.
resultfile bildirimiİş, bir sonuç manifestosu sağlıyorsa, API bu manifestoda belirtilen dosyayı döndürür.
Birden fazla çıktı dosyasıAPI, oluşturulan dosyaları anında bir .zip arşivine paketler.
curl -L "https://api.converter.app/download/b3f6b2e8f5c34c4ab01c93c4d1b2f9e8" \
  -H "X-API-Key: YOUR_API_KEY" \
  -o converted-output.zip

JavaScript

const response = await fetch('https://api.converter.app/download/b3f6b2e8f5c34c4ab01c93c4d1b2f9e8', {
  headers: {
    'X-API-Key': apiKey
  }
});

const file = await response.blob();

Python

import requests

headers = {'X-API-Key': 'YOUR_API_KEY'}
response = requests.get(
    'https://api.converter.app/download/b3f6b2e8f5c34c4ab01c93c4d1b2f9e8',
    headers=headers
)
response.raise_for_status()

with open('converted-output.zip', 'wb') as output:
    output.write(response.content)

Geliştirici İş Akışının Özeti

API, geliştiricilerin her kullanım senaryosu için doğru davranışı seçebilmesi amacıyla iki entegrasyon modelini destekler.

Akışİstek DeseniEn İyi İçin
Hızlı Senkronizasyon AkışıPOST /convert/sync dönüştürülen dosyayı aynı yanıtta döndürür.Küçük dosyalar, komut satırı betikleri, prototipler ve basit sunucu tarafı otomasyonları.
Güçlü Asenkron AkışPOST /convert, ardından GET /progress/{jobid} isteğini düzenli olarak sorgulayın, sonra GET /download/{jobid} çağrısını yapın.Büyük video veya ses dosyaları, toplu dönüştürme, web uygulaması arka uçları ve yeniden denemeye uygun üretim sistemleri.

Eşzamansız Akış Örneği

# 1. Start the job
curl -X POST "https://api.converter.app/convert" \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "target_format=mp3" \
  -F "files=@/path/to/video.mp4"

# 2. Poll until completed
curl "https://api.converter.app/progress/JOBID" \
  -H "X-API-Key: YOUR_API_KEY"

# 3. Download the finished output
curl -L "https://api.converter.app/download/JOBID" \
  -H "X-API-Key: YOUR_API_KEY" \
  -o result.mp3

JavaScript

const form = new FormData();
form.append('target_format', 'mp3');
form.append('files', fileInput.files[0]);

const createResponse = await fetch('https://api.converter.app/convert', {
  method: 'POST',
  headers: {
    'X-API-Key': apiKey
  },
  body: form
});
const job = await createResponse.json();

const progressResponse = await fetch(`https://api.converter.app/progress/${job.jobid}`, {
  headers: {
    'X-API-Key': apiKey
  }
});
const progress = await progressResponse.json();

if (progress.status === 'completed') {
  const downloadResponse = await fetch(`https://api.converter.app/download/${job.jobid}`, {
    headers: {
      'X-API-Key': apiKey
    }
  });
  const result = await downloadResponse.blob();
}

Python

import requests

headers = {'X-API-Key': 'YOUR_API_KEY'}
data = {'target_format': 'mp3'}

with open('/path/to/video.mp4', 'rb') as video:
    files = {'files': video}
    create_response = requests.post(
        'https://api.converter.app/convert',
        headers=headers,
        data=data,
        files=files
    )

create_response.raise_for_status()
job = create_response.json()

progress_response = requests.get(
    f"https://api.converter.app/progress/{job['jobid']}",
    headers=headers
)
progress_response.raise_for_status()
progress = progress_response.json()

if progress['status'] == 'completed':
    download_response = requests.get(
        f"https://api.converter.app/download/{job['jobid']}",
        headers=headers
    )
    download_response.raise_for_status()
    with open('result.mp3', 'wb') as output:
        output.write(download_response.content)

Hata Yanıtları

Hatalar, standart HTTP durum kodları kullanılarak detail alanı içeren JSON olarak döndürülür.

DurumYaygın Neden
400Eksik dosyalar, eksik target_format, desteklenmeyen iş ID biçimi veya geçersiz istek girdisi.
401Eksik veya geçersiz X API Key.
403API anahtarının istenen dönüştürme çiftini kullanmasına izin verilmiyor.
404İstenen görev veya oluşturulan sonuç dosyası kullanılamıyor.
409İndirme istendiğinde dönüştürme işlemi hâlâ devam ediyor.
429API anahtarının kalan kotası yok.
500Dönüştürme, sunucu tarafında bir işleme hatası nedeniyle hazırlanamadı veya tamamlanamadı.
{
  "detail": "This API key is not authorized for mp42mp3 conversions."
}