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.
| Kontrol | Nasıl Çalışır | Geliştirici Etkisi |
X-API-Key | Anahtarı 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şmeler | Anahtarlar, 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_format | dize
| İstenen çıktı uzantısı, örneğin pdf, docx, mp3 veya jpg. |
files | dosya[] | 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_format | dize | İstenen çıktı biçimi. Kaynak ve hedef, dönüştürme çiftini oluşturur; örneğin mp42mp3. |
files | file[] | 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ık | Açıklama |
X-API-Key | Geliş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 Deseni | En İ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.
| Durum | Yaygın Neden |
400 | Eksik dosyalar, eksik target_format, desteklenmeyen iş ID biçimi veya geçersiz istek girdisi. |
401 | Eksik veya geçersiz X API Key. |
403 | API 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. |
429 | API anahtarının kalan kotası yok. |
500 | Dö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."
}