xiaohongshu
xiaohongshu
image-enhancement-suite
Batch image processing: resize, crop, watermark, color correction, format conversion, compression. Quality presets for web, print, and social media.
Full skill instructions
Professional image processing toolkit that handles common image tasks without requiring Photoshop or similar software. Process single images or entire folders with consistent, high-quality results.
from scripts.image_enhancer import ImageEnhancer
# Single image processing
enhancer = ImageEnhancer("photo.jpg")
enhancer.resize(width=800).sharpen(0.5).save("photo_enhanced.jpg")
# Batch processing
from scripts.image_enhancer import batch_process
batch_process(
input_dir="raw_photos/",
output_dir="processed/",
operations=[
("resize", {"width": 1200}),
("watermark", {"text": "© 2024"}),
("compress", {"quality": 85})
]
)
# By width (maintain aspect ratio)
enhancer.resize(width=800)
# By height (maintain aspect ratio)
enhancer.resize(height=600)
# Exact dimensions (may distort)
enhancer.resize(width=800, height=600, maintain_aspect=False)
# Fit within bounds
enhancer.resize(max_width=1200, max_height=800)
# Scale by percentage
enhancer.resize(scale=0.5) # 50%
# Crop to specific dimensions from center
enhancer.crop(width=800, height=600)
# Crop with position
enhancer.crop(width=800, height=600, position='top-left')
# Positions: 'center', 'top-left', 'top-right', 'bottom-left', 'bottom-right'
# Crop to exact coordinates (left, top, right, bottom)
enhancer.crop(box=(100, 100, 900, 700))
# Smart crop (content-aware)
enhancer.smart_crop(width=800, height=600)
# Text watermark
enhancer.watermark(
text="© 2024 Company",
position='bottom-right',
opacity=0.5,
font_size=24,
color='white'
)
# Image watermark
enhancer.watermark(
image="logo.png",
position='bottom-right',
opacity=0.3,
scale=0.2 # 20% of main image width
)
# Tiled watermark
enhancer.watermark(
text="DRAFT",
tiled=True,
opacity=0.1,
rotation=45
)
# Individual adjustments (range: -1.0 to 1.0, 0 = no change)
enhancer.brightness(0.2) # +20% brightness
enhancer.contrast(0.3) # +30% contrast
enhancer.saturation(-0.2) # -20% saturation
enhancer.sharpen(0.5) # Sharpen
# Combined adjustment
enhancer.adjust(
brightness=0.1,
contrast=0.2,
saturation=0.1,
sharpen=0.3
)
# Auto-enhance
enhancer.auto_enhance()
# Apply preset filters
enhancer.filter('grayscale')
enhancer.filter('sepia')
enhancer.filter('vintage')
enhancer.filter('blur')
enhancer.filter('sharpen')
enhancer.filter('edge_enhance')
enhancer.filter('emboss')
# Custom blur
enhancer.blur(radius=2)
# Gaussian blur
enhancer.gaussian_blur(radius=3)
# Convert to different format
enhancer.save("output.png") # Auto-detect from extension
enhancer.save("output.webp")
enhancer.save("output.jpg")
# Explicit format
enhancer.convert('PNG').save("output.png")
enhancer.convert('WEBP').save("output.webp")
# JPEG quality (1-100)
enhancer.compress(quality=85).save("compressed.jpg")
# WebP with quality
enhancer.save("output.webp", quality=80)
# PNG optimization
enhancer.optimize_png().save("optimized.png")
# Target file size
enhancer.compress_to_size(max_kb=500).save("sized.jpg")
# Web optimized
enhancer.preset('web') # 1200px max, 85 quality, WebP
# Social media
enhancer.preset('instagram') # 1080x1080, optimized
enhancer.preset('twitter') # 1200x675
enhancer.preset('facebook') # 1200x630
enhancer.preset('linkedin') # 1200x627
# Print quality
enhancer.preset('print_4x6') # 1800x1200, 300dpi
enhancer.preset('print_8x10') # 3000x2400, 300dpi
# Thumbnail
enhancer.preset('thumbnail') # 150x150, center crop
enhancer.preset('preview') # 400px max, 70 quality
from scripts.image_enhancer import batch_process
# Apply same operations to all images
results = batch_process(
input_dir="photos/",
output_dir="processed/",
operations=[
("resize", {"width": 1200}),
("watermark", {"text": "© 2024", "position": "bottom-right"}),
("compress", {"quality": 85})
],
formats=['jpg', 'png'], # Only process these formats
recursive=True # Include subdirectories
)
print(f"Processed: {results['success']} images")
print(f"Failed: {results['failed']} images")
batch_process(
input_dir="photos/",
output_dir="processed/",
operations=[("resize", {"width": 800})],
rename_pattern="{name}_web_{index:03d}"
)
# Output: photo_web_001.jpg, photo_web_002.jpg, ...
from scripts.image_enhancer import generate_sizes
# Create multiple sizes from one image
sizes = generate_sizes(
"hero.jpg",
output_dir="responsive/",
widths=[320, 640, 1024, 1920],
format='webp'
)
# Output: hero_320.webp, hero_640.webp, etc.
from scripts.image_enhancer import generate_icons
# Generate favicon and app icons from single image
icons = generate_icons(
"logo.png",
output_dir="icons/",
sizes=[16, 32, 48, 64, 128, 256, 512]
)
# Read EXIF data
metadata = enhancer.get_metadata()
print(metadata['camera'])
print(metadata['date_taken'])
print(metadata['gps'])
# Strip metadata (privacy)
enhancer.strip_metadata()
# Preserve specific metadata
enhancer.strip_metadata(keep=['copyright', 'artist'])
# Single file
python image_enhancer.py input.jpg -o output.jpg --resize 800 --quality 85
# Batch processing
python image_enhancer.py photos/ -o processed/ --resize 1200 --watermark "© 2024"
# Apply preset
python image_enhancer.py photo.jpg --preset instagram
# Generate icons
python image_enhancer.py logo.png --icons icons/
| Format | Read | Write | Notes |
|---|---|---|---|
| JPEG | Yes | Yes | Lossy, best for photos |
| PNG | Yes | Yes | Lossless, supports transparency |
| WebP | Yes | Yes | Modern format, good compression |
| GIF | Yes | Yes | Animation support |
| BMP | Yes | Yes | Uncompressed |
| TIFF | Yes | Yes | High quality, large files |
| ICO | Yes | Yes | Icon format |
| HEIC | Yes | No | iPhone photos (read only) |
from scripts.image_enhancer import ImageEnhancer, ImageError
try:
enhancer = ImageEnhancer("photo.jpg")
enhancer.resize(width=800).save("output.jpg")
except ImageError as e:
print(f"Image error: {e}")
except FileNotFoundError:
print("Image file not found")
enhancer = ImageEnhancer("photo.jpg")
# Global settings
enhancer.config.update({
'default_quality': 85,
'default_format': 'webp',
'preserve_metadata': False,
'color_profile': 'sRGB',
'dpi': 72
})
batch_process() with parallel=Truepillow>=10.0.0
opencv-python>=4.8.0
numpy>=1.24.0
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience