Met de Flixy API kan je software de functies van Flixy Studio gebruiken: complete websites maken op basis van een beschrijving, ze bewerken en vertalen, website-inhoud schrijven, menukaarten, catalogi en pdf’s lezen, en afbeeldingen en logo’s maken. Je betaalt alleen voor geslaagde calls, uit een prepaid tegoed.
Lange taken (een website maken, bewerken of vertalen) worden uitgevoerd als jobs: de API antwoordt direct en jij volgt de job of ontvangt een webhook. Inhoud, documenten lezen en afbeeldingen antwoorden direct, meestal binnen enkele seconden.
Begin in je ontwikkelaarsruimte: er wordt een gratis testsleutel aangemaakt zodra je die opent.
Ontwikkelaarsconsole
Sleutels, tegoed, opwaarderingen, webhooks en calllogboeken beheer je in de ontwikkelaarsconsole op dev.flixy.studio.
Een apart ontwikkelaarsaccount. Net als bij andere AI-platforms staat je ontwikkelaarsaccount los van je Flixy Studio-account: het heeft een eigen registratie, aanmelding en sessie. Uitloggen bij het ene logt je nooit uit bij het andere. Je kunt voor beide hetzelfde e-mailadres gebruiken.
Gekoppelde organisatie. Gebruik je ook Flixy Studio, dan kun je je organisatie aan je ontwikkelaarsaccount koppelen, zodat de API aan de websites ervan kan werken. Zie Gekoppelde organisatie.
Accountbeveiliging. Verificatie in twee stappen, actieve sessies en gegevensexport zijn beschikbaar in de console, onder Account.
Authenticatie
Stuur je sleutel mee in de header Authorization van elk verzoek. Sleutels beginnen met fx_live_ of fx_test_.
Je sleutel is geheim. Roep de API alleen aan vanaf je server: verzoeken vanuit een webbrowser worden geweigerd, zodat een sleutel nooit in een webpagina of een mobiele app terechtkomt.
Elke sleutel heeft rechten (scopes). Een call zonder de juiste scope geeft 403 missing_scope terug.
Parameter
Type
Beschrijving
sites:read
scope
Websites en hun HTML lezen.
sites:write
scope
Websites maken, bewerken en vertalen.
content:write
scope
Website-inhoud schrijven.
extract:write
scope
Afbeeldingen en pdf-documenten lezen.
images:write
scope
Afbeeldingen en logo’s maken.
account:read
scope
Het tegoed en het gebruik lezen.
Test- en livesleutels
Testsleutels (fx_test_…) zijn gratis. Ze geven realistische voorbeeldantwoorden zonder AI te gebruiken, zodat je je hele integratie kunt bouwen en testen. Websitejobs zijn na enkele seconden voltooid met een voorbeeldwebsite.
Livesleutels (fx_live_…) geven echte resultaten en worden van je tegoed afgeschreven.
Elk antwoord bevat de header Flixy-Mode: test of Flixy-Mode: live.
Verzoeken en antwoorden
Stuur JSON-bodies met Content-Type: application/json (maximaal 16 MB). Antwoorden zijn in JSON. Datums gebruiken ISO 8601 in UTC. Elk antwoord heeft een header X-Request-Id: geef deze door aan onze support als je hulp nodig hebt bij een call.
Stel Accept-Language in om foutmeldingen in je eigen taal te ontvangen (fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja; standaard Engels).
Fouten
Fouten gebruiken standaard HTTP-statuscodes en hebben altijd dezelfde vorm:
{
"error": {
"type": "billing_error",
"code": "insufficient_balance",
"message": "Insufficient balance: top up your developer account…",
"request_id": "req_5c1f0a9e2b7d4c11"
}
}
Status
Type
Betekenis
400
invalid_request_error
Ongeldige JSON of header.
401
authentication_error
Ontbrekende, ongeldige of verwijderde sleutel.
402
billing_error
Onvoldoende tegoed, maandlimiet of daglimiet van de sleutel bereikt.
403
permission_error
Ontbrekende scope, IP-adres niet toegestaan, account opgeschort of call vanuit een browser.
404
not_found_error
Onbekende website, job of endpoint.
409
conflict_error
Er loopt al een job op deze website.
422
invalid_request_error
Ongeldige parameter, of verzoek geweigerd door het gebruiksbeleid (off_topic, content_policy). Niet in rekening gebracht.
429
rate_limit_error
Te veel verzoeken of gelijktijdige jobs. Wacht de tijd af die in Retry-After staat.
5xx
api_error
Tijdelijk probleem aan onze kant. Probeer het opnieuw met dezelfde idempotentiesleutel. Niet in rekening gebracht.
Rate limits
60 verzoeken per minuut per sleutel (header X-RateLimit-Limit).
3 websitejobs tegelijk per account. Calls voor inhoud, documenten en afbeeldingen vallen niet onder deze limiet.
Wanneer een limiet is bereikt, antwoordt de API met 429 en een header Retry-After in seconden.
Meer nodig? Schrijf naar contact@flixy.studio met je use case.
Idempotentie
Netwerkfouten komen voor. Voeg een header Idempotency-Key (8 tot 100 tekens, bijvoorbeeld je eigen order-ID) toe aan elke POST: als je hetzelfde verzoek binnen 24 uur opnieuw verstuurt, geeft de API het eerste antwoord terug — met de header Idempotent-Replayed: true — en wordt het werk nooit twee keer uitgevoerd of in rekening gebracht.
Jobs
Een website maken, bewerken en vertalen duurt ongeveer 30 seconden tot 3 minuten. Deze endpoints antwoorden 202 Accepted met een job. Volg die elke 5 seconden of wacht op de job.succeeded / job.failedwebhook.
status is queued, running, succeeded of failed. Een mislukte job wordt nooit in rekening gebracht en de bijbehorende error legt uit waarom.
Een website maken
POST/v1/sites
Maakt een complete website op basis van een beschrijving. Scope: sites:write.
Parameter
Type
Beschrijving
promptverplicht
string
Beschrijving van het bedrijf en de website (12 tot 4000 tekens). Hoe preciezer, hoe beter.
language
string
Taal van de website: fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja.
structure
string
onepage of multipage. Standaard afgeleid uit de prompt.
quality
string
fast, standard (standaard) of complete.
features
string[]
Op te nemen secties: contact_form, testimonials, faq, map, whatsapp, shop, booking, gallery, newsletter, blog, pricing.
business
object
Bekende gegevens: name, slogan, phone, email, address, city, hours. Nooit verzonnen door de AI.
destination
string
developer (standaard): de website hoort bij je ontwikkelaarsaccount. organization: de website wordt direct aangemaakt in je gekoppelde Flixy Studio-organisatie.
Geeft de website, de status en de pagina’s terug. Voeg include=html toe om de volledige HTML van elke pagina te ontvangen (afbeeldingen worden gehost door Flixy). Scope: sites:read.
Voeg owner=developer of owner=organization toe aan de lijst om op eigenaar te filteren. Websites van een gekoppelde organisatie geven ook dashboard_url en editor_url terug, om ze in Flixy Studio te openen.
Een website bewerken
POST/v1/sites/{id}/edits
Voert een wijziging door die in gewone taal is beschreven, zoals in de Flixy-editor. Elke wijziging maakt een nieuwe versie aan. Scope: sites:write.
Parameter
Type
Beschrijving
instructionverplicht
string
De door te voeren wijziging (4 tot 3000 tekens), bijv. “Voeg een prijspagina met drie aanbiedingen toe” of “Gebruik een donkergroen thema”.
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"}'
Een website vertalen
POST/v1/sites/{id}/translations
Vertaalt elke pagina van de website — navigatie, knoppen, formulieren, afbeeldingsbeschrijvingen, titel en beschrijving voor zoekmachines — met behoud van ontwerp, afbeeldingen, links, prijzen en contactgegevens. Scope: sites:write.
Parameter
Type
Beschrijving
languageverplicht
string
Doeltaal: fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja.
Webteksten schrijven
POST/v1/content
Schrijft inhoud die bedoeld is om op een website te publiceren of door een bedrijf naar zijn klanten te sturen. Antwoordt direct. Scope: content:write.
Het veld html bevat alleen veilige teksttags (koppen, alinea’s, lijsten, links), nooit scripts of stijlen.
Een document lezen
POST/v1/extract
Leest een menukaart, een catalogus, een prijslijst, een visitekaartje, een flyer of een brochure en geeft gestructureerde inhoud terug die klaar is voor een website. Alleen wat er echt staat, wordt teruggegeven. Scope: extract:write.
Parameter
Type
Beschrijving
file
string
Het bestand gecodeerd in base64 (JPEG, PNG, WebP, GIF of PDF, maximaal 10 MB).
url
string
Of een openbaar https-adres van het bestand.
kind
string
auto (standaard), menu, catalog, business_card, brochure, price_list, flyer.
Gescande pdf’s zonder tekst kunnen niet worden gelezen: stuur in plaats daarvan een afbeelding van elke pagina.
Een afbeelding maken
POST/v1/images
Maakt een foto, een illustratie of een logo voor een website. De afbeelding wordt gehost door Flixy en bevat in het bestand de standaard IPTC-markering voor door AI gegenereerde media. Scope: images:write.
Parameter
Type
Beschrijving
promptverplicht
string
Beschrijving van de afbeelding (4 tot 800 tekens).
kind
string
photo (standaard), illustration of logo.
aspect
string
16:9 (standaard), 1:1, 4:3, 3:4, 9:16.
business
string
Bedrijfscontext, zodat de stijl aansluit.
brand
string
Merknaam voor een logo.
Tegoed en account
GET/v1/account
Geeft je tegoed terug, het bedrag dat is gereserveerd voor lopende jobs, het beschikbare bedrag, je maandelijkse uitgaven en de gebruikte sleutel. Scope: account:read.
/v1/usage geeft je calls en bedragen per bewerking over een periode terug. /v1/pricing geeft de huidige typische en minimumprijzen in je valuta terug.
Elke geslaagde call kost de werkelijke kosten van het AI-werk dat ervoor nodig was, vermenigvuldigd met de marge van Flixy, met een minimum per bewerking. Voordat een websitejob start, wordt een geschat bedrag op je tegoed gereserveerd; de exacte prijs wordt aan het einde in rekening gebracht en de rest wordt vrijgegeven. Mislukte en geweigerde calls worden nooit in rekening gebracht.
Webhooks
Voeg in je ontwikkelaarsruimte een https-adres van je server toe en kies de events: job.succeeded, job.failed, balance.low, topup.succeeded. Flixy stuurt een POST met een JSON-event; antwoord binnen 10 seconden met een 2xx-status. Mislukte afleveringen worden opnieuw geprobeerd; een adres dat blijft falen, wordt gepauzeerd.
De header Flixy-Signature bevat een tijdstempel t en v1, de HMAC-SHA256 van t + "." + raw body met je webhookgeheim. Weiger berichten die ouder zijn dan 5 minuten.
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'])
Waardeer je tegoed op vanaf 10 € in je ontwikkelaarsruimte, met je kaart. Btw wordt toegevoegd volgens je land; voor elke opwaardering wordt een factuur verstuurd.
Schakel automatisch opwaarderen in om een gekozen bedrag bij te laden wanneer je tegoed onder een drempel zakt.
Stel een maandelijkse uitgavenlimiet in voor het account en een daglimiet per sleutel.
Je ontvangt een e-mail en een balance.low-webhook wanneer je tegoed bijna op is.
Bewaar sleutels op je server, in omgevingsvariabelen of een secretsmanager — nooit in een webpagina, een mobiele app of een coderepository.
Maak één sleutel per applicatie aan en geef die alleen de scopes die ze nodig heeft.
Beperk livesleutels tot de IP-adressen van je servers en stel een daglimiet in.
Verifieer de handtekening en het tijdstempel van elke webhook.
Gebruik een idempotentiesleutel voor elke POST.
Verwijder een sleutel onmiddellijk als hij mogelijk is uitgelekt, en maak daarna een nieuwe aan.
Controleer door AI gegenereerde inhoud voordat je die publiceert, en informeer je gebruikers wanneer inhoud door AI is gegenereerd als de wet dat vereist.
Gebruiksbeleid
De Flixy API is gemaakt voor websites en hun inhoud. Hij weigert, zonder kosten, algemene vragen die niets met websites te maken hebben, code voor andere software, pogingen om de instructies van Flixy te wijzigen en inhoud die ons beleid schendt (illegale of haatdragende inhoud, seksuele inhoud met minderjarigen, phishing- of imitatiepagina’s, spam, nepreviews). Lees de volledige API-voorwaarden en gebruiksbeleid.
Gekoppelde organisatie
POST/v1/sites/{id}/transfer
Koppel je Flixy Studio-organisatie vanuit de console (Organisatie). De eigenaar van het Flixy Studio-account keurt de koppeling goed terwijl hij is ingelogd bij Flixy Studio, en beide partijen kunnen haar op elk moment verwijderen. Na het koppelen:
de API kan de websites van de organisatie weergeven, lezen, bewerken en vertalen (sites:read, sites:write);
je kunt een website direct in de organisatie maken met "destination": "organization", of een via de API gemaakte website verplaatsen met POST /v1/sites/{id}/transfer (gratis), om hem vanuit Flixy Studio op een domein te publiceren;
al het API-werk wordt in rekening gebracht op je API-tegoed: de credits van de organisatie worden nooit gebruikt.
Zonder gekoppelde organisatie geven deze calls 409 organization_not_linked terug.
Wijzigingslogboek
v1 — november 2026. Eerste versie: websites, wijzigingen, vertalingen, inhoud, documenten lezen, afbeeldingen, jobs, webhooks, prepaid tegoed.
Wijzigingen die je integratie kunnen breken, worden ten minste 90 dagen van tevoren per e-mail aangekondigd.
Wij respecteren je privacy. Flixy Studio gebruikt alleen cookies die strikt noodzakelijk zijn (inloggen, beveiliging, taal). Onze bezoekersstatistieken zijn anoniem en gebruiken geen cookie. Cookiebeleid