Aan de slag
Widgets (insluiten op je site)
Plaats met één script-tag een white-label chat-, beeld-, spraak-, muziek- of videowidget op je site, vergrendeld op je domeinen en met bestedingslimieten.
Met widgets plaats je met één script-tag een white-label AI-interface op je eigen website: chat, beeld, spraak, muziek of video, aangedreven door elk model in de catalogus. Bezoekers hebben geen API-key nodig. Requests worden tegen de normale prijs van het model van je USD-saldo afgeschreven.
Een widget aanmaken
- Open Widgets en kies Nieuwe widget (of ontwerp er eerst een, zonder account, op de widgetpagina).
- Kies een type en een model en stel daarna de titel, kleuren, het thema, de hoekafronding, teksten en plaatsing in. Chatwidgets accepteren ook privé-instructies en een limiet voor de lengte van antwoorden.
- De voorvertoning draait je niet-opgeslagen instellingen echt, zodat je een model of instructies kunt testen voordat je opslaat. Requests uit de voorvertoning worden van je saldo afgeschreven.
- Sla op en kopieer daarna de embedcode.
Embedcode
<script src="https://api14.com/widget.js" data-widget="YOUR_WIDGET_ID" async></script>
Zet de tag in <body> op de plek waar de widget moet verschijnen. Opties:
| Attribuut | Effect |
|---|---|
data-widget | Verplicht. Het widget-id uit het dashboard. |
data-target | CSS-selector van een element waarin gerenderd wordt, bijvoorbeeld #support. Zonder dit wordt de widget direct vóór de script-tag gerenderd. |
data-height | Hoogte van een inline widget, bijvoorbeeld 520px. Standaard: 480px voor chat, 420px voor andere typen. |
De widget wordt gerenderd in een geïsoleerde Shadow DOM, zodat de stijlen van je pagina er niet in lekken en de widget je pagina niet verandert. Bij de plaatsing Zwevende knop opent hij in plaats daarvan vanuit een knop in de hoek onderaan.
Toegestane sites
Een widget beantwoordt alleen requests van de sites die je vermeldt onder Instellingen, Widget-sites. Eén domein per regel; een domein dekt ook zijn subdomeinen (example.com dekt www.example.com). Voeg een poort toe om alleen die poort toe te staan, bijvoorbeeld localhost:3000 voor lokaal testen. De voorvertoning in het dashboard werkt altijd.
Een pagina op een andere site krijgt 403 site_not_allowed en de widget wordt niet gerenderd (de browserconsole toont één regel die uitlegt waarom).
De controle gebruikt de Origin-header van de browser. Browsers kunnen die niet wijzigen, maar tools buiten een browser wel, dus beschouw de sitelijst als een beperking, niet als een geheim. De bestedingscontroles hieronder begrenzen de kosten.
Bestedingscontroles
Omdat een widget openbaar is, worden de kosten begrensd door limieten die alleen jij kunt wijzigen:
| Controle | Waar | Effect |
|---|---|---|
| Dagelijkse bestedingslimiet voor deze widget | Widget-editor | Wanneer de widget vandaag (UTC) dit bedrag heeft uitgegeven, stopt hij tot de volgende dag: 429 widget_daily_limit. |
| Dagelijkse bestedingslimiet voor alle widgets | Instellingen, Widget-controles | Eén limiet voor alle widgets van het account. |
| Requests per bezoeker per dag | Instellingen, Widget-controles | Geteld per IP-adres van de bezoeker, per widget. Standaard 100: 429 visitor_daily_limit. |
| Requests per bezoeker per minuut | Vast | 10 per minuut per bezoeker: 429 rate_limited. |
| Widgetsnelheid | Je abonnement | Alle bezoekers van één widget delen samen de requests per minuut van je abonnement. |
Je saldo is de uiteindelijke limiet: bij $0 geeft elke widget 402 insufficient_balance terug totdat je saldo toevoegt.
Gezondheid en meldingen
De widgetlijst toont wanneer elke widget voor het laatst is gebruikt, de uitgaven en requests van vandaag, en de laatste fout wanneer een widget faalt om een reden die je kunt oplossen: leeg saldo, een verwijderd model, een bereikte bestedingslimiet of een site die niet in de lijst staat. Met Mail me wanneer een widget faalt ingeschakeld (Instellingen, Widget-controles) ontvang je maximaal één e-mail per widget per dag.
Gebruik toont widget-requests met de naam van de widget en de site waar ze vandaan kwamen; groepeer op Per widget of Per site om ze te vergelijken.
Wat bezoekers zien
- Chatantwoorden worden gestreamd en ondersteunen eenvoudige opmaak (alinea's, lijsten, vet, cursief, code en links). Het gesprek blijft behouden terwijl de bezoeker in hetzelfde tabblad tussen pagina's navigeert.
- Een knop Stop beëindigt een lang antwoord; na een fout verstuurt een link Opnieuw proberen het bericht opnieuw.
- Afbeeldingen, audio en video komen met een link Downloaden. Video wordt gegenereerd als achtergrondtaak en verschijnt wanneer die klaar is, meestal binnen enkele minuten.
- Bezoekers zien nooit je instructies, je saldo of de ruwe fout van het model. Ze zien jouw foutmelding (of een neutrale standaardmelding) en de oorzaak wordt aan jou getoond in het dashboard.
- Teksten die je leeg laat, gebruiken standaardwaarden in de taal van je account.