Razvijalski API

Enoten API za vsak potek dela z datotekami

Converter App razvijalcem ponuja visoko zmogljiv vmesnik za obdelavo datotek. Zamenjajte ločena orodja z enim samim API za skalabilno pretvarjanje dokumentov, obdelavo medijev, transkripcijo in OCR.

Pregled API ja Converter App

API Converter App razvijalcem zagotavlja enoten, univerzalen vmesnik za vse potrebe obdelave datotek brez zapletov. Namesto povezovanja razdrobljenega nabora ločenih orodij lahko vaša aplikacija kliče eno samo storitev z visoko zmogljivostjo. Celoten nabor pretvornikov lahko neposredno integrirate v zaledne delovne tokove, da obravnavate vse od standardnih sprememb datotek do zahtevnih opravil z medijskimi datotekami.

Javni osnovni URL je https://api.converter.app/. Poti v tem dokumentu uporabljajo to navzven dostopno korensko pot API ja.

Univerzalna pokritost

Dostopajte do celotne knjižnice orodij za pretvarjanje prek ene poenostavljene integracije.

Dva načina obdelave

Izberite sinhrone zahteve za takojšnje odgovore ali asinhrone naloge za velike datoteke in dolgotrajna opravila.

Prilagojeno vašim potrebam

Stopite v stik z nami in ponudili vam bomo načrt, prilagojen vašim potrebam, po neprekosljivi ceni.

Dokumenti Slike Zvok Video Besedilo Arhivi

Odkrijte podprte pretvorbe (ključa ne potrebujete)

Uporabite javno končno točko pairs kot najpreprostejši test povezljivosti. Ne zahteva API ključa in vrne celoten seznam podprtih parov pretvorb, ki so na voljo na platformi.

PRIDOBI /public/pairs

Ta končna točka je odprta, zato lahko razvijalci pregledajo univerzalni katalog pretvorb, preden zahtevajo ali nastavijo ključ API.

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

Primer odgovora

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

Preverjanje pristnosti in nadzor dostopa

Razvijalci se overijo tako, da v glavi HTTP posredujejo svoj API ključ X API Key. Javni končni vnos /public/pairs je edini končni vnos na tej strani, ki ne zahteva ključa.

NadzorKako deluje Vpliv za razvijalce
X-API-KeyPošljite ključ kot glavo HTTP zahteve.Obvezno za /pairs, /convert/sync, /convert, /progress/{jobid} in /download/{jobid}.
Omejitve uporabeVsak ključ ima numerično kvoto za pretvorbo. Kvota se zmanjša, ko so ustvarjene naloge za pretvorbo.Količina -1 omogoča neomejeno število pretvorb. Druge vrednosti predstavljajo preostalo dovoljeno število pretvorb.
Dovoljeni pariKljuče je mogoče omejiti na določene vrste pretvorbe, kot je mp42mp3, ali jim dodeliti dostop do all podprtih parov./pairs vrne samo pare, ki jih je vaš ključ pooblaščen uporabljati, zahteve za pretvorbo zunaj tega seznama pa so zavrnjene.
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. Sinhrono pretvarjanje

OBJAVA /convert/sync

Uporabite sinhrono pretvorbo, kadar želite takojšen rezultat v istem HTTP odgovoru. Zahteva ostane odprta, medtem ko API zažene opravilo pretvorbe in čaka na dokončanje, največ 30 minut.

Polje obrazcaVrstaOpis
target_formatnizZahtevana izhodna pripona, kot so pdf, docx, mp3 ali jpg.
filesdatoteka[]Ena ali več naloženih izvornih datotek. API določi izvorni format na podlagi imena naložene datoteke.
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)

Odziv neposredno pretoči pretvorjeno datoteko. Če pretvorba ustvari več datotek, API vrne arhiv .zip.

3. Asinhrona pretvorba

OBJAVA /convert

Uporabite asinhrono pretvarjanje za velike datoteke, paketno obdelavo, dolgotrajna opravila za zvok ali video ali produkcijske aplikacije, ki ne smejo ohranjati zahtev za nalaganje odprtih, medtem ko poteka obdelava.

Polje obrazcaVrstaOpis
target_formatniz opažanjŽeleni izhodni format. Vir in cilj tvorita par pretvorbe, na primer mp42mp3.
filesdatoteka[]Ena ali več datotek za pretvorbo.

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

Uspešen odziv

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

4. Sledenje statusu

PRIDOBI /progress/{jobid}

Po ustvaritvi asinhronega opravila poizvedujte ta končni naslov. Vrne stanje opravila, numerično vrednost napredka od 0.0 do 1.0 in podrobnosti o napaki, če pretvorba ni uspela.

GlavaOpis
X-API-KeyVaš razvijalski API ključ.
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
}

Možni statusi so processing, completed in failed. Napredek je številka med 0.0 in 1.0.

5. Pridobivanje datotek

PRIDOBI /download/{jobid}

Ko asinhrona opravila doseže completed, pridobite pretvorjeni rezultat z istim API ključem, ki ste ga uporabili za ustvarjanje opravila.

Vrsta rezultataVedenje
Ena izhodna datotekaAPI pretoči pretvorjeno datoteko neposredno.
resultfile manifest Če opravilo zagotovi manifest rezultatov, API vrne datoteko, določeno v tem manifestu.
Več izhodnih datotekAPI paketi sproti združujejo ustvarjene datoteke v arhiv .zip.
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)

Povzetek razvojnega delovnega procesa

API podpira dva vzorca integracije, tako da lahko razvijalci za vsak primer uporabe izberejo ustrezno vedenje.

PotekVzorec zahteveNajboljše za
Hiter sinhronizacijski potekPOST /convert/sync vrne pretvorjeno datoteko v istem odzivu.Majhne datoteke, skripte ukazne vrstice, prototipi in preproste strežniške avtomatizacije.
Zanesljiv asinhroni potekPOST /convert, nato poizvedujte pri GET /progress/{jobid}, nato pokličite GET /download/{jobid}.Velike video ali zvočne datoteke, paketno pretvarjanje, zaledja spletnih aplikacij in produkcijski sistemi, prijazni ponovnim poskusom.

Primer asinhronega poteka

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

Odgovori na napake

Napake se vrnejo kot JSON s poljem detail z uporabo standardnih HTTP statusnih kod.

StanjePogost vzrok
400Manjkajoče datoteke, manjkajoč target_format, nepodprt format ID ja opravila ali neveljaven vnos zahteve.
401Manjkajoč ali neveljaven X API Key.
403Ključ API nima dovoljenja za uporabo zahtevane pretvorbene kombinacije.
404Zahtevana opravila ali ustvarjene datoteke z rezultatom ni na voljo.
409Pretvorba se še vedno obdeluje, ko je zahtevano prenašanje.
429Ključ API nima več razpoložljive kvote.
500Pretvorbe ni bilo mogoče pripraviti ali dokončati zaradi napake pri obdelavi na strežniški strani.
{
  "detail": "This API key is not authorized for mp42mp3 conversions."
}