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

# Wan3.0 Text-to-Video

> - Erzeugt das Video allein aus `prompt`, **es werden keinerlei Medien als Eingabe akzeptiert**
- Videos von bis zu **30 Sekunden**, `duration: -1` (intelligente Dauer) wird unterstützt
- Für die Steuerung von Start-/Endbild verwenden Sie [Wan3.0 Image-to-Video](/de/api-manual/video-series/wan3.0/wan3.0-image-to-video); für Referenzmaterial [Wan3.0 Reference-to-Video](/de/api-manual/video-series/wan3.0/wan3.0-reference-video)
- Asynchroner Verarbeitungsmodus, verwenden Sie die zurückgegebene Task-ID für die [Statusabfrage](/de/api-manual/task-management/get-task-detail)
- Generierte Videolinks sind 24 Stunden gültig, bitte zeitnah speichern

## Abrechnung

- **Abrechnungsformel**: abgerechnete Dauer = Dauer des Eingabevideos + Dauer des Ausgabevideos, sekundengenaue Abrechnung
- **Auflösungsmultiplikator**: `480p` = 1x (Basis), `720p` = 2x, `1080p` = 4x
- Referenzbilder, Referenzaudio, Referenzdateien und Weblinks werden **nicht abgerechnet**
- Bei `duration` = `-1` (intelligente Dauer) wird zum Höchstwert von `30` Sekunden vorab reserviert; nach erfolgreicher Aufgabe wird nach der tatsächlichen Ausgabedauer abgerechnet und die Differenz automatisch zurückerstattet
- Das Ein- oder Ausschalten der `audio`-Spur **kostet gleich viel**
- **Fehlgeschlagene Aufgaben werden nicht abgerechnet**, das eingefrorene Guthaben wird vollständig zurückerstattet



## OpenAPI

