Fejlesztői API

Minden fájlmunkafolyamathoz egyetlen univerzális API

Converter App nagy teljesítményű fájlfeldolgozási felületet biztosít a fejlesztők számára. Cserélje le a különálló eszközöket egyetlen API ra a skálázható dokumentumkonvertáláshoz, médiafeldolgozáshoz, átíráshoz és OCR hez.

Converter App API áttekintés

Converter App API ja súrlódásmentes, univerzális felületet biztosít a fejlesztők számára minden fájlfeldolgozási igényhez. A széttagolt, különálló eszközök gyűjteményének integrálása helyett alkalmazása egyetlen, nagy teljesítményű szolgáltatást hívhat meg. Teljes konvertáló csomagunkat közvetlenül integrálhatja a háttérrendszer munkafolyamataiba, hogy a szabványos fájlmódosításoktól a komplex médiafeladatokig mindent kezelhessen.

A nyilvános alap URL: https://api.converter.app/. A dokumentumban szereplő útvonalak ezt a külsőleg kiszolgált API alapot használják.

Átfogó lefedettség

Egyetlen egységes integráción keresztül férhet hozzá a konvertálási eszközök teljes könyvtárához.

Két feldolgozási mód

Azonnali válaszokhoz válasszon szinkron kéréseket, nagy fájlokhoz és hosszú ideig futó feladatokhoz pedig aszinkron feladatokat.

Az Ön igényeire szabva

Vegye fel velünk a kapcsolatot, és személyre szabott tervet kínálunk az Ön igényeihez, verhetetlen áron.

Dokumentumok Képek Hanganyag Videó Szöveg Archívumok

Fedezze fel a támogatott konvertálásokat (Nincs szükség kulcsra)

Használja a nyilvános pairs végpontot a legegyszerűbb kapcsolódási tesztként. Nem igényel API kulcsot, és a platformon elérhető, támogatott konverziós párok teljes listáját adja vissza.

GET /public/pairs

Ez a végpont nyitott, így a fejlesztők megtekinthetik az univerzális konvertálási katalógust, mielőtt API kulcsot kérnének vagy konfigurálnának.

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'])

Példa válasz

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

Hitelesítés és hozzáférés-szabályozás

A fejlesztők az API kulcsukat az X API Key HTTP fejlécben megadva hitelesítik magukat. A nyilvános /public/pairs végpont az egyetlen ezen az oldalon, amelyhez nincs szükség kulcsra.

VezérlésHogyan működik?Fejlesztői hatás
X-API-KeyKüldje el a kulcsot HTTP kérésfejlécként.Szükséges a következőkhöz: /pairs, /convert/sync, /convert, /progress/{jobid} és /download/{jobid}.
Használati kvótákMinden kulcsnak van egy numerikus konvertálási kvótája. A kvóta csökken, amikor konvertálási feladatok jönnek létre.A -1 kvóta korlátlan konvertálást biztosít. Az egyéb értékek a fennmaradó engedélyezett konvertálások számát jelzik.
Engedélyezett párokA kulcsok korlátozhatók bizonyos konvertálási típusokra, például mp42mp3-ra, vagy hozzáférést kaphatnak az összes támogatott párhoz all./pairs csak azokat a párokat adja vissza, amelyek használatára az Ön kulcsa jogosult, a listán kívüli konvertálási kéréseket pedig elutasítja.
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. Szinkron konvertálás

KÖZZÉTÉTEL /convert/sync

Használja a szinkron konvertálást, ha azonnali eredményt szeretne ugyanabban az HTTP válaszban. A kérés nyitva marad, miközben az API elindítja a konvertálási feladatot és megvárja a befejezést, legfeljebb 30 percig.

ŰrlapmezőTípusLeírás
target_formatszövegA kért kimeneti fájlkiterjesztés, például pdf, docx, mp3 vagy jpg.
filesfájl[]Egy vagy több feltöltött forrásfájl. Az API a feltöltött fájl nevéből határozza meg a forrásformátumot.
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)

A válasz közvetlenül streameli a konvertált fájlt. Ha a konvertálás több fájlt eredményez, az API egy .zip archívumot ad vissza.

3. Aszinkron konvertálás

KÖZZÉTÉTEL /convert

Használjon aszinkron konvertálást nagy fájlokhoz, kötegelt feldolgozáshoz, hosszabb ideig futó audio- vagy videofeladatokhoz, illetve olyan éles környezetben futó alkalmazásokhoz, amelyeknél a feltöltési kéréseket nem célszerű nyitva tartani a munka futása közben.

ŰrlapmezőTípusLeírás
target_formatkarakterláncA kívánt kimeneti formátum. A forrás és a cél alkotja a konvertálási párt, például mp42mp3.
filesfájl[]Egy vagy több fájl a konvertáláshoz.

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'])

Sikeres válasz

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

4. Állapotkövetés

GET /progress/{jobid}

Ezt a végpontot egy aszinkron feladat létrehozása után kérdezze le rendszeresen. A feladat állapotát, egy 0.0 és 1.0 közötti numerikus haladási értéket, valamint hibainformációkat ad vissza, ha a konvertálás meghiúsult.

FejlécLeírás
X-API-KeyAz Ön fejlesztői API kulcsa.
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
}

Lehetséges állapotok: processing, completed és failed. Az előrehaladás egy 0.0 és 1.0 közötti szám.

5. Fájlletöltés

Kérés /download/{jobid}

Amikor egy aszinkron feladat eléri a completed állapotot, a konvertált kimenetet ugyanazzal az API kulccsal kérheti le, amelyet a feladat létrehozásához használt.

Eredmény típusaViselkedés
Egyetlen kimeneti fájlAz API közvetlenül streameli a konvertált fájlt.
resultfile jegyzékHa a feladat eredményjegyzéket biztosít, az API az abban megadott fájlt adja vissza.
Több kimeneti fájlAz API menet közben egy .zip archívumba csomagolja a létrehozott fájlokat.
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)

A fejlesztői munkafolyamat összefoglalása

Az API két integrációs mintát támogat, így a fejlesztők minden használati esetre kiválaszthatják a megfelelő viselkedést.

FolyamatKérelem mintájaLegjobb erre:
Gyors szinkronizálási folyamatPOST /convert/sync ugyanabban a válaszban adja vissza a konvertált fájlt.Kis fájlok, parancssori szkriptek, prototípusok és egyszerű szerveroldali automatizálások.
Robusztus aszinkron folyamatPOST /convert, majd lekérdezze a GET /progress/{jobid} végpontot, ezután hívja meg a GET /download/{jobid} végpontot.Nagy videó- vagy аудiófájlok, kötegelt konvertálás, webalkalmazás-backendek és újrapróbálkozásra alkalmas éles rendszerek.

Aszinkron folyamat példa

# 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)

Hibaüzenetek

A hibák JSON ként kerülnek visszaadásra egy detail mezővel, a szabványos HTTP állapotkódok használatával.

ÁllapotGyakori ok
400Hiányzó fájlok, hiányzó target_format, nem támogatott feladat-azonosító formátum vagy érvénytelen kérésbemenet.
401Hiányzó vagy érvénytelen X API Key.
403Az API kulcs nem használhatja a kért konverziós párost.
404A kért feladat vagy a létrehozott eredményfájl nem érhető el.
409Az átalakítás még folyamatban van, amikor letöltést kérnek.
429Az API kulcshoz nem maradt kvóta.
500A konvertálást nem lehetett előkészíteni vagy befejezni egy kiszolgálóoldali feldolgozási hiba miatt.
{
  "detail": "This API key is not authorized for mp42mp3 conversions."
}