Get API Key Get API
Docs

Describe (image to text)

Reverse a prompt from an image; responds synchronously (1–3s), result in the prompt / description fields

Request example

curl --request POST \
  --url https://api.openveer.com/v1/midjourney/generations/describe \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "image_urls": [
      "https://example.com/input.png"
    ],
    "speed": "fast"
  }'

Response example

{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KV52C0TEJSYZMCG0NCS4YWKK"
    }
  ]
}

Reverse a prompt from an image. Responds synchronously (measured 1–3s), but it still follows the platform's standard async flow — poll the task after submitting.

Item Value
action DESCRIBE
Billing midjourney@describe[-speed]
Required image_urls (1 image)

Parameters

Field Type Required Notes
image_urls string[] Yes A single image; array form, only the first is used; ≤ 12 MiB
nsfw_check boolean No Defaults to false.
Run content moderation before submitting a Midjourney task.
• true: use omni-moderation-latest to review prompts and input images
• false: skip moderation without adding moderation cost or latency
speed string No Default: relax; relax / fast / turbo
metadata object No Custom metadata

Request example

{
  "image_urls": ["https://example.com/input.png"],
  "speed": "fast"
}

Response

The text result is in prompt / description of the query result; image_urls / grid_image_url are not returned. The result is four numbered suggestions, separated by \n and prefixed with the digit emoji 1️⃣2️⃣3️⃣4️⃣:

{
  "id": "task_xxx",
  "status": "SUCCESS",
  "action": "DESCRIBE",
  "mode": "DESCRIBE",
  "prompt": "1️⃣ a serene mountain lake at sunrise --ar 3:2\n2️⃣ mountain landscape with reflections --v 6.1\n3️⃣ panoramic view of alpine lake --ar 16:9\n4️⃣ dawn light over still water --s 250",
  "description": "1️⃣ a serene mountain lake at sunrise --ar 3:2\n..."
}

Notes

  • Describe runs on an independent processing channel and does not consume the regular image-generation concurrency quota.
  • Returns synchronously in \~1–3s, but you still poll GET /v1/tasks/{task_id} (or GET /v1/midjourney/{task_id}) for the result.
  • A missing image returns 400; a single image over 12 MiB returns 400.

This documentation is built and hosted on Mintlify, a developer documentation platform.