Arendaja API

Üks universaalne API iga failitöövoo jaoks

Converter App pakub arendajatele suure jõudlusega failitöötluse liidest. Asendage eraldi tööriistad ühe API ga skaleeritava dokumenditeisenduse, meedia töötlemise, transkriptsiooni ja OCR i jaoks.

Converter App API ülevaade

Converter App API pakub arendajatele sujuvat ja universaalset liidest kõigi failitöötluse vajaduste jaoks. Eraldi tööriistade killustatud kogumi integreerimise asemel saab teie rakendus kasutada ühte suure jõudlusega teenust. Saate integreerida meie täieliku teisendustööriistade komplekti otse taustatöövoogudesse, et hallata kõike alates tavapärastest failimuudatustest kuni nõudlike meediatöödeni.

Avalik baas URL on https://api.converter.app/. Selle dokumendi teed kasutavad seda väliselt teenindatavat API juur URL i.

Universaalne katvus

Pääsete ligi täielikule teisendustööriistade teegile ühe sujuva integreerimise kaudu.

Kaks töötlusrežiimi

Valige vahetud vastused saamiseks sünkroonsed päringud või suurte failide ja kaua kestvate ülesannete jaoks asünkroonsed tööd.

Teie vajadustele kohandatud

Võtke meiega ühendust ja me saame pakkuda teie vajadustele kohandatud plaani ületamatu hinnaga.

Dokumendid Pildid Heli Video Tekst Arhiivid

Avastage toetatud teisendused (võtit pole vaja)

Kasutage avalikku paaride lõpp-punkti kõige lihtsama ühenduvuse testina. See ei nõua API võtit ja tagastab täieliku loendi platvormil saadaolevatest toetatud teisenduspaaridest.

GET /public/pairs

See lõpp-punkt on avatud, et arendajad saaksid universaalset teisenduste kataloogi enne API võtme taotlemist või seadistamist kontrollida.

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

Näidisvastus

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

Autentimine ja juurdepääsukontroll

Arendajad autentivad end, edastades oma API võtme HTTP päises X API Key. Avalik /public/pairs lõpp-punkt on sellel lehel ainus lõpp-punkt, mis võtit ei nõua.

JuhtimineKuidas see töötabArendaja mõju
X-API-KeySaatke võti HTTP päringu päises.Nõutav /pairs, /convert/sync, /convert, /progress/{jobid} ja /download/{jobid} jaoks.
KasutuslimiididIgal võtmel on numbriline teisenduskvoot. Kvoot väheneb, kui teisendamisülesanded luuakse.-1 kvoot annab piiramatu arvu teisendusi. Muud väärtused näitavad allesjäänud lubatud teisendusi.
Lubatud paaridVõtmeid saab piirata kindlate teisendustüüpidega, näiteks mp42mp3, või anda neile juurdepääs kõigile all toetatud paaridele./pairs tagastab ainult need paarid, mida teie võti on volitatud kasutama, ja sellest loendist väljaspool olevad teisendustaotlused lükatakse tagasi.
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. Sünkroonne teisendamine

POST /convert/sync

Kasutage sünkroonset teisendamist, kui soovite kohe tulemust samas HTTP vastuses. Taotlus jääb avatuks, kuni API alustab teisendustööd ja ootab selle lõpetamist, kuni 30 minutit.

Väljale väliTüüpKirjeldus
target_formatstringSoovitud väljundlaiend, näiteks pdf, docx, mp3 või jpg.
filesfail[]Üks või mitu üleslaaditud lähtefaili. API määrab lähtevormingu üleslaaditud failinime põhjal.
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)

Vastus edastab teisendatud faili otse voogedastusena. Kui teisendamine loob mitu faili, tagastab API .zip arhiivi.

3. Asünkroonne teisendamine

POST /convert

Kasutage asünkroonset teisendamist suurte failide, pakktöötluse, pikaajaliste heli- või videotööde või tootmisrakenduste jaoks, mis ei tohiks jätta üleslaadimispäringuid töö ajal avatuks.

Välja väliTüüpKirjeldus
target_formatstringSoovitud väljundvorming. Allikas ja siht moodustavad teisenduspaar i, näiteks mp42mp3.
filesfile[]Üks või mitu faili teisendamiseks.

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

Eduka vastuse korral

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

4. Oleku jälgimine

HANGI /progress/{jobid}

Pärige seda lõpp-punkti pärast asünkroonse töö ülesloomist. See tagastab töö oleku, numbrilise edenemisväärtuse vahemikus 0.0 kuni 1.0 ning teisenduse nurjumisel veateabe.

PäisKirjeldus
X-API-KeyTeie arendaja API võti.
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
}

Võimalikud olekud on processing, completed ja failed. Edenemine on arv vahemikus 0.0 kuni 1.0.

5. Faili allalaadimine

Hangi /download/{jobid}

Kui asünkroonne töö jõuab olekusse completed, laadige teisendatud väljund alla sama API võtmega, mida kasutati töö loomiseks.

Tulemuse tüüpKäitumine
Üks väljundfailAPI edastab teisendatud faili otse.
tulemfail manifestKui töö pakub tulemusmanifesti, tagastab API selle manifestiga määratud faili.
Mitu väljundfailiAPI pakib loodud failid lennult .zip arhiivi.
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)

Arendaja töövoo kokkuvõte

API toetab kahte integratsioonimustrit, nii et arendajad saavad iga kasutusjuhtumi jaoks valida sobiva käitumise.

TöövoogPäringumusterParimad jaoks
Kiirsünkroonimise voogPOST /convert/sync tagastab teisendatud faili samas vastuses.Väikesed failid, käsurea skriptid, prototüübid ja lihtsad serveripoolsed automatiseeringud.
Töökindel asünkroonne töövoogPOST /convert, seejärel küsige perioodiliselt GET /progress/{jobid}, seejärel kutsuge välja GET /download/{jobid}.Suured video- või helifailid, hulgitöötlus, veebirakenduste taustsüsteemid ja uuesti proovimist taluvad tootmissüsteemid.

Asünkroonse voo näide

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

Veastused

Vead tagastatakse JSON ina, kasutades standardseid HTTP olekukoodid ja detail välja.

OlekTavaline põhjus
400Puuduvad failid, puudub target_format, töö ID vorming ei ole toetatud või päringu sisend on kehtetu.
401Puuduv või kehtetu X API Key.
403API võtmel ei ole lubatud kasutada soovitud teisenduspaari.
404Soovitud töö või loodud tulemusfail pole saadaval.
409Teisendamine on allalaadimise taotluse esitamisel veel töötlemisel.
429API võtmel ei ole enam allesjäänud kvooti.
500Teisendust ei saanud ette valmistada ega lõpule viia serveripoolse töötlemisvea tõttu.
{
  "detail": "This API key is not authorized for mp42mp3 conversions."
}