Konvertio API

REST API for bildekonvertering. Send et bilde, få det konverterte resultatet direkte i svaret — JPG, PNG, WebP, HEIC og flere.

Base URL https://konvertio.no/verktoy/api

Introduksjon

Konvertio API lar deg konvertere bilder programmatisk. APIet er synkront: du sender en fil i én forespørsel og får den konverterte filen direkte i svaret. Ingen jobb-ID, ingen polling, ingen ekstra nedlastingssteg.

📤 POST /convert
✅ Konvertert fil i svaret
💡 API-et støtter bilder, PDF-verktøy og KI-jobber (OCR, transkripsjon og teksting). Inkludert videokonvertering (mp4, webm, mp3).

Autentisering

Alle API-kall krever en API-nøkkel i headeren X-API-Key.

HTTP
X-API-Key: konv_live_din_nokkel_her
💡 Nøkkelen sendes til e-posten din umiddelbart etter kjøp. Se planene nederst på siden.

Quickstart (2 minutter)

1
Kjøp en plan nederst på siden — API-nøkkelen kommer på e-post
2
Send en POST til /verktoy/api/convert med filen og ønsket format — ferdig

POST /verktoy/api/convert

Laster opp et bilde og returnerer den konverterte filen i samme svar (multipart/form-data).

Request

ParameterTypePåkrevdBeskrivelse
fileFileBildet som skal konverteres. Støttede innformater: jpg, jpeg, png, webp, heic, bmp, gif, tiff
targetstringUtdataformat: jpg, png, webp eller pdf

Response 200

Selve den konverterte filen (binary) med Content-Disposition: attachment. Lagre svaret direkte til disk.

Feilsvar

Ved feil returneres JSON med feltet error, se feilkodene under.

POST /verktoy/api/pdf

PDF-operasjoner på én fil (multipart/form-data). Velg operasjon med operation. Svaret er den ferdige filen i samme kall.

Request

ParameterTypePåkrevdBeskrivelse
fileFilePDF-filen som skal behandles
operationstringjpg, png, compress, rotate, delete-pages, extract-pages, unlock, protect
dpiintKun jpg/png. Oppløsning 72300, standard 150
angleint✅ ved rotate90, 180 eller 270 grader med klokken
pagesstring✅ ved delete-pages / extract-pagesSidetall og intervaller, f.eks. 2,5-7
passwordstring✅ ved unlock / protectPassord for å åpne (unlock) eller nytt passord, minst 4 tegn (protect)

Response 200

Selve resultatfilen (binary) med Content-Disposition: attachment.

Viktig for jpg/png: har PDF-en én side, får du bildefilen direkte. Har den flere sider, får du én .zip med alle sidene (side1.jpg, side2.jpg …). Sjekk Content-Type i svaret.

Eksempler

# PDF til JPG (flere sider = ZIP)
curl -X POST https://konvertio.no/verktoy/api/pdf \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "file=@dokument.pdf" \
  -F "operation=jpg" \
  -F "dpi=150" \
  -o resultat.zip

# PDF til PNG
curl -X POST https://konvertio.no/verktoy/api/pdf \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "file=@dokument.pdf" -F "operation=png" -F "dpi=300" \
  -o resultat.zip

# Komprimer PDF
curl -X POST https://konvertio.no/verktoy/api/pdf \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "file=@dokument.pdf" -F "operation=compress" \
  -o komprimert.pdf

# Roter alle sider 90 grader
curl -X POST https://konvertio.no/verktoy/api/pdf \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "file=@dokument.pdf" -F "operation=rotate" -F "angle=90" \
  -o rotert.pdf

# Slett side 2 og 5-7
curl -X POST https://konvertio.no/verktoy/api/pdf \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "file=@dokument.pdf" -F "operation=delete-pages" -F "pages=2,5-7" \
  -o uten-sider.pdf

# Hent ut side 1 og 3
curl -X POST https://konvertio.no/verktoy/api/pdf \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "file=@dokument.pdf" -F "operation=extract-pages" -F "pages=1,3" \
  -o utvalgte-sider.pdf

# Las opp passordbeskyttet PDF
curl -X POST https://konvertio.no/verktoy/api/pdf \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "file=@laast.pdf" -F "operation=unlock" -F "password=hemmelig" \
  -o apen.pdf

# Beskytt PDF med passord
curl -X POST https://konvertio.no/verktoy/api/pdf \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "file=@dokument.pdf" -F "operation=protect" -F "password=hemmelig" \
  -o beskyttet.pdf

Feilsvar

Ugyldig operation, manglende angle/pages/password, ugyldig sideintervall eller passordbeskyttet fil uten password gir 400 med JSON-feltet error.

POST /verktoy/api/merge

Slår sammen flere PDF-filer til én, i den rekkefølgen filene sendes (multipart/form-data). Eget endepunkt med eget kontrakt — bruk files[], ikke file.

Request

