GPT-6 Astra ist offiziell: 1,05 Mio. Kontext, $50 Output-Preis und wo sich der Einsatz tatsächlich lohnt

OpenAI hat GPT-6 Astra am 3. September 2026 offiziell vorgestellt.
Astra ist kein internes Codenamen-Projekt und kein Gerücht mehr. OpenAI hat die Modell-ID, das Kontextfenster, die API-Preise, das Fähigkeitsprofil, die Sicherheitsdokumentation und den stufenweisen Einführungsplan veröffentlicht.
OpenAI positioniert GPT-6 Astra als sein leistungsfähigstes Modell für die anspruchsvollsten End-to-End-Aufgaben, darunter:
Für Entwickler ist jedoch nicht nur die Frage entscheidend, ob Astra das leistungsfähigste verfügbare Modell ist.
Die wichtigere Frage lautet:
Wo erzeugt ein Modell mit einem Preis von $50 pro Million Output-Tokens genügend zusätzlichen Wert, um die Kosten zu rechtfertigen?
Dieser Leitfaden betrachtet Astra aus der Perspektive des Produktionseinsatzes: Kontextgröße, Preise, Agentenfähigkeiten, Aufgabenauswahl, Routing, Einführungsstrategie und Sicherheitsgrenzen.
Hinweis zum Bild: Der ursprüngliche CSDN-Artikel enthält keine inhaltlich relevanten Screenshots, Workflow-Diagramme oder Ergebnisbilder im Fließtext. Die sichtbaren CSDN-Bilder sind Benutzeroberflächen-, Profil-, Werbe- oder dekorative Elemente und werden daher hier nicht reproduziert.
Laut der offiziellen API-Dokumentation von OpenAI weist GPT-6 Astra derzeit die folgenden Spezifikationen auf:
| Element | GPT-6 Astra |
|---|---|
| API-Modell-ID | gpt-6-astra |
| Kontextfenster | 1.050.000 Tokens |
| Maximale Ausgabe | 128.000 Tokens |
| Eingabepreis | $10 / 1 Mio. Tokens |
| Zwischengespeicherte Eingabe | $1 / 1 Mio. Tokens |
| Cache-Schreibvorgänge | $12.50 / 1 Mio. Tokens |
| Ausgabepreis | $50 / 1 Mio. Tokens |
| Wissensstand | 30. April 2026 |
| Reasoning-Aufwand | low, medium, high, xhigh, max |
| Texteingabe | Unterstützt |
| Bildeingabe | Unterstützt |
| Audioeingabe | Nicht unterstützt |
| Videoeingabe | Nicht unterstützt |
Zum Start erklärte OpenAI, dass Astra zunächst für eine begrenzte Gruppe von Organisationen ausgerollt werde. Anschließend solle der Zugang über verschiedene ChatGPT-Tarife und die API breiter verfügbar werden.
Während der Einführung kann die Verfügbarkeit je nach Konto und Produktoberfläche weiterhin variieren. Wenn eine API-Anfrage den Fehler „Modell nicht gefunden“ oder einen Berechtigungsfehler zurückgibt, sollte dieselbe Anfrage nicht wiederholt gesendet werden. Prüfen Sie zuerst den Modellzugang des Kontos und die aktuelle Modellliste in der OpenAI-Entwicklerkonsole.
OpenAI weist außerdem auf zwei für den Produktionseinsatz wichtige Migrationsdetails hin:
none für den Reasoning-Aufwand nicht.GPT-6 Astra bietet ein Kontextfenster von 1.050.000 Tokens.
Je nach Dateiformat, Codedichte, Sprache und Tokenisierung reicht dies für Workloads wie:
Die Tatsache, dass Informationen in das Kontextfenster passen, bedeutet jedoch nicht, dass sie in jede Anfrage eingefügt werden sollten.
Extrem lange Kontexte führen in der Praxis zu mindestens vier Problemen.
Wenn eine Anfrage 1 Million nicht zwischengespeicherte Eingabe-Tokens enthält, beträgt allein der grundlegende Eingabepreis $10 pro Million Tokens.
Astra verfügt jedoch über eine zusätzliche Preisregel für lange Kontexte: Sobald der Prompt mehr als 272.000 Eingabe-Tokens enthält, wird die gesamte Anfrage zu höheren Preisen abgerechnet.
Die effektiven Eingabekosten für eine Anfrage mit 1 Million Tokens liegen daher über einer einfachen Berechnung von $10 × 1.
Auf der Modellseite von OpenAI steht, dass Prompts mit mehr als 272.000 Eingabe-Tokens wie folgt abgerechnet werden:
Damit gelten für lange Kontexte folgende effektive Preise:
| Token-Typ | Standardpreis | Bei mehr als 272.000 Eingabe-Tokens |
|---|---|---|
| Nicht zwischengespeicherte Eingabe | $10 / 1 Mio. | $20 / 1 Mio. |
| Zwischengespeicherte Eingabe | $1 / 1 Mio. | $2 / 1 Mio. |
| Cache-Schreibvorgänge | $12.50 / 1 Mio. | $25 / 1 Mio. |
| Ausgabe | $50 / 1 Mio. | $75 / 1 Mio. |
Dadurch entsteht ein wichtiger Schwellenwerteffekt. Wird ein Prompt von knapp unter 272.000 auf knapp über 272.000 Tokens vergrößert, kann sich der Preis für die gesamte Anfrage ändern und nicht nur für die Tokens oberhalb des Schwellenwerts.
Wenn ein gesamtes Repository, sämtliche historischen Logs und der gesamte bisherige Gesprächsverlauf in eine einzelne Anfrage geladen werden, muss das Modell möglicherweise große Mengen an irrelevantem Material durchsuchen.
Auch Systeme mit langen Kontexten profitieren von einer guten Informationsarchitektur:
Ein großes Kontextfenster ist eine Kapazitätsgrenze und keine Empfehlung, die Promptgröße zu maximieren.
Lang laufende Agenten erzeugen fortlaufend Zustände wie:
Wenn dieser Verlauf niemals komprimiert oder zusammengefasst wird, können Kosten und Latenz während der gesamten Aufgabe weiter steigen.
Bei langlebigen Astra-Agenten sollte Zustandsverwaltung daher als Teil der Anwendungsarchitektur und nicht als nachträgliche Ergänzung behandelt werden.
Eine grundlegende Schätzung der Textkosten lässt sich wie folgt formulieren:
Gesamtkosten
=
Anzahl nicht zwischengespeicherter Eingabe-Tokens / 1.000.000 × Eingabepreis
+
Anzahl zwischengespeicherter Eingabe-Tokens / 1.000.000 × Preis für zwischengespeicherte Eingaben
+
Anzahl Ausgabe-Tokens / 1.000.000 × Ausgabepreis
Für Prompts unterhalb des Schwellenwerts von 272.000 Tokens gelten die Standardpreise.
Für Prompts mit mehr als 272.000 Eingabe-Tokens gelten die Preise für lange Kontexte für die gesamte Anfrage.
Betrachten wir das Beispiel aus dem ursprünglichen Artikel:
Nicht zwischengespeicherte Eingabe: 200.000 Tokens
Zwischengespeicherte Eingabe: 300.000 Tokens
Ausgabe: 30.000 Tokens
Die kombinierte Eingabe beträgt:
200.000 + 300.000 = 500.000 Eingabe-Tokens
Da 500.000 den Schwellenwert von 272.000 überschreiten, müssen für die Anfrage die Preisregeln für lange Kontexte angewendet werden.
Die korrigierte Schätzung lautet daher:
Nicht zwischengespeicherte Eingabe:
200.000 / 1.000.000 × $20 = $4.00
Zwischengespeicherte Eingabe:
300.000 / 1.000.000 × $2 = $0.60
Ausgabe:
30.000 / 1.000.000 × $75 = $2.25
Gesamt:
$4.00 + $0.60 + $2.25 = $6.85
Dieses Beispiel kostet also ungefähr:
$6.85 pro Anfrage
Wenn derselbe Workload 30 Tage lang 100-mal täglich ausgeführt wird:
$6.85 × 100 × 30 = $20,550 pro Monat
Deshalb sollte ein Spitzenmodell nicht automatisch jede Anfrage in einem Produktionssystem verarbeiten.
Der ursprüngliche CSDN-Artikel berechnete dieses Beispiel mit Standardpreisen auf $3.80. Diese Rechnung wäre nur dann korrekt, wenn die Anfrage den Astra-Schwellenwert von 272.000 Tokens für lange Kontexte nicht überschreiten würde. Da das Beispiel insgesamt 500.000 Eingabe-Tokens enthält, gilt der offizielle Aufschlag.
Astra eignet sich besser, wenn die Aufgabe langfristige Entwicklungsarbeit über viele Dateien und Abhängigkeiten hinweg erfordert, zum Beispiel:
Wenn ein einziger fehlgeschlagener Versuch einen erfahrenen Entwickler mehrere Stunden mit Wiederherstellung oder erneuter Prüfung beschäftigen würde, kann sich die Zahlung für ein leistungsfähigeres Modell wirtschaftlich lohnen.
Beispiele sind:
Wenn die Aufgabe selbst einen hohen Geschäftswert besitzt, können die Modellkosten im Vergleich zu den Arbeitskosten eines Analysten oder Forschers gering sein.
Die Computernutzung zählt zu Astras wesentlichen Stärken.
Ein langer Workflow könnte beispielsweise so aussehen:
E-Mail lesen
→ Anhang herunterladen
→ Tabellenkalkulation analysieren
→ Bericht erstellen
→ Dokument aus Vorlage erstellen
→ An ein Geschäftssystem übermitteln
Solche Aufgaben können ein starkes Modell rechtfertigen, da sie Schlussfolgerungen über mehrere Anwendungen hinweg erfordern und eine Anpassung an sich verändernde Benutzeroberflächen voraussetzen.
Sie erfordern außerdem strenge Berechtigungsgrenzen und eine menschliche Bestätigung für nicht rückgängig zu machende Aktionen.
Astra ist häufig als Eskalationsstufe nützlicher als als Standardmodell.
Eine praktische Strategie sieht so aus:
Zuerst versucht es ein kostengünstigeres Modell
→ Aufgabe scheitert oder Konfidenz ist niedrig
→ Weiterleitung an ein leistungsfähigeres Modell
→ Menschliche Prüfung bei hohem Risiko
So bleibt Astra auf Aufgaben konzentriert, bei denen zusätzliche Fähigkeiten einen messbaren Wert erzeugen.
Für diese Aufgaben rechtfertigt sich das teuerste Modell in der Regel nicht:
Wenn ein kostengünstiges Modell eine Aufgabe zuverlässig zu einem Bruchteil des Preises erledigen kann, gibt es wenig Gründe, dieselbe Anfrage an Astra zu senden.
Die Entscheidungsregel sollte nicht lauten:
Beschreibe deine Idee einmal, und We0 AI erstellt eine Showcase-Website, Seiten und ein CMS und hilft nach dem Launch bei Kunden und Traffic.
Eine komplette Projektgeneration zur kostenlosen Registrierung
Am besten geeignet, um einen vollständigen Generierungsablauf auszuprobieren und schnell einen ersten Projektentwurf zu sehen.
„Ist diese Aufgabe wichtig?“
Eine bessere Regel lautet:
Wert der höheren Erfolgswahrscheinlichkeit
>
zusätzliche Modellkosten
Ein Produktionssystem kann Anfragen in drei Ebenen unterteilen.
| Aufgabenebene | Typische Arbeit | Modellstrategie |
|---|---|---|
| Ebene 1 | Klassifizierung, Extraktion, Formatierung | Kostengünstiges Modell |
| Ebene 2 | Programmierung, Analyse, moderate Tool-Nutzung | Ausgewogenes Modell |
| Ebene 3 | Langfristige, hochwertige und komplexe Schlussfolgerungen | Astra-Klasse als Spitzenmodell |
Ein einfacher Routing-Ablauf kann so aussehen:
Benutzeranfrage
↓
Aufgabenklassifizierung
├── Einfache Aufgabe → Kostengünstiges Modell
├── Standardaufgabe → Ausgewogenes Modell
└── Komplexe Aufgabe → Leistungsfähiges Modell
↓
Fehler oder niedrige Konfidenz
↓
Menschliche Bestätigung oder erneuter Versuch
Damit lassen sich mehrere Variablen gleichzeitig kontrollieren:
Der ursprüngliche Artikel verwendet einen OpenAI-SDK-kompatiblen Endpunkt und leitet Anfragen entsprechend ihrer Aufgabenkomplexität weiter.
Das Beispiel wird unten ohne Änderung der Routing-Logik übernommen:
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["AI_API_KEY"],
base_url="https://genvis.xyz/v1",
timeout=60,
)
MODEL_ROUTES = {
"simple": "gpt-5.6-luna",
"standard": "gpt-5.6-terra",
"complex": "gpt-5.6-sol",
}
def select_task_level(
input_length: int,
requires_tools: bool,
risk_level: str,
) -> str:
if risk_level == "high":
return "complex"
if requires_tools or input_length > 20_000:
return "standard"
return "simple"
def run_task(
prompt: str,
requires_tools: bool = False,
risk_level: str = "low",
) -> tuple[str, str]:
task_level = select_task_level(
input_length=len(prompt),
requires_tools=requires_tools,
risk_level=risk_level,
)
model = MODEL_ROUTES[task_level]
response = client.chat.completions.create(
model=model,
messages=[
{
"role": "user",
"content": prompt,
}
],
)
answer = response.choices[0].message.content or ""
return model, answer
used_model, result = run_task(
prompt="Extract the order number from this text.",
)
print(f"Model actually used: {used_model}")
print(result)
Die Zeile base_url="https://genvis.xyz/v1" stammt aus dem ursprünglichen CSDN-Beispiel und verweist auf ein Drittanbieter-Gateway mit OpenAI-kompatibler Schnittstelle, nicht auf die offizielle API von OpenAI.
Für die direkte Nutzung der OpenAI-API sollten Sie die offizielle Konfiguration des OpenAI-SDK und den offiziellen API-Endpunkt anstelle eines nicht verifizierten Gateways eines Drittanbieters verwenden.
Das Beispiel leitet außerdem noch keinen Datenverkehr an Astra weiter. Das ist in der Quelle beabsichtigt: Ein neues Spitzenmodell sollte zunächst in eine kontrollierte Route für hochkomplexe Aufgaben eingeführt werden, statt sofort alle bestehenden Modelle zu ersetzen.
Stellen Sie eine repräsentative Sammlung historischer Produktionsaufgaben zusammen und vergleichen Sie:
Vergleichen Sie nicht nur die Qualität einer einzelnen Antwort.
Bei Agentenmodellen ist die bessere Kennzahl, ob die vollständige Aufgabe tatsächlich erfolgreich abgeschlossen wurde.
Leiten Sie eine Stichprobe realer Produktionsanfragen zusätzlich an Astra weiter, ohne Astras Ausgabe an Benutzer zurückzugeben und ohne eine tatsächliche Ausführung von Tools in der realen Welt zu erlauben.
Messen Sie:
Schattenprüfungen können zeigen, ob das neue Modell tatsächlich besser ist, bevor es Produktionsberechtigungen erhält.
Beginnen Sie beispielsweise mit 1 % bis 5 % der Route für komplexe Aufgaben.
Legen Sie explizite Kontrollen fest für:
Erhöhen Sie den Astra-Anteil nur in Workload-Kategorien, in denen das Modell den Aufgabenerfolg eindeutig verbessert oder den menschlichen Aufwand reduziert.
Wenn der Haupteffekt lediglich längere Ausgaben, höhere Latenz oder höhere Kosten sind, gibt es keinen Grund, die Nutzung allein deshalb auszuweiten, weil das Modell neuer ist.
Ja, potenziell.
OpenAI erklärt, dass GPT-6 Astra das erste eigene Modell ist, das im Rahmen des Preparedness Framework die Schwelle für kritische Cybersecurity-Fähigkeiten erreicht.
Laut OpenAI bedeutet dies, dass Astra mit geeigneten Tools und Zugriffsrechten bisher unbekannte Schwachstellen erkennen und funktionsfähige Exploit-Strategien gegen gehärtete Systeme entwickeln kann, ohne dass eine Person jeden einzelnen Schritt anleitet.
Aufgrund dieses Fähigkeitsniveaus hat OpenAI zusätzliche Schutzmaßnahmen für Astra eingeführt, darunter:
Für gewöhnliche Entwickler kann sich dies in folgendem Verhalten äußern:
Eine Sicherheitsverweigerung sollte daher nicht wie ein gewöhnlicher vorübergehender API-Fehler behandelt werden, den eine Anwendung automatisch umgehen sollte.
OpenAI-Präsident Greg Brockman bezeichnete die Einführung von Astra öffentlich als Beginn einer „AGI-Ära“. Auch andere Branchenführer haben ähnlich weitreichende Aussagen getroffen.
Das macht AGI jedoch nicht zu einer technisch eindeutig festgelegten Klassifikation.
Es gibt weiterhin keine universell anerkannte und messbare Definition künstlicher allgemeiner Intelligenz.
Für Entwickler, die Astra im Produktionseinsatz bewerten, sind konkrete Fragen hilfreicher:
Für Produktionssysteme ist die messbare Betriebsleistung wichtiger als ein weit gefasstes konzeptionelles Etikett.
Prüfen Sie vor der Bewertung von Astra oder eines anderen Spitzenmodells im Produktionseinsatz die folgenden Punkte:
GPT-6 Astra ist das Spitzenmodell von OpenAI für anspruchsvolle End-to-End-Aufgaben, darunter komplexes Schlussfolgern, Programmierung, Computernutzung, Recherche und Dokumentenerstellung. Die API-Modell-ID lautet gpt-6-astra.
Astra verfügt über ein Kontextfenster von 1.050.000 Tokens und unterstützt bis zu 128.000 Ausgabe-Tokens. Für Anfragen mit mehr als 272.000 Eingabe-Tokens gelten für die gesamte Anfrage höhere Preise.
Die Standardpreise für Text liegen bei $10 pro Million Eingabe-Tokens, $1 pro Million zwischengespeicherter Eingabe-Tokens, $12.50 pro Million Cache-Schreib-Tokens und $50 pro Million Ausgabe-Tokens. Prompts mit mehr als 272.000 Eingabe-Tokens werden für die gesamte Anfrage mit dem 2-Fachen der Eingabe-/Cache-Preise und dem 1,5-Fachen der Ausgabe-Preise abgerechnet.
In der Regel nicht. Astra eignet sich besser für kostspielige Fehler, schwierige Schlussfolgerungen, lang laufende Agenten, umfangreiche Entwicklungsaufgaben und hochwertige Workflows, bei denen die zusätzlichen Fähigkeiten die Mehrkosten rechtfertigen können.
Beginnen Sie mit einer Offline-Evaluierung, führen Sie anschließend Schattenprüfungen durch und leiten Sie danach einen kleinen Prozentsatz des Datenverkehrs für komplexe Aufgaben an Astra weiter. Weiten Sie den Einsatz nur dort aus, wo Astra die Abschlussquote, den menschlichen Zeitaufwand oder den Geschäftswert messbar verbessert.
Das Modell unterstützt Text- und Bildeingaben. Laut der aktuellen Modellseite von OpenAI werden Audio- und Videoeingaben für GPT-6 Astra nicht unterstützt.
Astra wird zusätzlich überwacht, da OpenAI das Modell als Modell mit kritischen Cybersecurity-Fähigkeiten einstuft. OpenAI erklärt, dass unterstützte Agenten-Workflows pausiert oder gestoppt werden können, wenn die Überwachung eine mögliche Fehlsteuerung oder riskante Aktivität erkennt, die geprüft werden muss.
Es gibt keinen universell anerkannten technischen Test für AGI. Greg Brockman hat Astra öffentlich als Beginn einer AGI-Ära beschrieben. Entwickler sollten das Modell jedoch anhand messbarer Kennzahlen für Zuverlässigkeit, Kosten, Tool-Nutzung und Aufgabenabschluss bewerten.
GPT-6 Astra ist nicht nur wegen seines Kontextfensters von 1,05 Millionen Tokens oder starker Benchmark-Ergebnisse relevant, sondern auch, weil es Spitzenmodelle von der Beantwortung schwieriger Fragen weiter in Richtung der Ausführung schwieriger, mehrstufiger Arbeit verschiebt.
Diese Fähigkeit bringt reale Zielkonflikte mit sich: hohe Ausgabepreise, Aufschläge für lange Kontexte, komplexere Berechtigungsgrenzen, größere Agentenrisiken und einen stärkeren Bedarf an bewusstem Modell-Routing.
Die praktischste Produktionsstrategie ist daher klar: kostengünstigere Modelle für einfache Aufgaben, ausgewogene Modelle für normale Workloads, Astra für hochwertige komplexe Arbeiten und menschliche Freigaben für risikoreiche, nicht rückgängig zu machende Aktionen.
Die zu optimierende Kennzahl ist nicht, wie häufig das leistungsfähigste Modell verwendet wird, sondern die Summe aus Modellkosten und menschlichem Zeitaufwand, die erforderlich ist, um eine reale Aufgabe erfolgreich abzuschließen.
Originalquelle: CSDN, „GPT-6 Astra offiziell veröffentlicht: 1,05 Millionen Kontext, 50 US-Dollar Output-Preis – für welche Aufgaben lohnt sich der Einsatz wirklich?“, veröffentlicht am 5. September 2026.
Auf der Quellseite wird angegeben, dass es sich um einen Originalartikel handelt, der unter der CC BY-SA 4.0-Lizenz verbreitet wird und bei einer erneuten Veröffentlichung eine Quellenangabe erfordert. Diese Adaption bewahrt die Quellenangabe und sollte, sofern erforderlich, unter kompatiblen Bedingungen erneut veröffentlicht werden.
Der ursprüngliche Artikel enthält keine inhaltlich relevanten Screenshots, Diagramme, Ergebnisbilder oder Workflow-Abbildungen. Bei den von der Seite bereitgestellten Bildelementen handelt es sich um CSDN-Oberflächenelemente, Profilgrafiken, Werbegrafiken und dekorative Elemente, weshalb keine davon in den Artikeltext aufgenommen wurden.
Die zentralen Astra-Spezifikationen der Quelle wurden anhand der offiziellen Dokumentation von OpenAI überprüft: gpt-6-astra, ein Kontextfenster von 1.050.000 Tokens, eine maximale Ausgabe von 128.000 Tokens, ein Wissensstand vom 30. April 2026, Reasoning-Stufen von low bis max, $10/M für Eingaben, $1/M für zwischengespeicherte Eingaben, $12.50/M für Cache-Schreibvorgänge und $50/M für Ausgaben. OpenAI bestätigt außerdem, dass Prompts mit mehr als 272.000 Eingabe-Tokens für die gesamte Anfrage mit dem 2-Fachen der Eingabe-/Cache-Preise und dem 1,5-Fachen der Ausgabe-Preise abgerechnet werden.
Aufgrund dieser Preisregel überschreitet das Beispiel der Quelle mit 200.000 nicht zwischengespeicherten Eingabe-Tokens und 300.000 zwischengespeicherten Eingabe-Tokens den Schwellenwert von 272.000 Tokens. Die ursprüngliche Schätzung von $3.80 verwendete Standardpreise und entspricht daher nicht den tatsächlich anzuwendenden Abrechnungskosten. Diese Adaption korrigiert das Beispiel auf ungefähr $6.85 pro Anfrage beziehungsweise $20,550 pro Monat bei 100 identischen Anfragen pro Tag über 30 Tage.
Der Quellcodeblock wird übernommen, ohne seine Routing-Logik zu verändern. https://genvis.xyz/v1 ist jedoch ein OpenAI-kompatibles Gateway eines Drittanbieters und kein offizieller API-Endpunkt von OpenAI. Entwickler, die OpenAI direkt verwenden, sollten stattdessen das offizielle OpenAI-SDK und den offiziellen Endpunkt nutzen.
Die Aussage der Quelle, dass Astra das erste OpenAI-Modell mit dem kritischen Niveau für Cybersecurity-Fähigkeiten ist, wird durch den Sicherheitsüberblick und die Systemkarte von OpenAI vom 3. September bestätigt. OpenAI erklärt, dass Astra eine stärkere interne Isolation, einen besseren Schutz von Checkpoints, umfassende Überwachung und blockierende Alignment-Evaluierungen erhält und dass externe Agenten-Workflows zusätzlich auf potenziell fehlgeleitete Aktivitäten überwacht werden.
Auch der AGI-Abschnitt der Quelle wurde mit einer klareren Abgrenzung der Urheberschaft übernommen. Greg Brockman bezeichnete die Einführung öffentlich als Beginn einer „AGI-Ära“. Dabei handelt es sich jedoch um eine Einschätzung der Unternehmensführung und nicht um eine universell anerkannte technische Klassifikation.
Starte mit einem Satz und erhalte in wenigen Minuten eine vollständige Website.