Utvikler API

Én universell API for alle filarbeidsflyter

Converter App gir utviklere et grensesnitt for høyytelses filbehandling. Erstatt separate verktøy med én API for skalerbar dokumentkonvertering, mediebehandling, transkripsjon og OCR.

Converter App API oversikt

Converter App API gir utviklere et sømløst, universelt grensesnitt for alle behov innen filbehandling. I stedet for å integrere en fragmentert samling separate verktøy kan applikasjonen deres kalle én enkelt, høytytende tjeneste. Dere kan integrere hele konverteringspakken vår direkte i backend-arbeidsflyter for å håndtere alt fra vanlige filendringer til krevende mediejobber.

Den offentlige base URL en er https://api.converter.app/. Stier i dette dokumentet bruker denne eksternt leverte API roten.

Universell dekning

Få tilgang til et komplett bibliotek med konverteringsverktøy gjennom én strømlinjeformet integrasjon.

To behandlingsmoduser

Velg synkrone forespørsler for umiddelbare svar eller asynkrone jobber for store filer og langvarige oppgaver.

Tilpasset dine behov

Ta kontakt, så kan vi tilby en plan tilpasset dine behov til en uslåelig pris.

Dokumenter Bilder Lyd Video Tekst Arkiver

Oppdag støttede konverteringer (ingen nøkkel nødvendig)

Bruk det offentlige pairs-endepunktet som den enkleste tilkoblingstesten. Det krever ikke noen API nøkkel og returnerer hele listen over støttede konverteringspar som er tilgjengelige på plattformen.

HENT /public/pairs

Dette endepunktet er åpent, slik at utviklere kan inspisere den universelle konverteringskatalogen før de ber om eller konfigurerer en API nøkkel.

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

Eksempel på svar

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

Autentisering & tilgangskontroll

Utviklere autentiserer ved å sende API nøkkelen sin i HTTP headeren X API Key. Det offentlige endepunktet /public/pairs er det eneste endepunktet på denne siden som ikke krever en nøkkel.

KontrollSlik fungerer detUtviklerpåvirkning
X-API-KeySend nøkkelen som en HTTP forespørselsoverskrift.Påkrevd for /pairs, /convert/sync, /convert, /progress/{jobid} og /download/{jobid}.
BruksgrenserHver nøkkel har en numerisk konverteringskvote. Kvoten reduseres når konverteringsoppgaver opprettes.En kvote på -1 gir ubegrensede konverteringer. Andre verdier angir hvor mange konverteringer som gjenstår.
Tillatte kombinasjonerNøkler kan begrenses til bestemte konverteringstyper som mp42mp3, eller gis tilgang til all støttede par./pairs returnerer bare parene nøkkelen din er autorisert til å bruke, og konverteringsforespørsler utenfor denne listen blir avvist.
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. Synkron konvertering

POST /convert/sync

Bruk synkron konvertering når du vil ha et umiddelbart resultat i samme HTTP svar. Forespørselen forblir åpen mens API et starter konverteringsjobben og venter på fullføring, i opptil 30 minutter.

SkjemafeltTypeBeskrivelse
target_formatstringDen ønskede utdatafilendelsen, for eksempel pdf, docx, mp3 eller jpg.
filesfil[]Én eller flere opplastede kildefiler. API et bestemmer kildeformatet ut fra navnet på den opplastede filen.
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)

Svaret strømmer den konverterte filen direkte. Hvis konverteringen produserer flere filer, returnerer API et et .zip-arkiv.

3. Asynkron konvertering

INNLEGG /convert

Bruk asynkron konvertering for store filer, batchbehandling, langvarige lyd- eller videoppgaver, eller produksjonsapplikasjoner som ikke bør holde opplastingsforespørsler åpne mens arbeidet pågår.

SkjemafeltTypeBeskrivelse
target_formatstringDet ønskede utdataformatet. Kilden og målet utgjør konverteringsparet, for eksempel mp42mp3.
filesfile[]Én eller flere filer som skal konverteres.

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

Suksessrespons

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

4. Statussporing

HENT /progress/{jobid}

Spørr dette endepunktet etter å ha opprettet en asynkron jobb. Det returnerer jobbstatusen, en numerisk fremdriftsverdi fra 0.0 til 1.0, og feildetaljer hvis konverteringen mislyktes.

OverskriftBeskrivelse
X-API-KeyDin utvikler API nøkkel.
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
}

Mulige statuser er processing, completed og failed. Fremdriften er et tall mellom 0.0 og 1.0.

5. Filhenting

HENT /download/{jobid}

Når en asynkron jobb har nådd completed, henter du den konverterte utdataen med samme API nøkkel som ble brukt til å opprette jobben.

Resultat-typeAtferd
Én utdatafilAPI en strømmer den konverterte filen direkte.
resultfile-manifest Hvis jobben leverer et resultatmanifest, returnerer API en filen som er angitt av det manifestet.
Flere utdatafilerAPI en pakker filer inn i et .zip-arkiv i sanntid.
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)

Sammendrag av utviklerarbeidsflyten

API et støtter to integrasjonsmønstre, slik at utviklere kan velge riktig atferd for hvert brukstilfelle.

FlytForespørselsmønsterBest for
Rask synkroniseringsflytPOST /convert/sync returnerer den konverterte filen i samme respons.Små filer, kommandolinjeskript, prototyper og enkle server-side-automatiseringer.
Robust asynkron flytPOST /convert, deretter spør du jevnlig GET /progress/{jobid}, og så kaller du GET /download/{jobid}.Store video- eller lydfiler, batchkonvertering, backend for nettapplikasjoner og produksjonssystemer som er enkle å prøve på nytt.

Eksempel på asynkron flyt

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

Feilmeldinger

Feil returneres som JSON med et detail-felt, ved bruk av standard HTTP statuskoder.

StatusVanlig årsak
400Mangler filer, mangler target_format, formatet for jobb ID støttes ikke, eller ugyldig forespørselsinngang.
401Mangler eller ugyldig X API Key.
403API nøkkelen har ikke tillatelse til å bruke den forespurte konverteringskombinasjonen.
404Den forespurte jobben eller den genererte resultatfilen er ikke tilgjengelig.
409Konverteringen behandles fortsatt når en nedlasting forespørres.
429API nøkkelen har ingen gjenværende kvote.
500Konverteringen kunne ikke forberedes eller fullføres på grunn av en prosesseringsfeil på serversiden.
{
  "detail": "This API key is not authorized for mp42mp3 conversions."
}