Voice wird gerade aufgerüstet

Programmierbare Sprachtelefonie in JSON. Anrufe, IVR, Aufzeichnung, TTS.

Voice für Entwickler: 140+ Länder mit Sprachabdeckung, 1.500+ Rufnummernvorwahlen, maskierte Anrufe, virtuelle Nummern. Dieselbe API-Oberfläche wie bei Email und SMS: Anrufe sind einfach eine weitere Ressource.

place-call.ts
201 · 0.4s
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });

const { data, error } = await bird.voice.calls.create({
  to:   "+15005550010",
  from: "+14155550199",
  flow: [
    { say:    "Your verification code is..." },
    { say:    "4. 2. 9. 1. 7." },
    { gather: { digits: 1, timeout: 5 } },
    { record: { transcribe: true } },
  ],
}).safe();

if (error) throw error;
console.log(data.id);
// → "call_7tQ04Lp2n..."

Bird Verify

+1 (500) 555-0010

Yourverificationcodeisfourtwonineoneseven.

5 minutes from npm install to first call

Starten Sie einen Anruf in der Sprache, die Sie bereits verwenden.

SDKs für jede gängige Laufzeitumgebung. Der erste Anruf geht an eine freigegebene Testnummer (+15005550010), sodass Sie einen CI-Check ausliefern können, bevor Sie eine echte Nummer einrichten.

Code samples arrive when this API ships. The SDKs already cover the live channels.

Zehn Voice-Komponenten, die Sie lieber nicht selbst programmieren möchten.

Carrier-Routing, Anrufsteuerung und Observability-Primitive – benannt und auditierbar.

  1. 01

    Ausgehende und eingehende Anrufe

    Anrufe tätigen und empfangen über REST oder SIP: dasselbe Auth-Modell, derselbe Idempotenz-Vertrag.

  2. 02

    Deklarative Anrufabläufe in JSON

    Kombinieren Sie say, play, gather, record, transfer und dial als flaches JSON-Array.

  3. 03

    Aufzeichnung mit Transkription

    Optionale Aufzeichnung für jede Verbindung; Transkripte werden automatisch in über 40 Sprachen generiert.

  4. 04

    Streaming-TTS, unter 250 ms

    First-Byte-Audio über HTTP Chunked Transfer oder WebSocket, abgerechnet pro Zeichen.

  5. 05

    Sprach-OTP über Verifikationen

    Dieselbe bird.verifications-Ressource wie bei SMS OTP; einfach das channel-Feld ändern.

  6. 06

    Virtuelle Nummern in über 100 Ländern

    Stellen Sie Langwahlnummern über das Dashboard oder die Numbers-API in Sekunden bereit.

  7. 07

    Maskierte Anrufe

    Anrufer- und Empfängernummern werden einander nie offengelegt: Datenschutz durch Routing.

  8. 08

    SmartRouting pro Anruf

    Günstigster Carrier wird in Echtzeit für jede Verbindung ausgewählt, mit automatischer Routenumleitung bei Fehlern.

  9. 09

    Webhook-Events pro Anruf

    call.ringing, call.answered, call.completed und mehr: HMAC-signiert, Replay-geschützt.

  10. 10

    WebRTC-Client-SDK

    Browser-zu-PSTN-Bridges aus einem einzigen npm-Paket; funktioniert in jeder modernen Laufzeitumgebung.

Warum wir Voice entwickeln

Voice ist der Kanal, den alle als Nebensache behandeln. Wir nicht.

Voice ist anspruchsvoll — Sub-Sekunden-Latenz, echtes Carrier-Routing, Aufzeichnungs-Compliance — und genau deshalb geben die meisten Anbieter dem Kanal eine eigene Auth, ein eigenes SDK, einen eigenen Webhook-Vertrag. Wir haben uns die Zeit genommen, ihn wie jeden anderen Bird-Endpunkt aufzubauen: gleiche Auth, gleiche Idempotenz, gleicher Fehler-Envelope. Anrufsteuerung ist einfach JSON.

place-call.ts
201 · 0.4s

Jede Statusänderung ist ein Webhook.

HMAC-signierte Payloads, Replay-geschützt, idempotent. Dasselbe Envelope auf jedem Bird-Kanal: einen lernen, alle beherrschen.

POST /webhooks/bird
signed

Retry-Zeitplan: 5s, 30s, 5m, 30m, 2h, 6h, 12h. Dead-Letter nach dem letzten Versuch; jedes Dead-Letter-Event kann über das Dashboard oder die API erneut abgespielt werden.

  • call.queuedVon der API akzeptiert und für den Verbindungsaufbau in die Warteschlange gestellt.
  • call.ringingDie Empfangsleitung klingelt: Pre-Answer-Status.
  • call.answeredDer Angerufene hat abgenommen; die Abrechnung beginnt mit diesem Event.
  • call.completedDer Anruf wurde normal beendet: Dauer und Preis im Payload.
  • call.failedPermanenter Fehler (besetzt, keine Antwort, Carrier-Ablehnung) mit typisiertem Grund.
  • call.recording.readyAufzeichnung ist kodiert und unter der signierten URL im Payload verfügbar.
  • call.transcript.readyTranskription abgeschlossen; Payload enthält Sprache und Segmente.

Sprach-OTP ist dieselbe Ressource wie SMS OTP.

Einen individuellen Anruf tätigen oder die Verifizierung an die Runtime übergeben. Gleiche Auth, gleiche Idempotenz, gleiches Error-Envelope: Das Channel-Feld ist das Einzige, was sich ändert.

Benutzerdefinierter Anruf.

voice.calls.create

Erstellen Sie beliebige Abläufe — say, gather, transfer — für die Fälle, in denen Sie das Skript in Ihrem Code haben möchten.

Verifikationen.

verifications.start

Eine Zeile. Bird wählt die Route, führt die Betrugsprüfung durch und sendet den Audio-Prompt. Derselbe Code auf jedem Kanal.

Pro Minute, länderabhängig.

Streaming-TTS wird pro Zeichen abgerechnet. Mengenrabatte greifen automatisch bei gängigen Schwellenwerten. Keine Lizenzgebühr, keine Funktionen hinter jährlichen Vertragsbindungen.

Starten Sie mit einem Kanal.
Fügen Sie die anderen hinzu, wenn Sie bereit sind.

Ein Test-API-Key steht Ihnen sofort zur Verfügung. Der Produktivzugang wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Sie nutzen Claude Code, Cursor oder Codex? Kopieren Sie einen Setup-Prompt und Ihr Agent installiert die Bird CLI und Skills für Sie. Wählen Sie Ihren:

Cursor