Documentation Index
Fetch the complete documentation index at: https://docs.ttapi.io/llms.txt
Use this file to discover all available pages before exploring further.
Midjourney API
Most Midjourney integrations are straightforward at the submit step and messy after the first result comes back. This page is meant to reduce that confusion. If you are starting from a text prompt, use Imagine. If you already have a finished grid and want to keep working from it, use Action. If the workflow starts from several source images, use Blend. If you need to change only one part of an image, use Inpaint. On TTAPI, those workflows live under one Midjourney API family, with Fetch handling the async part in the middle.Get Started
- Midjourney API Quickstart
- Midjourney Imagine API
- Midjourney Fetch API
- Midjourney Action API
- Gateway & Auth
- Image Pricing
Key Features
Start from text, then keep the workflow alive
Midjourney Imagine is the normal starting point. It creates the initial grid and gives you the job handle you need for everything that follows. In practice, that means your app can treat Imagine as the “create” step and Fetch or Action as the “continue” step.Async handling that matches real product flows
Midjourney generation is asynchronous. You submit the job, store the returned identifier, then poll Midjourney Fetch or use ahookUrl. This matters because most product bugs around Midjourney are not prompt bugs, they are state-management bugs: missing job storage, polling the wrong id, or trying to trigger follow-up actions before the first grid is done.
Action-based continuation after the first grid
Once a job completes, Midjourney Action lets you continue from that result instead of starting over. That is where upscales, variations, rerolls, pan, and zoom belong. If your product has U/V-style controls or “make this one stronger” buttons, Action is usually the endpoint behind them.Multiple entry points for non-standard workflows
Not every Midjourney integration starts from a clean text prompt. Blend is useful when the user begins with multiple reference images. Describe helps when the user has an image but not a usable prompt yet. Seed is practical for prompt testing and reproducibility. Inpaint is the right choice when you want to preserve most of the image and only regenerate a selected area.Authentication And Base URL
All Midjourney API requests on TTAPI use the same gateway and auth pattern.- Base URL:
https://api.ttapi.io - Header:
TT-API-KEY: YOUR_API_KEY - Content-Type:
application/json
Recommended Workflow
The most common production path looks like this:- Submit
POST /midjourney/v1/imagine. - Save the returned job identifier as soon as the request succeeds.
- Poll
GET /midjourney/v1/fetch?jobId=...until the job finishes. - Read
components, output image URLs, and other metadata from the fetch payload. - If the user wants to continue from the completed result, call Midjourney Action.
job_id field inside data, but the polling endpoint expects that same value as the jobId query parameter. Store it once, then reuse it consistently.
Example Request
Example Fetch
components, and metadata like seed. That is usually enough to drive the next UI state without another custom lookup layer.
Use Cases
- Creative review tools that generate a first grid, then let users request variations or upscales on demand
- Campaign or catalog workflows where teams iterate through several prompt directions before choosing one branch to continue
- Moodboard or art-direction tools that start from multiple reference images through Blend
- Prompt-research workflows that use Describe and Seed to make outputs easier to analyze and repeat
- Visual editing tools that need selective repainting instead of full regeneration through Inpaint
Core Endpoints
| Use case | Best page |
|---|---|
| Start a new prompt-based job | Midjourney Imagine API |
| Continue a completed result | Midjourney Action API |
| Combine several source images | Midjourney Blend API |
| Turn an image into prompt text | Midjourney Describe API |
| Look up the seed from a finished job | Midjourney Seed API |
| Regenerate only one part of an image | Midjourney Inpaint API |
| Poll task status and outputs | Midjourney Fetch API |