Wir stellen Eleven v4 vorLernen Sie Eleven v4 kennen, unser bisher ausdrucksstärkstes Modell.

Zum Inhalt springen

Fügen Sie Ihrer React-App in wenigen Minuten einen Santa-Stimmenagenten hinzu

Veröffentlicht

AnhörenArtikel anhören

Fügen Sie Ihrer App in dieser Weihnachtszeit den Weihnachtsmann hinzu.

Mit der ElevenLabs Agents Platform und dem @elevenlabs/react SDK können Sie einen Weihnachtsmann-Voice Agent in wenigen Minuten in Ihre React-App einbinden. In dieser Anleitung:

  1. Erstellen Sie einen Weihnachtsmann-Agent im ElevenLabs-Dashboard
  2. Binden Sie ihn per WebRTC in eine React-Komponente ein
  3. Fügen Sie eine einfache Schaltfläche „Santa anrufen“ hinzu

1. Registrieren und die Agents Platform öffnen

  1. Registrieren Sie sich / melden Sie sich an bei ElevenLabs.
  2. Öffnen Sie in der linken Seitenleiste oben den Platform Switcher.
  3. Wählen Sie Agents Platform aus.

Darunter sehen Sie in der Seitenleiste im Bereich „Build“ Agents, Knowledge Base, Tools und Voices.

2. Weihnachtsmann-Agent erstellen

Als Nächstes erstellen wir einen Agent, der sich wie der Weihnachtsmann verhält und mit einer Weihnachtsmann-Stimme spricht.

  1. Klicken Sie in der Seitenleiste auf Agents.
  2. Klicken Sie auf + New Agent.
  3. Wählen Sie Blank Agent aus, um von Grund auf zu beginnen.

Nennen Sie ihn: Santa.

System Prompt

Fügen Sie im Feld System Prompt Folgendes ein:

You are a helpful assistant. You are Santa Claus, a jolly, warm, and humorous character from the North Pole. Christmas is just around the corner, and you love reminding everyone of the festive season with your hearty "Ho, ho, ho!" You are deeply in love with Mrs. Claus, often mentioning her incredible cookies.

When speaking to someone, keep your answers short and magical—just one festive sentence. Make it your top priority to ask for their name to check your naughty or nice list. Once you have their name, immediately ask about their wish-list, as it's crucial for your preparations. Always be warm and gentle.

Once their name and wish-list are covered, guide the conversation toward learning more about what they've done throughout the year and why they believe they deserve to be on Santa's Nice List. Use this opportunity to celebrate their kindness or achievements, reinforcing the importance of spreading goodness and holiday cheer. You also love asking about their plans for the holidays and showing genuine interest in their answers. Compliment them if you know they've done something kind or helpful recently, reinforcing the importance of spreading goodness.

Talk about your favorite gifts you've delivered or share quick, magical details about life at the North Pole, like mischievous elves or your reindeer team. Sprinkle in lighthearted jokes about your endless to-do list or how you struggle to resist cookies left out for you on Christmas Eve. Always express how much you love seeing people happy during the holidays and how their smiles make all your efforts worthwhile.

If the user makes a request involving inappropriate, harmful, or dangerous items such as weapons or items that go against the spirit of Christmas. Politely remind the user to make kind and festive wishes instead.

End every conversation with a warm farewell, suggesting you must return to your holiday preparations to ensure everyone gets their gifts on time. Wish them a Merry Christmas and encourage them to spread kindness and holiday cheer. Stay cheerful, engaging, and full of festive energy, spreading Christmas magic through humor, warmth, and storytelling.

Be sure to maintain the conversation in the user's selected language.

Erste Nachricht

Setzen Sie First Message auf:

Ho, ho, ho! Frohe Weihnachten, mein Freund. Wie heißt du?

Das hören Nutzer, wenn der Anruf beginnt.

Stimme

Im Bereich Voice:

  • Wählen Sie „Jerry B. – Santa Claus“
  • Stimm-ID: MDLAMJ0jxkpYkjXbmG4t

Jetzt klingt Santa auch wirklich wie der Weihnachtsmann.

Sicherheit

Für dieses Beispiel lassen wir den Zugriff offen:

  • Stellen Sie unter Security sicher, dass Enable authentication deaktiviert ist.

Für Ihre erste Demo können Sie Enable Authentication problemlos deaktiviert lassen, damit sich jeder ohne Einschränkungen mit dem Agent verbinden kann. Das beschleunigt das Onboarding und eignet sich ideal für schnelle Prototypen, Hackathon-Projekte oder interne Präsentationen.

Bei jeder Produktiv- oder extern zugänglichen Anwendung sollten Sie Ihren Agent jedoch nie offen lassen. Nutzen Sie stattdessen den ElevenLabs-Token Endpoint, um für jede Nutzersitzung kurzlebige Zugriffstokens mit begrenztem Geltungsbereich zu erstellen. So behalten Sie die volle Kontrolle darüber, wer sich verbinden kann, wie lange der Zugriff besteht und welche Aktionen Nutzer ausführen dürfen. Die aktivierte Authentifizierung schützt Ihren Agent vor unbefugten Anrufen, Missbrauch und Nutzung außerhalb Ihrer vorgesehenen Grenzen — und wird vor dem Livegang dringend empfohlen.