ParameterTypePåkrevdBeskrivelse
files[]File[]Fra 2 til 20 PDF-filer. Rekkefølgen i forespørselen er rekkefølgen i resultatet

Størrelsesgrensen for planen din gjelder summen av alle filene, ikke hver enkelt fil.

Response 200

Den sammenslåtte PDF-filen (binary) med Content-Disposition: attachment.

Eksempel

curl -X POST https://konvertio.no/verktoy/api/merge \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "files[]=@del1.pdf" \
  -F "files[]=@del2.pdf" \
  -F "files[]=@del3.pdf" \
  -o sammenslatt.pdf

Feilsvar

Færre enn 2 eller flere enn 20 filer, eller en fil som ikke er PDF, gir 400. Samlet størrelse over plangrensen gir 413.

POST /verktoy/api/jobs

Tunge operasjoner (OCR og transkripsjon) tar fra sekunder til minutter. De kjøres derfor som jobber: du sender filen, får et job_id med én gang, og spør om status til jobben er ferdig. Samme mønster som hos de fleste konverterings-API-er.

Kvote: tunge operasjoner koster 5 kall hver (feltet cost i svaret). Kvoten trekkes først når jobben er fullført — mislykkede jobber koster ingenting.

Operasjoner

operationInnUtBeskrivelse
ocrPDF, bildePDFSøkbar PDF: usynlig tekstlag legges over skannet side
ocr-textPDF, bildeTXTRen tekst hentet ut av skannet dokument
transkripsjonLyd, videoTXTTale til tekst
tekstingLyd, videoSRT / VTTUndertekster med tidskoder
videoVideo (mp4, mov, mkv, webm, avi m.fl.)mp4, webm eller mp3 (kun lydspor) – velg med format. Maks 30 min per jobb.

Request

ParameterTypePåkrevdBeskrivelse
fileFileOCR: pdf, jpg, png, tiff, bmp, webp. Transkripsjon/teksting: mp3, wav, m4a, aac, ogg, opus, flac, mp4, mov, mkv, webm, avi
operationstringSe tabellen over
languagestringOCR: nor, eng eller nor+eng (standard). Transkripsjon: no, en, sv, da, de eller auto
formatstringKun teksting: srt (standard) eller vtt

Response 202

Jobben er mottatt og satt i kø. Filen er ikke ferdig ennå.

{
  "job_id": "3884da69-06ed-4db5-b809-9ced06910e23",
  "status": "queued",
  "operation": "ocr",
  "cost": 5,
  "status_url": "/verktoy/api/jobs/3884da69-...",
  "download_url": "/verktoy/api/jobs/3884da69-.../download"
}

Grenser

Maks 5 aktive jobber per nøkkel samtidig, og maks 100 sider per OCR-jobb. Resultatfiler slettes automatisk etter 1 time.

GET /verktoy/api/jobs/{job_id}

Spør om status. Anbefalt intervall: hvert 2.–5. sekund. Statusoppslag teller ikke mot forespørselsgrensen på 10 per minutt — poll så ofte du trenger.

Mens jobben kjører

{
  "job_id": "3884da69-...",
  "operation": "ocr",
  "status": "running",
  "progress": 66,
  "message": "Leser side 8 av 12...",
  "eta_sec": 4,
  "cost": 5
}

progress går fra 0 til 100, eta_sec er anslått gjenstående tid (justeres underveis), og message er en lesbar beskrivelse du kan vise brukeren direkte.

Når jobben er ferdig

{
  "job_id": "3884da69-...",
  "status": "done",
  "progress": 100,
  "message": "Ferdig: 12 sider (nor+eng)",
  "filename": "kontrakt_ocr.pdf",
  "download_url": "/verktoy/api/jobs/3884da69-.../download",
  "cost": 5
}

Hvis noe gikk galt

{
  "job_id": "3884da69-...",
  "status": "error",
  "progress": 25,
  "message": "Avbrutt",
  "error": "Jobben ble avbrutt av en omstart. Send filen på nytt."
}

Mulige verdier for status: queued, running, done, error. Ved error er kvoten ikke trukket.

GET /verktoy/api/jobs/{job_id}/download

Henter resultatfilen (binary) med Content-Disposition: attachment. Bare gyldig når status er done.

KodeBetydning
200Filen, klar til å lagres
409Jobben er ikke ferdig ennå — sjekk status_url
410Filen er slettet (resultater lagres i 1 time av personvernhensyn)
404Ukjent jobb, eller jobben tilhører en annen API-nøkkel

Komplett eksempel

# 1. Send dokumentet til OCR
JOB=$(curl -s -X POST https://konvertio.no/verktoy/api/jobs \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "file=@kontrakt.pdf" \
  -F "operation=ocr" \
  -F "language=nor+eng" | grep -o '"job_id":"[^"]*"' | cut -d'"' -f4)

