Midjourney 生成图片怎么保存
时间: 2024-12-30 10:29:25 浏览: 11
### 如何保存由Midjourney生成的图片
为了保存通过Midjourney生成的图像,通常有几种方法取决于使用的平台和环境。假设是在Discord平台上使用官方的Midjourney机器人服务:
#### 使用 Discord 平台保存图片
当在Discord上接收到由Midjourney创建完成的通知消息时,该消息会包含一张预览图。用户可以直接右键点击这张图片并选择“Save image as...”来下载到本地计算机。
对于更高分辨率版本或其他变体的操作如下:
- 如果想要获取更高质量的结果,则需等待模型完全渲染结束后的最终输出。
- 对于希望探索的不同变化(Variations),可以通过命令`/image variations`让Midjourney基于原始作品再创造多个新版本;之后同样按照上述方式选取满意的选项单独保存下来[^1]。
#### 自动化脚本批量处理
如果涉及到大量文件或是定期需要执行此类操作,编写简单的自动化脚本来辅助可能会更加高效。下面给出一段Python代码片段作为例子展示如何利用Selenium库模拟浏览器行为自动抓取指定频道内的所有链接进而实现批量下载功能:
```python
from selenium import webdriver
import time
import os
from PIL import Image
from io import BytesIO
import requests
def download_images(channel_url, path_to_save):
driver = webdriver.Chrome()
driver.get(channel_url)
last_height = driver.execute_script("return document.body.scrollHeight")
while True:
# Scroll down to bottom
driver.execute_script(
"window.scrollTo(0, document.body.scrollHeight);")
# Wait to load page
time.sleep(SCROLL_PAUSE_TIME)
# Calculate new scroll height and compare with last scroll height
new_height = driver.execute_script("return document.body.scrollHeight")
if new_height == last_height:
break
last_height = new_height
elements = driver.find_elements_by_css_selector('img')
urls = set(element.get_attribute('src') for element in elements)
if not os.path.exists(path_to_save):
os.makedirs(path_to_save)
for url in urls:
response = requests.get(url)
img = Image.open(BytesIO(response.content))
filename = os.path.join(path_to_save, f"{hash(url)}.png")
img.save(filename)
if __name__ == "__main__":
SCROLL_PAUSE_TIME = 2 # seconds between scrolls
channel_link = 'your_discord_channel_link_here'
output_folder = './midjourney_images/'
download_images(channel_link, output_folder)
```
这段程序能够滚动浏览整个对话记录直到加载出所有的历史消息,并从中提取所有图片资源链接进行逐一保存至设定好的目标文件夹内。注意实际应用前还需安装必要的依赖包以及配置好ChromeDriver路径等细节问题[^3]。
阅读全文