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

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

## Overview

Use this endpoint to call the Midjourney Submit Describe 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-describe.openapi.json POST /mj/submit/describe
openapi: 3.1.0
info:
  title: Describe (image -> text) API
  version: 1.0.0
servers:
  - url: https://api.deerapi.com
security:
  - bearerAuth: []
paths:
  /mj/submit/describe:
    post:
      summary: Describe (image -> text)
      operationId: describe
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - base64
                - link
              properties:
                botType:
                  type: string
                  description: >-
                    Bot type to use. `MID_JOURNEY` for Midjourney (default),
                    `NIJI_JOURNEY` for Niji.
                  enum:
                    - NIJI_JOURNEY
                    - MID_JOURNEY
                base64:
                  type: string
                  description: >-
                    Base64-encoded image to describe. Use a data URI such as
                    `data:image/png;base64,xxx`. Provide either `base64` or
                    `link`.
                  default: example
                state:
                  type: string
                  description: >-
                    Custom state string. Returned as-is in the task result and
                    webhook callback for your own tracking.
                link:
                  type: string
                  description: >-
                    URL of the image to describe. Provide either `link` or
                    `base64`.
                  default: example
              default:
                base64: example
                link: example
            examples:
              Default:
                summary: Default
                value:
                  botType: MID_JOURNEY
                  base64: data:image/png;base64,xxx
            example:
              botType: MID_JOURNEY
              base64: data:image/png;base64,xxx
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - description
                  - properties
                  - result
                properties:
                  code:
                    type: integer
                  description:
                    type: string
                  properties:
                    type: object
                    properties: {}
                  result:
                    type: integer
      x-codeSamples:
        - lang: Shell
          label: cURL
          source: |
            curl https://api.deerapi.com/mj/submit/describe \
              -H "Content-Type: application/json" \
              -H "Authorization: Bearer $DEERAPI_KEY" \
              -d '{
                "botType": "MID_JOURNEY",
                "base64": "data:image/png;base64,xxx"
              }'
        - lang: Python
          label: requests
          source: |
            import os
            import requests

            url = "https://api.deerapi.com/mj/submit/describe"
            headers = {
                "Authorization": "Bearer " + os.environ["DEERAPI_KEY"],
                "Content-Type": "application/json",
            }
            payload = {
              "botType": "MID_JOURNEY",
              "base64": "data:image/png;base64,xxx"
            }

            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/describe", {
              method: "POST",
              headers: {
                Authorization: `Bearer ${process.env.DEERAPI_KEY}`,
                "Content-Type": "application/json",
              },
              body: JSON.stringify({
                "botType": "MID_JOURNEY",
                "base64": "data:image/png;base64,xxx"
              }),
            });


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

````