Turn your Discord Midjourney into a REST API

Bring your own Discord token + Midjourney subscription. We handle the WebSocket infrastructure, queue management, and anti-ban protection. Generate images programmatically without risking your account.

No credit card required. $7/mo for 1 hold slot.

Everything you need to ship AI image generation

Built for developers who need reliable Midjourney access without the hassle.

Anti-Ban System

Human-like delays, burst protection, and realistic fingerprint headers. Your account stays safe.

Blazing Fast Queue

Redis-backed BullMQ queue with per-hold lanes. Tasks survive restarts with auto-retry.

WebSocket Native

Direct Discord gateway connection — no browser scraping. Supports Fast/Relax/Turbo modes.

Load Balancing

Multiple holds? We route to the least busy one. Auto-failover if a hold gets rate-limited.

Async & Webhooks

POST /v1/imagine returns immediately. Get the result via polling or webhook callback.

All Actions Supported

Upscale, variation, reroll, zoom out, pan, describe, blend — the full Midjourney API.

Simple, transparent pricing

Pay only for the Discord slots you need. Your Midjourney subscription is separate.

Base Hold

$7/month

  • 1 Discord slot
  • 1 API key
  • All API endpoints
  • Webhook support
  • Standard queue priority
Get Started

Add-on Hold

$5/month each

  • Additional Discord slot
  • Unlimited API keys
  • Load balancing across holds
  • Higher rate limits
  • Priority queue
Add to Plan

Ship in minutes

One POST request and you're generating. Our API is designed to be dead simple.

curl -X POST https://api.imagineapi.dev/v1/imagine \
  -H "Authorization: Bearer lkr_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "a serene mountain lake at sunset --ar 16:9",
    "mode": "fast",
    "webhook_url": "https://myapp.com/webhook"
  }'

# Response
{
  "task_id": "tsk_abc123",
  "status": "queued",
  "queue_position": 1
}

# Poll for result
curl https://api.imagineapi.dev/v1/fetch/tsk_abc123 \
  -H "Authorization: Bearer lkr_abc123..."

# Response
{
  "status": "completed",
  "image_url": "https://cdn.discordapp.com/...",
  "seed": 12345678,
  "actions": ["U1","U2","U3","U4","V1","V2","V3","V4","Reroll"]
}