Skip to main content
POST
/
v1
/
midjourney
/
generations
/
describe
curl --request POST \
  --url https://api.apimart.ai/v1/midjourney/generations/describe \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "image_urls": [
      "https://example.com/input.png"
    ],
    "speed": "fast"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KV52C0TEJSYZMCG0NCS4YWKK"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/midjourney/generations/describe \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "image_urls": [
      "https://example.com/input.png"
    ],
    "speed": "fast"
  }'
{
  "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.
ItemValue
actionDESCRIBE
Billingmidjourney@describe[-speed]
Requiredimage_urls (1 image)

Parameters

FieldTypeRequiredDefaultNotes
image_urlsstring[]YesA single image; array form, only the first is used; ≤ 12 MiB
speedstringNorelaxrelax / fast / turbo
metadataobjectNoCustom 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.