Skip to content

shiyaaini/jm_Watermark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

即梦去水印 - Tampermonkey 脚本

Version License Platform

一键获取即梦AI平台的无水印高清图片和视频

功能特性快速开始使用说明技术细节


📖 简介

即梦去水印是一个强大的 Tampermonkey 用户脚本,专为 即梦AI创作平台 设计。它能够自动检测并提取页面中所有无水印的高清图片和视频,提供便捷的媒体库管理、预览和批量下载功能。

✨ 核心优势

  • 🎯 智能过滤:自动识别并过滤缩略图、小图标、低分辨率图片
  • 🌟 高清识别:自动标记来自 dreamina-sign 域名的高清资源
  • 📊 分辨率检测:基于 URL 参数智能判断图片质量(4096x4096 vs 360x360)
  • 🚀 增量扫描:每秒自动扫描新媒体,不会重置已有内容
  • 💎 精美界面:现代化 UI 设计,支持预览、下载、批量操作

🚀 功能特性

📌 智能扫描模式

  • ✅ 每 1 秒自动扫描一次新媒体
  • ✅ 增量更新(只添加新媒体,不重复扫描)
  • ✅ URL 去重(自动过滤重复链接)
  • ✅ 不重置已有媒体(视频图片播放状态不受影响)
  • ✅ 性能优化(智能日志输出,避免卡顿)

🎯 智能过滤系统

过滤类型 描述 示例
缩略图过滤 跳过特定 class 的缩略图 image-BSNsy0, thumbnail, reference
记录卡片过滤 跳过带有 data-apm-action 属性的图片 记录卡片、统计图片
分辨率检测 智能识别 URL 中的分辨率标记 保留 4096:4096,跳过 360:360
小图标过滤 跳过尺寸过小的图片 < 100x100px
骨架屏过滤 跳过加载占位图 video-skeleton-img

🌟 高清标识系统

  • 自动识别 dreamina-sign.byteimg.com 域名的高清资源
  • 高清资源显示 "🌟 高清" 动态标签
  • 带有粉色渐变和脉冲动画效果
  • 控制台统计高清资源数量

📚 媒体库功能

  • 网格展示:自适应响应式布局,支持 9:16 纵向预览
  • 悬停预览:鼠标悬停 1 秒后视频自动播放预览
  • 一键预览:点击媒体项打开全屏预览弹窗
  • 快速下载:支持单个下载和批量下载
  • 复制链接:一键复制媒体原始 URL
  • 清空功能:快速清除所有扫描记录

🛠 快速开始

1️⃣ 安装 Tampermonkey

首先需要在浏览器中安装 Tampermonkey 扩展:

2️⃣ 安装脚本

方式:手动安装

  1. 点击 Tampermonkey 图标 → "创建新脚本"
  2. 复制 index_gallery.js 的全部内容
  3. 粘贴到编辑器中,保存(Ctrl+S)

3️⃣ 访问即梦AI平台

打开 即梦AI创作平台,脚本会自动运行。


📱 使用说明

基础操作

  1. 自动扫描

    • 脚本启动后会在 2 秒后开始自动扫描
    • 每 1 秒检测一次新增的图片和视频
    • 右侧浮动按钮显示当前媒体数量:📚 媒体库 (10)
  2. 打开媒体库

    • 点击右侧浮动按钮 📚 媒体库
    • 查看所有扫描到的高清图片和视频
    • 网格布局自动适应屏幕尺寸
  3. 预览媒体

    • 鼠标悬停在媒体项上可查看操作按钮
    • 点击 "预览" 按钮打开全屏预览
    • 视频自动播放,图片支持大图查看
  4. 下载媒体

    • 单个下载:点击 "下载" 按钮
    • 批量下载:点击顶部 "📥 批量下载" 按钮
    • 文件名格式:jimeng_image_时间戳.webp / jimeng_video_时间戳.mp4
  5. 复制链接

    • 在预览弹窗中点击 "🔗 复制链接"
    • 链接自动复制到剪贴板
  6. 刷新扫描

    • 点击 "🔄 刷新" 按钮手动触发扫描
    • 显示新增媒体数量
  7. 清空媒体库

    • 点击 "🗑️ 清空" 按钮
    • 清除所有扫描记录(不影响原文件)

快捷键

  • ESC:关闭预览弹窗或媒体库
  • 鼠标悬停:视频项悬停 1 秒后播放预览

🎨 界面预览

媒体库主界面

┌─────────────────────────────────────────────────────────────┐
│ 📚 媒体库                           共 15 项                  │
│                                                              │
│  [📥 批量下载] [🔄 刷新] [🗑️ 清空] [×]                       │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  ┌────┐ ┌────┐ ┌────┐ ┌────┐ ┌────┐                         │
│  │🖼️ │ │🎬 │ │🖼️ │ │🖼️ │ │🎬 │                         │
│  │🌟高清│ │    │ │🌟高清│ │    │ │    │                         │
│  │预览 │ │预览 │ │预览 │ │预览 │ │预览 │                         │
│  │下载 │ │下载 │ │下载 │ │下载 │ │下载 │                         │
│  └────┘ └────┘ └────┘ └────┘ └────┘                         │
│                                                              │
└─────────────────────────────────────────────────────────────┘

预览弹窗

┌─────────────────────────────────────────┐
│ 🖼️ 预览                             [×]│
├─────────────────────────────────────────┤
│                                         │
│         [高清图片/视频展示区域]           │
│                                         │
├─────────────────────────────────────────┤
│       [📥 下载]    [🔗 复制链接]         │
│                                         │
│     提示:媒体为无水印版本                │
└─────────────────────────────────────────┘

🔧 技术细节

脚本信息

