<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: xucian</title>
    <description>The latest articles on DEV Community by xucian (@xucian).</description>
    <link>https://dev.to/xucian</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1212551%2Fe90ae5e0-c633-42d1-9936-143925f7f372.jpeg</url>
      <title>DEV Community: xucian</title>
      <link>https://dev.to/xucian</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xucian"/>
    <language>en</language>
    <item>
      <title>mjapi.io reboot: like midjourney, but with an api</title>
      <dc:creator>xucian</dc:creator>
      <pubDate>Sat, 19 Jul 2025 10:11:34 +0000</pubDate>
      <link>https://dev.to/xucian/mjapiio-reboot-like-midjourney-but-with-an-api-1edh</link>
      <guid>https://dev.to/xucian/mjapiio-reboot-like-midjourney-but-with-an-api-1edh</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;/imagine&lt;/code&gt; midjourney had an api...&lt;/p&gt;

&lt;p&gt;generating... 20%... 60%... 80%...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;mjapi.io&lt;/strong&gt; (fast) &lt;span&gt;&lt;em&gt;(edited)&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;is there anything else to say? yes, and mjapi has a story&lt;/p&gt;

&lt;p&gt;mjapi used to be an unofficial midjourney api, but, apart from the gray area vibes, it hit a scaling ceiling early on (very early, actually). some time has passed, mjapi became the 1st result on google for "midjourney api" and that pushed us to actually build something ourselves. that's it &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;incredible art poster urban punk technology artistic war&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;midjourney&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmxvlzpmw56lsbu1dqvw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frmxvlzpmw56lsbu1dqvw.png" alt="placeholder: midjourney result" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;mjapi&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2i4bhj0l331sh7gotf1a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2i4bhj0l331sh7gotf1a.jpg" alt="placeholder: mjapi result" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;this is not to say mjapi is "superior" or anything like that, we're just happy if ppl will use it&lt;/p&gt;

&lt;h2&gt;
  
  
  the thing
&lt;/h2&gt;

&lt;p&gt;remember when we were reverse engineering discord bots and praying to not get banned? yeah, that's over. while it will work for individuals, you couldn't provide it as a service due to a low ceiling in max images per account per day  &lt;/p&gt;

&lt;p&gt;mjapi.io "unchained" is here (not sure about the naming yet). zero midjourney dependencies. zero discord wrappers. zero captcha solving. zero throwaway accounts&lt;/p&gt;

&lt;p&gt;just pure, clean image generation and editing with an api that actually works&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;muscular, tough --ar 16:9 &lt;a href="https://img.freepik.com/free-photo/young-bearded-man-with-striped-shirt_273609-5677.jpg" rel="noopener noreferrer"&gt;https://img.freepik.com/free-photo/young-bearded-man-with-striped-shirt_273609-5677.jpg&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;original&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh68amjmqet1tcup6r41o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh68amjmqet1tcup6r41o.png" alt="placeholder: original" width="800" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;midjourney&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc9ybtob0aqtron9o9czu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc9ybtob0aqtron9o9czu.png" alt="placeholder: midjourney result" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;mjapi&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwp0laug2du4w9zv5wbd9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwp0laug2du4w9zv5wbd9.jpg" alt="placeholder: mjapi result" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;if it moonwalks like mj and it sings like mj and it even looks like mj...&lt;/p&gt;

&lt;p&gt;.. it might still not be mj&lt;/p&gt;

&lt;p&gt;.. but something close enough&lt;/p&gt;

&lt;p&gt;ok, that was my attempt at humor (I'm sure you're impressed)&lt;/p&gt;

&lt;h2&gt;
  
  
  who this is for
&lt;/h2&gt;

&lt;p&gt;mjapi is for those who care more about having an easy api than having 1:1 fidelity to og mj&lt;/p&gt;

&lt;p&gt;you're building an app. you need images. you don't want to deal with discord rate limits/proxies, account bans, or captcha farms&lt;/p&gt;

