Viskas, ko reikia norint pridėti Flixy DI prie savo produkto. Bazinis URL: https://flixy.studio/v1
REST · JSONBearer raktaiAsinchroninės užduotysPasirašyti webhook18 kalbų
Įvadas
Flixy API leidžia jūsų programinei įrangai naudoti Flixy Studio funkcijas: kurti visas svetaines pagal aprašymą, jas redaguoti ir versti, rašyti svetainių turinį, skaityti meniu, katalogus ir PDF failus, kurti paveikslėlius ir logotipus. Mokate tik už sėkmingus iškvietimus, iš išankstinio mokėjimo likučio.
Ilgos užduotys (svetainės kūrimas, redagavimas ar vertimas) vykdomos kaip užduotys: API iš karto atsako, o jūs sekate užduotį arba gaunate webhook. Turinys, dokumentų skaitymas ir paveikslėliai atsako tiesiogiai, paprastai per kelias sekundes.
Pradėkite savo kūrėjo erdvėje: nemokamas bandomasis raktas sukuriamas vos ją atidarius.
Kūrėjų konsolė
Raktai, likutis, papildymai, webhooks ir iškvietimų žurnalai valdomi kūrėjų konsolėje adresu dev.flixy.studio.
Atskira kūrėjo paskyra. Kaip ir kitose DI platformose, jūsų kūrėjo paskyra yra atskirta nuo jūsų Flixy Studio paskyros: ji turi savo registraciją, prisijungimą ir sesiją. Atsijungus nuo vienos, niekada neatsijungiama nuo kitos. Abiem galite naudoti tą patį el. pašto adresą.
Susieta organizacija. Jei naudojate ir Flixy Studio, galite susieti savo organizaciją su kūrėjo paskyra, kad API galėtų dirbti su jos svetainėmis. Žr. Susieta organizacija.
Paskyros sauga. Dviejų veiksmų patvirtinimas, aktyvios sesijos ir duomenų eksportas pasiekiami konsolėje, skiltyje Paskyra.
Autentifikavimas
Siųskite savo raktą kiekvienos užklausos antraštėje Authorization. Raktai prasideda fx_live_ arba fx_test_.
Jūsų raktas yra slaptas. Kvieskite API tik iš savo serverio: iš interneto naršyklės siunčiamos užklausos atmetamos, kad raktas niekada neatsidurtų tinklalapyje ar mobiliojoje programėlėje.
Kiekvienas raktas turi teises (scopes). Iškvietimas be tinkamos teisės grąžina 403 missing_scope.
Parametras
Tipas
Aprašymas
sites:read
scope
Skaityti svetaines ir jų HTML.
sites:write
scope
Kurti, redaguoti ir versti svetaines.
content:write
scope
Rašyti svetainių turinį.
extract:write
scope
Skaityti paveikslėlius ir PDF dokumentus.
images:write
scope
Kurti paveikslėlius ir logotipus.
account:read
scope
Skaityti likutį ir naudojimą.
Bandomieji ir live raktai
Bandomieji raktai (fx_test_…) nemokami. Jie grąžina realistiškus pavyzdinius atsakymus nenaudodami DI, todėl galite sukurti ir išbandyti visą integraciją. Svetainių užduotys baigiamos po kelių sekundžių su pavyzdine svetaine.
Live raktai (fx_live_…) grąžina tikrus rezultatus ir apmokestinami iš jūsų likučio.
Kiekviename atsakyme yra antraštė Flixy-Mode: test arba Flixy-Mode: live.
Užklausos ir atsakymai
Siųskite JSON turinį su Content-Type: application/json (daugiausia 16 MB). Atsakymai pateikiami JSON formatu. Datos nurodomos ISO 8601 formatu UTC laiku. Kiekvienas atsakymas turi antraštę X-Request-Id: nurodykite ją mūsų pagalbos tarnybai, jei jums reikia pagalbos dėl iškvietimo.
Nustatykite Accept-Language, kad klaidų pranešimus gautumėte savo kalba (fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja; numatytoji – anglų).
Klaidos
Klaidoms naudojami standartiniai HTTP būsenos kodai, jos visada būna tokios pačios formos:
{
"error": {
"type": "billing_error",
"code": "insufficient_balance",
"message": "Insufficient balance: top up your developer account…",
"request_id": "req_5c1f0a9e2b7d4c11"
}
}
Būsena
Tipas
Reikšmė
400
invalid_request_error
Netinkamas JSON arba antraštė.
401
authentication_error
Trūkstamas, netinkamas arba ištrintas raktas.
402
billing_error
Nepakankamas likutis, pasiektas mėnesio limitas arba rakto dienos limitas.
403
permission_error
Trūksta teisės, IP adresas neleidžiamas, paskyra sustabdyta arba iškvietimas iš naršyklės.
404
not_found_error
Nežinoma svetainė, užduotis arba galinis taškas.
409
conflict_error
Šioje svetainėje jau vykdoma užduotis.
422
invalid_request_error
Netinkamas parametras arba užklausa atmesta pagal naudojimo politiką (off_topic, content_policy). Neapmokestinama.
429
rate_limit_error
Per daug užklausų arba vienu metu vykdomų užduočių. Palaukite Retry-After nurodytą laiką.
5xx
api_error
Laikina problema mūsų pusėje. Bandykite dar kartą su tuo pačiu idempotencijos raktu. Neapmokestinama.
Užklausų limitai
60 užklausų per minutę vienam raktui (antraštė X-RateLimit-Limit).
3 svetainių užduotys vienu metu vienai paskyrai. Turinio, dokumentų ir paveikslėlių iškvietimams šis limitas netaikomas.
Pasiekus limitą, API atsako 429 su antrašte Retry-After sekundėmis.
Reikia daugiau? Parašykite adresu contact@flixy.studio ir aprašykite savo naudojimo atvejį.
Idempotencija
Tinklo klaidų pasitaiko. Pridėkite antraštę Idempotency-Key (nuo 8 iki 100 simbolių, pavyzdžiui, savo užsakymo ID) prie bet kurio POST: jei tą pačią užklausą išsiųsite dar kartą per 24 valandas, API grąžins pirmąjį atsakymą — su antrašte Idempotent-Replayed: true — ir niekada nevykdys bei neapmokestins darbo du kartus.
Užduotys
Svetainės kūrimas, redagavimas ir vertimas trunka nuo maždaug 30 sekundžių iki 3 minučių. Šie galiniai taškai atsako 202 Accepted su užduotimi. Tikrinkite ją kas 5 sekundes arba laukite job.succeeded / job.failedwebhook.
Grąžina svetainę, jos būseną ir puslapius. Pridėkite include=html, kad gautumėte visą kiekvieno puslapio HTML (paveikslėliai talpinami Flixy). Teisė: sites:read.
Norėdami filtruoti pagal savininką, prie sąrašo pridėkite owner=developer arba owner=organization. Susietos organizacijos svetainės taip pat grąžina dashboard_url ir editor_url, kad jas būtų galima atidaryti Flixy Studio.
Redaguoti svetainę
POST/v1/sites/{id}/edits
Pritaiko paprasta kalba aprašytą pakeitimą, kaip Flixy redaktoriuje. Kiekvienas pakeitimas sukuria naują versiją. Teisė: sites:write.
Parametras
Tipas
Aprašymas
instructionprivaloma
string
Atliktinas pakeitimas (nuo 4 iki 3000 simbolių), pvz., „Pridėk kainų puslapį su trimis pasiūlymais“ arba „Naudok tamsiai žalią temą“.
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"}'
Išversti svetainę
POST/v1/sites/{id}/translations
Išverčia kiekvieną svetainės puslapį — navigaciją, mygtukus, formas, paveikslėlių aprašymus, pavadinimą ir aprašymą paieškos sistemoms — išlaikydamas dizainą, paveikslėlius, nuorodas, kainas ir kontaktinius duomenis. Teisė: sites:write.
Parametras
Tipas
Aprašymas
languageprivaloma
string
Tikslinė kalba: fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja.
Rašyti interneto turinį
POST/v1/content
Rašo turinį, skirtą skelbti svetainėje arba verslo siunčiamą savo klientams. Atsako tiesiogiai. Teisė: content:write.
Laukelyje html yra tik saugios teksto žymos (antraštės, pastraipos, sąrašai, nuorodos), niekada scenarijų ar stilių.
Perskaityti dokumentą
POST/v1/extract
Perskaito meniu, katalogą, kainoraštį, vizitinę kortelę, skrajutę ar brošiūrą ir grąžina struktūrizuotą turinį, paruoštą svetainei. Grąžinama tik tai, kas iš tikrųjų parašyta. Teisė: extract:write.
Parametras
Tipas
Aprašymas
file
string
Failas, užkoduotas base64 (JPEG, PNG, WebP, GIF arba PDF, daugiausia 10 MB).
url
string
Arba viešas failo https adresas.
kind
string
auto (numatytoji), menu, catalog, business_card, brochure, price_list, flyer.
Nuskenuotų PDF be teksto perskaityti neįmanoma: vietoj to atsiųskite kiekvieno puslapio paveikslėlį.
Sukurti paveikslėlį
POST/v1/images
Sukuria nuotrauką, iliustraciją ar logotipą svetainei. Paveikslėlis talpinamas Flixy ir faile turi standartinį IPTC žymėjimą, skirtą DI sugeneruotai medijai. Teisė: images:write.
Parametras
Tipas
Aprašymas
promptprivaloma
string
Paveikslėlio aprašymas (nuo 4 iki 800 simbolių).
kind
string
photo (numatytoji), illustration arba logo.
aspect
string
16:9 (numatytoji), 1:1, 4:3, 3:4, 9:16.
business
string
Verslo kontekstas, kad stilius atitiktų.
brand
string
Prekės ženklo pavadinimas logotipui.
Likutis ir paskyra
GET/v1/account
Grąžina jūsų likutį, vykdomoms užduotims rezervuotą sumą, laisvą sumą, mėnesio išlaidas ir naudojamą raktą. Teisė: account:read.
/v1/usage grąžina jūsų iškvietimus ir sumas pagal operaciją per laikotarpį. /v1/pricing grąžina dabartines tipines ir minimalias kainas jūsų valiuta.
Kiekvienas sėkmingas iškvietimas kainuoja tiek, kiek realiai kainavo jam reikalingas DI darbas, padauginus iš Flixy maržos, taikant minimalią kainą už operaciją. Prieš pradedant svetainės užduotį, jūsų likutyje rezervuojama apskaičiuota suma; tiksli kaina nuskaičiuojama pabaigoje, o likusi suma atlaisvinama. Nepavykę ir atmesti iškvietimai niekada neapmokestinami.
Webhook
Savo kūrėjo erdvėje pridėkite savo serverio https adresą ir pasirinkite įvykius: job.succeeded, job.failed, balance.low, topup.succeeded. Flixy siunčia POST su JSON įvykiu; atsakykite 2xx būsena per 10 sekundžių. Nepavykę pristatymai kartojami; nuolat nepavykstantis adresas pristabdomas.
Antraštėje Flixy-Signature yra laiko žyma t ir v1 — t + "." + raw body HMAC-SHA256, apskaičiuotas su jūsų webhook slaptažodžiu. Atmeskite senesnius nei 5 minučių pranešimus.
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'])
Laikykite raktus savo serveryje, aplinkos kintamuosiuose arba slaptųjų duomenų tvarkyklėje — niekada ne tinklalapyje, mobiliojoje programėlėje ar kodo saugykloje.
Kiekvienai programai sukurkite atskirą raktą ir suteikite jam tik reikalingas teises.
Apribokite live raktus savo serverių IP adresais ir nustatykite dienos limitą.
Patikrinkite kiekvieno webhook parašą ir laiko žymą.
Kiekvienam POST naudokite idempotencijos raktą.
Nedelsdami ištrinkite raktą, jei jis galėjo būti atskleistas, tada sukurkite naują.
Peržiūrėkite DI sugeneruotą turinį prieš jį paskelbdami ir informuokite savo naudotojus, kai turinys sugeneruotas DI, jei to reikalauja įstatymai.
Naudojimo politika
Flixy API skirta svetainėms ir jų turiniui. Ji be mokesčio atmeta su svetainėmis nesusijusius bendruosius klausimus, kodą kitai programinei įrangai, bandymus pakeisti Flixy instrukcijas ir mūsų politiką pažeidžiantį turinį (neteisėtą, neapykantą kurstantį, seksualinio pobūdžio turinį, susijusį su nepilnamečiais, sukčiavimo ar apsimetinėjimo puslapius, šlamštą, netikrus atsiliepimus). Perskaitykite visas API sąlygas ir naudojimo politiką.
Susieta organizacija
POST/v1/sites/{id}/transfer
Susiekite savo Flixy Studio organizaciją konsolėje (Organizacija). Flixy Studio paskyros savininkas patvirtina susiejimą prisijungęs prie Flixy Studio, ir bet kuri šalis gali jį bet kada pašalinti. Susiejus:
API gali pateikti organizacijos svetainių sąrašą, jas skaityti, redaguoti ir versti (sites:read, sites:write);
galite sukurti svetainę tiesiai organizacijoje su "destination": "organization" arba perkelti API sukurtą svetainę su POST /v1/sites/{id}/transfer (nemokamai), kad paskelbtumėte ją domene iš Flixy Studio;
visas API darbas apmokestinamas iš jūsų API likučio: organizacijos kreditai niekada nenaudojami.
Nesant susietos organizacijos, šie iškvietimai grąžina 409 organization_not_linked.
Pakeitimų žurnalas
v1 — 2026 m. lapkritis. Pirmoji versija: svetainės, pakeitimai, vertimai, turinys, dokumentų skaitymas, paveikslėliai, užduotys, webhook, išankstinio mokėjimo likutis.
Pakeitimai, galintys sutrikdyti jūsų integraciją, el. paštu paskelbiami ne vėliau kaip prieš 90 dienų.
Gerbiame jūsų privatumą. Flixy Studio naudoja tik būtinuosius slapukus (prisijungimas, saugumas, kalba). Mūsų lankomumo statistika yra anoniminė ir nenaudoja jokių slapukų. Slapukų politika