> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evolink.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Seedance 2.0 Reference-to-Video

> - Eingabe von Referenzbildern (0-9) + Referenzvideos (0-3) + Referenzaudio (0-3) + Textprompt zur Videogenerierung
- Unterstützt verschiedene kreative Szenarien wie Neuerstellung, Videobearbeitung und Videoverlängerung
- **Unterstützt jetzt AIGC-Real-Person-Materialien**
- Asynchroner Verarbeitungsmodus, verwenden Sie die zurückgegebene Aufgaben-ID [zur Abfrage](/de/api-manual/task-management/get-task-detail)
- Der generierte Video-Link ist 24 Stunden gültig, bitte speichern Sie ihn rechtzeitig



## OpenAPI

````yaml de/api-manual/video-series/seedance2.0/seedance-2.0-reference-to-video.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Seedance 2.0 Reference-to-Video API
  description: >-
    Seedance 2.0 multimodale Reference-to-Video-API, unterstützt die gemischte
    Generierung mit Bild-, Video- und Audio-Referenzmaterialien
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Produktionsumgebung
security:
  - bearerAuth: []
tags:
  - name: Videogenerierung
    description: API-Schnittstellen für KI-Videogenerierung
paths:
  /v1/videos/generations:
    post:
      tags:
        - Videogenerierung
      summary: Seedance 2.0 Reference-to-Video
      description: >-
        - Eingabe von Referenzbildern (0-9) + Referenzvideos (0-3) +
        Referenzaudio (0-3) + Textprompt zur Videogenerierung

        - Unterstützt verschiedene kreative Szenarien wie Neuerstellung,
        Videobearbeitung und Videoverlängerung

        - **Unterstützt jetzt AIGC-Real-Person-Materialien**

        - Asynchroner Verarbeitungsmodus, verwenden Sie die zurückgegebene
        Aufgaben-ID [zur
        Abfrage](/de/api-manual/task-management/get-task-detail)

        - Der generierte Video-Link ist 24 Stunden gültig, bitte speichern Sie
        ihn rechtzeitig
      operationId: createSeedance20ReferenceToVideo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              multimodal:
                summary: Multimodale Referenz (Bild + Video + Audio)
                value:
                  model: seedance-2.0-reference-to-video
                  prompt: >-
                    Use the first-person perspective framing of video 1
                    throughout, use audio 1 as background music throughout.
                    First-person perspective fruit tea promotional video...
                  image_urls:
                    - https://example.com/ref1.jpg
                    - https://example.com/ref2.jpg
                  video_urls:
                    - https://example.com/reference.mp4
                  audio_urls:
                    - https://example.com/bgm.mp3
                  duration: 10
                  quality: 720p
                  aspect_ratio: '16:9'
                  generate_audio: true
                  content_filter: true
              video_edit:
                summary: Video bearbeiten (Elemente ersetzen)
                value:
                  model: seedance-2.0-reference-to-video
                  prompt: >-
                    Replace the perfume in the gift box in video 1 with the face
                    cream in image 1, keep the camera movement unchanged
                  image_urls:
                    - https://example.com/cream.jpg
                  video_urls:
                    - https://example.com/original.mp4
                  duration: 5
                  aspect_ratio: '16:9'
              video_extend:
                summary: Video verlängern (Segmente zusammenfügen)
                value:
                  model: seedance-2.0-reference-to-video
                  prompt: >-
                    The arched window in video 1 opens, entering the art gallery
                    interior, continuing with video 2, then the camera enters
                    the painting, continuing with video 3
                  video_urls:
                    - https://example.com/part1.mp4
                    - https://example.com/part2.mp4
                    - https://example.com/part3.mp4
                  duration: 8
                  aspect_ratio: '16:9'
                  generate_audio: true
                  content_filter: true
      responses:
        '200':
          description: Videogenerierungsaufgabe erfolgreich erstellt
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '400':
          description: Ungültige Anfrageparameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Nicht authentifiziert, Token ungültig oder abgelaufen
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Unzureichendes Guthaben, Aufladung erforderlich
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: insufficient_quota
                  message: Insufficient quota. Please top up your account.
                  type: insufficient_quota
        '403':
          description: Zugriff verweigert
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: >-
                    Token does not have access to model:
                    seedance-2.0-reference-to-video
                  type: invalid_request_error
        '429':
          description: Anfragelimit überschritten
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: rate_limit_exceeded
                  message: Too many requests, please try again later
                  type: rate_limit_error
        '500':
          description: Interner Serverfehler
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
components:
  schemas:
    VideoGenerationRequest:
      type: object
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: Name des Videogenerierungsmodells
          enum:
            - seedance-2.0-reference-to-video
          default: seedance-2.0-reference-to-video
          example: seedance-2.0-reference-to-video
        prompt:
          type: string
          description: >-
            Textprompt zur Beschreibung des gewünschten Videos. Unterstützt
            Chinesisch und Englisch, empfohlen max. 500 Zeichen auf Chinesisch.
            Maximale Prompt-Länge: 10000 Tokens


            **Hinweise:**

            - Sie können in natürlicher Sprache die Verwendung der Materialien
            angeben, z.B. "Startbild ist Bild 1", "Durchgehend die Kameraführung
            von Video 1 verwenden", "Audio 1 als Hintergrundmusik"

            - Das Modell versteht automatisch die Zuordnung zwischen
            Materialnummern und deren Verwendungszweck
          example: >-
            Use the first-person perspective framing of video 1 throughout, use
            audio 1 as background music throughout. First-person perspective
            fruit tea promotional video...
        image_urls:
          type: array
          description: >-
            Referenzbild-URL-Array, **0-9 Bilder**


            **Rollenbeschreibung:**


            | Medientyp | Rolle | Typische Verwendung |

            |---------|------|----------|

            | Bild | `reference_image` | Stilreferenz, Produktbild,
            Startbild/Endbild (über Prompt festlegen) |


            **Bildanforderungen:**

            - Unterstützte Formate: `.jpeg`, `.png`, `.webp`

            - Seitenverhältnis (Breite/Höhe): `0.4` ~ `2.5`

            - Breite/Höhe in Pixel: `300` ~ `6000` px

            - Einzelbildgröße: maximal `30MB`

            - Gesamtgröße des Anfragekörpers maximal `64MB`, verwenden Sie keine
            Base64-Kodierung

            - Bild-URLs müssen für den Server direkt zugänglich sein


            **Hinweis:** Es dürfen nicht ausschließlich `audio_urls` übergeben
            werden. Es muss mindestens 1 Bild (`image_urls`) oder 1 Video
            (`video_urls`) enthalten sein
          items:
            type: string
            format: uri
          maxItems: 9
          example:
            - https://example.com/ref1.jpg
            - https://example.com/ref2.jpg
        video_urls:
          type: array
          description: >-
            Referenzvideo-URL-Array, **0-3 Videos**


            **Rollenbeschreibung:**


            | Medientyp | Rolle | Typische Verwendung |

            |---------|------|----------|

            | Video | `reference_video` | Kameraführungsreferenz,
            Bewegungsreferenz, zu bearbeitendes/verlängerndes Originalvideo |


            **Videoanforderungen:**

            - Unterstützte Formate: `.mp4`, `.mov`

            - Auflösung: 480p, 720p, 1080p

            - Einzelvideodauer: `2` ~ `15` Sekunden, maximal 3 Videos,
            Gesamtdauer aller Videos ≤ `15` Sekunden

            - Seitenverhältnis (Breite/Höhe): `0.4` ~ `2.5`

            - Breite/Höhe in Pixel: `300` ~ `6000` px

            - Bildpixel (Breite × Höhe): `409.600` ~ `2.086.876` (z.B. 640×640 ~
            2206×946)

            - Einzelgröße: maximal `50MB`

            - Bildrate: `24` ~ `60` FPS

            - Gesamtgröße des Anfragekörpers maximal `64MB`, verwenden Sie keine
            Base64-Kodierung

            - Die Verwendung von Videoreferenzen verursacht zusätzliche Kosten
            (Eingabevideodauer wird in die Abrechnung einbezogen)

            - Video-URLs müssen für den Server direkt zugänglich sein


            **Hinweis:** Es dürfen nicht ausschließlich `audio_urls` übergeben
            werden. Es muss mindestens 1 Bild (`image_urls`) oder 1 Video
            (`video_urls`) enthalten sein
          items:
            type: string
            format: uri
          maxItems: 3
          example:
            - https://example.com/reference.mp4
        audio_urls:
          type: array
          description: >-
            Referenzaudio-URL-Array, **0-3 Audiodateien**


            **Rollenbeschreibung:**


            | Medientyp | Rolle | Typische Verwendung |

            |---------|------|----------|

            | Audio | `reference_audio` | Hintergrundmusik, Soundeffekte,
            Sprach-/Dialogreferenz |


            **Audioanforderungen:**

            - Unterstützte Formate: `.wav`, `.mp3`

            - Einzelaudiodauer: `2` ~ `15` Sekunden, maximal 3 Dateien,
            Gesamtdauer aller Audiodateien ≤ `15` Sekunden

            - Einzelgröße: maximal `15MB`

            - Gesamtgröße des Anfragekörpers maximal `64MB`, verwenden Sie keine
            Base64-Kodierung

            - Audio-URLs müssen für den Server direkt zugänglich sein


            **Hinweis:** Audio kann nicht allein eingegeben werden, es muss
            mindestens 1 Referenzvideo oder -bild enthalten sein
          items:
            type: string
            format: uri
          maxItems: 3
          example:
            - https://example.com/bgm.mp3
        duration:
          type: integer
          description: |-
            Ausgabe-Videodauer (Sekunden), Standard ist `5` Sekunden

            **Hinweise:**
            - Unterstützt beliebige Ganzzahlwerte zwischen `4` und `15` Sekunden
            - Die Dauer wirkt sich direkt auf die Abrechnung aus
          default: 5
          minimum: 4
          maximum: 15
          example: 10
        quality:
          type: string
          description: |-
            Videoauflösung, Standard ist `720p`

            **Verfügbare Werte:**
            - `480p`: Niedrigere Auflösung, günstigerer Preis
            - `720p`: Standardauflösung, dies ist der Standardwert
            - `1080p`: Ultra-HD-Auflösung
            - `4k`: 4K Ultra-HD-Auflösung
          enum:
            - 480p
            - 720p
            - 1080p
            - 4k
          default: 720p
          example: 720p
        aspect_ratio:
          type: string
          description: >-
            Video-Seitenverhältnis, Standard ist `16:9`


            **Verfügbare Werte:**

            - `16:9` (Querformat), `9:16` (Hochformat), `1:1` (Quadrat), `4:3`,
            `3:4`, `21:9` (Ultraweitbild)

            - `adaptive`: Basiert auf der Prompt-Intention, Priorität: Video >
            Bild > Prompt


            **Pixelwerte pro Auflösung:**


            | Seitenverhältnis | 480p | 720p | 1080p | 4K |

            |:------:|:----:|:----:|:-----:|:----:|

            | 16:9 | 864×496 | 1280×720 | 1920×1080 | 3840×2160 |

            | 4:3 | 752×560 | 1112×834 | 1664×1248 | 3326×2494 |

            | 1:1 | 640×640 | 960×960 | 1440×1440 | 2880×2880 |

            | 3:4 | 560×752 | 834×1112 | 1248×1664 | 2494×3326 |

            | 9:16 | 496×864 | 720×1280 | 1080×1920 | 2160×3840 |

            | 21:9 | 992×432 | 1470×630 | 2206×946 | 4398×1886 |
          enum:
            - '16:9'
            - '9:16'
            - '1:1'
            - '4:3'
            - '3:4'
            - '21:9'
            - adaptive
          default: '16:9'
          example: '16:9'
        generate_audio:
          type: boolean
          description: >-
            Ob synchronisiertes Audio generiert werden soll, Standard ist `true`


            **Verfügbare Werte:**

            - `true`: Video enthält synchronisiertes Audio, keine zusätzlichen
            Kosten

            - `false`: Stummes Video ausgeben
          default: true
          example: true
        content_filter:
          type: boolean
          description: >-
            Inhaltsfilter, Standard ist `true`


            **Verfügbare Werte:**

            - `true`: Standardmäßige Inhaltssicherheitsprüfung, dies ist der
            Standard

            - `false`: Lockert die Inhaltsbeschränkungen, Abrechnung mit +10%
            (`1.1x`). Illegale und verbotene Inhalte werden unabhängig von
            dieser Einstellung immer durchgesetzt
          default: true
          example: true
        callback_url:
          type: string
          description: >-
            HTTPS-Callback-URL nach Aufgabenabschluss


            **Callback-Zeitpunkte:**

            - Wird ausgelöst bei Aufgabenabschluss (completed), Fehler (failed)
            oder Abbruch (cancelled)

            - Wird nach Bestätigung der Abrechnung gesendet


            **Sicherheitseinschränkungen:**

            - Nur HTTPS-Protokoll unterstützt

            - Callbacks an interne IP-Adressen sind verboten (127.0.0.1,
            10.x.x.x, 172.16-31.x.x, 192.168.x.x usw.)

            - URL-Länge maximal `2048` Zeichen


            **Callback-Mechanismus:**

            - Timeout: `10` Sekunden

            - Maximal `3` Wiederholungsversuche nach Fehler (jeweils nach
            `1`/`2`/`4` Sekunden)

            - Das Format des Callback-Antwortkörpers entspricht dem
            Rückgabeformat der Aufgabenabfrage-Schnittstelle

            - Ein 2xx-Statuscode gilt als Erfolg, andere Statuscodes lösen
            Wiederholungsversuche aus
          format: uri
          example: https://your-domain.com/webhooks/video-task-completed
    VideoGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Zeitstempel der Aufgabenerstellung
          example: 1761313744
        id:
          type: string
          description: Aufgaben-ID
          example: task-unified-1774857405-abc123
        model:
          type: string
          description: Tatsächlich verwendeter Modellname
          example: seedance-2.0-reference-to-video
        object:
          type: string
          enum:
            - video.generation.task
          description: Spezifischer Aufgabentyp
        progress:
          type: integer
          description: Aufgabenfortschritt in Prozent (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: Aufgabenstatus
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        task_info:
          $ref: '#/components/schemas/VideoTaskInfo'
          description: Detaillierte Informationen zur Videoaufgabe
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Ausgabetyp der Aufgabe
          example: video
        usage:
          $ref: '#/components/schemas/VideoUsage'
          description: Nutzungs- und Abrechnungsinformationen
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Fehlercode-Bezeichner
            message:
              type: string
              description: Fehlerbeschreibung
            type:
              type: string
              description: Fehlertyp
    VideoTaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: Ob die Aufgabe abgebrochen werden kann
          example: true
        estimated_time:
          type: integer
          description: Geschätzte Fertigstellungszeit (Sekunden)
          minimum: 0
          example: 165
        video_duration:
          type: integer
          description: Videodauer (Sekunden)
          example: 8
    VideoUsage:
      type: object
      description: Nutzungs- und Abrechnungsinformationen
      properties:
        billing_rule:
          type: string
          description: Abrechnungsregel
          enum:
            - per_call
            - per_token
            - per_second
          example: per_second
        credits_reserved:
          type: number
          description: Geschätzter Credit-Verbrauch
          minimum: 0
          example: 50
        user_group:
          type: string
          description: Benutzergruppenkategorie
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Alle Schnittstellen erfordern eine Authentifizierung mit Bearer
        Token##


        **API Key erhalten:**


        Besuchen Sie die
        [API-Key-Verwaltungsseite](https://evolink.ai/dashboard/keys), um Ihren
        API Key zu erhalten


        **Fügen Sie ihn im Anfrage-Header hinzu:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````