&lt;p&gt;you want to call an endpoint and get an image back. revolutionary concept, right?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;massive tree of life in garden of eden sunrise far away and some mountains&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;midjourney&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjod0itn8mrpgdy9d8ra.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjod0itn8mrpgdy9d8ra.png" alt="placeholder: midjourney result" width="800" height="743"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;mjapi&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0juh1od947gmwn9jg4z.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fm0juh1od947gmwn9jg4z.jpg" alt="placeholder: mjapi result" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I like how mjapi reads your mind and infers the &lt;em&gt;right&lt;/em&gt; amount of detail. if you would've just said "tree of life in garden of eden", it might've added some more details by itself (rivers, birds etc., like midjourney), but because you also mention "some mountains", it &lt;em&gt;understands&lt;/em&gt; that you've already thought about details, so it is less likely to assume you've missed some of them, the result being something what we (subjectively) think is closer to your intent&lt;/p&gt;

&lt;h2&gt;
  
  
  what changed
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;no more discord dependencies, account rotation, ban anxiety&lt;/li&gt;
&lt;li&gt;native models running on mjapi's infrastructure&lt;/li&gt;
&lt;li&gt;same simple api you're used to&lt;/li&gt;
&lt;li&gt;better uptime (99.9% vs whatever discord felt like giving us)&lt;/li&gt;
&lt;li&gt;predictable costs&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;cool teenager on a skyscraper looking down the city digital art&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;midjourney&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqb042qpfuqxpxswoit8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqb042qpfuqxpxswoit8.png" alt="placeholder: midjourney result" width="800" height="794"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;mjapi&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4iz248b7suaqq2ffd0u.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu4iz248b7suaqq2ffd0u.jpg" alt="placeholder: mjapi result" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  the quality question
&lt;/h2&gt;

&lt;p&gt;again, I don't say mjapi's models are identical to midjourney. they're not. they're close. really close&lt;/p&gt;

