Zum Hauptinhalt springen

Talking-Avatar-API: Aus Porträt und Audio einen sprechenden Clip machen

Porträt mit Audio animieren: Grenzen für Zuschnitt und Ton, die Reserve von 1,08 $, ein vollständiges API-Beispiel und typische Fehler.

Autor
Lydia
Erschienen
Lesedauer
8 Min. Lesezeit
Aktualisiert
Eine fiktive erwachsene Frau in türkisfarbener Bluse sitzt neben ihrem gedruckten Porträt und einem Mikrofon in einem Aufnahmebereich.

Mit spicyapi/talking-avatar-v1/talking-avatar machen Sie aus einem Porträt und 3–60 Sekunden MP3- oder WAV-Sprache einen sprechenden MP4-Clip. Die Aufnahme liefert Worte und Timing, das Porträt Gesicht und Szene. Der Preis beträgt 0,018 $ pro zurückgegebener Sekunde, aufgerundet und mit drei Sekunden Minimum; eine Zeile von 4–5 Sekunden ist in etwa einer Minute gerendert (eine 60-Sekunden-Aufnahme braucht länger). Das Ergebnis ist kompakt, etwa 0,2 Megapixel bei 25 fps, und passt damit zu einer Karte, einem Feed oder einem Chatfenster, nicht zu einem HD-Moderator im Vollbild. Brauchen Sie HD oder längeres Audio, lesen Sie am Ende die Option Kling Avatar 2.0. Ein echtes Ergebnis können Sie auf der Modellseite anhören.

Porträt und Aufnahme vorbereiten

Das Beispiel nutzt Mara, eine fiktive erwachsene Kurssprecherin in türkisfarbener Bluse. Das Porträt sollte so aussehen:

  • ein klares Gesicht, ungefähr frontal zur Kamera, gleichmäßig beleuchtet, Kopf und Schultern;
  • ohne Hände, Haare, Sonnenbrille oder Mikrofon vor dem Mund;
  • JPEG, PNG oder WebP, höchstens 10 MB, mit Platz um Kinn und Haare für Ihren späteren Player.

Die Aufnahme ist eine MP3- oder WAV-Datei mit höchstens 90 MB und 3–60 Sekunden, mit einer Stimme und ohne Musik oder sich überlagernde Sprecher. Entfernen Sie versehentliche Stille, aber nicht das erste oder letzte Wort: Stille zählt zur bezahlten Länge. Dateien außerhalb von 3–60 Sekunden werden vor jeder Abbuchung abgelehnt.

Ein erwachsener Redakteur sitzt neben einem gedruckten Porträt einer Frau in türkisfarbener Bluse und hält nahe einem Mikrofon eine von zwei leeren Sprechkarten.

Illustration des Vorbereitungsschritts, kein Talking-Avatar-Bild.

Es gibt kein Feld script, voice_id oder language. Für eine andere Sprache nehmen Sie eine andere Audiodatei auf oder erzeugen sie und verwenden dasselbe Porträt weiter. Wenn Sie bereits Aufnahmen eines sich bewegenden Sprechers haben und nur die Sprache ersetzen wollen, nutzen Sie stattdessen den Lip-Sync-Workflow.

Eingaben

EingabeVerwendung in diesem Beispiel
image_urlPflicht: Maras freigegebenes Porträt
audio_urlPflicht: die exportierte Aufnahme
promptOptional: calm and welcoming; nur für den Ausdruck, er ändert weder, wer spricht, noch den Ort
mask_urlBei einer Person weglassen. Für ein Gruppenporträt ein gleich großes Schwarz-Weiß-Bild mit Weiß über dem Sprecher
seedOptionale Ganzzahl, 0–2147483647. Festlegen, um zwei Aufnahmen am selben Porträt zu vergleichen; weglassen für einen neuen Durchlauf

Es gibt kein Feld für Auflösung, Bildrate, Dauer oder Kamera. Ein 16:9-Foto kommt mit 640×352 zurück, ein 3:4-Porträt mit 400×544.

Ihre Dateien müssen über einen direkten HTTPS-Link erreichbar sein. Hochladen ist zuverlässiger als der Verweis auf eine Seite oder einen Freigabelink; hochgeladene Referenzen sind nur kurz gültig, bewahren Sie daher Ihre Originale auf.

Was es kostet und warum das Angebot 1,08 $ lautet

