Med Flixy API kan din software bruge funktionerne i Flixy Studio: oprette komplette websites ud fra en beskrivelse, redigere og oversætte dem, skrive websiteindhold, læse menukort, kataloger og PDF’er samt oprette billeder og logoer. Du betaler kun for vellykkede kald, fra en forudbetalt saldo.
Lange opgaver (oprettelse, redigering eller oversættelse af et website) kører som jobs: API’et svarer straks, og du følger jobbet eller modtager et webhook. Indhold, læsning af dokumenter og billeder svarer direkte, normalt på få sekunder.
Start i dit udviklerområde: en gratis testnøgle oprettes, så snart du åbner det.
Udviklerkonsol
Nøgler, saldo, optankninger, webhooks og kaldslogs administreres i udviklerkonsollen på dev.flixy.studio.
En separat udviklerkonto. Ligesom på andre AI-platforme er din udviklerkonto adskilt fra din Flixy Studio-konto: den har egen tilmelding, login og session. Når du logger ud af den ene, bliver du aldrig logget ud af den anden. Du kan bruge den samme e-mailadresse til begge.
Tilknyttet organisation. Hvis du også bruger Flixy Studio, kan du tilknytte din organisation til din udviklerkonto, så API’et kan arbejde med dens websites. Se Tilknyttet organisation.
Kontosikkerhed. Totrinsbekræftelse, aktive sessioner og dataeksport findes i konsollen under Konto.
Godkendelse
Send din nøgle i headeren Authorization i hver forespørgsel. Nøgler begynder med fx_live_ eller fx_test_.
Din nøgle er hemmelig. Kald kun API’et fra din server: forespørgsler sendt fra en webbrowser afvises, så en nøgle aldrig ender på en webside eller i en mobilapp.
Hver nøgle har rettigheder (scopes). Et kald uden den rette rettighed returnerer 403 missing_scope.
Parameter
Type
Beskrivelse
sites:read
scope
Læs websites og deres HTML.
sites:write
scope
Opret, rediger og oversæt websites.
content:write
scope
Skriv websiteindhold.
extract:write
scope
Læs billeder og PDF-dokumenter.
images:write
scope
Opret billeder og logoer.
account:read
scope
Læs saldo og forbrug.
Test- og live-nøgler
Testnøgler (fx_test_…) er gratis. De returnerer realistiske eksempelsvar uden brug af AI, så du kan bygge og teste hele din integration. Website-jobs afsluttes efter få sekunder med et eksempelwebsite.
Live-nøgler (fx_live_…) returnerer rigtige resultater og trækkes fra din saldo.
Hvert svar indeholder headeren Flixy-Mode: test eller Flixy-Mode: live.
Forespørgsler og svar
Send JSON-bodies med Content-Type: application/json (højst 16 MB). Svar er JSON. Datoer bruger ISO 8601 i UTC. Hvert svar har en X-Request-Id-header: giv den til vores support, hvis du har brug for hjælp med et kald.
Angiv Accept-Language for at modtage fejlmeddelelser på dit sprog (fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja; engelsk som standard).
Fejl
Fejl bruger standard-HTTP-statuskoder og har altid samme form:
{
"error": {
"type": "billing_error",
"code": "insufficient_balance",
"message": "Insufficient balance: top up your developer account…",
"request_id": "req_5c1f0a9e2b7d4c11"
}
}
Status
Type
Betydning
400
invalid_request_error
Ugyldig JSON eller header.
401
authentication_error
Manglende, ugyldig eller slettet nøgle.
402
billing_error
Utilstrækkelig saldo, månedligt loft eller nøglens daglige loft nået.
403
permission_error
Manglende rettighed, IP-adresse ikke tilladt, konto suspenderet eller kald fra en browser.
404
not_found_error
Ukendt website, job eller endpoint.
409
conflict_error
Der kører allerede et job på dette website.
422
invalid_request_error
Ugyldig parameter, eller forespørgsel afvist af brugspolitikken (off_topic, content_policy). Opkræves ikke.
429
rate_limit_error
For mange forespørgsler eller samtidige jobs. Vent den tid, der er angivet i Retry-After.
5xx
api_error
Midlertidigt problem hos os. Prøv igen med den samme idempotensnøgle. Opkræves ikke.
Hastighedsgrænser
60 forespørgsler pr. minut pr. nøgle (headeren X-RateLimit-Limit).
3 website-jobs ad gangen pr. konto. Kald til indhold, dokumenter og billeder er ikke omfattet af denne grænse.
Når en grænse er nået, svarer API’et 429 med en Retry-After-header i sekunder.
Brug for mere? Skriv til contact@flixy.studio med din brugssituation.
Idempotens
Netværksfejl sker. Tilføj en Idempotency-Key-header (8 til 100 tegn, for eksempel dit eget ordre-ID) til enhver POST: Hvis du sender den samme forespørgsel igen inden for 24 timer, returnerer API’et det første svar — med headeren Idempotent-Replayed: true — og udfører eller opkræver aldrig arbejdet to gange.
Jobs
Oprettelse, redigering og oversættelse af et website tager fra ca. 30 sekunder til 3 minutter. Disse endpoints svarer 202 Accepted med et job. Følg det hvert 5. sekund, eller vent på hændelsen job.succeeded / job.failed via webhook.
Returnerer websitet, dets status og dets sider. Tilføj include=html for at modtage den komplette HTML for hver side (billeder hostes af Flixy). Rettighed: sites:read.
Tilføj owner=developer eller owner=organization til listen for at filtrere efter ejer. Websites i en tilknyttet organisation returnerer også dashboard_url og editor_url, så du kan åbne dem i Flixy Studio.
Rediger et website
POST/v1/sites/{id}/edits
Udfører en ændring beskrevet i almindeligt sprog, som i Flixy-editoren. Hver ændring opretter en ny version. Rettighed: sites:write.
Parameter
Type
Beskrivelse
instructionpåkrævet
string
Ændringen, der skal foretages (4 til 3000 tegn), f.eks. »Tilføj en prisside med tre tilbud« eller »Brug et mørkegrønt tema«.
curl https://flixy.studio/v1/sites/691589621/edits \
-H "Authorization: Bearer $FLIXY_API_KEY" -H "Content-Type: application/json" \
-d '{"instruction": "Add an opening hours section: Tuesday to Saturday, 7am to 7pm"}'
Oversæt et website
POST/v1/sites/{id}/translations
Oversætter hver side af websitet — navigation, knapper, formularer, billedbeskrivelser, titel og beskrivelse til søgemaskiner — og bevarer design, billeder, links, priser og kontaktoplysninger. Rettighed: sites:write.
Parameter
Type
Beskrivelse
languagepåkrævet
string
Målsprog: fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja.
Skriv webindhold
POST/v1/content
Skriver indhold, der skal udgives på et website eller sendes af en virksomhed til dens kunder. Svarer direkte. Rettighed: content:write.
Feltet html indeholder kun sikre teksttags (overskrifter, afsnit, lister, links), aldrig scripts eller styles.
Læs et dokument
POST/v1/extract
Læser et menukort, et katalog, en prisliste, et visitkort, en flyer eller en brochure og returnerer struktureret indhold klar til et website. Kun det, der faktisk står skrevet, returneres. Rettighed: extract:write.
Parameter
Type
Beskrivelse
file
string
Filen kodet i base64 (JPEG, PNG, WebP, GIF eller PDF, højst 10 MB).
url
string
Eller en offentlig https-adresse til filen.
kind
string
auto (standard), menu, catalog, business_card, brochure, price_list, flyer.
Scannede PDF’er uden tekst kan ikke læses: send i stedet et billede af hver side.
Opret et billede
POST/v1/images
Opretter et foto, en illustration eller et logo til et website. Billedet hostes af Flixy og bærer i filen den standardiserede IPTC-mærkning for AI-genererede medier. Rettighed: images:write.
Parameter
Type
Beskrivelse
promptpåkrævet
string
Beskrivelse af billedet (4 til 800 tegn).
kind
string
photo (standard), illustration eller logo.
aspect
string
16:9 (standard), 1:1, 4:3, 3:4, 9:16.
business
string
Virksomhedens kontekst, så stilen passer.
brand
string
Brandnavn til et logo.
Saldo og konto
GET/v1/account
Returnerer din saldo, beløbet reserveret til igangværende jobs, det disponible beløb, dit månedlige forbrug og den nøgle, der bruges. Rettighed: account:read.
/v1/usage returnerer dine kald og beløb pr. handling over en periode. /v1/pricing returnerer de aktuelle typiske priser og minimumspriser i din valuta.
Hvert vellykket kald koster de faktiske omkostninger ved det AI-arbejde, det krævede, ganget med Flixys margin, med et minimum pr. handling. Før et website-job starter, reserveres et anslået beløb på din saldo; den nøjagtige pris trækkes til sidst, og resten frigives. Mislykkede og afviste kald opkræves aldrig.
Webhooks
Tilføj en https-adresse på din server i dit udviklerområde, og vælg hændelserne: job.succeeded, job.failed, balance.low, topup.succeeded. Flixy sender en POST med en JSON-hændelse; svar med en 2xx-status inden for 10 sekunder. Mislykkede leveringer forsøges igen; en adresse, der bliver ved med at fejle, sættes på pause.
Headeren Flixy-Signature indeholder et tidsstempel t og v1, HMAC-SHA256 af t + "." + raw body med din webhook-hemmelighed. Afvis meddelelser, der er ældre end 5 minutter.
import crypto from 'node:crypto';
export function verifyFlixy(rawBody, header, secret) {
const p = Object.fromEntries(header.split(',').map((x) => x.split('=')));
const sig = crypto.createHmac('sha256', secret).update(`${p.t}.${rawBody}`).digest('hex');
return Math.abs(Date.now() / 1000 - Number(p.t)) < 300
&& crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(p.v1));
}
import hmac, hashlib, time
def verify_flixy(raw_body: bytes, header: str, secret: str) -> bool:
p = dict(x.split('=', 1) for x in header.split(','))
sig = hmac.new(secret.encode(), f"{p['t']}.".encode() + raw_body, hashlib.sha256).hexdigest()
return abs(time.time() - int(p['t'])) < 300 and hmac.compare_digest(sig, p['v1'])
Opbevar nøgler på din server, i miljøvariabler eller en secrets manager — aldrig på en webside, i en mobilapp eller i et kodelager.
Opret én nøgle pr. applikation, og giv den kun de rettigheder, den har brug for.
Begræns live-nøgler til dine serveres IP-adresser, og sæt et dagligt loft.
Bekræft hvert webhooks signatur og tidsstempel.
Brug en idempotensnøgle til hver POST.
Slet en nøgle med det samme, hvis den kan være blevet afsløret, og opret derefter en ny.
Gennemgå AI-genereret indhold, før du udgiver det, og informér dine brugere, når indhold er AI-genereret, hvor loven kræver det.
Brugspolitik
Flixy API er lavet til websites og deres indhold. Det afviser, uden betaling, generelle spørgsmål uden relation til websites, kode til anden software, forsøg på at ændre Flixys instruktioner og indhold, der bryder vores politik (ulovligt, hadefuldt, seksuelt indhold med mindreårige, phishing- eller identitetsefterligningssider, spam, falske anmeldelser). Læs de fulde API-vilkår og brugspolitik.
Tilknyttet organisation
POST/v1/sites/{id}/transfer
Tilknyt din Flixy Studio-organisation fra konsollen (Organisation). Ejeren af Flixy Studio-kontoen godkender tilknytningen, mens vedkommende er logget ind i Flixy Studio, og begge parter kan fjerne den når som helst. Når den er tilknyttet:
API’et kan liste, læse, redigere og oversætte organisationens websites (sites:read, sites:write);
du kan oprette et website direkte i organisationen med "destination": "organization" eller flytte et website oprettet af API’et med POST /v1/sites/{id}/transfer (gratis) for at udgive det på et domæne fra Flixy Studio;
alt API-arbejde trækkes fra din API-saldo: organisationens kreditter bruges aldrig.
Uden en tilknyttet organisation returnerer disse kald 409 organization_not_linked.
Ændringslog
v1 — november 2026. Første version: websites, ændringer, oversættelser, indhold, læsning af dokumenter, billeder, jobs, webhooks, forudbetalt saldo.
Ændringer, der kan ødelægge din integration, varsles mindst 90 dage i forvejen pr. e-mail.
Vi respekterer dit privatliv. Flixy Studio bruger kun strengt nødvendige cookies (login, sikkerhed, sprog). Vores besøgsstatistik er anonym og bruger ingen cookies. Cookiepolitik