openapi: "3.0.2" info: title: Midjourney REST API v2 by useapi.net description: Simple, reliable and affordable way to use Midjourney via standard REST API version: "1.0" servers: - url: https://api.useapi.net/v2 components: securitySchemes: apiToken: type: http scheme: bearer description: API Token schemas: accountResponse: type: object properties: email: type: string created: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string name: type: string verified: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string sub: type: string replyUrl: type: string error: type: string errorDetails: type: string code: type: integer midjourneyResponse: type: object properties: discord: type: string channel: type: string server: type: string maxJobs: type: integer pendingModMessage: description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls type: string error: type: string errorDetails: type: string code: type: integer imagineResponse: type: object properties: jobid: description: Use returned jobid value to retrieve job status and results type: string verb: type: string enum: - imagine status: type: string enum: - started - moderated - failed created: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string updated: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string prompt: type: string discord: description: Provided for debugging purposes only, contains the first 3 and the last 3 characters of the original value type: string channel: type: string server: type: string maxJobs: type: integer replyUrl: type: string replyRef: type: string messageId: type: string content: description: Contains message generated by Midjourney reflecting current generation parameters and progress type: string timestamp: type: string error: type: string errorDetails: type: string executingJobs: type: array items: type: string code: type: integer buttonResponse: type: object properties: jobid: description: Use returned jobid value to retrieve job status and results type: string verb: type: string enum: - button status: type: string enum: - started - moderated - failed created: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string updated: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string button: type: string enum: - U1 - U2 - U3 - U4 - V1 - V2 - V3 - V4 - ⬅️ - ➡️ - ⬆️ - ⬇️ - 🔄 - Vary (Strong) - Vary (Subtle) - Zoom Out 1.5x - Zoom Out 2x - Upscale (2x) - Upscale (4x) - Upscale (Subtle) - Upscale (Creative) - Redo Upscale (2x) - Redo Upscale (4x) - Redo Upscale (Subtle) - Redo Upscale (Creative) - Make Square - Make Variations - Remaster - Custom Zoom prompt: description: Required for button Custom Zoom https://docs.midjourney.com/docs/zoom-out#custom-zoom type: string parentJobId: type: string discord: description: Provided for debugging purposes only, contains the first 3 and the last 3 characters of the original value type: string channel: type: string server: type: string maxJobs: type: integer replyRef: type: string replyUrl: type: string messageId: type: string content: description: Contains message generated by Midjourney reflecting current generation parameters and progress type: string timestamp: type: string error: type: string errorDetails: type: string executingJobs: type: array items: type: string code: type: integer blendResponse: type: object properties: jobid: description: Use returned jobid value to retrieve job status and results type: string verb: type: string enum: - blend status: type: string enum: - started - moderated - failed created: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string updated: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string blendUrls: type: array items: type: string blendDimensions: type: string enum: - Portrait - Square - Landscape discord: description: Provided for debugging purposes only, contains the first 3 and the last 3 characters of the original value type: string channel: type: string server: type: string maxJobs: type: integer replyRef: type: string replyUrl: type: string messageId: type: string content: description: Contains message generated by Midjourney reflecting current generation parameters and progress type: string timestamp: type: string error: type: string errorDetails: type: string executingJobs: type: array items: type: string code: type: integer describeResponse: type: object properties: jobid: description: Use returned jobid value to retrieve job status and results type: string verb: type: string enum: - describe status: type: string enum: - started - moderated - failed created: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string updated: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string describeUrl: type: string discord: description: Provided for debugging purposes only, contains the first 3 and the last 3 characters of the original value type: string channel: type: string server: type: string maxJobs: type: integer replyRef: type: string replyUrl: type: string messageId: type: string content: description: Contains message generated by Midjourney reflecting current generation parameters and progress type: string timestamp: type: string error: type: string errorDetails: type: string executingJobs: type: array items: type: string code: type: integer jobResponse: type: object properties: jobid: type: string parentJobId: type: string verb: type: string enum: - imagine - button - blend - describe - info - relax - fast - turbo - variability status: description: If value is created, started or progress wait in a loop for at least 10..30 seconds and retry again type: string enum: - created - started - moderated - progress - completed - failed - cancelled created: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string updated: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string prompt: type: string blendUrls: type: array items: type: string blendDimensions: type: string enum: - Portrait - Square - Landscape describeUrl: type: string button: type: string enum: - U1 - U2 - U3 - U4 - V1 - V2 - V3 - V4 - ⬅️ - ➡️ - ⬆️ - ⬇️ - 🔄 - Vary (Strong) - Vary (Subtle) - Zoom Out 1.5x - Zoom Out 2x - Upscale (2x) - Upscale (4x) - Upscale (Subtle) - Upscale (Creative) - Redo Upscale (2x) - Redo Upscale (4x) - Redo Upscale (Subtle) - Redo Upscale (Creative) - Make Square - Make Variations - Remaster - Custom Zoom children: type: array items: type: object properties: button: type: string enum: - U1 - U2 - U3 - U4 - V1 - V2 - V3 - V4 - ⬅️ - ➡️ - ⬆️ - ⬇️ - 🔄 - Vary (Strong) - Vary (Subtle) - Zoom Out 1.5x - Zoom Out 2x - Upscale (2x) - Upscale (4x) - Upscale (Subtle) - Upscale (Creative) - Redo Upscale (2x) - Redo Upscale (4x) - Redo Upscale (Subtle) - Redo Upscale (Creative) - Make Square - Make Variations - Remaster - Custom Zoom jobid: type: string messageId: type: string buttons: type: array items: type: string enum: - U1 - U2 - U3 - U4 - V1 - V2 - V3 - V4 - ⬅️ - ➡️ - ⬆️ - ⬇️ - 🔄 - Vary (Strong) - Vary (Subtle) - Zoom Out 1.5x - Zoom Out 2x - Upscale (2x) - Upscale (4x) - Upscale (Subtle) - Upscale (Creative) - Redo Upscale (2x) - Redo Upscale (4x) - Redo Upscale (Subtle) - Redo Upscale (Creative) - Make Square - Make Variations - Remaster - Custom Zoom discord: description: Provided for debugging purposes only, contains the first 3 and the last 3 characters of the original value type: string channel: type: string server: type: string maxJobs: type: integer replyRef: type: string replyUrl: type: string messageId: type: string content: description: Message generated by Midjourney reflecting current generation parameters and progress type: string timestamp: type: string attachments: type: array items: type: object properties: proxy_url: type: string size: type: integer url: type: string width: type: integer content_type: type: string filename: type: string height: type: integer id: type: string embeds: description: Contains additional information type: array items: type: object properties: type: type: string description: type: string image: type: object properties: url: type: string proxy_url: type: string width: type: number height: type: number error: type: string errorDetails: type: string code: type: integer jobCancelResponse: type: object properties: jobid: type: string status: type: string enum: - created - started - moderated - progress - completed - failed - cancelled error: type: string errorDetails: type: string code: type: integer jobsResponse: type: array items: type: string completedResponse: type: object properties: jobid: type: string verb: type: string enum: - info - relax - fast - turbo - variability status: type: string enum: - completed created: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string updated: description: YYYY-MM-DDTHH:mm:ss.sssZ, IS0 8601, UTC type: string discord: description: Provided for debugging purposes only, contains the first 3 and the last 3 characters of the original value type: string channel: type: string server: type: string replyUrl: type: string replyRef: type: string messageId: type: string content: description: Contains message generated by Midjourney reflecting current generation parameters and progress type: string timestamp: type: string embeds: description: Contains additional information type: array items: type: object properties: type: type: string description: type: string image: type: object properties: url: type: string proxy_url: type: string width: type: number height: type: number code: type: integer responseError: type: object properties: error: type: string errorDetails: type: string code: type: integer security: - apiToken: [] paths: /account: get: description: Retrieve account information responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/accountResponse" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/accountResponse" post: description: Update account information requestBody: required: true content: application/json: schema: type: object properties: name: description: User name type: string replyUrl: description: Default callback URL, API will call the provided replyUrl once generation completed to be used for all API endpoints type: string responses: "204": description: No Content "400": description: replyUrl is too long content: application/json: schema: $ref: "#/components/schemas/accountResponse" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/accountResponse" /account/midjourney: get: description: Retrieve Midjourney accounts information, see https://useapi.net/docs/api-v2/get-account-midjourney responses: "200": description: OK "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/midjourneyResponse" /account/midjourney/{channel}: get: description: Retrieve Midjourney account information for specified channel parameters: - in: path name: channel schema: type: string required: true description: Midjourney channel id responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/midjourneyResponse" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/midjourneyResponse" "404": description: Configuration not found for provided channel delete: description: Delete Midjourney account information for specified channel parameters: - in: path name: channel schema: type: string required: true description: Midjourney channel id responses: "204": description: No Content "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/midjourneyResponse" "404": description: Configuration not found for provided channel post: description: Create or update Midjourney account information for specified channel parameters: - in: path name: channel schema: type: string required: true description: Midjourney channel id requestBody: required: true content: application/json: schema: type: object properties: discord: description: Discord token type: string server: description: Discord server id type: string channel: description: Discord channel id type: string maxJobs: description: Maximum Concurrent Jobs type: integer minimum: 1 maximum: 15 required: - discord - server - channel - maxJobs responses: "204": description: No Content "400": description: One of the required params is missing, has an incorrect value, or is duplicated across another account content: application/json: schema: $ref: "#/components/schemas/accountResponse" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/accountResponse" /account/midjourney/{channel}/reset: post: description: Reset the pendingModMessage field for the Midjourney account specified by the channel parameters: - in: path name: channel schema: type: string required: true description: Midjourney channel id responses: "204": description: No Content "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/accountResponse" "404": description: Configuration not found for provided channel /jobs/imagine: post: description: Submit the Midjourney /imagine command requestBody: required: true content: application/json: schema: type: object properties: prompt: description: Midjourney prompt type: string maxLength: 1024 discord: description: Discord token, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string server: description: Discord server id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string channel: description: Discord channel id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string maxJobs: description: Optional Maximum Concurrent Jobs for current Midjourney subscription, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: integer minimum: 1 maximum: 15 replyUrl: description: Optional callback URL, API will call the provided replyUrl once generation completed. Value can be provided for the account via the POST /account/midjourney/{channel} type: string replyRef: description: Optional reference id which will be stored and returned along with this job response / result type: string required: - prompt responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/imagineResponse" "400": description: prompt, discord, server or channel value is missing | prompt, replyRef or replyUrl is too long content: application/json: schema: $ref: "#/components/schemas/responseError" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/responseError" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/responseError" "422": description: Moderated or invalid prompt content: application/json: schema: $ref: "#/components/schemas/imagineResponse" "429": description: API query is full and can not accept new jobs/imagine requests or Discord rate limit detected. Please wait at least 10..30 seconds and retry again. content: application/json: schema: $ref: "#/components/schemas/imagineResponse" "504": description: Job queued. The API will not be able to track the progress of this job, although it will still be processed by Midjourney. You may want to adjust the maxJobs number to a lower value for the next several minutes. content: application/json: schema: $ref: "#/components/schemas/imagineResponse" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/imagineResponse" /jobs/button: post: description: Midjourney upscale or create variations and enhance or modify buttons requestBody: required: true content: application/json: schema: type: object properties: jobid: description: jobid of successfully completed (status set to completed) jobs/imagine, jobs/blend or jobs/button job type: string button: description: button from buttons array of job referenced via jobid type: string enum: - U1 - U2 - U3 - U4 - V1 - V2 - V3 - V4 - ⬅️ - ➡️ - ⬆️ - ⬇️ - 🔄 - Vary (Strong) - Vary (Subtle) - Zoom Out 1.5x - Zoom Out 2x - Upscale (2x) - Upscale (4x) - Upscale (Subtle) - Upscale (Creative) - Redo Upscale (2x) - Redo Upscale (4x) - Redo Upscale (Subtle) - Redo Upscale (Creative) - Make Square - Make Variations - Remaster - Custom Zoom prompt: description: Required for button Custom Zoom https://docs.midjourney.com/docs/zoom-out#custom-zoom type: string discord: description: Optional Discord token, if provided will override discord value of referenced jobid type: string maxJobs: description: Optional Maximum Concurrent Jobs for current Midjourney subscription, if provided will override discord value of referenced jobid type: integer minimum: 1 maximum: 15 replyUrl: description: Optional callback URL, API will call the provided replyUrl once generation completed. Value can be provided for the account via the POST /account/midjourney/{channel} type: string replyRef: description: Optional reference id which will be stored and returned along with this job response / result type: string required: - jobid - button responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/buttonResponse" "400": description: button not supported or not found in jobid buttons array | jobid, button or prompt value is missing | replyRef or replyUrl is too long content: application/json: schema: $ref: "#/components/schemas/buttonResponse" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/buttonResponse" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/buttonResponse" "404": description: Unable to locate jobid content: application/json: schema: $ref: "#/components/schemas/buttonResponse" "409": description: Upscale button already executed by jobid content: application/json: schema: $ref: "#/components/schemas/buttonResponse" "422": description: Moderated or invalid prompt content: application/json: schema: $ref: "#/components/schemas/buttonResponse" "429": description: API query is full and can not accept new jobs/button requests. Please wait at least 10..30 seconds and retry again. content: application/json: schema: $ref: "#/components/schemas/buttonResponse" "504": description: Job queued. The API will not be able to track the progress of this job, although it will still be processed by Midjourney. You may want to adjust the maxJobs number to a lower value for the next several minutes. content: application/json: schema: $ref: "#/components/schemas/buttonResponse" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/buttonResponse" /jobs/blend: post: description: Submit the Midjourney /blend command requestBody: required: true content: application/json: schema: type: object properties: blendUrls: description: Must contain at least 2 valid URL image links, up to 5 URL image links supported type: array minItems: 2 maxItems: 5 items: type: string blendDimensions: type: string enum: - Portrait - Square - Landscape discord: description: Discord token, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string server: description: Discord server id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string channel: description: Discord channel id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string maxJobs: description: Optional Maximum Concurrent Jobs for current Midjourney subscription, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: integer minimum: 1 maximum: 15 replyUrl: description: Optional callback URL, API will call the provided replyUrl once generation completed. Value can be provided for the account via the POST /account/midjourney/{channel} type: string replyRef: description: Optional reference id which will be stored and returned along with this job response / result type: string required: - blendUrls responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/blendResponse" "400": description: blendUrls, discord, server or channel value is missing | one of blendUrls values not a valid URL or URL which can not be retrieved | replyRef or replyUrl is too long content: application/json: schema: $ref: "#/components/schemas/blendResponse" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/blendResponse" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/blendResponse" "422": description: Moderated image link content: application/json: schema: $ref: "#/components/schemas/blendResponse" "429": description: API query is full and can not accept new jobs/blend requests. Please wait at least 10..30 seconds and retry again. content: application/json: schema: $ref: "#/components/schemas/blendResponse" "504": description: Job queued. The API will not be able to track the progress of this job, although it will still be processed by Midjourney. You may want to adjust the maxJobs number to a lower value for the next several minutes. content: application/json: schema: $ref: "#/components/schemas/blendResponse" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/blendResponse" /jobs/describe: post: description: Submit the Midjourney /describe command requestBody: required: true content: application/json: schema: type: object properties: describeUrl: description: Must contain valid URL image link type: string discord: description: Discord token, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string server: description: Discord server id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string channel: description: Discord channel id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string maxJobs: description: Optional Maximum Concurrent Jobs for current Midjourney subscription, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: integer minimum: 1 maximum: 15 replyUrl: description: Optional callback URL, API will call the provided replyUrl once generation completed. Value can be provided for the account via the POST /account/midjourney/{channel} type: string replyRef: description: Optional reference id which will be stored and returned along with this job response / result type: string required: - describeUrl responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/describeResponse" "400": description: describeUrl, discord, server or channel value is missing, describeUrl value not a valid URL or URL which can not be retrieved | replyRef or replyUrl is too long content: application/json: schema: $ref: "#/components/schemas/describeResponse" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/describeResponse" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/describeResponse" "422": description: Moderated or invalid url content: application/json: schema: $ref: "#/components/schemas/describeResponse" "429": description: API query is full and can not accept new jobs/blend requests. Please wait at least 10..30 seconds and retry again. content: application/json: schema: $ref: "#/components/schemas/describeResponse" "504": description: Job queued. The API will not be able to track the progress of this job, although it will still be processed by Midjourney. You may want to adjust the maxJobs number to a lower value for the next several minutes. content: application/json: schema: $ref: "#/components/schemas/describeResponse" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/describeResponse" /jobs/info: post: description: Execute the Midjourney /info command requestBody: required: false content: application/json: schema: type: object properties: discord: description: Discord token, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string server: description: Discord server id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string channel: description: Discord channel id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string replyUrl: description: Optional callback URL, API will call the provided replyUrl once generation completed. Value can be provided for the account via the POST /account/midjourney/{channel} type: string replyRef: description: Optional reference id which will be stored and returned along with this job response / result type: string responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/completedResponse" "400": description: discord, server or channel value is missing | replyRef or replyUrl is too long content: application/json: schema: $ref: "#/components/schemas/responseError" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/responseError" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/responseError" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/responseError" /jobs/relax: post: description: Execute the Midjourney /relax command requestBody: required: false content: application/json: schema: type: object properties: discord: description: Discord token, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string server: description: Discord server id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string channel: description: Discord channel id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string replyUrl: description: Optional callback URL, API will call the provided replyUrl once generation completed. Value can be provided for the account via the POST /account/midjourney/{channel} type: string replyRef: description: Optional reference id which will be stored and returned along with this job response / result type: string responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/completedResponse" "400": description: discord, server or channel value is missing | replyRef or replyUrl is too long content: application/json: schema: $ref: "#/components/schemas/responseError" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/responseError" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/responseError" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/responseError" /jobs/fast: post: description: Execute the Midjourney /fast command requestBody: required: false content: application/json: schema: type: object properties: discord: description: Discord token, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string server: description: Discord server id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string channel: description: Discord channel id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string replyUrl: description: Optional callback URL, API will call the provided replyUrl once generation completed. Value can be provided for the account via the POST /account/midjourney/{channel} type: string replyRef: description: Optional reference id which will be stored and returned along with this job response / result type: string responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/completedResponse" "400": description: discord, server or channel value is missing | replyRef or replyUrl is too long content: application/json: schema: $ref: "#/components/schemas/responseError" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/responseError" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/responseError" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/responseError" /jobs/turbo: post: description: Execute the Midjourney /turbo command requestBody: required: false content: application/json: schema: type: object properties: discord: description: Discord token, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string server: description: Discord server id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string channel: description: Discord channel id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string replyUrl: description: Optional callback URL, API will call the provided replyUrl once generation completed. Value can be provided for the account via the POST /account/midjourney/{channel} type: string replyRef: description: Optional reference id which will be stored and returned along with this job response / result type: string responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/completedResponse" "400": description: discord, server or channel value is missing | replyRef or replyUrl is too long content: application/json: schema: $ref: "#/components/schemas/responseError" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/responseError" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/responseError" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/responseError" /jobs/variability: post: description: Execute the Midjourney /prefer variability command requestBody: required: false content: application/json: schema: type: object properties: discord: description: Discord token, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string server: description: Discord server id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string channel: description: Discord channel id, optional if a value has already been provided for the account via the POST /account/midjourney/{channel} type: string replyUrl: description: Optional callback URL, API will call the provided replyUrl once generation completed. Value can be provided for the account via the POST /account/midjourney/{channel} type: string replyRef: description: Optional reference id which will be stored and returned along with this job response / result type: string responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/completedResponse" "400": description: discord, server or channel value is missing | replyRef or replyUrl is too long content: application/json: schema: $ref: "#/components/schemas/responseError" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/responseError" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/responseError" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/responseError" /jobs/: get: description: Retrieve status and results of jobs/imagine, jobs/button, jobs/blend or jobs/describe parameters: - in: query name: jobid schema: type: string required: true description: jobid value returned by jobs/imagine, jobs/button, jobs/blend or jobs/describe responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/jobResponse" "400": description: Query param jobid not provided content: application/json: schema: $ref: "#/components/schemas/jobResponse" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/jobResponse" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/jobResponse" "404": description: Unable to locate jobid content: application/json: schema: $ref: "#/components/schemas/jobResponse" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/jobResponse" /jobs/cancel/: get: description: Cancel execution of job created by jobs/imagine, jobs/button, jobs/blend or jobs/describe parameters: - in: query name: jobid schema: type: string required: true description: jobid value returned by jobs/imagine, jobs/button, jobs/blend or jobs/describe responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/jobCancelResponse" "400": description: Query param jobid not provided content: application/json: schema: $ref: "#/components/schemas/jobCancelResponse" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/jobCancelResponse" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/jobCancelResponse" "404": description: Unable to locate jobid content: application/json: schema: $ref: "#/components/schemas/jobCancelResponse" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/jobCancelResponse" /jobs: get: description: Get list of currently executing jobs responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/jobsResponse" "401": description: Unauthorized content: application/json: schema: $ref: "#/components/schemas/responseError" "402": description: Account has no subscription or subscription expired content: application/json: schema: $ref: "#/components/schemas/responseError" "596": description: Your Discord account has received a pending moderation message from Midjourney. Please address this issue and reset pendingModMessage before making any new API calls content: application/json: schema: $ref: "#/components/schemas/responseError"