Lovable API Key: wohin damit und wie Sie ihn schützen
Wohin der Schlüssel gehört, die vier Dinge, die man Lovable API Key nennt, eine Funktion, die wir mit GPT, Claude und DeepSeek ausgeführt haben, und was bei einem Leak zu tun ist.
Auf dieser Seite
- Kurze Antwort
- Welchen Lovable API Key brauchen Sie?
- Wohin der API-Schlüssel in Lovable gehört
- Wohin gehören die Schlüssel von Resend, Stripe und Google Maps?
- GPT, Claude oder DeepSeek mit eigenem Schlüssel anbinden
- Was beim Ausführen herauskam
- Warum Sie nur "non-2xx status code" sehen
- Prüfen, ob Ihr Schlüssel offenliegt
- Was tun, wenn ein Schlüssel offenlag
- Was es kostet
- Häufige Fragen
- Wo finde ich meinen Lovable API Key?
- Gibt es einen kostenlosen Lovable API Key?
- Kann ich meinen eigenen OpenAI-Schlüssel mit Lovable AI nutzen?
- Gehört der API-Schlüssel in Secrets oder in .env?
- Warum verbindet Lovable nicht mit GPT, Claude oder DeepSeek?
- Geprüfte Quellen
In Lovable gehört Ihr Lovable API Key in die Secrets: Öffnen Sie in der Projektleiste More → Settings → Secrets oder nutzen Sie das Formular Add secret, das Lovable im Projekt-Chat zeigt. Der Backend-Code liest den Schlüssel dort, deshalb erreicht er nie den Browser. Eine Chat-Nachricht oder Frontend-Code macht ihn für alle sichtbar.
Kurze Antwort
- Eigener Schlüssel (GPT, Claude, Resend): Secrets oder das Formular des Connectors.
- Lovables eigene Schlüssel:
LOVABLE_API_KEYwird automatisch erzeugt; ein Workspace-Schlüssel (lov_…) setzt Business oder Enterprise voraus. - GPT, Claude oder DeepSeek mit eigenem Schlüssel: Lassen Sie Lovable eine Backend-Funktion schreiben, denn der eingebaute AI-Connector kann Ihren Schlüssel nicht nutzen.
- Bei einem Leak: zuerst beim Anbieter widerrufen, dann den Wert in den Secrets ersetzen.
Welchen Lovable API Key brauchen Sie?
Lovable API Key kann vier verschiedene Dinge meinen.
| Das wollen Sie | Schlüssel | Herkunft |
|---|---|---|
| GPT, Resend oder einen anderen kostenpflichtigen Dienst aufrufen | Ihren eigenen Schlüssel des Dienstes | Secrets oder ein Connector-Formular |
| Lovables eingebaute KI nutzen | LOVABLE_API_KEY | Lovable erzeugt ihn pro Projekt |
| Projekte über die Lovable API verwalten | Einen Workspace-Schlüssel (lov_…) | Workspace settings → API keys & OAuth → Workspace access tokens → New API key, Business oder Enterprise, owner oder admin |
| Den MCP-Server oder Build with URL nutzen | Keinen API-Schlüssel | OAuth bei MCP; nichts bei Build with URL |
Der Workspace-Schlüssel geht nur an die Lovable API, im Header Lovable-API-Key, und sein Wert wird einmal angezeigt (API-Key-Dokumentation, geprüft am 2. November 2026). Er verwaltet und deployt Projekte; KI-Modelle ruft er nicht auf und Apps baut er nicht (Lovable API), und er ist nicht der LOVABLE_API_KEY des Projekts (KI-Dokumentation).
Alles Weitere betrifft die erste Zeile: Ihren eigenen Schlüssel.
Wohin der API-Schlüssel in Lovable gehört
- Lovable fragt. Braucht ein Feature einen Schlüssel, öffnet sich im Projekt-Chat das Formular Add secret. Tragen Sie den Wert dort ein, nicht als Chat-Nachricht: Das Formular speichert ihn direkt in den Secrets des Projekts und hält ihn aus dem Chat-Verlauf heraus (Dokumentation zu eigenen APIs, geprüft am 2. November 2026).
- Sie tragen ihn ein. Öffnen Sie in der Projektleiste More → Settings → Secrets, klicken Sie auf Add secret und geben Sie ein oder mehrere Paare aus Name und Wert ein (Secrets-Dokumentation).
Das Lovable-Changelog vom 26. August 2026 nennt diesen Weg More → Cloud → Secrets. Schauen Sie dort nach, wenn Ihr Menü anders aussieht (Changelog).
Regeln, an denen viele hängen bleiben:
- Nur schreiben: Ein Wert lässt sich ersetzen oder löschen, aber nie zurücklesen.
- Namen mit
VITE_werden abgelehnt; sie werden beim Build eingebaut, sind im Browser sichtbar und gehören in.env. - Namen mit
SUPABASE_undLOVABLE_sind reserviert und werden automatisch gefüllt. - Secrets gehören zu einem Projekt. Nach einem Remix tragen Sie Ihre eigenen neu ein, denn nur von Lovable erzeugte Schlüssel werden neu angelegt.
Im eigenen Supabase-Projekt hat die Backend-Ansicht einen Button Manage secrets, der das Supabase-Dashboard öffnet; dort liegt der Speicher in Edge Function Secrets (Supabase-Secrets, geprüft am 2. November 2026). Teilen sich zwei Lovable-Projekte ein Supabase-Projekt, überschreiben sie gegenseitig ihre Secrets, LOVABLE_API_KEY eingeschlossen (Supabase-Integration).
Wohin gehören die Schlüssel von Resend, Stripe und Google Maps?
Nicht jeder Schlüssel landet direkt in den Secrets: Für diese Dienste gibt es Connector-Formulare (Stripe, Resend, eigene APIs, geprüft am 2. November 2026).
| Dienst | Wohin der Schlüssel gehört | Gut zu wissen |
|---|---|---|
| Stripe | Das Formular Connect Stripe im Projekt-Chat | Den Schlüssel nie als Chat-Nachricht senden |
| Resend | Das Verbindungsformular | Schlüssel beginnen mit re_ |
| Google Maps | Zwei Schlüssel im Verbindungsformular | Server-Schlüssel privat; Browser-Schlüssel absichtlich öffentlich |
| Jeder andere Dienst | Ein eigener Connector oder der Schlüssel in den Secrets | Serverseitiger Code liest das Secret |
Google Maps ist die Ausnahme. Sein Browser-Schlüssel ist absichtlich öffentlich und erreicht Ihr Frontend als VITE_LOVABLE_CONNECTOR_GOOGLE_MAPS_BROWSER_KEY; die Website-Beschränkung verhindert, dass andere Seiten ihn weiterverwenden (Google Maps, geprüft am 2. November 2026). Der Server-Schlüssel bleibt privat. Connector-Zugangsdaten werden verschlüsselt gespeichert, und niemand kann sie zurücklesen, auch Lovable nicht (Sicherheit der Integrationen).
GPT, Claude oder DeepSeek mit eigenem Schlüssel anbinden
Prüfen Sie zuerst, ob Sie einen Schlüssel brauchen: Der eingebaute AI-Connector braucht keinen. Lovable erzeugt pro Projekt einen LOVABLE_API_KEY und führt standardmäßig GPT-6 Astra aus; Claude-Chatmodelle gibt es nur in neueren TanStack-Start-Apps ab dem 13. Mai 2026 (KI-Dokumentation, AI chat, geprüft am 2. November 2026).
Dieser Connector kann Ihren Schlüssel nicht nutzen: Er läuft immer über Lovable und rechnet Workspace-Credits ab. Die Lovable-Dokumentation, wie wir sie am 2. November 2026 gelesen haben, erwähnt DeepSeek nicht. Für Ihren eigenen Schlüssel lassen Sie Lovable den Anbieter aus einer Backend-Funktion aufrufen, mit dem Schlüssel in den Secrets.
Einen Button zum Anlegen gibt es nicht: Beschreiben Sie die Funktion im Projekt-Chat, dann schreibt und deployt Lovable sie (Edge functions). Neuere TanStack-Start-Apps (erstellt ab dem 13. Mai 2026, bei Enterprise ab dem 22. Juni 2026) bekommen eine Server-Funktion; ältere React-+-Vite-Apps bekommen eine Edge Function, also Code, der auf dem Server läuft.
Unser Code nutzt die OpenAI-kompatible API von OmniaKey, weil ein Schlüssel GPT-6.1 Terra, Claude Sonnet 5.5 und DeepSeek erreicht.
-
Legen Sie einen Schlüssel beim Anbieter an. Bei OmniaKey: registrieren Sie sich auf omniakey.com und öffnen Sie Dashboard → tokens (Schnellstart).
-
Fügen Sie diesen Prompt in den Projekt-Chat ein:
textAdd an AI chat feature that uses my own API key, not the built-in AI connector. Create a backend function named "chat". It reads OMNIAKEY_API_KEY from Secrets and calls POST https://api.omniakey.com/v1/chat/completions with the model and messages the frontend sends. Only allow these models: gpt-6.1-terra, claude-sonnet-5-5, deepseek-flash. Require a signed-in user. Never put the key in frontend code. Ask me for the key with the Add secret form. -
Tragen Sie den Schlüssel im Formular Add secret unter dem Namen
OMNIAKEY_API_KEYein.
Diesen Prompt haben wir nicht in Lovable ausgeführt, weil wir kein Lovable-Konto haben; die Lovable-Schritte stammen aus der Dokumentation. Die Funktion sollte so aussehen; diese Fassung haben wir auf unserem eigenen Rechner ausgeführt.
// supabase/functions/chat/index.ts
// Der Browser sendet { model, messages }; diese Funktion ergänzt den API-Schlüssel auf dem Server.
const corsHeaders = {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Headers": "authorization, x-client-info, apikey, content-type",
};
const ALLOWED_MODELS = ["gpt-6.1-terra", "claude-sonnet-5-5", "deepseek-flash"];
function json(body: unknown, status = 200) {
return new Response(JSON.stringify(body), {
status,
headers: { ...corsHeaders, "Content-Type": "application/json" },
});
}
Deno.serve(async (req) => {
if (req.method === "OPTIONS") {
return new Response("ok", { headers: corsHeaders });
}
const apiKey = Deno.env.get("OMNIAKEY_API_KEY");
if (!apiKey) {
return json({ error: "OMNIAKEY_API_KEY is not set" }, 500);
}
const { model, messages } = await req.json();
if (!ALLOWED_MODELS.includes(model)) {
return json({ error: `model must be one of: ${ALLOWED_MODELS.join(", ")}` }, 400);
}
const upstream = await fetch("https://api.omniakey.com/v1/chat/completions", {
method: "POST",
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ model, messages, max_tokens: 800 }),
});
const data = await upstream.json();
if (!upstream.ok) {
return json({ error: data.error?.message ?? "upstream error" }, upstream.status);
}
return json({ reply: data.choices[0].message.content, model: data.model, usage: data.usage });
});
Unsere Testfassung lässt die Anmelde-Prüfung weg, damit wir sie aus einem Skript aufrufen konnten; der Prompt oben lässt Lovable sie ergänzen, weil Lovables Sicherheits-Best-Practices verlangen, dass Authentifizierung auf dem Server entschieden wird (Best Practices).
Aus dem Browser sieht der Aufruf so aus (supabase-js):
const { data, error } = await supabase.functions.invoke("chat", {
body: { model: "deepseek-flash", messages: [{ role: "user", content: "Say hello in five words." }] },
});
Bei einem anderen Anbieter ändern Sie URL und Modell-IDs auf die Werte aus dessen Dokumentation. Ein OmniaKey-Schlüssel funktioniert auch für einen eigenen API-Schlüssel in Cline und für eigene Modelle in Factory Droid.
Was beim Ausführen herauskam
Wir haben die Funktion auf unserem eigenen Rechner ausgeführt, nicht in Lovable, mit Deno 2.9.8 am 2. November 2026, und sie wie ein Browser aufgerufen, mit einem Origin-Header und einem CORS-Preflight.
| Test | Status | Antwort |
|---|---|---|
Preflight (OPTIONS) | 200 | * und die Liste der erlaubten Header |
gpt-6.1-terra | 200 in 3.28 s | Eine Antwort, 53 Tokens insgesamt |
claude-sonnet-5-5 | 200 in 2.85 s | Eine Antwort, 134 Tokens insgesamt |
deepseek-flash | 200 in 1.75 s | Eine Antwort, 92 Tokens insgesamt |
| Modell außerhalb der Liste | 400 | model must be one of: gpt-6.1-terra, claude-sonnet-5-5, deepseek-flash |
| Secret fehlt | 500 | OMNIAKEY_API_KEY is not set |
| Falscher Schlüssel | 401 | Invalid token (request id: …) |
Ein Aufruf pro Modell, jedes Mal also eine Stichprobe; deepseek-flash antwortete als deepseek-v4-1-flash-261017.
Warum Sie nur "non-2xx status code" sehen
Bei einem Fehler gibt supabase.functions.invoke nur Edge Function returned a non-2xx status code zurück, und data ist null. Die echte Meldung der Funktion steht in await error.context.json():
if (error) {
const details = await error.context.json();
console.error(details.error);
}
- 401: Der Schlüssel ist falsch. Bei uns stand
Invalid token (request id: …). - 500 mit
OMNIAKEY_API_KEY is not set: Das Secret fehlt oder heißt anders. - 400: Das Modell steht nicht auf Ihrer Liste.
Prüfen, ob Ihr Schlüssel offenliegt
Ein Schlüssel im Frontend-Code ist für Nutzer sichtbar und gilt als kompromittiert (Best Practices, geprüft am 2. November 2026).
- Quick security scan läuft bei jeder Veröffentlichung automatisch.
- Deep security scan nicht: Starten Sie ihn in der Security view des Projekts (Security view).
- Suchen Sie die Gruppe Leaked secrets & credentials.
- Beide Scans sind kostenlos; nur Massenkorrekturen verbrauchen die 10 kostenlosen Korrekturen und danach Credits (Security-Scans).
Von Hand: Öffnen Sie in Chrome die Entwicklertools Ihrer veröffentlichten App, drücken Sie auf einem Mac Command+Option+F und unter Windows und Linux Control+Shift+F, und suchen Sie in den geladenen Dateien nach den ersten Zeichen Ihres Schlüssels. Steckt ein privater Schlüssel in einem VITE_-Wert, handeln Sie, denn solche Werte werden für den Browser gebaut (Suche in DevTools). Eine saubere Suche deckt nur die Dateien ab, die der Aufruf geladen hat, deshalb führen Sie zusätzlich den Scan aus.
Den Schlüssel zu verstecken hindert Fremde nicht am Aufruf Ihrer Funktion: Jeder kann eine Funktion ohne Anmelde-Prüfung aufrufen, und jeder Aufruf verbraucht Ihren Schlüssel. Lovables Dokumentation verlangt die Anmeldeprüfung auf dem Server; unsere Erlaubnisliste und max_tokens: 800 begrenzen jeden Aufruf; OmniaKeys Dokumentation empfiehlt einen eigenen Schlüssel pro Umgebung mit Ausgabenlimit (OmniaKeys API-Dokumentation).
Was tun, wenn ein Schlüssel offenlag
- Widerrufen Sie ihn beim ausgebenden Dienst und legen Sie dort einen neuen an; Lovables Dokumentation bietet Rotate nur für den eigenen Schlüssel (Secrets-Dokumentation).
- Ersetzen Sie den Wert in den Secrets, im Connector-Formular oder in Supabase. Bei Supabase liest die Funktion das neue Secret sofort, ohne neues Deployment (Supabase-Secrets). Ob Lovables eingebautes Backend Cloud dasselbe tut, steht nicht in der Dokumentation; rufen Sie die Funktion einmal auf und prüfen Sie es.
- Nehmen Sie den Schlüssel aus dem Frontend-Code oder aus
.envund starten Sie den Deep security scan erneut. - Sehen Sie auf der Nutzungsseite des Anbieters nach Aufrufen, die nicht von Ihnen stammen.
Lovables eigene Schlüssel laufen anders. LOVABLE_API_KEY hat eine Aktion Rotate für Editor und höher, die einen neuen Schlüssel ausgibt und die Umgebung der Edge Function aktualisiert. Ein Workspace-Schlüssel (lov_…), den GitHub secret scanning meldet, wird automatisch widerrufen; überall sonst widerrufen Sie ihn selbst (API-Key-Dokumentation).
Was es kostet
Lovables Rechnung und die Ihres Anbieters sind getrennt: Mit eigenem Schlüssel rechnet der Anbieter die Modellnutzung ab, und Ihre App nutzt Cloud nur, um die Funktion auszuführen (KI-Dokumentation, Cloud, geprüft am 2. November 2026).
Der eingebaute AI-Connector rechnet Workspace-Credits ab: Free, Pro und Business erhalten monatlich ein 4-credit-Kontingent für KI, ist es aufgebraucht, kommt 402, und über dem Rate Limit kommt 429. Der Free-Plan gibt zusätzlich 5 build credits pro Tag, bis zu 30 im Monat, plus 20 Cloud credits (Preise); Lovables Plantabelle nennt 100 credits für $25 im Monat bei Pro (Abo-Pläne, geprüft am 2. November 2026).
Für OmniaKey finden Sie die aktuellen Preise auf den Seiten GPT-6.1 Terra, Claude Sonnet 5.5 und DeepSeek.
Häufige Fragen
Wo finde ich meinen Lovable API Key?
Das hängt vom Schlüssel ab. LOVABLE_API_KEY wird pro Projekt erzeugt und liegt in den Secrets dieses Projekts; dort lässt er sich rotieren, aber nie lesen. Ein Workspace-Schlüssel kommt aus Workspace settings → API keys & OAuth → Workspace access tokens und wird einmal angezeigt.
Gibt es einen kostenlosen Lovable API Key?
Am nächsten kommt LOVABLE_API_KEY: Der eingebaute AI-Connector erzeugt ihn für jedes Projekt, und Free-, Pro- und Business-Workspaces haben monatlich ein 4-credit-Kontingent dafür. Ein Workspace-Schlüssel braucht Business oder Enterprise.
Kann ich meinen eigenen OpenAI-Schlüssel mit Lovable AI nutzen?
Mit dem eingebauten AI-Connector nicht, denn er läuft immer über Lovable und rechnet Workspace-Credits ab. Für Ihren eigenen Schlüssel lassen Sie Lovable eine Backend-Funktion schreiben, die den Anbieter direkt aufruft, mit dem Schlüssel in den Secrets.
Gehört der API-Schlüssel in Secrets oder in .env?
In die Secrets, wenn der Schlüssel privat ist und Backend-Code ihn liest. .env ist für VITE_-Werte, die in die App gebaut werden und im Browser sichtbar sind.
Warum verbindet Lovable nicht mit GPT, Claude oder DeepSeek?
Lesen Sie zuerst die Meldung der Funktion, sie nennt das Problem:
- 500 mit
OMNIAKEY_API_KEY is not set: Das Secret fehlt oder ist unter einem anderen Namen gespeichert. - 401: Der Schlüssel ist falsch oder widerrufen.
- 400: Die Modell-ID steht nicht auf Ihrer Erlaubnisliste.
- 404: Die Basis-URL ist falsch; unsere endet auf
/v1/chat/completions, und die meisten Einrichtungsfehler kommen von einem falschen Protokoll-Suffix (OmniaKeys Fehlerdokumentation).
Im Browser sehen Sie nur Edge Function returned a non-2xx status code; protokollieren Sie error.context wie oben, um zu sehen, welcher Fall vorliegt.
Geprüfte Quellen
- Lovables Secrets-Dokumentation, geprüft am 2. November 2026
- Lovable API-Keys, geprüft am 2. November 2026
- Lovable API, geprüft am 2. November 2026
- Lovable MCP-Server, geprüft am 2. November 2026
- Build with URL, geprüft am 2. November 2026
- Lovables KI-Funktionen, geprüft am 2. November 2026
- Lovable AI chat, geprüft am 2. November 2026
- Lovable Edge functions, geprüft am 2. November 2026
- Lovable Cloud, geprüft am 2. November 2026
- Eigene APIs und Connectoren, geprüft am 2. November 2026
- Stripe-Integration, geprüft am 2. November 2026
- Resend-Integration, geprüft am 2. November 2026
- Google-Maps-Integration, geprüft am 2. November 2026
- Sicherheit der Integrationen, geprüft am 2. November 2026
- Supabase-Integration, geprüft am 2. November 2026
- Lovable-Sicherheit, geprüft am 2. November 2026
- Lovable Security view, geprüft am 2. November 2026
- Lovables Sicherheits-Best-Practices, geprüft am 2. November 2026
- Lovables Abo-Pläne, geprüft am 2. November 2026
- Lovable-Changelog, geprüft am 2. November 2026
- Lovable-Preise, geprüft am 2. November 2026
- Supabase Edge Function Secrets, geprüft am 2. November 2026
- Supabase functions.invoke, geprüft am 2. November 2026
- Suche in Chrome DevTools, geprüft am 2. November 2026
OmniaKeys eigene Dokumentation, geprüft am 2. November 2026: Schnellstart, OpenAI-kompatible API, Authentifizierung und Fehler.
Modelle in diesem Artikel
Verwandte Artikel
Eigenen API-Key in Cline einrichten
Verbinden Sie Cline in vier Feldern mit einem OpenAI-kompatiblen API, verifizieren Sie es und diagnostizieren Sie Fehler nach Schicht.
Eigene Modelle in Factory Droid: Claude und GPT mit eigenem API-Key nutzen
Eine settings.json brachte Droid 1.0.0 auf Claude Sonnet 5.5, GPT-6.1 Terra und MiniMax M3.1 Flash – mit einem Schlüssel. Hier steht die Datei, der passende Provider je Modell und die vier Fehler, auf die wir gestoßen sind.
GPT und Drittanbieter-APIs in Cherry Studio einrichten
Wählen Sie das richtige Protokoll, geben Sie die Stamm-URL des Anbieters ein, fügen Sie die genaue Modell-ID hinzu und überprüfen Sie eine kleine Anfrage, bevor Sie das Setup erweitern.