Izstrādātāja API

Viena universāla API visiem failu darbplūsmas procesiem

Converter App nodrošina izstrādātājiem augstas veiktspējas failu apstrādes saskarni. Aizstājiet atsevišķus rīkus ar vienu API mērogojamai dokumentu konvertēšanai, multivides apstrādei, transkripcijai un OCR.

Converter App API pārskats

Converter App API nodrošina izstrādātājiem vienotu, universālu saskarni visām failu apstrādes vajadzībām bez liekām grūtībām. Tā vietā, lai integrētu sadrumstalotu atsevišķu rīku kopumu, jūsu lietotne var izsaukt vienu augstas veiktspējas pakalpojumu. Jūs varat tieši integrēt mūsu pilno konvertēšanas komplektu backend darbplūsmās, lai apstrādātu visu — no standarta failu pārveidošanas līdz sarežģītiem multivides uzdevumiem.

Publiskais bāzes URL ir https://api.converter.app/. Šajā dokumentā norādītie ceļi izmanto šo ārēji pieejamo API saknes adresi.

Universāls atbalsts

Piekļūstiet pilnai konvertēšanas rīku bibliotēkai, izmantojot vienu vienotu integrāciju.

Divi apstrādes režīmi

Izvēlieties sinhronos pieprasījumus tūlītējām atbildēm vai asinhronos uzdevumus lieliem failiem un ilgstošiem procesiem.

Pielāgots Jūsu vajadzībām

Sazinieties ar mums, un mēs varēsim piedāvāt Jūsu vajadzībām pielāgotu plānu par nepārspējamu cenu.

Dokumenti Attēli Audio Video Teksts Arhīvi

Atklājiet atbalstītās konvertēšanas iespējas (nav nepieciešama atslēga)

Izmantojiet publisko pāru galapunktu kā vienkāršāko savienojuma pārbaudi. Tam nav nepieciešama API atslēga, un tas atgriež pilnu platformā pieejamo atbalstīto konvertēšanas pāru sarakstu.

SAŅEMT /public/pairs

Šis galapunkts ir atvērts, lai izstrādātāji varētu pārskatīt universālo konvertēšanas katalogu pirms API atslēgas pieprasīšanas vai konfigurēšanas.

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

Piemēra atbilde

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

Autentifikācija un piekļuves kontrole

Izstrādātāji autentificējas, nododot savu API atslēgu HTTP galvenē X API Key. Publiskais /public/pairs galapunkts ir vienīgais šajā lapā, kuram nav nepieciešama atslēga.

KontroleKā tas darbojasIzstrādātāja ietekme
X-API-KeyNosūtiet atslēgu kā HTTP pieprasījuma galveni.Nepieciešams /pairs, /convert/sync, /convert, /progress/{jobid} un /download/{jobid}.
Lietošanas kvotasKatram atslēgai ir skaitlisks konvertēšanas kvotas limits. Kvota samazinās, kad tiek izveidoti konvertēšanas uzdevumi.-1 kvota nodrošina neierobežotu konvertēšanu. Citi vērtības norāda atlikušo atļauto konvertēšanu.
Atļautie pāriAtslēgas var ierobežot tikai noteiktiem konvertēšanas veidiem, piemēram, mp42mp3, vai piešķirt piekļuvi all atbalstītajiem pāriem./pairs atgriež tikai tos pārus, kurus jūsu atslēgai ir atļauts izmantot, un konvertēšanas pieprasījumi ārpus šī saraksta tiek noraidīti.
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. Sinhronā konvertēšana

ZIŅOJUMS /convert/sync

Izmantojiet sinhrono konvertēšanu, ja vēlaties tūlītēju rezultātu tajā pašā HTTP atbildē. Pieprasījums paliek atvērts, kamēr API sāk konvertēšanas uzdevumu un gaida tā pabeigšanu, līdz pat 30 minūtēm.