# 2. Vent til den er ferdig
while true; do
  SVAR=$(curl -s https://konvertio.no/verktoy/api/jobs/$JOB \
    -H "X-API-Key: konv_live_DIN_NOKKEL")
  echo "$SVAR"
  echo "$SVAR" | grep -q '"status":"done"' && break
  echo "$SVAR" | grep -q '"status":"error"' && exit 1
  sleep 3
done

# 3. Last ned resultatet
curl -s https://konvertio.no/verktoy/api/jobs/$JOB/download \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -o kontrakt-sokbar.pdf

Transkripsjon og teksting

# Tale til tekst
curl -X POST https://konvertio.no/verktoy/api/jobs \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "file=@moete.mp3" \
  -F "operation=transkripsjon" \
  -F "language=no"

# Undertekster med tidskoder (SRT eller VTT)
curl -X POST https://konvertio.no/verktoy/api/jobs \
  -H "X-API-Key: konv_live_DIN_NOKKEL" \
  -F "file=@video.mp4" \
  -F "operation=teksting" \

# Video til webm (eller mp4/mp3):
curl -X POST https://konvertio.no/verktoy/api/jobs \
  -H "X-API-Key: konv_live_..." \
  -F "file=@video.mov" -F "operation=video" -F "format=webm"
  -F "format=srt"

Feilkoder

KodeBetydning
400Ugyldig forespørsel: mangler file, ustøttet innformat eller ugyldig target
401Ugyldig eller manglende API-nøkkel
202Jobben er mottatt og satt i kø (svaret inneholder job_id og status_url)
409Jobben er ikke ferdig ennå — sjekk status_url før du laster ned
410Resultatfilen er slettet (lagres i 1 time av personvernhensyn)
413Filen er for stor for planen din (svaret inneholder limit_mb og plan) — eller bildet har for mange piksler (svaret inneholder limit_mp: 300)
429Månedskvoten er brukt opp (svaret inneholder limit, used, remaining) — eller for mange forespørsler per minutt (svaret inneholder retry_after og headeren Retry-After)
503Serveren er opptatt — prøv igjen om litt (Retry-After: 30)

Kodeeksempler

Python
import requests

API_KEY = "konv_live_din_nokkel"
URL     = "https://konvertio.no/verktoy/api/convert"

with open("bilde.heic", "rb") as f:
    r = requests.post(URL,
        headers={"X-API-Key": API_KEY},
        files={"file": f},
        data={"target": "webp"})

if r.status_code == 200:
    with open("bilde.webp", "wb") as out:
        out.write(r.content)
    print("✅ Lagret bilde.webp")
else:
    print("Feil", r.status_code, r.json())

Rate limits og kvoter

GrenseVerdiPer
Forespørsler10minutt per nøkkel
API-kalli henhold til plan (1 000 – 20 000)måned

Ved overskridelse returneres HTTP 429 — se feilkodene over.

Planer og API-kvoter

PlanPris/mndAPI-kall/mndMaks filPrioritet
Lett 79 kr 50 1000 MB Normal
Basis 189 kr 150 2000 MB Hoy
Ubegrenset 390 kr 500 Hoyest
Enterprise Kontakt kr Dedikert
Se alle planer og oppgrader →

API-planer for utviklere

Dedikerte planer for deg som bygger pa Konvertio API. Store volum? Kontakt oss.

API Basis
299 kr/mnd
1000 API-kall/mnd
  • ✓ 1 000 API-kall/mnd
  • ✓ Bilder: JPG, PNG, WebP, HEIC m.fl.
  • ✓ Maks 100 MB per fil
  • ✓ REST API, svar med en gang
  • ✓ PDF: konvertering, komprimering, merge
  • ✓ Video: mp4, webm, mp3
  • ✓ KI: OCR, transkripsjon, teksting
Populaer
API Pro
990 kr/mnd
5000 API-kall/mnd
  • ✓ 5 000 API-kall/mnd
  • ✓ Bilder: JPG, PNG, WebP, HEIC m.fl.
  • ✓ Maks 500 MB per fil
  • ✓ Prioritert stotte
  • ✓ PDF: konvertering, komprimering, merge
  • ✓ Video: mp4, webm, mp3
  • ✓ KI: OCR, transkripsjon, teksting
Pro
API Bedrift
2490 kr/mnd
20000 API-kall/mnd
  • ✓ 20 000 API-kall/mnd
  • ✓ Bilder: JPG, PNG, WebP, HEIC m.fl.
  • ✓ Maks 1 GB per fil
  • ✓ Hoyeste prioritet
  • ✓ PDF: konvertering, komprimering, merge
  • ✓ Video: mp4, webm, mp3
  • ✓ KI: OCR, transkripsjon, teksting
API Enterprise
Kontakt oss
Ubegrenset API-kall/mnd
  • ✓ Ubegrenset volum
  • ✓ SLA-avtale
  • ✓ Dedikert kontakt
  • ✓ Faktura-betaling
Kontakt oss