````yaml de/api-manual/video-series/wan3.0/wan3.0-text-to-video.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Wan3.0 Text-to-Video API
  description: >-
    Wan 3.0 Text-zu-Video, erzeugt allein aus einem Text-Prompt Videos von bis
    zu 30 Sekunden
  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: Wan3.0 Text-to-Video
      description: >-
        - Erzeugt das Video allein aus `prompt`, **es werden keinerlei Medien
        als Eingabe akzeptiert**

        - Videos von bis zu **30 Sekunden**, `duration: -1` (intelligente Dauer)
        wird unterstützt

        - Für die Steuerung von Start-/Endbild verwenden Sie [Wan3.0
        Image-to-Video](/de/api-manual/video-series/wan3.0/wan3.0-image-to-video);
        für Referenzmaterial [Wan3.0
        Reference-to-Video](/de/api-manual/video-series/wan3.0/wan3.0-reference-video)

        - Asynchroner Verarbeitungsmodus, verwenden Sie die zurückgegebene
        Task-ID für die
        [Statusabfrage](/de/api-manual/task-management/get-task-detail)

        - Generierte Videolinks sind 24 Stunden gültig, bitte zeitnah speichern


        ## Abrechnung


        - **Abrechnungsformel**: abgerechnete Dauer = Dauer des Eingabevideos +
        Dauer des Ausgabevideos, sekundengenaue Abrechnung

        - **Auflösungsmultiplikator**: `480p` = 1x (Basis), `720p` = 2x, `1080p`
        = 4x

        - Referenzbilder, Referenzaudio, Referenzdateien und Weblinks werden
        **nicht abgerechnet**

        - Bei `duration` = `-1` (intelligente Dauer) wird zum Höchstwert von
        `30` Sekunden vorab reserviert; nach erfolgreicher Aufgabe wird nach der
        tatsächlichen Ausgabedauer abgerechnet und die Differenz automatisch
        zurückerstattet

        - Das Ein- oder Ausschalten der `audio`-Spur **kostet gleich viel**

        - **Fehlgeschlagene Aufgaben werden nicht abgerechnet**, das
        eingefrorene Guthaben wird vollständig zurückerstattet
      operationId: createWan30TextToVideo
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              basic:
                summary: Einfaches Text-to-Video
                value:
                  model: wan3.0-text-to-video
                  prompt: >-
                    A kitten runs across a rooftop in the moonlight, city neon
                    flickers in the distance, cinematic quality, smooth camera
                    work.
                  duration: 5
                  quality: 720p
                  aspect_ratio: '16:9'
                  generate_audio: true
              smart_duration:
                summary: Intelligente Dauer + 1080p
                value:
                  model: wan3.0-text-to-video
                  prompt: >-
                    A high-end smart glasses product ad, minimalist and
                    futuristic, the camera glides over the lens and hinge
                    details and finally settles on the brand logo.
                  duration: -1
                  quality: 1080p
                  aspect_ratio: '16:9'
              silent:
                summary: Stummes Video
                value:
                  model: wan3.0-text-to-video
                  prompt: >-
                    An aerial shot sweeps over snow-capped mountains at dawn, a
                    sea of clouds drifting slowly through the valleys.
                  duration: 8
                  quality: 480p
                  generate_audio: false
      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_parameter
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Nicht autorisiert, ungültiges oder abgelaufenes Token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Unzureichendes Kontingent, 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: wan3.0-text-to-video'
                  type: invalid_request_error
        '429':
          description: Ratenlimit ü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: Modellname, fest auf `wan3.0-text-to-video`
          enum:
            - wan3.0-text-to-video
          example: wan3.0-text-to-video
          default: wan3.0-text-to-video
        prompt:
          type: string
          description: >-
            Text-Prompt für die Videogenerierung. Chinesisch und Englisch werden
            unterstützt, **jedes chinesische Zeichen / jeder Buchstabe zählt als
            1 Zeichen**, maximale Länge `20000` Zeichen; alles darüber hinaus
            wird automatisch abgeschnitten (ohne Fehler)


            **Hinweis:** Dieses Modell ist reines Text-to-Video und akzeptiert
            keinerlei Medien als Eingabe.
          example: >-
            A kitten runs across a rooftop in the moonlight, city neon flickers
            in the distance, cinematic quality, smooth camera work.
        duration:
          type: integer
          description: >-
            Dauer des generierten Videos (Sekunden), Standard `5`


            **Zulässige Werte:**

            - Eine beliebige ganze Zahl zwischen `2` und `30`

            - `-1`: intelligente Dauer, das Modell bestimmt die Ausgabelänge
            anhand von Prompt und Eingabematerial


            **Abrechnung der intelligenten Dauer:** Bei der Übermittlung ist
            nicht bekannt, wie lang das Ergebnis wird, daher wird zum Höchstwert
            von `30` Sekunden **vorab reserviert**; nach erfolgreicher Aufgabe
            wird nach der tatsächlichen Ausgabedauer abgerechnet und der zu viel
            eingefrorene Anteil automatisch freigegeben. Reicht das Guthaben für
            die volle Reservierung nicht aus, geben Sie stattdessen eine
            konkrete Sekundenzahl an.
          default: 5
          example: 5
        quality:
          type: string
          description: >-
            Videoauflösung, Standard `720p`


            **Optionen:**

            - `480p`: geringere Schärfe, niedrigster Preis (Abrechnungsbasis)

            - `720p`: Standardschärfe, dies ist der Standardwert, Preis 2x von
            `480p`

            - `1080p`: hohe Schärfe, Preis 4x von `480p`
          enum:
            - 480p
            - 720p
            - 1080p
          default: 720p
          example: 720p
        aspect_ratio:
          type: string
          description: >-
            Seitenverhältnis des Videos, Standard `adaptive`


            **Optionen:**

            - `adaptive`: adaptiv, das Modell empfiehlt anhand des Verhältnisses
            des Eingabematerials und der Absicht des Prompts ein passendes
            Seitenverhältnis, dies ist der Standardwert

            - `16:9` (Querformat), `9:16` (Hochformat), `1:1` (quadratisch),
            `4:3`, `3:4`
          enum:
            - adaptive
            - '16:9'
            - '9:16'
            - '1:1'
            - '4:3'
            - '3:4'
          default: adaptive
          example: '16:9'
        generate_audio:
          type: boolean
          description: >-
            Ob das Ausgabevideo eine Tonspur enthält, Standard `true`


            **Optionen:**

            - `true`: das Ausgabevideo enthält Ton (Stimmen, Soundeffekte,
            Hintergrundmusik), dies ist der Standardwert

            - `false`: stummes Video


            **Ton an oder aus kostet gleich viel**, es fallen keine Zusatzkosten
            an.
          default: true
          example: true
        seed:
          type: integer
          description: >-
            Zufallsseed zur Reproduktion von Ergebnissen, standardmäßig zufällig


            **Hinweise:**

            - Bereich: `0` ~ `2147483647`

            - Ein fester Seed reduziert beim Iterieren am Prompt die Variation
            und verbessert die Reproduzierbarkeit
          minimum: 0
          maximum: 2147483647
          example: 42
        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: wan3.0-text-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: Aufgaben-Ausgabetyp
          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 Abschlusszeit (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 Guthabenverbrauch
          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

        ```

````