Abgerechnet wird die zurückgegebene Dauer, aufgerundet auf ganze Sekunden, mindestens drei Sekunden:

Zurückgegebene DauerAbgerechnete SekundenEndgültiger Preis
3 Sekunden30,054 $
12,2 Sekunden130,234 $
60 Sekunden601,08 $

Das Angebot und die beim Erstellen der Aufgabe reservierte Summe gelten für das 60-Sekunden-Maximum: 1,08 $, unabhängig von der Länge Ihres Audios. Ist der Clip fertig, wird die endgültige Summe nach der tatsächlichen Dauer abgerechnet und der Rest freigegeben; bei einer fehlgeschlagenen Aufgabe wird die gesamte Reserve freigegeben. Bis dahin zählt die Reserve auf Ihr Guthaben und Ihre Ausgabenlimits an, sodass ein fast leeres Guthaben oder ein knappes Limit sogar einen 12-Sekunden-Clip blockieren kann. Ein Angebot allein reserviert nichts.

Zuerst im Playground ausprobieren

  1. Öffnen Sie die Talking-Avatar-Modellseite und bleiben Sie im Tab Playground in der Ansicht Form. Zum Ausführen melden Sie sich mit einem aufgeladenen Konto an; der Preis erscheint, sobald Sie angemeldet sind.
  2. Ziehen Sie unter Input image Maras Porträt hinein oder fügen Sie den Link mit Add URL ein.
  3. Fügen Sie unter Input audio die MP3- oder WAV-Datei auf dieselbe Weise hinzu. Hochladen ist zuverlässiger als ein Link.
  4. Tragen Sie optional unter Prompt ein paar Worte zum Ausdruck ein (calm and welcoming), fügen Sie für ein Gruppenporträt eine Mask hinzu oder setzen Sie einen Seed, um zwei Aufnahmen zu vergleichen.
  5. Starten Sie den Lauf und spielen Sie das Ergebnis mit Ton in der Größe ab, in der Sie es anzeigen werden.

Der Playground sendet dieselbe Anfrage wie die API. Ein Porträt und eine Aufnahme, die hier funktionieren, funktionieren also auch im Code. Ist der Mund hier schwer zu erkennen, verbessern Sie die Quelldateien, bevor Sie Code schreiben.

Dann per Code aufrufen

Installieren Sie das Python-SDK (pip install spicyapi), setzen Sie SPICY_API_KEY und führen Sie Folgendes aus. Das Erstellen der Aufgabe wird berechnet, und die Reserve ist die oben beschriebene Obergrenze von 1,08 $.

python
import shutil
import urllib.request
import uuid

from spicyapi import SpicyClient, output_assets

client = SpicyClient()  # reads SPICY_API_KEY from the environment

portrait = client.upload_file("./mara.png")      # local files become spicy:// URIs
speech = client.upload_file("./mara-intro.mp3")

task = client.create_task(
    model="spicyapi/talking-avatar-v1/talking-avatar",
    input_data={
        "image_url": portrait["uri"],
        "audio_url": speech["uri"],
        "prompt": "calm and welcoming",
        "seed": 42,
    },
    idempotency_key=str(uuid.uuid4()),  # new key per new request; reuse only to retry the same one
)

final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
    raise RuntimeError(f"Task {task['taskId']} ended as {final['state']}")

url = output_assets(final)[0]["url"]
request = urllib.request.Request(url, headers={"User-Agent": "avatar-example/1.0"})  # default Python clients can get a 403
with urllib.request.urlopen(request, timeout=60) as response, open("avatar.mp4", "wb") as target:
    shutil.copyfileobj(response, target)
print("Saved avatar.mp4")

Angebote, Warten, Wiederholungen und Fehler sind in der Python-SDK-Referenz und im Leitfaden zu asynchronen Aufgaben beschrieben. Eine angenommene Aufgabe lässt sich nicht abbrechen, prüfen Sie den Preis also vor dem Start. Ergebnislinks sind nur befristet gültig, speichern Sie daher eine eigene Kopie, wie in Erzeugte Medien dauerhaft speichern beschrieben.

Oder von einem Agenten ausführen lassen

Soll ein Assistent die Clips erzeugen, geben Sie ihm die CLI oder den MCP-Server. Beide zeigen den Preis und bitten vor einem kostenpflichtigen Aufruf um Bestätigung. Der Skill ergänzt beides um Anweisungen.

  • CLI. spicyapi führt eine Aufgabe im Terminal aus (npx @spicyapi/cli funktioniert ohne Installation):