// @name         即梦去水印 - 媒体库版
// @version      2025-11-02-gallery
// @match        https://jimeng.jianying.com/*
// @grant        GM_download
// @grant        GM_setClipboard

过滤规则详解

1. Class 过滤

跳过以下 class 的图片:

const skipClasses = [
    'image-BSNsy0',      // 参考图/缩略图
    'video-skeleton-img', // 视频封面图
    'reference',         // 参考图
    'thumbnail',         // 缩略图
    'icon',              // 图标
    'avatar',            // 头像
    'logo'               // Logo
];

2. 属性过滤

跳过带有 data-apm-action 属性的图片:

if (img.hasAttribute('data-apm-action')) {
    // 跳过记录卡片、统计图片等
}

3. 分辨率检测

基于 URL 中的 aigc_resize_mark 参数:

// URL 示例:
// 高清:aigc_resize_mark:4096:4096 ✅ 保留
// 缩略图:aigc_resize_mark:360:360 ❌ 跳过

if (width < 1000 || height < 1000) {
    return; // 跳过低分辨率
}

4. 尺寸过滤

跳过过小的图标:

if (img.naturalWidth <= 100 || img.naturalHeight <= 100) {
    return; // 跳过小图标
}

性能优化

  • 防抖机制:避免频繁重复扫描
  • 增量更新:只添加新媒体,不重新渲染已有内容
  • URL 去重:使用 Set 数据结构快速查重
  • 事件委托:统一管理动态元素的点击事件
  • 按需日志:每 30 次扫描输出一次统计信息

📊 统计信息示例

脚本启动时会在控制台输出详细信息:

===========================================
🎬 即梦去水印脚本(媒体库版)已启动
===========================================
📌 智能扫描模式:
  ✓ 每1秒自动扫描一次
  ✓ 增量更新(只添加新媒体)
  ✓ URL去重(避免重复)
  ✓ 不重置已有媒体(视频图片不会刷新)
  ✓ 性能优化(仅日志按需输出)
🎯 智能过滤:
  ✓ 跳过缩略图(image-BSNsy0等)
  ✓ 跳过记录卡片(data-apm-action属性)
  ✓ 智能分辨率检测(aigc_resize_mark)
    → 保留高分辨率:>=1000x1000 (如4096:4096)
    → 跳过低分辨率:<1000x1000 (如360:360)
  ✓ 跳过小图标(<100x100px)
  ✓ 只保留完整大图和视频
🌟 高清标识:
  ✓ 自动识别dreamina-sign域名的高清资源
  ✓ 高清资源显示特殊标签和动态效果
📚 操作方式:
  • 自动检测新媒体并添加
  • 点击媒体库按钮查看所有媒体
  • 点击清空按钮清除记录
===========================================

📊 图片过滤统计:
  • 总图片: 50 个
  • 跳过缩略图/参考图: 15 个
  • 跳过低分辨率 (<1000x1000): 20 个
  • 跳过小图标 (<100x100): 5 个
  • ✅ 保留高清大图: 10 个

🆕 发现 15 个新媒体 (其中 12 个高清)
✓ 总计: 15 个媒体 (12 个高清),耗时: 85ms

⚠️ 注意事项

  1. 仅供个人学习使用

    • 请遵守即梦AI平台的用户协议
    • 不得用于商业用途或侵犯版权
  2. 浏览器兼容性

    • 推荐使用 Chrome、Edge、Firefox 等现代浏览器
    • 需要启用 JavaScript
  3. 下载限制

    • 批量下载时每个文件间隔 500ms,避免触发限流
    • 如遇下载失败,请检查浏览器下载权限
  4. 跨域问题

    • 部分图片可能因跨域限制无法直接预览
    • 提供"在新标签页中打开"作为备选方案
  5. 性能建议

    • 媒体库中媒体过多时(>100个),建议定期清空
    • 视频预览会占用一定内存,关闭预览窗口可释放资源

🔄 更新日志

v2025-11-02-gallery (当前版本)

  • ✨ 新增智能分辨率检测(aigc_resize_mark 参数)
  • ✨ 新增高清资源标识系统(dreamina-sign 域名)
  • ✨ 新增记录卡片过滤(data-apm-action 属性)
  • 🎨 优化媒体库界面布局和动画效果
  • 🚀 优化扫描性能,增量更新机制
  • 🐛 修复批量下载间隔问题
  • 🐛 修复视频预览自动播放问题

💡 常见问题

Q1: 脚本没有反应?

A: 请检查:

  • Tampermonkey 是否已启用
  • 脚本是否已安装并启用
  • 是否在正确的网站域名(jimeng.jianying.com)
  • 按 F12 查看控制台是否有错误提示

Q2: 为什么有些图片没有被检测到?

A: 可能原因:

  • 图片尺寸过小(< 100x100px)被过滤
  • 图片分辨率过低(< 1000x1000)被过滤
  • 图片包含特定 class 或属性被过滤
  • 图片还未加载完成(等待 1-2 秒后自动扫描)

Q3: 下载的文件名能自定义吗?

A: 当前版本使用时间戳命名:

  • 图片:jimeng_image_时间戳.webp/jpg/png
  • 视频:jimeng_video_时间戳.mp4

如需自定义,可修改脚本中的 downloadMedia 函数。

Q4: 批量下载会不会被限流?

A: 脚本已内置间隔机制(500ms/个),降低限流风险。如遇问题,建议:

  • 减少一次性下载数量
  • 增加间隔时间(修改代码中的 index * 500

🤝 贡献

欢迎提交 Issue 和 Pull Request!

贡献指南

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request


🙏 致谢


如果这个项目对你有帮助,请给个 ⭐️ Star 支持一下!

Made with ❤️ by [Your Name]

About

即梦去视频图片水印

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published