> ## 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.

# Midjourney V8.1 Variation

> - Basierend auf abgeschlossenen Aufgaben der mj-v8.1-Serie werden Stilvarianten mit Unterschieden für das angegebene Bild generiert
- Der Prompt hat keine Auswirkung auf die Variation-Ausgabe (es werden nur Stilvarianten des Quellbilds erzeugt); um die Änderungen per Prompt zu steuern, verwenden Sie stattdessen mj-v8.1-remix
- Asynchroner Verarbeitungsmodus, verwenden Sie die zurückgegebene Aufgaben-ID zum [Abfragen des Status](/de/api-manual/task-management/get-task-detail)

<Note>
  Midjourney verfügt über ein integriertes Moderationssystem. Wenn einige generierte Bilder durch die Moderation gefiltert werden, können die für diese Anfrage verbrauchten Credits nicht erstattet werden. Bitte achten Sie darauf, dass Ihre Prompts den Inhaltsrichtlinien entsprechen.
</Note>


## OpenAPI

````yaml de/api-manual/image-series/midjourney/mj-v8-1-variation.json POST /v1/images/generations
openapi: 3.1.0
info:
  title: Midjourney V8.1 Variation Schnittstelle
  description: Stilvarianten basierend auf zuvor generierten Bildern erstellen
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Produktionsumgebung
security:
  - bearerAuth: []
paths:
  /v1/images/generations:
    post:
      tags:
        - Bildgenerierung
      summary: Midjourney V8.1 Variation Schnittstelle
      description: >-
        - Basierend auf abgeschlossenen Aufgaben der mj-v8.1-Serie werden
        Stilvarianten mit Unterschieden für das angegebene Bild generiert

        - Der Prompt hat keine Auswirkung auf die Variation-Ausgabe (es werden
        nur Stilvarianten des Quellbilds erzeugt); um die Änderungen per Prompt
        zu steuern, verwenden Sie stattdessen mj-v8.1-remix

        - Asynchroner Verarbeitungsmodus, verwenden Sie die zurückgegebene
        Aufgaben-ID zum [Abfragen des
        Status](/de/api-manual/task-management/get-task-detail)
      operationId: createMjV81Variation
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImageGenerationRequest'
            examples:
              basic_variation:
                summary: Basis-Variation
                value:
                  model: mj-v8.1-variation
                  model_params:
                    task_id: task-unified-xxx
                    image_number: 2
                    type: strong
      responses:
        '200':
          description: Aufgabe erfolgreich erstellt
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImageGenerationResponse'
        '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, 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 Guthaben, bitte aufladen
          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: mj-v8.1-variation'
                  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:
    ImageGenerationRequest:
      type: object
      required:
        - model
        - model_params
      properties:
        model:
          type: string
          enum:
            - mj-v8.1-variation
          default: mj-v8.1-variation
          description: Modellname
        model_params:
          type: object
          description: Modellparameter
          required:
            - task_id
          properties:
            task_id:
              type: string
              description: >-
                Quellaufgaben-ID, muss eine abgeschlossene Aufgabe der
                mj-v8.1-Serie sein und muss dem aktuellen Benutzer gehören
              example: task-unified-1757165031-mjv81
            image_number:
              type: integer
              enum:
                - 0
                - 1
                - 2
                - 3
              default: 0
              description: Welches der 4 Quellbilder ausgewählt wird (0-3)
            type:
              type: string
              enum:
                - subtle
                - strong
              default: subtle
              description: |-
                Variationsstärke

                - `subtle`: Leichte Variation
                - `strong`: Starke Variation
        callback_url:
          type: string
          description: >-
            HTTPS-Callback-URL für Aufgabenabschluss


            **Callback-Zeitpunkt:**

            - Ausgelöst bei Abschluss, Fehler oder Abbruch der Aufgabe

            - Nach Abrechnungsbestätigung gesendet


            **Sicherheitsbeschränkungen:**

            - Nur HTTPS-Protokoll

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

            - URL-Länge darf `2048` Zeichen nicht überschreiten


            **Callback-Mechanismus:**

            - Timeout: `10` Sekunden

            - Bis zu `3` Wiederholungen nach Fehler (Wiederholungen nach
            `1`s/`2`s/`4`s nach Fehler)

            - Das Format des Callback-Antwortkörpers entspricht dem
            Aufgabenabfrage-Endpunkt

            - Ein 2xx-Statuscode gilt als erfolgreich; andere Statuscodes lösen
            Wiederholungen aus
          format: uri
          example: https://your-domain.com/webhooks/image-task-completed
    ImageGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Zeitstempel der Aufgabenerstellung
          example: 1757165031
        id:
          type: string
          description: Aufgaben-ID
          example: task-unified-1757165031-mjv81
        model:
          type: string
          description: Tatsächlich verwendeter Modellname
          example: mj-v8.1-variation
        object:
          type: string
          enum:
            - image.generation.task
          description: Aufgabenobjekttyp
        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/TaskInfo'
          description: Asynchrone Aufgabeninformation
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Aufgabenausgabetyp
          example: image
        usage:
          $ref: '#/components/schemas/Usage'
          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
    TaskInfo:
      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: 45
    Usage:
      type: object
      description: Nutzungs- und Abrechnungsinformationen
      properties:
        billing_rule:
          type: string
          description: Abrechnungsregel
          enum:
            - per_call
            - per_token
            - per_second
          example: per_call
        credits_reserved:
          type: number
          description: Geschätzte verbrauchte Credits
          minimum: 0
          example: 1.8
        user_group:
          type: string
          description: Benutzergruppe
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ## Alle Endpunkte erfordern Bearer Token Authentifizierung ##


        **API Key erhalten:**


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


        **Zum Request-Header hinzufügen:**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````