Veidlapas lauksTipsApraksts
target_formatvirknePieprasītais izvades paplašinājums, piemēram, pdf, docx, mp3 vai jpg.
filesfails[]Viens vai vairāki augšupielādēti avota faili. API nosaka avota formātu pēc augšupielādētā faila nosaukuma.
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)

Atbilde tieši straumē konvertēto failu. Ja konvertēšanas rezultātā tiek izveidoti vairāki faili, API atgriež .zip arhīvu.

3. Asinhronā konvertēšana

POST /convert

Izmantojiet asinhrono konvertēšanu lieliem failiem, pakešapstrādei, ilgstošiem audio vai video uzdevumiem vai ražošanas lietojumprogrammām, kurām nevajadzētu uzturēt augšupielādes pieprasījumus atvērtus, kamēr darbs tiek veikts.

Veidlapas lauksTipsApraksts
target_formatvirkneVēlamais izvades formāts. Avots un mērķis veido konvertēšanas pāri, piemēram, mp42mp3.
filesfails[]Viens vai vairāki faili konvertēšanai.

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

Veiksmīga atbilde

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

4. Statusa izsekošana

SAŅEMT /progress/{jobid}

Pēc asinhrona darba izveides aptaujājiet šo galapunktu. Tas atgriež darba statusu, skaitlisku progresa vērtību no 0.0 līdz 1.0, kā arī kļūdas informāciju, ja konvertēšana neizdevās.

VirsrakstsApraksts
X-API-KeyJūsu izstrādātāja API atslēga.
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
}

Iespējamie statusi ir processing, completed un failed. Progress ir skaitlis no 0.0 līdz 1.0.

5. Failu iegūšana

GET /download/{jobid}

Kad asinhronais uzdevums sasniedz completed, izgūstiet konvertēto rezultātu, izmantojot to pašu API atslēgu, kas tika izmantota uzdevuma izveidei.

Rezultāta tipsUzvedība
Viens izvades failsAPI tieši straumē konvertēto failu.
resultfile manifestsJa uzdevums nodrošina rezultātu manifestu, API atgriež failu, kas norādīts šajā manifestā.
Vairāki izvades failiAPI pakotne reāllaikā iepako ģenerētos failus .zip arhīvā.
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)

Izstrādātāja darbplūsmas kopsavilkums

API atbalsta divus integrācijas modeļus, lai izstrādātāji varētu izvēlēties piemērotāko darbību katram lietošanas gadījumam.

PlūsmaPieprasījuma modelisVislabāk piemērots
Ātrā sinhronizācijas plūsmaPOST /convert/sync atgriež konvertēto failu tajā pašā atbildē.Mazi faili, komandrindas skripti, prototipi un vienkāršas servera puses automatizācijas.
Izturīga asinhronā plūsmaPOST /convert, pēc tam pārbaudiet GET /progress/{jobid}, pēc tam izsauciet GET /download/{jobid}.Lieli video vai audio faili, pakeškonvertēšana, tīmekļa lietotnes aizmugursistēmas un ražošanas sistēmas ar atkārtotas mēģināšanas atbalstu.

Asinhronās plūsmas piemērs

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

Kļūdu atbildes

Kļūdas tiek atgrieztas kā JSON ar detail lauku, izmantojot standarta HTTP statusa kodus.

StatussBiežs iemesls
400Trūkstoši faili, trūkst target_format, neatbalstīts darba ID formāts vai nederīgs pieprasījuma ievads.
401Trūkst vai nav derīgas X API Key.
403API atslēgai nav atļauts izmantot pieprasīto konvertēšanas pāri.
404Pieprasītais uzdevums vai ģenerētais rezultāta fails nav pieejams.
409Konvertēšana joprojām tiek apstrādāta, kad tiek pieprasīta lejupielāde.
429API atslēgai nav atlikušās kvotas.
500Konvertēšanu nevarēja sagatavot vai pabeigt servera puses apstrādes kļūdas dēļ.
{
  "detail": "This API key is not authorized for mp42mp3 conversions."
}