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

# Créer une tâche vidéo Midjourney

> Utilisez POST /mj/submit/video dans CometAPI pour soumettre une tâche vidéo Midjourney, définir les paramètres et suivre le traitement de la sortie vidéo générée.

Utilisez ce endpoint pour transformer un résultat d’image Midjourney en un court rendu vidéo.

## Avant de l’appeler

* Partez d’un résultat d’image Midjourney terminé ou d’une URL d’image prise en charge
* Traitez le task id renvoyé comme le début d’un workflow asynchrone
* Attendez-vous à ce que la ressource finale arrive via le même endpoint de polling utilisé par les autres tâches Midjourney

## Flux de la tâche

<Steps>
  <Step title="Soumettre la tâche vidéo">
    Démarrez le rendu et stockez le task id renvoyé.
  </Step>

  <Step title="Interroger jusqu’à la fin de la tâche">
    Utilisez [Fetch Single Task](./task-fetching-api/fetch-single-task) jusqu’à ce que la tâche atteigne un état terminal et expose l’URL finale de la vidéo.
  </Step>

  <Step title="Conserver la sortie">
    Déplacez la vidéo terminée vers votre propre stockage si vous avez besoin d’une conservation stable au-delà de l’URL de livraison du fournisseur.
  </Step>
</Steps>


## OpenAPI

````yaml api/openapi/image/midjourney/post-submit-video.openapi.json POST /mj/submit/video
openapi: 3.1.0
info:
  title: Submit Video API
  version: 1.0.0
servers:
  - url: https://api.cometapi.com
security:
  - bearerAuth: []
paths:
  /mj/submit/video:
    post:
      summary: Submit Video
      operationId: submit_video
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - motion
                - image
              properties:
                prompt:
                  type: string
                  description: Text prompt to guide the video generation.
                motion:
                  type: string
                  description: Motion intensity of the generated video.
                  enum:
                    - low
                    - high
                  default: low
                image:
                  type: string
                  description: >-
                    First-frame image as a public URL or base64-encoded data
                    URI.
                  default: https://your-image-host/source.jpg
                action:
                  type: string
                  description: >-
                    Action to perform on an existing video task. When set,
                    `index` and `taskId` are required.
                index:
                  type: integer
                  description: >-
                    Zero-based index selecting which video variant to act on
                    from the parent task.
                taskId:
                  type: string
                  description: >-
                    Parent task id to continue from. Required when `action` is
                    set.
                state:
                  type: string
                  description: >-
                    Custom state string. Returned as-is in the task result and
                    webhook callback for your own tracking.
                noStorage:
                  type: boolean
                  description: >-
                    When `true`, return the original provider video URL instead
                    of a CometAPI-proxied link.
                videoType:
                  type: string
                  description: >-
                    Video model variant, e.g. `vid_1.1_i2v_480` (480p) or
                    `vid_1.1_i2v_720` (720p).
              default:
                motion: low
                image: https://your-image-host/source.jpg
            examples:
              Image to video:
                summary: >-
                  Image to video (replace the image URL with your first-frame
                  image)
                value:
                  prompt: A Bee in Flight
                  motion: low
                  image: https://your-image-host/first-frame.png
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - description
                  - result
                  - properties
                properties:
                  code:
                    type: integer
                    description: >-
                      Submission status code. `1` = submitted successfully
                      (`result` carries the task id). `21` = the action opened a
                      confirmation modal; continue with `/mj/submit/modal` using
                      the returned task id. `4` = parameter error; `description`
                      explains the cause.
                  description:
                    type: string
                  result:
                    type: string
                  properties:
                    type: object
                    required:
                      - prompt
                    properties:
                      prompt:
                        type: string
      x-codeSamples:
        - lang: Shell
          label: Default
          source: |
            curl https://api.cometapi.com/mj/submit/video \
              -H "Authorization: Bearer $COMETAPI_KEY" \
              -H "Content-Type: application/json" \
              -d '{
                "prompt": "The paper boat drifts slowly forward",
                "motion": "low",
                "image": "https://your-image-host/first-frame.png",
                "videoType": "vid_1.1_i2v_480"
              }'
        - lang: Python
          label: Default
          source: |
            import os
            import requests

            response = requests.post(
                "https://api.cometapi.com/mj/submit/video",
                headers={"Authorization": "Bearer " + os.environ["COMETAPI_KEY"]},
                json={
                    "prompt": "The paper boat drifts slowly forward",
                    "motion": "low",
                    "image": "https://your-image-host/first-frame.png",
                    "videoType": "vid_1.1_i2v_480",
                },
            )

            task = response.json()
            print(task["code"], task.get("result"))
        - lang: JavaScript
          label: Default
          source: >
            const response = await
            fetch("https://api.cometapi.com/mj/submit/video", {
                method: "POST",
                headers: {
                    Authorization: `Bearer ${process.env.COMETAPI_KEY}`,
                    "Content-Type": "application/json",
                },
                body: JSON.stringify({
                    prompt: "The paper boat drifts slowly forward",
                    motion: "low",
                    image: "https://your-image-host/first-frame.png",
                    videoType: "vid_1.1_i2v_480",
                }),
            });


            const task = await response.json();

            console.log(task.code, task.result);
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication. Use your CometAPI key.

````