 
        Greasy Fork is available in English.
Removes any blurring from Grok's AI when generating an image. More precisely, it permanently removes all instances of "filter: blur(70px) contrast(2);" applied to page elements.
当前为 
// ==UserScript==
// @name        Anti-Blur for Grok AI's Image Generator
// @namespace   Violentmonkey Scripts
// @match       https://grok.com/
// @license     MIT License
// @grant       none
// @version     1.0
// @author      AntoineGenvintroy
// @description Removes any blurring from Grok's AI when generating an image. More precisely, it permanently removes all instances of "filter: blur(70px) contrast(2);" applied to page elements.
// @icon        https://www.google.com/s2/favicons?domain=grok.com
// ==/UserScript==
// Function to clean an element of this specific filter
function removeSpecificFilter(el) {
  const computed = window.getComputedStyle(el);
  if (computed.filter === 'blur(70px) contrast(2)') {
    el.style.filter = 'none';
  }
  // Sometimes the filter is defined inline (in style), so we can also remove it directly if detected
  if (el.style && el.style.filter === 'blur(70px) contrast(2)') {
    el.style.filter = 'none';
  }
}
// Recursive function to process the entire DOM
function cleanAllElements() {
  document.querySelectorAll('*').forEach(removeSpecificFilter);
}
// Observe changes in the DOM
const observer = new MutationObserver((mutations) => {
  for (const mutation of mutations) {
    if (mutation.type === 'attributes' && mutation.attributeName === 'style') {
      removeSpecificFilter(mutation.target);
    }
    if (mutation.type === 'childList') {
      mutation.addedNodes.forEach(node => {
        if (node.nodeType === 1) { // élément HTML
          removeSpecificFilter(node);
          node.querySelectorAll('*').forEach(removeSpecificFilter);
        }
      });
    }
  }
});
// Observation options
observer.observe(document.documentElement, {
  attributes: true,
  subtree: true,
  childList: true,
  attributeFilter: ['style']
});
// Initial cleaning
cleanAllElements();
// Optional: cleaning every 500ms in addition to observing it (reinforcement)
setInterval(cleanAllElements, 500);