> For the documentation index, fetch https://sync.so/docs/llms.txt. Append .md to a page URL for Markdown. Documentation-search MCP: https://sync.so/docs/_mcp/server.

# Sync-Modus

> Wähle, wie sync. labs mit Dauerabweichungen zwischen Audio und Video über sync_mode umgeht.

`sync_mode` steuert, was passiert, wenn deine Video- und Audioeingaben unterschiedlich lang sind. Es gilt für Video + Audio-Generierungen. Für Bildeingaben wird `sync_mode` ignoriert, da Bilder keine intrinsische Dauer haben.

Nutze `sync_mode` im Objekt `options`, wenn du eine Generation erstellst:

```json
{
  "input": [
    { "type": "video", "url": "https://example.com/video.mp4" },
    { "type": "audio", "url": "https://example.com/audio.wav" }
  ],
  "model": "lipsync-2",
  "options": {
    "sync_mode": "cut_off"
  }
}
```

## Schnelle Empfehlung

| Ziel                                                | Empfohlener Modus | Warum                                                        |
| :-------------------------------------------------- | :---------------- | :----------------------------------------------------------- |
| Ausgabe kurz halten und Füllmaterial vermeiden      | `cut_off`         | Nutzt die kürzere Eingabedauer.                              |
| Kurzes Video natürlich über längeres Audio strecken | `bounce`          | Spielt vorwärts, dann rückwärts, wiederholt bis Audio endet. |
| Kurzes Video über längeres Audio wiederholen        | `loop`            | Startet das Video neu, bis Audio endet.                      |
| Ganzes Video erhalten, wenn Audio kürzer ist        | `silence`         | Füllt den verbleibenden Videoteil mit Stille auf.            |
| Sämtlichen Video- und Audioinhalt erhalten          | `remap`           | Dehnt oder staucht das Video zeitlich auf die Audiodauer.    |

> **Info**
>
> Für das vorhersagbarste Ergebnis sollten Video- und Audiodauer vor dem Absenden nah beieinander liegen. Große Dauerabweichungen können `bounce`, `loop` oder `remap` visuell deutlich machen.

## Verhaltensmatrix

Diese Matrix zeigt das effektive Verhalten, wenn die Dauern nicht übereinstimmen.

| Modus     | Audio länger als Video                                             | Video länger als Audio                                        | Effektive Ausgabedauer |
| :-------- | :----------------------------------------------------------------- | :------------------------------------------------------------ | :--------------------- |
| `bounce`  | Video spielt vorwärts, dann rückwärts, wiederholt bis Audio endet. | Video wird auf die Audiolänge gekürzt.                        | Audiolänge             |
| `loop`    | Video startet neu und wiederholt sich bis Audio endet.             | Video wird auf die Audiolänge gekürzt.                        | Audiolänge             |
| `cut_off` | Audio wird auf die Videolänge gekürzt.                             | Video wird auf die Audiolänge gekürzt.                        | Kürzere Eingabelänge   |
| `silence` | Ausgabe behält die Audiolänge.                                     | Audio wird über die gesamte Videodauer mit Stille aufgefüllt. | Längere Eingabelänge   |
| `remap`   | Video wird verlangsamt, um zur Audiolänge zu passen.               | Video wird beschleunigt, um zur Audiolänge zu passen.         | Audiolänge             |

### Beispiel-Ausgabedauern

Für ein 4.00s-Video mit 8.64s Audio:

| Modus     | Ausgabedauer | Was passiert                                    |
| :-------- | :----------- | :---------------------------------------------- |
| `bounce`  | 8.64s        | Video bounced, um das gesamte Audio abzudecken. |
| `loop`    | 8.64s        | Video loopt, um das gesamte Audio abzudecken.   |
| `cut_off` | 4.00s        | Audio wird am Ende des Videos abgeschnitten.    |
| `silence` | 8.64s        | Ausgabe behält die volle Audiolänge.            |
| `remap`   | 8.64s        | Video wird verlangsamt, um zum Audio zu passen. |

Für ein 10.00s-Video mit 1.74s Audio:

| Modus     | Ausgabedauer | Was passiert                                             |
| :-------- | :----------- | :------------------------------------------------------- |
| `bounce`  | 1.74s        | Video wird auf die Audiolänge gekürzt.                   |
| `loop`    | 1.74s        | Video wird auf die Audiolänge gekürzt.                   |
| `cut_off` | 1.74s        | Video wird auf die Audiolänge gekürzt.                   |
| `silence` | 10.00s       | Audio wird über das gesamte Video mit Stille aufgefüllt. |
| `remap`   | 1.74s        | Video wird beschleunigt, um zum Audio zu passen.         |

## Modusdetails

#### cut\_off

`cut_off` nutzt die kürzere Eingabelänge. Wenn Audio länger als Video ist, wird das zusätzliche Audio entfernt. Wenn Video länger als Audio ist, wird das Video gekürzt.

Wähle diesen Modus, wenn du eine einfache, vorhersagbare Ausgabe willst und nicht jede Sekunde beider Eingaben erhalten musst.

#### bounce

`bounce` ist nützlich, wenn das Video kürzer als das Audio ist. Das Video spielt vorwärts, kehrt dann die Richtung um und wiederholt sich, bis das Audio endet.

Wähle diesen Modus für kurze Looping-Clips, bei denen eine Vorwärts-/Rückwärtsbewegung akzeptabel aussieht.

#### loop

`loop` startet das Video von Anfang an neu, bis das Audio endet.

Wähle diesen Modus, wenn dein Quellvideo für sauberes Loopen ausgelegt ist.

#### silence

`silence` erhält das volle Video, wenn das Audio kürzer ist, indem die verbleibende Dauer mit Stille aufgefüllt wird. Während des stillen Abschnitts gibt es kein gesprochenes Audio, das neue Lippenbewegungen auslöst.

Wähle diesen Modus, wenn der vollständige visuelle Clip wichtiger ist, als exakt dann zu enden, wenn die Sprache endet.

#### remap

`remap` ändert die Videowiedergabegeschwindigkeit, sodass die Videodauer zur Audiodauer passt.

Wähle diesen Modus, wenn du allen Video- und Audioinhalt erhalten musst, aber extreme Abweichungen vermeiden willst. Große Geschwindigkeitsänderungen können unnatürlich wirken.

## Studio-Standards

Wenn Studio eine Dauerabweichung erkennt, zeigt es nur Modi, die für diese Richtung gültig sind:

| Abweichung             | Studio-Modi                          | Standard  |
| :--------------------- | :----------------------------------- | :-------- |
| Audio länger als Video | `loop`, `bounce`, `remap`, `cut_off` | `bounce`  |
| Video länger als Audio | `silence`, `remap`, `cut_off`        | `cut_off` |

## Segments

`sync_mode` auf Segmentebene funktioniert genauso, aber die Abweichung wird pro Segment ausgewertet. Wenn ein Segmentfenster und sein Audio unterschiedlich lang sind, bestimmt der Modus, ob dieses Segment gekürzt, aufgefüllt, geloopt, gebounced oder zeitlich remapped wird.

Siehe den [Segments-Leitfaden](/developer-guides/segments) für Beispielanfragen mit Segmenten.

## sync\_mode Referenz

`sync_mode` ist eine optionale Generation-Option für Video + Audio lipsync-Generierungen. Für Bildeingaben wird sie ignoriert.

| Modus     | Audio länger als Video           | Video länger als Audio                             | Ausgabedauer      |
| :-------- | :------------------------------- | :------------------------------------------------- | :---------------- |
| `bounce`  | Video bounced bis zur Audiolänge | Video kürzt auf Audiolänge                         | Audiolänge        |
| `loop`    | Video loopt bis zur Audiolänge   | Video kürzt auf Audiolänge                         | Audiolänge        |
| `cut_off` | Audio kürzt auf Videolänge       | Video kürzt auf Audiolänge                         | min(audio, video) |
| `silence` | Ausgabe behält Audiolänge        | Audio wird über volles Video mit Stille aufgefüllt | max(audio, video) |
| `remap`   | Video verlangsamt auf Audiolänge | Video beschleunigt auf Audiolänge                  | Audiolänge        |

Studio zeigt `loop`, `bounce`, `remap` und `cut_off`, wenn Audio länger als Video ist. Studio zeigt `silence`, `remap` und `cut_off`, wenn Video länger als Audio ist. Standards sind `bounce` für längeres Audio und `cut_off` für längeres Video.