GET
/api/v1/articlemeta
Erzeugt aus einem Text eine Reihe Meta-Angaben, die für eine CMS-Seite hinterlegt werden können. Die Rückgabe erfolgt als JSON-Objekt.
Folgende Angaben werden erzeugt:
abstract |
Textzusammenfassung des Artikels, z.B. für Anreißer |
title |
ausführlicher Seitentitel |
nav_title |
knapper Seitentitel, der für eine Navigation verwendet werden kann |
seo_title |
SEO-optimierter Seitentitel (etwas ausführlicher mit Keywords) |
description |
SEO-optimierte Meta-Description |
og_title |
Seitentitel optimiert für Facebook (OpenGraph) |
og_description |
Zusammenfassung optimiert für Facebook (OpenGraph) |
twitter_title |
Seitentitel optimiert für TwitterCards |
twitter_description |
Zusammenfassung optimiert für TwitterCards |
Autorisierung
notwendig
Parameter
| Name | Datentyp | Beschreibung |
|---|---|---|
| model | string | zu verwendendes LLM, mögliche Optionen siehe GET /api/v1/models |
| url | string |
URL einer Website Die übergebene URL muss öffentlich aufrufbar sein und den HTTP-Status 200 zurückgeben. Die Funktion versucht, den Hauptinhalt aus der Seite als Text zu extrahieren und nebensächliche Inhalte (Navigationen, Medieninhalte, Marginalien etc.) zu entfernen. Für mehr Kontrolle über den übergebenen Text gibt es POST /api/v1/articlemeta. |
| language | string | Sprache (de, en), Default: de bzw. die Sprache der übergebenen Website |
Beispiel
GET /api/v1/articlemeta?url=https%3A//www.wegewerk.com/de/tools/wwedit-agentur/
Antwort-Status
{
"remote-ip": "127.0.0.1",
"status": "OK",
"articlemeta": "{\n \"abstract\": \"ww.edit: Individuelles CMS f\u00fcr schnelle Kampagnen & barrierefreie Websites. Seit 2001 entwickelt, einfach bedienbar & mit geringem Supportaufwand.\",\n \"title\": \"ww.edit: Individuelles CMS f\u00fcr flexible Online-Kampagnen\",\n \"nav_title\": \"ww.edit CMS\",\n \"seo_title\": \"ww.edit: Individuelles CMS f\u00fcr schnelle Online-Kampagnen & barrierefreie Websites\",\n \"description\": \"ww.edit: Individuelles CMS f\u00fcr schnelle Kampagnen, einfache Bedienung & barrierefreie Websites. Seit 2001 entwickelt von wegewerk.\",\n \"og_title\": \"ww.edit: Individuelles CMS f\u00fcr flexible Online-Kampagnen\",\n \"og_description\": \"ww.edit bietet schnelle Kampagnen-Tools, einfache Bedienung & barrierefreie Websites. Seit 2001 entwickelt von wegewerk.\",\n \"twitter_title\": \"ww.edit: Individuelles CMS f\u00fcr flexible Online-Kampagnen\",\n \"twitter_description\": \"ww.edit bietet schnelle Kampagnen-Tools, einfache Bedienung & barrierefreie Websites. Seit 2001 entwickelt von wegewerk.\"\n}",
"duration": 19.287512423
}
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "Unauthorized"
}
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "Not enough credits",
"credits": {
"total": "200",
"remaining": "0",
"valid_from": "2025-01-01",
"valid_until": "2025-01-30"
}
}
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "Authentication required"
}
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "Authorization malformatted"
}
null
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "missing parameter: [url]"
}
POST
/api/v1/articlemeta
Erzeugt aus einem Text eine Reihe Meta-Angaben, die für eine CMS-Seite hinterlegt werden können. Die Rückgabe erfolgt als JSON-Objekt (Details siehe GET /api/v1/articlemeta).
Autorisierung
notwendig
Parameter
| Name | Datentyp | Beschreibung |
|---|---|---|
| model | string | zu verwendendes LLM, mögliche Optionen siehe GET /api/v1/models |
| text | string | zu verarbeitender Text (plain text) |
| language | string | Sprache (de, en), Default: de |
Beispiel
{
"model": "mistral-small3.2:latest",
"text": "Weit hinten, hinter den Wortbergen, fern der L\u00e4nder Vokalien und Konsonantien leben die Blindtexte. Abgeschieden wohnen sie in Buchstabhausen an der K\u00fcste des Semantik, eines gro\u00dfen Sprachozeans. Ein kleines B\u00e4chlein namens Duden flie\u00dft durch ihren Ort und versorgt sie mit den n\u00f6tigen Regelialien. Es ist ein paradiesmatisches Land, in dem einem gebratene Satzteile in den Mund fliegen. Nicht einmal von der allm\u00e4chtigen Interpunktion werden die Blindtexte beherrscht \u2013 ein geradezu unorthographisches Leben. Eines Tages aber beschlo\u00df eine kleine Zeile Blindtext, ihr Name war Lorem Ipsum, hinaus zu gehen in die weite Grammatik.\r\n\r\nDer gro\u00dfe Oxmox riet ihr davon ab, da es dort wimmele von b\u00f6sen Kommata, wilden Fragezeichen und hinterh\u00e4ltigen Semikoli, doch das Blindtextchen lie\u00df sich nicht beirren. Es packte seine sieben Versalien, schob sich sein Initial in den G\u00fcrtel und machte sich auf den Weg. Als es die ersten H\u00fcgel des Kursivgebirges erklommen hatte, warf es einen letzten Blick zur\u00fcck auf die Skyline seiner Heimatstadt Buchstabhausen, die Headline von Alphabetdorf und die Subline seiner eigenen Stra\u00dfe, der Zeilengasse. Wehm\u00fctig lief ihm eine rhetorische Frage \u00fcber die Wange, dann setzte es seinen Weg fort. Unterwegs traf es eine Copy.\r\n\r\nDie Copy warnte das Blindtextchen, da, wo sie herk\u00e4me w\u00e4re sie zigmal umgeschrieben worden und alles, was von ihrem Ursprung noch \u00fcbrig w\u00e4re, sei das Wort \"und\" und das Blindtextchen solle umkehren und wieder in sein eigenes, sicheres Land zur\u00fcckkehren. Doch alles Gutzureden konnte es nicht \u00fcberzeugen und so dauerte es nicht lange, bis ihm ein paar heimt\u00fcckische Werbetexter auflauerten, es mit Longe und Parole betrunken machten und es dann in ihre Agentur schleppten, wo sie es f\u00fcr ihre Projekte wieder und wieder mi\u00dfbrauchten. Und wenn es nicht umgeschrieben wurde, dann benutzen Sie es immernoch.",
"language": "de"
}
Antwort-Status
{
"remote-ip": "127.0.0.1",
"status": "OK",
"articlemeta": "{\n \"abstract\": \"Die Geschichte des Blindtextchens Lorem Ipsum und seiner Reise aus dem sicheren Buchstabhausen in die weite Grammatik voller Gefahren und Abenteuer.\",\n \"title\": \"Die Reise des Blindtextchens Lorem Ipsum: Ein Abenteuer in der Grammatik\",\n \"nav_title\": \"Lorem Ipsum Abenteuer\",\n \"seo_title\": \"Die Geschichte von Lorem Ipsum: Ein Blindtext-Abenteuer in der Grammatik\",\n \"description\": \"Entdecken Sie die Reise des Blindtextchens Lorem Ipsum aus Buchstabhausen in die weite Grammatik voller Gefahren und Abenteuer.\",\n \"og_title\": \"Lorem Ipsum: Ein Blindtext-Abenteuer\",\n \"og_description\": \"Folgen Sie dem Blindtextchen Lorem Ipsum auf seiner Reise aus Buchstabhausen in die weite Grammatik voller Gefahren und Abenteuer.\",\n \"twitter_title\": \"Lorem Ipsum: Ein Abenteuer in der Grammatik\",\n \"twitter_description\": \"Die Geschichte des Blindtextchens Lorem Ipsum und seiner Reise aus dem sicheren Buchstabhausen in die weite Grammatik.\"\n}",
"duration": 14.705066769
}
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "submitted data is not valid JSON"
}
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "Unauthorized"
}
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "Not enough credits",
"credits": {
"total": "200",
"remaining": "0",
"valid_from": "2025-01-01",
"valid_until": "2025-01-30"
}
}
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "Authentication required"
}
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "Authorization malformatted"
}
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "[language] must be one of: {de,en}"
}
{
"remote-ip": "127.0.0.1",
"status": "Error",
"message": "missing parameter: [text]"
}