Einführung
Video Head Swap nimmt die Task-ID einer Analyse, die aus deren Vorschaubildern gewählten Positionen und je ein bis drei Referenzfotos entgegen und gibt den Clip mit ersetzten Köpfen zurück. Haar, Kopfform und Identität ändern sich; Körper, Kleidung, Bewegung, Bildausschnitt und Originaltonspur bleiben so, wie sie gedreht wurden. Nicht aufgeführte Köpfe bleiben unangetastet.
Video Head Swap läuft in zwei Aufrufen. Der erste verfolgt jeden Kopf in einem Clip von 5 bis 30 Sekunden und liefert pro Kopf ein Vorschaubild in fester Reihenfolge. Im zweiten übergeben Sie die ausgewählten Positionen und je ein bis drei Referenzfotos und erhalten den Clip zurück, in dem genau diese Köpfe ersetzt sind und die Originaltonspur erhalten bleibt.
Wichtige Funktionen und Highlights
Sie entscheiden, wer sich ändert
Die meisten Endpunkte dieser Art müssen raten, wen Sie gemeint haben. Hier zeigt Ihnen der erste Aufruf jeden gefundenen Kopf mit einer Nummer, und der zweite rührt ausschließlich die zurückgegebenen Nummern an. In einem Clip mit vier Personen ändern Sie eine davon, die anderen drei bleiben exakt so, wie sie gedreht wurden.
Video und Auflösung identisch halten
Video Head Swap ist kein einzelner Endpunkt, sondern ein Paar. Der erste Aufruf, video-analyze, verfolgt alle Köpfe in einem Clip von 5 bis 30 Sekunden und gibt pro Kopf ein Vorschaubild in fester Reihenfolge zurück; abgerechnet wird pauschal pro Anfrage, unabhängig von der Cliplänge und von der Zahl der gefundenen Köpfe. Der zweite Aufruf, video-edit, nimmt die Task-ID dieser Analyse, die von Ihnen gewählten Positionen und je ein bis drei Referenzfotos entgegen und liefert einen Clip mit unveränderter Originaltonspur, abgerechnet pro Sekunde Material in 480p oder 720p. Die Tracking-Daten selbst bekommen Sie nie zu sehen: Sie arbeiten mit Ihrer eigenen Task-ID und mit nullbasierten Positionen, die genau den gezeigten Vorschaubildern entsprechen. Beide Aufrufe müssen dasselbe Video und dieselbe Auflösung verwenden; eine Abweichung wird nicht stillschweigend durchgelassen, sondern führt zur Ablehnung des zweiten Aufrufs.
Request-Parameter
| Parameter | Pflicht | Beschreibung |
|---|---|---|
analysis_task_id | Ja | Die Task-ID des Analyse-Aufrufs zu diesem Clip. Dessen Vorschaubilder stehen in derselben Reihenfolge wie |
swap_targets | Ja | Ein Eintrag pro zu ersetzendem Kopf; nicht aufgeführte Köpfe bleiben unangetastet. mindestens 1 Einträge · höchstens 10 Einträge |
video_url | Nein | Optional. Ohne Angabe wird das Video aus der Analyse verwendet. mindestens 1 Zeichen |
resolution | Nein | Muss der Auflösung entsprechen, mit der die Analyse gelaufen ist. Dieses Feld bestimmt zugleich die Preisstufe. |
seed | Nein | Zufalls-Seed; 0 fordert einen zufälligen Seed an. |
Preis
Abgerechnet wird in vollen 5-Sekunden-Blöcken des Ausgangsclips – ein Clip von 6 Sekunden kostet so viel wie 10 Sekunden. Die Kostenschätzung vor dem Absenden nimmt bei einem hochgeladenen Clip dessen tatsächliche Länge, bei einer Video-URL das Maximum von 30 Sekunden; eine Differenz wird bei der Abrechnung freigegeben.
| Spezifikation | Preis |
|---|---|
| $0.064 / Sekunde |
| $0.12 / Sekunde |
Anwendungsfälle
Eine bereits sitzende Einstellung neu besetzen
Die Einstellung mit dem abgenommenen Licht, der abgenommenen Anordnung und der abgenommenen Kamerafahrt bleibt, und statt den ganzen Shot neu zu erzeugen und die Darstellung zu verlieren, tauschen Sie nur den Kopf.
Jedes Motiv, mit einer einwilligenden Person
An der Anfrage ändert sich nichts, ganz gleich, was das Material zeigt. An der Rechtebedingung in den Grenzen weiter unten ebenso wenig: Sie ist eine harte Voraussetzung und keine Formalie.
Eine Person durch eine erzeugte Serie hindurch
Erzeugen Sie mit einem beliebigen Videomodell eine Reihe von Clips, analysieren Sie jeden einzeln und ziehen Sie denselben freigegebenen Kopf durch alle hindurch, damit die Serie als eine Person gelesen wird.
Menschenmengen, in denen sich nur einer ändert
Analysieren Sie eine Szene mit mehreren Personen, sehen Sie sich die Vorschaubilder an und senden Sie nur die gemeinte Position zurück. Alle anderen bleiben unangetastet.
Prompt-Leitfaden und Praxistipps
Klären Sie die Rechte an jedem beteiligten Kopf
Sowohl im Material als auch auf den Referenzfotos sind Personen zu sehen. Sie brauchen die Erlaubnis für das Abbild, das Sie verschieben, und für das Material, in das Sie es setzen. Bewahren Sie die Freigabe zusammen mit dem Auftragsdatensatz auf.
Erst analysieren, dann die Reihenfolge lesen
Die Analyse gibt die Vorschaubilder in fester Reihenfolge zurück. Das erste Bild ist object_index 0, das zweite 1 und so fort. Diese Position ist der einzige Anhaltspunkt, den Sie brauchen: Sie senden sie in swap_targets zurück.
Video und Auflösung identisch halten
Beide Aufrufe müssen auf demselben Video mit derselben Auflösung laufen. Lassen Sie video_url im zweiten Aufruf weg, wird es aus der Analyse übernommen; senden Sie es mit, muss es übereinstimmen. Eine andere Auflösung wird abgelehnt und nicht stillschweigend neu getrackt.
API-Schnellstart
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "spicyapi/head-swap-video-v1/video-edit",
"input": {
"analysis_task_id": "example",
"resolution": "720p",
"swap_targets": [
{
"image_urls": [
"example"
],
"object_index": 0
}
]
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Authentifizierung, vollständiges Schema, Polling und Fehlerbehandlung stehen in der API-Referenz.