&lt;p&gt;but here's the thing: we have an api, and even if mj releases their own, we've already started to diverge, we're not a clone, there are many features down the roadmap that I'm excited about, that are unique to us. I can't say it rn, but here's a hint: vibe image prompting. I'll leave it at that&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;pencil color portrait sketch of beautiful woman from Kansas USA, aged 35 --v 6.1&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;midjourney&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyu2btheza0gotrlo5yms.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyu2btheza0gotrlo5yms.jpg" alt="placeholder: midjourney result" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;mjapi ("--v 6.1" part is ignored)&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4hypzhepge3oa6seuqgk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4hypzhepge3oa6seuqgk.jpg" alt="placeholder: mjapi result" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  technical stuff
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;midjourney-compatible prompting (e.g. &lt;code&gt;man holding an apple --ar 16:9 --raw&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;tens of models and variations&lt;/li&gt;
&lt;li&gt;1024x1024 native resolution (optional upscaling to 2048, 4096 etc.)&lt;/li&gt;
&lt;li&gt;aspect ratio support&lt;/li&gt;
&lt;li&gt;inpainting and outpainting&lt;/li&gt;
&lt;li&gt;style references&lt;/li&gt;
&lt;li&gt;api-first design&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;same endpoints you're familiar with. same response format. just better infrastructure underneath.&lt;/p&gt;

&lt;h2&gt;
  
  
  pricing reality
&lt;/h2&gt;

&lt;p&gt;we're not here to compete on price. we're here to provide value. it might even be more expensive than midjourney simply because we're first figuring out the base feature-set, and later doing (lossless!) cost optimizations&lt;/p&gt;

&lt;p&gt;you pay for reliability, support, and not having to maintain your own gpu cluster&lt;/p&gt;

&lt;p&gt;if you want cheap and/or a single, specific kinds of img gen, you can create up your own pipeline, self-host it or use existing cloud providers (it's actually not that hard if you know exactly what you need and have enough time on hand)&lt;/p&gt;

&lt;p&gt;if you want it to just work, you're in the right place&lt;/p&gt;

&lt;h2&gt;
  
  
  what's next
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;man looking at the horizon optimistic 4k sun positive&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;midjourney&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldhbi4blqntszjn79dry.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fldhbi4blqntszjn79dry.png" alt="placeholder: midjourney result" width="800" height="636"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;mjapi&lt;/span&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjm3fvsexoma4tqmbavjy.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjm3fvsexoma4tqmbavjy.jpg" alt="placeholder: mjapi result" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;midjourney tries to impress you (and it works, and I love their outputs), but mjapi tries to guess your intent. did you write "impressive" or "cinematic"? nope, so we're not implanting any intentions on top of what you &lt;em&gt;actually&lt;/em&gt; want -- it's easier to add what you want than to remove what you don't want &lt;/p&gt;

&lt;p&gt;and again, we're not "better", just &lt;em&gt;different&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;this is the foundation. after we launch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;collect feedback&lt;/li&gt;
&lt;li&gt;fast iteration changes
&lt;/li&gt;
&lt;li&gt;build a rest api on top of the current simplified GET-based api&lt;/li&gt;
&lt;li&gt;improve the web app interface&lt;/li&gt;
&lt;li&gt;see what everyone else is generating (controlled by params)&lt;/li&gt;
&lt;li&gt;recognize more styles and composition types&lt;/li&gt;
&lt;li&gt;add more parameters, zoom in/out etc.&lt;/li&gt;
&lt;li&gt;add functionality for --nobg (remove background), --restore (restore old photos), --focus "things to focus on" (change only specific parts of the image). all these can also be inferred from your intention (i.e. "remove background" in the prompt would be enough), but specifying it explicitly makes sure you get what you want&lt;/li&gt;
&lt;li&gt;improve image editing (img2img flows), emphasizing natural language instructions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;competition is for losers - Peter Thiel&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;the future is not about copying existing platforms, it's about building something unique. and importantly, something we, ourselves, use&lt;/p&gt;

&lt;h2&gt;
  
  
  wen launch?
&lt;/h2&gt;

&lt;p&gt;watch for Jul21 2025, check our &lt;a href="https://discord.com/invite/Gn6g3MCsff" rel="noopener noreferrer"&gt;discord&lt;/a&gt; for the quickest updates, or check &lt;a href="//mjapi.io"&gt;mjapi.io&lt;/a&gt; directly&lt;/p&gt;

&lt;p&gt;on launch, I'll do a a more detailed blog post, diving into each feature (they're just briefly mentioned here)&lt;/p&gt;

&lt;p&gt;we're not going to oversell this. it's not magic. rn, it's just a reliable api that deeply understands your intent and generates good images/edits&lt;/p&gt;

&lt;p&gt;which is apparently harder to find than it should be&lt;/p&gt;

</description>
      <category>midjourney</category>
      <category>api</category>
      <category>ai</category>
    </item>
    <item>
      <title>Selling the whole midjourney api backend!</title>
      <dc:creator>xucian</dc:creator>
      <pubDate>Wed, 29 Jan 2025 19:02:35 +0000</pubDate>
      <link>https://dev.to/xucian/selling-the-whole-midjourney-api-backend-5fbg</link>
      <guid>https://dev.to/xucian/selling-the-whole-midjourney-api-backend-5fbg</guid>
      <description>&lt;p&gt;Excited to announce that the original Python source code powering &lt;a href="https://mjapi.io" rel="noopener noreferrer"&gt;mjapi.io&lt;/a&gt;'s backend is now available! This release marks a significant pivot in our whole approach to selling access to image gen models.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why
&lt;/h2&gt;

&lt;p&gt;Transitioning to a more scalable architecture. The original Python backend, though perfect for individual use, faces challenges when scaling to even hundreds of concurrent users.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's inside
&lt;/h2&gt;

&lt;p&gt;The package contains our core library with all the essential components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The whole SaaS backend, with payments, user auth, extensive spam detection, job queue etc. probably 50% of this code can be repurposed to any other project&lt;/li&gt;
&lt;li&gt;Complete Discord wrapper managing the lifecycle of image generation requests. This is the actual "bot" doing the heavy lifting.&lt;/li&gt;
&lt;li&gt;Automated captcha solving (via your own api key from a third-party service)&lt;/li&gt;
&lt;li&gt;Comprehensive request handling (sending requests, monitoring generation, handling reactions)&lt;/li&gt;
&lt;li&gt;Generally robust, well-documented code ready for integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can also get the minimal self-contained bot version that you can use directly in your own project, which is cheaper if you're only interested in that.&lt;/p&gt;

&lt;h2&gt;
  
  
  A deeper dive into the Why
&lt;/h2&gt;

&lt;p&gt;We believe in complete transparency, so here's what you should know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Does it work?&lt;/strong&gt; Absolutely! We've used this code extensively for our own projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Will I get banned?&lt;/strong&gt; Eventually, yes. Midjourney typically flags accounts after 2-3 months or ~300 API calls per day. This latter limit might just be a coincidence, but it was somethign we've experienced&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How to minimize risks?&lt;/strong&gt; Always use throwaway Discord accounts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Future updates?&lt;/strong&gt; We'll try to adapt the lib when Midjourney changes their API.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  It's still perfect for individual use
&lt;/h2&gt;

&lt;p&gt;While this backend wasn't ideal for our scale (we started to have hundreds of concurrent users, and it was a nightmare), it's perfect for individual developers and small projects. The sweet spot is 1-5 Discord accounts per IP address, which covers 99% of use cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing
&lt;/h2&gt;

&lt;p&gt;For the amount of work we've put in? Dirt cheap.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75ilgwi982twqgynta6g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F75ilgwi982twqgynta6g.png" alt="man looking at the horizon optimistic 4k sun positive" width="800" height="636"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;(man looking at the horizon optimistic 4k sun positive)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;We're evolving! &lt;a href="https://mjapi.io" rel="noopener noreferrer"&gt;mjapi.io&lt;/a&gt; is pivoting to a self-hosted open-source model. We'll have all of the stuff you'd expect:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;image gen&lt;/li&gt;
&lt;li&gt;inpaint/outpaint&lt;/li&gt;
&lt;li&gt;face swap&lt;/li&gt;
&lt;li&gt;outfit gen&lt;/li&gt;
&lt;li&gt;everything else the current open source models are capable of&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's EXCITING that we've reached 5k monthly visitors just a few days ago and growing at 10% month-over-month, I can't wait for this new direction that will allow us to scale "infinitely", while still keeping a mj-like quality (at least 90% imo), for cheaper and without any constraints. We're going native baby&lt;/p&gt;

&lt;h2&gt;
  
  
  Dive in
&lt;/h2&gt;

&lt;p&gt;You can get the source code now on &lt;a href="https://exploder.gumroad.com/l/mjapi-python?utm_source=devto&amp;amp;utm_medium=devto-code-article&amp;amp;utm_campaign=mjapi" rel="noopener noreferrer"&gt;Gumroad&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This pack is the culmination of months of dev and real-world testing.&lt;/p&gt;

&lt;p&gt;Fun fact: the most frustrating part was keeping the fake email signups and creating a robust email/ip filtering system, hope you'll find some use for this piece too, I'm definitely using it in all of my upcoming projects. &lt;/p&gt;

&lt;p&gt;Stay tuned!&lt;/p&gt;

&lt;p&gt;PS: I know there's no easy way to get notified of new posts, but you can join our discord, I'll be posting there too!&lt;/p&gt;

</description>
      <category>midjourney</category>
      <category>saas</category>
      <category>python</category>
      <category>api</category>
    </item>
    <item>
      <title>mjapi.io: Your Gateway to MidJourney API</title>
      <dc:creator>xucian</dc:creator>
      <pubDate>Tue, 21 Nov 2023 20:09:54 +0000</pubDate>
      <link>https://dev.to/xucian/mjapiio-your-gateway-to-midjourney-api-4icn</link>
      <guid>https://dev.to/xucian/mjapiio-your-gateway-to-midjourney-api-4icn</guid>
      <description>&lt;p&gt;In a world where digital creativity is at the forefront, &lt;a href="//mjapi.io"&gt;mjapi.io&lt;/a&gt; emerges as a game-changer for developers. This unofficial API offers seamless access to MidJourney's image-generation capabilities previously only available via Discord.&lt;/p&gt;

&lt;h2&gt;
  
  
  What?
&lt;/h2&gt;

&lt;p&gt;mjapi.io is a developer's portal to the impressive MidJourney functionality. With MidJourney lacking an official API, mjapi.io steps in to fill this gap, providing an essential tool for developers seeking to incorporate MidJourney's capabilities into their projects.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6hd8i6bg2cciisnp6hse.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6hd8i6bg2cciisnp6hse.png" alt="incredible art poster urban punk technology artistic war" width="720" height="402"&gt;&lt;/a&gt; &lt;em&gt;(incredible art poster urban punk technology artistic war)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ease of Use:&lt;/strong&gt; The API is straightforward, allowing developers to make the most out of MidJourney's features with minimal hassle.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;On-Demand Service:&lt;/strong&gt; mjapi.io doesn’t require any commitments or monthly fees, offering flexibility and convenience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Flexible Account Types:&lt;/strong&gt; mjapi.io offers two account types – 'Fairy' for those preferring a hassle-free setup with shared resources, and 'SelfServed' for users desiring more control and dedicated resources.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Imagine a prompt:&lt;/strong&gt; The building block of the MJ experience – simply provide your prompt and wait for an image to be generated.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Follow-up on a previous prompt:&lt;/strong&gt; This can include generating more variations of an image, upscaling, panning, etc.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Turn yourself into a tough guy:&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Prompt: &lt;br&gt;
&lt;code&gt;https://img.freepik.com/free-photo/young-bearded-man-with-striped-shirt_273609-5677.jpg muscular, tough --ar 16:9&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Before: &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh68amjmqet1tcup6r41o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh68amjmqet1tcup6r41o.png" alt="Before" width="800" height="530"&gt;&lt;/a&gt;&lt;br&gt;
After: &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc9ybtob0aqtron9o9czu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc9ybtob0aqtron9o9czu.png" alt="After" width="800" height="448"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Simple API Calls:&lt;/strong&gt; All interactions are through GET requests, making the process straightforward and easily testable in a browser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Immediate Access and Free Trial:&lt;/strong&gt; New users get one day of free usage with immediate access upon account creation the Fairy account types, making it extremely easy to get started with just an email, no Discord account or MJ sub.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clear and Flexible Pricing:&lt;/strong&gt; Users can opt for daily rates or subscribe for longer periods, with payments via Stripe, PayPal, or Bitcoin/Lightning.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqb042qpfuqxpxswoit8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxqb042qpfuqxpxswoit8.png" alt="cool teenager on a skyscraper looking down the city digital art" width="800" height="794"&gt;&lt;/a&gt; &lt;em&gt;(cool teenager on a skyscraper looking down the city digital art)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Simplified Workflow:&lt;/strong&gt; mjapi.io simplifies the process of integrating MidJourney’s capabilities into various projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost-Effective:&lt;/strong&gt; With no subscription requirement, users pay only for what they use.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhanced Creativity:&lt;/strong&gt; Access to MidJourney’s image generation enhances the creative potential of any project.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Comparative Advantage
&lt;/h2&gt;

&lt;p&gt;Compared to thenextleg.io and ImagineAPI, &lt;a href="//mjapi.io"&gt;mjapi.io&lt;/a&gt; stands out with its no-commitment, on-demand service model. It's tailored for both casual users and those requiring more intensive services.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjod0itn8mrpgdy9d8ra.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgjod0itn8mrpgdy9d8ra.png" alt="massive tree of life in garden of eden sunrise far away and some mountains" width="800" height="743"&gt;&lt;/a&gt; &lt;em&gt;(massive tree of life in garden of eden sunrise far away and some mountains)&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  User Experience
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Registration Process:&lt;/strong&gt; The registration process is user-friendly with options for different types of users.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Payment and Renewal:&lt;/strong&gt; Payment is flexible, offering both traditional and digital currency options. The renewal process is straightforward, catering to different user preferences.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API Usage:&lt;/strong&gt; The API is designed for ease of use, ensuring developers can quickly integrate and start using the service.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;&lt;a href="//mjapi.io"&gt;mjapi.io&lt;/a&gt; represents a significant step forward in making MidJourney’s capabilities more accessible to a wider range of developers. By offering an easy-to-use, flexible, and cost-effective solution, it opens up new possibilities in the realm of digital creativity.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F89uqh97gc4mrp4dhro86.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F89uqh97gc4mrp4dhro86.png" alt="best paint ever impressive details cyberpunk urban nice girl" width="800" height="460"&gt;&lt;/a&gt; &lt;em&gt;(best paint ever impressive details cyberpunk urban nice girl)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>midjourney</category>
      <category>webdev</category>
      <category>ai</category>
      <category>api</category>
    </item>
  </channel>
</rss>
