Kaikki, mitä tarvitset Flixyn tekoälyn lisäämiseen tuotteeseesi. Perus-URL: https://flixy.studio/v1
REST · JSONBearer-avaimetAsynkroniset tehtävätAllekirjoitetut webhookit18 kieltä
Johdanto
Flixy API:n avulla ohjelmistosi voi käyttää Flixy Studion ominaisuuksia: luoda valmiita verkkosivustoja kuvauksen perusteella, muokata ja kääntää niitä, kirjoittaa sivustojen sisältöä, lukea ruokalistoja, luetteloita ja PDF-tiedostoja sekä luoda kuvia ja logoja. Maksat vain onnistuneista kutsuista, ennakkoon maksetusta saldosta.
Pitkät toiminnot (sivuston luominen, muokkaaminen tai kääntäminen) suoritetaan tehtävinä: API vastaa heti, ja sinä seuraat tehtävää tai vastaanotat webhookin. Sisältö, asiakirjojen lukeminen ja kuvat vastaavat suoraan, yleensä muutamassa sekunnissa.
Aloita kehittäjätilassasi: maksuton testiavain luodaan heti, kun avaat sen.
Kehittäjäkonsoli
Avaimia, saldoa, latauksia, webhookeja ja kutsulokeja hallitaan kehittäjäkonsolissa osoitteessa dev.flixy.studio.
Erillinen kehittäjätili. Kuten muillakin tekoälyalustoilla, kehittäjätilisi on erillinen Flixy Studio -tilistäsi: sillä on oma rekisteröitymisensä, kirjautumisensa ja istuntonsa. Uloskirjautuminen yhdestä ei koskaan kirjaa sinua ulos toisesta. Voit käyttää molemmissa samaa sähköpostiosoitetta.
Yhdistetty organisaatio. Jos käytät myös Flixy Studiota, voit yhdistää organisaatiosi kehittäjätiliisi, jolloin API voi työskennellä sen verkkosivustojen parissa. Katso Yhdistetty organisaatio.
Tilin suojaus. Kaksivaiheinen vahvistus, aktiiviset istunnot ja tietojen vienti löytyvät konsolista kohdasta Tili.
Todennus
Lähetä avaimesi jokaisen pyynnön Authorization-otsakkeessa. Avaimet alkavat fx_live_ tai fx_test_.
Avaimesi on salainen. Kutsu API:a vain palvelimeltasi: verkkoselaimesta lähetetyt pyynnöt hylätään, jotta avain ei koskaan päädy verkkosivulle tai mobiilisovellukseen.
Jokaisella avaimella on oikeudet (scopes). Kutsu ilman tarvittavaa oikeutta palauttaa 403 missing_scope.
Parametri
Tyyppi
Kuvaus
sites:read
scope
Lue sivustoja ja niiden HTML:ää.
sites:write
scope
Luo, muokkaa ja käännä sivustoja.
content:write
scope
Kirjoita sivustojen sisältöä.
extract:write
scope
Lue kuvia ja PDF-asiakirjoja.
images:write
scope
Luo kuvia ja logoja.
account:read
scope
Lue saldo ja käyttö.
Testi- ja live-avaimet
Testiavaimet (fx_test_…) ovat maksuttomia. Ne palauttavat realistisia esimerkkivastauksia käyttämättä tekoälyä, joten voit rakentaa ja testata koko integraatiosi. Sivustotehtävät valmistuvat muutamassa sekunnissa esimerkkisivustolla.
Live-avaimet (fx_live_…) palauttavat oikeita tuloksia, ja ne veloitetaan saldostasi.
Jokainen vastaus sisältää otsakkeen Flixy-Mode: test tai Flixy-Mode: live.
Pyynnöt ja vastaukset
Lähetä JSON-runkoja otsakkeella Content-Type: application/json (enintään 16 Mt). Vastaukset ovat JSONia. Päivämäärät ovat ISO 8601 -muodossa UTC-ajassa. Jokaisessa vastauksessa on X-Request-Id-otsake: anna se tuellemme, jos tarvitset apua kutsun kanssa.
Aseta Accept-Language saadaksesi virheilmoitukset omalla kielelläsi (fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja; oletuksena englanti).
Virheet
Virheet käyttävät tavallisia HTTP-tilakoodeja, ja niillä on aina sama muoto:
{
"error": {
"type": "billing_error",
"code": "insufficient_balance",
"message": "Insufficient balance: top up your developer account…",
"request_id": "req_5c1f0a9e2b7d4c11"
}
}
Tila
Tyyppi
Merkitys
400
invalid_request_error
Virheellinen JSON tai otsake.
401
authentication_error
Puuttuva, virheellinen tai poistettu avain.
402
billing_error
Riittämätön saldo, kuukausikatto tai avaimen päiväkatto saavutettu.
403
permission_error
Puuttuva oikeus, IP-osoite ei sallittu, tili jäädytetty tai kutsu selaimesta.
404
not_found_error
Tuntematon sivusto, tehtävä tai päätepiste.
409
conflict_error
Tällä sivustolla on jo käynnissä tehtävä.
422
invalid_request_error
Virheellinen parametri tai käyttökäytännön perusteella hylätty pyyntö (off_topic, content_policy). Ei veloiteta.
429
rate_limit_error
Liian monta pyyntöä tai samanaikaista tehtävää. Odota Retry-After-otsakkeen ilmoittama aika.
5xx
api_error
Tilapäinen ongelma meidän päässämme. Yritä uudelleen samalla idempotenssiavaimella. Ei veloiteta.
Nopeusrajoitukset
60 pyyntöä minuutissa avainta kohden (otsake X-RateLimit-Limit).
3 sivustotehtävää samanaikaisesti tiliä kohden. Tämä ei rajoita sisältö-, asiakirja- ja kuvakutsuja.
Kun raja saavutetaan, API vastaa 429 ja Retry-After-otsakkeella sekunteina.
Tarvitsetko enemmän? Kirjoita osoitteeseen contact@flixy.studio ja kerro käyttötapauksestasi.
Idempotenssi
Verkkovirheitä sattuu. Lisää Idempotency-Key-otsake (8–100 merkkiä, esimerkiksi oma tilaustunnuksesi) mihin tahansa POST-pyyntöön: jos lähetät saman pyynnön uudelleen 24 tunnin kuluessa, API palauttaa ensimmäisen vastauksen — otsakkeella Idempotent-Replayed: true — eikä koskaan suorita tai veloita työtä kahdesti.
Tehtävät
Sivuston luominen, muokkaaminen ja kääntäminen kestää noin 30 sekunnista 3 minuuttiin. Nämä päätepisteet vastaavat 202 Accepted ja palauttavat tehtävän. Seuraa sitä 5 sekunnin välein tai odota tapahtumaa job.succeeded / job.failedwebhookin kautta.
Lisää listaukseen owner=developer tai owner=organization suodattaaksesi omistajan mukaan. Yhdistetyn organisaation sivustoille palautetaan myös dashboard_url ja editor_url, joilla ne avataan Flixy Studiossa.
Muokkaa sivustoa
POST/v1/sites/{id}/edits
Tekee arkikielellä kuvatun muutoksen, kuten Flixy-editorissa. Jokainen muutos luo uuden version. Oikeus: sites:write.
Parametri
Tyyppi
Kuvaus
instructionpakollinen
string
Tehtävä muutos (4–3000 merkkiä), esim. ”Lisää hinnastosivu, jossa on kolme tarjousta” tai ”Käytä tummanvihreää teemaa”.
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"}'
Käännä sivusto
POST/v1/sites/{id}/translations
Kääntää sivuston jokaisen sivun — navigaation, painikkeet, lomakkeet, kuvien kuvaukset sekä otsikon ja kuvauksen hakukoneille — säilyttäen ulkoasun, kuvat, linkit, hinnat ja yhteystiedot. Oikeus: sites:write.
Parametri
Tyyppi
Kuvaus
languagepakollinen
string
Kohdekieli: fr, en, es, de, it, pt, nl, ca, el, sv, no, da, fi, is, et, lv, lt, ja.
Kirjoita verkkosisältöä
POST/v1/content
Kirjoittaa sisältöä, joka on tarkoitettu julkaistavaksi verkkosivustolla tai yrityksen lähetettäväksi asiakkailleen. Vastaa suoraan. Oikeus: content:write.
Kenttä html sisältää vain turvallisia tekstitageja (otsikot, kappaleet, luettelot, linkit), ei koskaan skriptejä tai tyylejä.
Lue asiakirja
POST/v1/extract
Lukee ruokalistan, luettelon, hinnaston, käyntikortin, mainoslehtisen tai esitteen ja palauttaa jäsenneltyä sisältöä valmiina verkkosivustolle. Vain se, mitä on oikeasti kirjoitettu, palautetaan. Oikeus: extract:write.
Parametri
Tyyppi
Kuvaus
file
string
Base64-koodattu tiedosto (JPEG, PNG, WebP, GIF tai PDF, enintään 10 Mt).
url
string
Tai tiedoston julkinen https-osoite.
kind
string
auto (oletus), menu, catalog, business_card, brochure, price_list, flyer.
Skannattuja PDF-tiedostoja ilman tekstiä ei voi lukea: lähetä sen sijaan kuva jokaisesta sivusta.
Luo kuva
POST/v1/images
Luo valokuvan, piirroksen tai logon verkkosivustolle. Kuvaa isännöi Flixy, ja tiedostossa on tekoälyn tuottaman median vakiomuotoinen IPTC-merkintä. Oikeus: images:write.
Parametri
Tyyppi
Kuvaus
promptpakollinen
string
Kuvan kuvaus (4–800 merkkiä).
kind
string
photo (oletus), illustration tai logo.
aspect
string
16:9 (oletus), 1:1, 4:3, 3:4, 9:16.
business
string
Yrityksen konteksti, jotta tyyli sopii.
brand
string
Brändin nimi logoa varten.
Saldo ja tili
GET/v1/account
Palauttaa saldosi, käynnissä oleville tehtäville varatun summan, käytettävissä olevan summan, kuukauden kulusi ja käytössä olevan avaimen. Oikeus: account:read.
/v1/usage palauttaa kutsusi ja summat toiminnoittain tietyltä ajanjaksolta. /v1/pricing palauttaa nykyiset tyypilliset ja vähimmäishinnat valuutassasi.
Jokainen onnistunut kutsu maksaa sen vaatiman tekoälytyön todellisen kustannuksen kerrottuna Flixyn katteella, vähimmäishinnalla toimintoa kohden. Ennen sivustotehtävän alkua saldostasi varataan arvioitu summa; tarkka hinta veloitetaan lopuksi ja loput vapautetaan. Epäonnistuneista ja hylätyistä kutsuista ei koskaan veloiteta.
Webhookit
Lisää palvelimesi https-osoite kehittäjätilassasi ja valitse tapahtumat: job.succeeded, job.failed, balance.low, topup.succeeded. Flixy lähettää POST-pyynnön, jossa on JSON-tapahtuma; vastaa 2xx-tilalla 10 sekunnin kuluessa. Epäonnistuneita toimituksia yritetään uudelleen; toistuvasti epäonnistuva osoite keskeytetään.
Otsake Flixy-Signature sisältää aikaleiman t ja arvon v1, joka on HMAC-SHA256 merkkijonosta t + "." + raw body webhook-salaisuudellasi. Hylkää yli 5 minuuttia vanhat viestit.
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'])
Säilytä avaimet palvelimellasi, ympäristömuuttujissa tai salaisuuksien hallintatyökalussa — ei koskaan verkkosivulla, mobiilisovelluksessa tai koodivarastossa.
Luo yksi avain sovellusta kohden ja anna sille vain tarvittavat oikeudet.
Rajaa live-avaimet palvelimiesi IP-osoitteisiin ja aseta päiväkatto.
Tarkista jokaisen webhookin allekirjoitus ja aikaleima.
Käytä idempotenssiavainta jokaisessa POST-pyynnössä.
Poista avain heti, jos se on voinut paljastua, ja luo sitten uusi.
Tarkista tekoälyn tuottama sisältö ennen sen julkaisemista ja kerro käyttäjillesi, kun sisältö on tekoälyn tuottamaa, jos laki sitä edellyttää.
Käyttökäytäntö
Flixy API on tehty verkkosivustoille ja niiden sisällölle. Se hylkää veloituksetta verkkosivustoihin liittymättömät yleiset kysymykset, koodin muille ohjelmistoille, yritykset muuttaa Flixyn ohjeita sekä käytäntöjämme rikkovan sisällön (laiton, vihamielinen, alaikäisiä koskeva seksuaalinen sisältö, tietojenkalastelu- tai toisena esiintymisen sivut, roskaposti, valearvostelut). Lue API:n ehdot ja käyttökäytäntö kokonaisuudessaan.
Yhdistetty organisaatio
POST/v1/sites/{id}/transfer
Yhdistä Flixy Studio -organisaatiosi konsolista (Organisaatio). Flixy Studio -tilin omistaja hyväksyy yhdistämisen ollessaan kirjautuneena Flixy Studioon, ja kumpi tahansa osapuoli voi poistaa sen milloin tahansa. Yhdistämisen jälkeen:
API voi listata, lukea, muokata ja kääntää organisaation verkkosivustoja (sites:read, sites:write);
voit luoda sivuston suoraan organisaatioon parametrilla "destination": "organization" tai siirtää API:n luoman sivuston kutsulla POST /v1/sites/{id}/transfer (maksuton) julkaistaksesi sen verkkotunnuksessa Flixy Studiosta;
kaikki API-työ veloitetaan API-saldostasi: organisaation krediittejä ei koskaan käytetä.
Muutoksista, jotka voivat rikkoa integraatiosi, ilmoitetaan sähköpostitse vähintään 90 päivää etukäteen.
Kunnioitamme yksityisyyttäsi. Flixy Studio käyttää vain ehdottoman välttämättömiä evästeitä (kirjautuminen, tietoturva, kieli). Kävijätilastomme ovat anonyymejä eivätkä käytä evästeitä. Evästekäytäntö