3. Agent-ID abrufen

Oben auf der Agent-Seite sehen Sie ein Feld für die Agent ID.

Notieren Sie sich diesen Wert — wir fügen ihn in einem späteren Schritt in unsere React-Komponente ein:

agentId: "<AGENT_ID>"

4. React SDK installieren

Installieren Sie in Ihrem React-/Next.js-Projekt das ElevenLabs React SDK:

npm install @elevenlabs/react

Danach können wir den useConversation Hook verwenden, um Voice-Anrufe zu starten und zu beenden.

5. Schaltfläche „Santa anrufen“ hinzufügen

Erstellen Sie eine neue Komponente, z. B. CallSantaButton.tsx, und fügen Sie diesen Code ein:

"use client";

import { useConversation } from "@elevenlabs/react";
import { useCallback, useState } from "react";

export function CallButton() {
  const [hasPermission, setHasPermission] = useState(false);
  const [permissionError, setPermissionError] = useState<string | null>(null);

  const conversation = useConversation();

  const requestMicrophonePermission = useCallback(async () => {
    try {
      await navigator.mediaDevices.getUserMedia({ audio: true });
      setHasPermission(true);
      setPermissionError(null);
      return true;
    } catch {
      setPermissionError("Microphone access is required");
      return false;
    }
  }, []);

  const startCall = useCallback(async () => {
    const permitted = hasPermission || (await requestMicrophonePermission());
    if (!permitted) return;

    try {
      await conversation.startSession({
        agentId: "<AGENT_ID>",
        connectionType: "webrtc",
      });
    } catch (error) {
      console.error("Failed to start conversation:", error);
    }
  }, [conversation, hasPermission, requestMicrophonePermission]);

  const endCall = useCallback(async () => {
    await conversation.endSession();
  }, [conversation]);

  const isConnected = conversation.status === "connected";

  return (
    <div className="flex flex-col items-center gap-4">
      <button
        onClick={isConnected ? endCall : startCall}
        className={`px-6 py-3 rounded-lg text-white font-medium ${
          isConnected
            ? "bg-red-600 hover:bg-red-700"
            : "bg-green-600 hover:bg-green-700"
        }`}
      >
        {isConnected ? "End Call" : "Start Call"}
      </button>

      {isConnected && (
        <p className="text-sm text-gray-600">
          {conversation.isSpeaking ? "Agent speaking..." : "Listening..."}
        </p>
      )}

      {permissionError && (
        <p className="text-sm text-red-500">{permissionError}</p>
      )}
    </div>
  );
}

Ersetzen Sie jetzt "<AGENT_ID>" durch die tatsächliche Agent-ID, die Sie aus dem Dashboard kopiert haben.

Rendern Sie die Schaltfläche dann an einer Stelle in Ihrer UI, zum Beispiel:

import { CallButton } from "./CallSantaButton";

export default function HomePage() {
  return (
    <main className="min-h-screen flex flex-col items-center justify-center gap-6">
      <h1 className="text-3xl font-bold text-center">
        Call Santa 🎅
      </h1>
      <p className="text-gray-600">
        Press the button and talk to Santa in real time.
      </p>
      <CallButton />
    </main>
  );
}

6. Ausprobieren

Öffnen Sie die App in Ihrem Browser und klicken Sie auf Start Call:

  1. Ihr Browser fragt nach der Mikrofonberechtigung.
  2. Eine WebRTC-Sitzung mit Ihrem Weihnachtsmann-Agent startet.
  3. Sie hören:

    „Ho, ho, ho! Frohe Weihnachten, mein Freund. Wie heißt du?“

Danach fragt Santa nach Ihrem Namen, Ihrer Wunschliste und danach, was Sie dieses Jahr getan haben, um auf der Liste der braven Kinder zu bleiben.

Nächste Schritte

Sobald die Grundlagen funktionieren, können Sie:

  • Santa durch Authentifizierung schützen – über die Sicherheitseinstellungen des Agent
  • Sprachen wechseln – indem Sie das Nutzergebietsschema übergeben und den Prompt den Rest erledigen lassen
  • Die UI gestalten – mit benutzerdefinierten Schaltflächen, Animationen oder einem vollständigen Bildschirm „Santa anrufen“

Die Kernintegration besteht jedoch nur aus:

  • Einem Agent in der Agents Platform
  • Einer agentId
  • Einem useConversation Hook und einer Schaltfläche

Das ist alles, was Sie brauchen, um echte Weihnachtsmann-Magie in Echtzeit und als Gespräch in Ihre React-App zu bringen.

Ähnliche Artikel

Erstellen Sie mit hochwertiger KI-Audio