Toggle Variability Mode
October 27, 2025
Table of contents
Toggle Midjourney Variability mode using the /settings command.
https://api.useapi.net/v3/midjourney/jobs/variability
Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
Request Body
{
"channel": "1234567890123456789"
}
Parameters
-
channelis optional if only one Midjourney account is configured under GET /accounts. You must specify the channel when you have multiple accounts setup and wish to use a specific account from the configured list. streamis optional (default:true).true- ReturnsContent-Type: text/event-streamwith live progress events. See SSE Streaming Guidefalse- ReturnsContent-Type: application/jsonwith initial job state. Use GET /jobs/jobidto retrieve updates and results
-
replyUrlis optional. Webhook URL for real-time job event callbacks. If channel has defaultreplyUrlconfigured, it will be used when job-specific one is not provided. All job events POST-ed to this URL as they occur.
Overrides channel-levelreplyUrlif specified.
Maximum length 1024 characters. replyRefis optional. Your reference ID stored with job.
Returned in all responses and callbacks asresponse.replyRef.
Maximum length 1024 characters.
Responses
-
{ "jobid": "<jobid>", "verb": "variability", "status": "completed", "created": "2023-09-09T02:04:52.667Z", "updated": "2023-09-09T02:04:53.490Z", "discord": "<ABC…secured…xyz>", "channel": "<Discord channel id>", "replyUrl": "https://webhook.site/abc", "replyRef": "<your optional reference id>", "messageId": "<Discord message id>", "timestamp": "2023-09-09T02:04:52.774000+00:00", "content": "High variability mode turned off! You can always turn this on by running `/prefer variability` again.", "code": 200 } -
Validation error.
{ "error": "Parameter prompt is required" } -
{ "error": "Unauthorized" } -
{ "error": "Account has no subscription or subscription expired" } -
Response code
502means the Midjourney Discord bot did not reply within the allotted time limit. This usually happens when the Discord Gateway API or the Midjourney Discord bot is having issues.
You can check Discord status and Midjourney Discord server status channel.
Keep in mind that both links above most often will not reflect an event that has just started. -
Channel has pending moderation/CAPTCHA. Email notification sent. Log into Discord and address moderation message/CAPTCHA. Execute POST /accounts/reset/
channel.{ "error": "All configured Midjourney channels (2) have errors (pending moderation, CAPTCHA, etc.). Please resolve channel issues before making new requests." } -
Real-time SSE streaming (
stream: true)Returns
Content-Type: text/event-streamwith live events. See SSE Event Format for details. -
Job created successfully (
stream: false). Use returnedjobidwith GET /jobs/jobidto poll status, or wait for webhook callbacks ifreplyUrlprovided.Variability mode setting will be available in
response.settings.variabilitywhen job completes.{ "jobid": "j1023...", "verb": "variability", "status": "created", "created": "2025-10-23T14:15:20.123Z", "updated": "2025-10-23T14:15:20.123Z", "request": { "stream": false } }
Model
See Job Response Model for complete response structure.
Variability mode setting will be available in response.settings.variability when job completes (true if on, false if off).
Examples
-
curl -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -X POST "https://api.useapi.net/v3/midjourney/jobs/variability" \ -d '{}' -
const response = await fetch('https://api.useapi.net/v3/midjourney/jobs/variability', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_API_TOKEN', 'Content-Type': 'application/json' }, body: JSON.stringify({}) }); const result = await response.json(); console.log('Variability:', result.response.settings.variability); -
import requests response = requests.post( 'https://api.useapi.net/v3/midjourney/jobs/variability', headers={'Authorization': 'Bearer YOUR_API_TOKEN'}, json={} ) result = response.json() print('Variability:', result['response']['settings']['variability'])