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

# Midjourney Submit Video

> Use DeerAPI to call the Midjourney Submit Video endpoint with request details, response details, examples, and an OpenAPI playground.

## Overview

Use this endpoint to call the Midjourney Submit Video workflow through DeerAPI. The API reference on this page shows the request schema, response schema, authentication requirements, and runnable examples for the configured endpoint.

## Before you start

Use the DeerAPI base URL and pass your API Key in the `Authorization` header:

```text theme={null}
https://api.deerapi.com
```

```text theme={null}
Authorization: Bearer $DEERAPI_KEY
```

## Model selection

Choose a current model ID from the [live pricing page](https://api.deerapi.com/pricing). Model availability changes over time, so avoid copying a model ID from an old project without checking the live list first.

## Implementation notes

* Use the OpenAPI playground for the exact request fields accepted by this endpoint.
* Keep API Keys on the server side when you build production applications.
* Log the request ID from failed calls so support can investigate the request.
* Retry `429`, `500`, and `503` responses with exponential backoff.


## 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.deerapi.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: example
                image:
                  type: string
                  description: >-
                    First-frame image as a public URL or base64-encoded data
                    URI.
                  default: example
                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 DeerAPI-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: example
                image: example
            examples:
              Example 2:
                summary: Example 2
                value:
                  prompt: A Bee in Flight
                  motion: low
                  image: >-
                    https://storage.fonedis.cc/attachments/1372468820912115716/1388566717961338880/hyper_realistic_3d_rendering_pink_tulip_style_686021570d5ec4451c1c120a.jpg?ex=68617307&is=68602187&hm=f939f10d79de24e3ed0f2c4dc1453c902ee6b383d13d9a1787eacfccfadb9488&
            example:
              prompt: A Bee in Flight
              motion: low
              image: >-
                https://storage.fonedis.cc/attachments/1372468820912115716/1388566717961338880/hyper_realistic_3d_rendering_pink_tulip_style_686021570d5ec4451c1c120a.jpg?ex=68617307&is=68602187&hm=f939f10d79de24e3ed0f2c4dc1453c902ee6b383d13d9a1787eacfccfadb9488&
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - description
                  - result
                  - properties
                properties:
                  code:
                    type: integer
                  description:
                    type: string
                  result:
                    type: string
                  properties:
                    type: object
                    required:
                      - prompt
                    properties:
                      prompt:
                        type: string
      x-codeSamples:
        - lang: Shell
          label: cURL
          source: |
            curl https://api.deerapi.com/mj/submit/video \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer $DEERAPI_KEY" \
              -d '{
                "prompt": "A Bee in Flight",
                "motion": "low",
                "image": "https://storage.fonedis.cc/attachments/1372468820912115716/1388566717961338880/hyper_realistic_3d_rendering_pink_tulip_style_686021570d5ec4451c1c120a.jpg?ex=68617307&is=68602187&hm=f939f10d79de24e3ed0f2c4dc1453c902ee6b383d13d9a1787eacfccfadb9488&"
              }'
        - lang: Python
          label: requests
          source: |
            import os
            import requests

            url = "https://api.deerapi.com/mj/submit/video"
            headers = {
                "Authorization": "Bearer " + os.environ["DEERAPI_KEY"],
                "Content-Type": "application/json",
            }
            payload = {
              "prompt": "A Bee in Flight",
              "motion": "low",
              "image": "https://storage.fonedis.cc/attachments/1372468820912115716/1388566717961338880/hyper_realistic_3d_rendering_pink_tulip_style_686021570d5ec4451c1c120a.jpg?ex=68617307&is=68602187&hm=f939f10d79de24e3ed0f2c4dc1453c902ee6b383d13d9a1787eacfccfadb9488&"
            }

            response = requests.post(url, headers=headers, json=payload)
            print(response.json())
        - lang: JavaScript
          label: fetch
          source: >
            const response = await
            fetch("https://api.deerapi.com/mj/submit/video", {
              method: "POST",
              headers: {
                Authorization: `Bearer ${process.env.DEERAPI_KEY}`,
                "Content-Type": "application/json",
              },
              body: JSON.stringify({
                "prompt": "A Bee in Flight",
                "motion": "low",
                "image": "https://storage.fonedis.cc/attachments/1372468820912115716/1388566717961338880/hyper_realistic_3d_rendering_pink_tulip_style_686021570d5ec4451c1c120a.jpg?ex=68617307&is=68602187&hm=f939f10d79de24e3ed0f2c4dc1453c902ee6b383d13d9a1787eacfccfadb9488&"
              }),
            });


            console.log(await response.json());
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Use a DeerAPI API Key as a Bearer token.

````