GPT-6 Sol & Claude Opus 5.5 sind daGPT-6 Sol zum halben Preis von 5.6 Sol

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.

Kiki, OmniaKey COO10 Min. Lesezeit
Auf dieser Seite

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_KEY wird 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 SieSchlüsselHerkunft
GPT, Resend oder einen anderen kostenpflichtigen Dienst aufrufenIhren eigenen Schlüssel des DienstesSecrets oder ein Connector-Formular
Lovables eingebaute KI nutzenLOVABLE_API_KEYLovable erzeugt ihn pro Projekt
Projekte über die Lovable API verwaltenEinen 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 nutzenKeinen API-SchlüsselOAuth 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

  1. 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).
  2. 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_ und LOVABLE_ 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).

DienstWohin der Schlüssel gehörtGut zu wissen
StripeDas Formular Connect Stripe im Projekt-ChatDen Schlüssel nie als Chat-Nachricht senden
ResendDas VerbindungsformularSchlüssel beginnen mit re_
Google MapsZwei Schlüssel im VerbindungsformularServer-Schlüssel privat; Browser-Schlüssel absichtlich öffentlich
Jeder andere DienstEin eigener Connector oder der Schlüssel in den SecretsServerseitiger 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.

  1. Legen Sie einen Schlüssel beim Anbieter an. Bei OmniaKey: registrieren Sie sich auf omniakey.com und öffnen Sie Dashboard → tokens (Schnellstart).

  2. Fügen Sie diesen Prompt in den Projekt-Chat ein:

    text
    Add 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.
    
  3. Tragen Sie den Schlüssel im Formular Add secret unter dem Namen OMNIAKEY_API_KEY ein.

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.

ts
// 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):

ts
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.

TestStatusAntwort
Preflight (OPTIONS)200* und die Liste der erlaubten Header
gpt-6.1-terra200 in 3.28 sEine Antwort, 53 Tokens insgesamt
claude-sonnet-5-5200 in 2.85 sEine Antwort, 134 Tokens insgesamt
deepseek-flash200 in 1.75 sEine Antwort, 92 Tokens insgesamt
Modell außerhalb der Liste400model must be one of: gpt-6.1-terra, claude-sonnet-5-5, deepseek-flash
Secret fehlt500OMNIAKEY_API_KEY is not set
Falscher Schlüssel401Invalid 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():

ts
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

  1. 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).
  2. 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.
  3. Nehmen Sie den Schlüssel aus dem Frontend-Code oder aus .env und starten Sie den Deep security scan erneut.
  4. 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

OmniaKeys eigene Dokumentation, geprüft am 2. November 2026: Schnellstart, OpenAI-kompatible API, Authentifizierung und Fehler.

Modelle in diesem Artikel

LovableAPI-SchlüsselSecretsEdge FunctionsGPT-6.1 TerraClaude Sonnet 5.5DeepSeek

Verwandte Artikel

Neueste Beiträge

Beliebte Anleitungen