``bash spicyapi files upload ./mara.png # prints a spicy:// URI; repeat for the audio spicyapi tasks create --model spicyapi/talking-avatar-v1/talking-avatar \ --input-file input.json --wait ``

input.json enthält dasselbe input-Objekt wie oben, mit den beiden spicy://-URIs.

  • MCP-Server. Fügen Sie den MCP-Server Ihrem Assistenten hinzu und fragen Sie dann: „Make Mara speak ./mara-intro.mp3 using ./mara.png with Talking Avatar.“ Er ruft spicyapi_upload_file auf, dann spicyapi_task_create (das für Ihre Preisbestätigung anhält) und danach spicyapi_task_wait.

``json { "mcpServers": { "spicyapi": { "command": "npx", "args": ["--yes", "--package=@spicyapi/mcp", "spicyapi-mcp"], "env": { "SPICY_API_KEY": "YOUR_SPICY_API_KEY" } } } } ``

  • Skill. npx skills add spicyapi-ai/spicy-skill installiert den Agent Skill, der einem Coding-Assistenten beibringt, das aktuelle Schema zu lesen und Idempotency-Keys wiederzuverwenden, statt zu raten. Er kann Aufgaben nicht selbst ausführen, nutzen Sie ihn daher mit der CLI oder MCP.

Probleme an der Quelle beheben

Spielen Sie avatar.mp4 mit Ton in der Größe ab, in der Sie es anzeigen werden, und vergleichen Sie Augen, Gesichtsumriss und Haaransatz mit dem Quellporträt: Ein sich bewegender Mund allein beweist nicht, dass die Figur konsistent geblieben ist.

SymptomNächster Schritt
Das Gesicht ist klein oder der Mund schwer zu erkennenDie Quelle auf Kopf und Schultern mit sichtbarem Kinn zuschneiden und erneut senden
Die Sprache klingt gehetzt oder falsch ausgesprochenNeu aufnehmen; ein Stimmungs-Prompt behebt weder Worte noch Tempo
Musik oder mehrere Stimmen trüben die SpracheEine saubere Aufnahme mit einer Stimme exportieren und Musik erst nach der Animation hinzufügen
In einem Gruppenporträt spricht die falsche PersonEine Maske in exakt der Porträtgröße hinzufügen, Weiß über dem Sprecher
Gleichbleibender Audioversatz nach dem SchnittDas heruntergeladene Original mit Ihrem Export vergleichen und die Tonspur-Synchronität im Schnitt korrigieren
Seltsame Mund- oder Zahnbewegung bei einer PhraseEin klareres Porträt oder eine langsamere Lesung dieser Phrase versuchen
Ein erwachsener Redakteur mit Kopfhörern prüft einen gedruckten Kontaktbogen mit neun Porträts einer Frau in türkisfarbener Bluse, neben drei leeren Karten.

Illustration der Identitätsprüfung; die gedruckten Porträts sind konstruierte Grafiken, keine Avatar-Bilder.

Inhaltsregeln und wann ein anderes Modell passt

SpicyAPI ergänzt bei Talking Avatar v1 keine Sicherheitsprüfung, und das Modell selbst entscheidet, was zurückkommt; ein Gesicht, das es nicht erkennt, oder ein abgelehntes Bild lässt die Aufgabe fehlschlagen. Verwenden Sie nur fiktive Porträts oder Porträts einwilligender Erwachsener.

Kling Avatar 2.0 nimmt ebenfalls ein Porträt und Audio entgegen, in 720p (0,0512 $ pro Sekunde) oder 1080p (0,1024 $ pro Sekunde), mit Clips bis zu etwa fünf Minuten. Es ist ein gefiltertes Modell: Explizite Porträts werden abgelehnt, es eignet sich also für Sprecher- und Markenclips, nicht für erwachsenenorientierte Figuren. Wählen Sie Talking Avatar v1 für kurze, günstige Clips in Kartengröße und Kling Avatar 2.0, wenn der Clip in voller Größe scharf aussehen oder länger als eine Minute laufen muss.

Auch in English · 日本語 · 한국어 · Français · Español · Português (Brasil) · Русский · Italiano · Polski

Selbst ausprobieren

Sie zahlen nur für das, was Sie ausführen – ohne Tarif, ohne Abo.

Erstellt mit MiniMax H3 · ByteDance Seedance 2.0 Fast