ImageFlow

使用指南

本指南介绍如何使用 ImageFlow 的核心功能。

API 密钥认证

为了安全起见,图片上传和管理功能需要进行 API 密钥认证。

  1. 设置 API 密钥:.env 文件中定义您的 API_KEY。请参见 配置指南
  2. 通过 Web UI 输入: 首次访问上传 (/) 或管理 (/manage.html) 页面时,系统会提示您输入 API 密钥。
  3. 自动保存: 验证成功后,API 密钥会保存在浏览器的本地存储中,方便后续会话使用。

上传图片

访问用户友好的上传界面,通常是根 URL (例如 http://localhost:8686/)。

步骤

  1. 将图片文件拖拽到上传区域,或单击上传区域打开文件选择对话框。
  2. (可选) 使用下拉菜单为所选图片设置过期时间。过期图片会被自动删除。
  3. (可选) 添加标签以对图片进行分类。输入标签后按 Enter 键。
  4. 查看待上传图片的实时预览。
  5. 点击"上传"按钮。

处理流程

  • 系统自动检测图片是横向还是纵向。
  • 成功上传后,图片会在后台异步转换为 WebP 和 AVIF 格式。
  • 原始图片、转换后的格式以及元数据(包括标签和过期时间)将根据您的配置进行存储。

管理图片

访问管理界面 /manage.html (例如 http://localhost:8686/manage.html)。此页面需要 API 密钥认证。

  • 查看: 显示所有已上传图片的缩略图。
  • 筛选: 按格式(原始、WebP、AVIF、GIF)、方向(横向、纵向)或标签筛选图片。
  • 详情: 点击图片缩略图可查看详细信息,包括 ID、格式、尺寸、大小、标签和存储路径。
  • 复制 URL: 轻松复制任何图片格式的直接 URL。
  • 删除: 选择图片后点击删除按钮。此操作需要 API 密钥确认,并将永久删除该图片及其所有关联格式(原始、WebP、AVIF)和元数据。

获取随机图片 (API)

通过简单的 GET 请求获取随机图片的 URL。此端点不需要 API 密钥认证。

端点: /api/random

方法: GET

查询参数:

  • tag (可选): 按特定标签筛选随机图片。示例: /api/random?tag=nature

行为:

  • API 会根据客户端浏览器发送的 Accept 请求头智能地提供最合适的图片格式(WebP、AVIF 或原始格式)。
  • 它还会考虑 User-Agent 请求头指示的设备类型(桌面/移动),以可能优先选择横向或纵向图片,但主要选择仍是随机的。

请求示例:

curl -H "Accept: image/avif,image/webp,image/apng,image/*,*/*;q=0.8" \
     -H "User-Agent: Mozilla/5.0 (Linux; Android 10; SM-G975F) ..." \
     http://localhost:8686/api/random?tag=风景

响应示例:

响应体将包含所选图片的 URL,如果找不到匹配的图片,则返回 404 错误。

http://localhost:8686/static/images/portrait/avif/your-image-id.avif

On this page