360 Secure SkillHub
360 安全技能中心

Smart Image Finder

面向 AI Agent 的图片查找与下载工具,提供三种无需浏览器的方法:用 curl 与 grep 从新闻网页 HTML 提取高清图片 URL,调用 Brave 图片搜索接口按关键词检索,以及通过 Pollinations 按提示词生成图片。附带批量下载与图片验证脚本,并给出各新闻来源的高清参数、质量检查清单与常见故障排查。

justinbao19
justinbao19
热度 42.53
最近更新 2026-05-11 17:37:23
分类:搜索依赖:代码执行 / 第三方 API / 读写文件应用场景:图像生成 / 自动化脚本 / 研究

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add smart-image-finder
Metadata
name
smart-image-finder
description
Smart image search and download tool for AI agents. Three methods: news website extraction, Brave image search, AI generation. Use cases: article illustrations, news thumbnails, dashboard images, social media posts. Triggers: find image, search photo, download picture, news image, AI generate image, article illustration
version
1.0.4
author
Justin

Smart Image Finder

A complete solution for AI agents to find high-quality images for articles, dashboards, and content creation.

No browser required — all methods work via command line in the background.

Core Methods

Method Best For Pros Cons
News Site Extraction Specific news events Authentic, high-res, authoritative Need to know source
Brave Image Search General keywords Fast, free, good relevance Variable quality
AI Generation Concept art, custom visuals Fully customizable Requires good prompts

Method 1: News Website High-Res Extraction (No Browser)

Workflow: curl + grep (Recommended)

Extract image URLs directly from HTML without opening a browser:

# Step 1: Fetch page HTML and extract image URLs
curl -sL "https://www.reuters.com/world/article-slug/" | \
  grep -oE 'https://www\.reuters\.com/resizer/v2/[^"]+\.jpg[^"]*' | head -3

# Step 2: Download with HD parameters
curl -sL -o photo.jpg "https://www.reuters.com/resizer/v2/xxx.jpg?width=3000&quality=100"

# Step 3: Verify it's actually an image
file photo.jpg  # Should show: JPEG image data

Source-Specific Extraction Patterns

# Reuters
curl -sL "$URL" | grep -oE 'https://www\.reuters\.com/resizer/v2/[^"]+\.jpg[^"]*' | head -3

# TechCrunch
curl -sL "$URL" | grep -oE 'https://techcrunch\.com/wp-content/uploads/[^"]+\.(jpg|png)' | head -3

# Bloomberg
curl -sL "$URL" | grep -oE 'https://assets\.bwbx\.io/images/[^"]+\.(jpg|webp)' | head -3

# BBC
curl -sL "$URL" | grep -oE 'https://ichef\.bbci\.co\.uk/news/[0-9]+/[^"]+\.jpg' | head -3

# France24
curl -sL "$URL" | grep -oE 'https://s\.france24\.com/media/display/[^"]+\.jpg' | head -3

# Spaceflight Now (WordPress)
curl -sL "$URL" | grep -oE 'https://spaceflightnow\.com/wp-content/uploads/[^"]+\.jpg' | head -3

# ThePaper (澎湃)
curl -sL "$URL" | grep -oE 'https://imagepphcloud\.thepaper\.cn/pph/image/[^"]+\.jpg' | head -3

Verified Sources (Direct Download Works)

Tech/AI Category

Source CDN Pattern HD Parameters Notes
TechCrunch techcrunch.com/wp-content/uploads/ ?w=2048 Most stable ✅
Bloomberg assets.bwbx.io/images/ Direct HD WebP format

Politics/International Category

Source CDN Pattern HD Parameters Notes
Reuters reuters.com/resizer/v2/ ?width=3000&quality=100 Most stable ✅
BBC ichef.bbci.co.uk/news/1024/ /1024/ max Limited to 1024px
NBC News media-cldnry.s-nbcnews.com/image/ Direct download Medium size
France24 s.france24.com/media/display/ w:1920 Adjustable ✅

Space/Science Category

Source CDN Pattern HD Parameters Notes
Spaceflight Now spaceflightnow.com/wp-content/uploads/ Remove size suffix WordPress standard

Chinese Sources

Source CDN Pattern Notes
ThePaper (澎湃) imagepphcloud.thepaper.cn/pph/image/ Direct download ✅

Sources Requiring Manual Save

Source Issue Workaround
Guardian URL signature validation Right-click save
The Verge Complex CDN format Use Brave search instead
Wired Page protection Manual save
CNN URL extraction difficult Use Brave search instead
AP News Parameter adjustment fails Save original manually

HD Parameter Quick Reference

# Reuters
?width=3000&quality=100

# TechCrunch
?w=2048

# BBC (replace number in URL)
/1024/  # Max available

# France24
w:1920

# NBC News (URL parameter)
t_fit-1500w

Method 2: Brave Image Search (No Browser)

Best for: Quick general-purpose images, automated workflows.

Basic Usage

# Set API Key (first time)
export BRAVE_API_KEY="your_api_key"

# Search images
curl -s "https://api.search.brave.com/res/v1/images/search?q=keyword&count=10" \
  -H "X-Subscription-Token: $BRAVE_API_KEY" | jq '.results[] | {title, url: .properties.url, width: .properties.width}'

# Get first image URL directly
curl -s "https://api.search.brave.com/res/v1/images/search?q=SpaceX%20Starship&count=1" \
  -H "X-Subscription-Token: $BRAVE_API_KEY" | jq -r '.results[0].properties.url'

Rate Limiting ⚠️

Brave API has rate limits. When making multiple searches:

# Add delay between requests (1-2 seconds recommended)
for query in "query1" "query2" "query3"; do
  curl -s "https://api.search.brave.com/res/v1/images/search?q=$query&count=1" \
    -H "X-Subscription-Token: $BRAVE_API_KEY" | jq -r '.results[0].properties.url'
  sleep 2  # Wait 2 seconds between requests
done

Best practices:

  • Free tier: ~1 request/second max
  • Add sleep 1 or sleep 2 between batch requests
  • If you get 429 (rate limited), wait 60 seconds before retrying

Search Tips

  1. Add year: SpaceX Starship 2025 is more precise than SpaceX Starship
  2. Add event terms: Keir Starmer Xi Jinping Beijing handshake beats UK China meeting
  3. Site restriction: site:reuters.com Trump tariff limits to specific source

One-liner: Search and Download

# Search, get first result URL, download
IMG_URL=$(curl -s "https://api.search.brave.com/res/v1/images/search?q=SpaceX%20launch%202025&count=1" \
  -H "X-Subscription-Token: $BRAVE_API_KEY" | jq -r '.results[0].properties.url')
curl -sL -o spacex.jpg "$IMG_URL"
file spacex.jpg

Verify Image Accessibility

# Check if URL returns 200
curl -sI "$IMAGE_URL" | head -1
# Should return: HTTP/2 200

# Check content type
curl -sI "$IMAGE_URL" | grep -i content-type
# Should return: content-type: image/jpeg or image/png

Method 3: AI Image Generation (No Browser)

Best for: Concept images, creative illustrations, when real photos unavailable.

Free Option: Pollinations

# Generate image (completely free, no API key needed)
curl -sL -o output.jpg "https://image.pollinations.ai/prompt/description?width=1920&height=1080&nologo=true"

# Example: Tech-style AI concept image
curl -sL -o ai-concept.jpg "https://image.pollinations.ai/prompt/futuristic%20AI%20chip%20glowing%20blue%20on%20dark%20background%20minimalist%20tech%20style?width=1920&height=1080&nologo=true"

Prompt Best Practices

# Good prompt structure
{subject} + {style} + {color tone} + {composition} + {exclusions}

# Example
"Sam Altman speaking at conference, professional photo, warm lighting, 
 shallow depth of field, high resolution, no text no watermark"

# 16:9 cover image
"... 16:9 aspect ratio, horizontal composition, clean space on right for text overlay"

# Avoid garbled text
"... no text, no letters, no words, no watermarks"

Platform Comparison

Platform Prompt Language Size Params Notes
Pollinations English width/height Free unlimited
Jimeng (即梦) Chinese 16:9/1:1 Best for Chinese scenes
DALL-E English 1792x1024 Highest quality

Complete Workflow Example (All CLI, No Browser)

Scenario: Find image for "UK PM visits China" article

# Option A: Extract from Reuters (no browser)
# 1. Find article URL via web search or known URL
# 2. Extract image URL from HTML
IMG_URL=$(curl -sL "https://www.reuters.com/world/uk-pm-china-visit/" | \
  grep -oE 'https://www\.reuters\.com/resizer/v2/[^"]+\.jpg' | head -1)
# 3. Download with HD params
curl -sL -o starmer-xi.jpg "${IMG_URL}?width=3000&quality=100"

# Option B: Brave search (no browser)
IMG_URL=$(curl -s "https://api.search.brave.com/res/v1/images/search?q=Keir%20Starmer%20Xi%20Jinping%202025&count=1" \
  -H "X-Subscription-Token: $BRAVE_API_KEY" | jq -r '.results[0].properties.url')
curl -sL -o starmer-xi.jpg "$IMG_URL"

# Option C: AI generate (no browser)
curl -sL -o uk-china.jpg "https://image.pollinations.ai/prompt/British%20and%20Chinese%20flags%20diplomatic%20meeting%20minimalist?width=1920&height=1080&nologo=true"

# Verify result
file starmer-xi.jpg
ls -lh starmer-xi.jpg

Quick Reference Card

Choose Method by Scenario

Need Recommended Method Reason
Specific news event News site extraction Authentic, authoritative
General concept image Brave search Fast, free
No suitable real photo AI generation Fully customizable
Article cover AI generation Controllable text space
Dashboard news Brave search Automation-friendly

Image Quality Checklist

  • Resolution ≥ 1200px width
  • File size > 50KB (smaller likely thumbnail)
  • file command confirms image (not HTML)
  • No watermarks
  • No copyright issues (news images for commentary/citation)

Troubleshooting

Problem Cause Solution
curl returns HTML Hotlink protection/signature Try different source or Brave search
Image 403 URL expired Re-fetch URL
Blurry image Downloaded thumbnail Adjust HD parameters
Brave no results Keywords too specific Simplify keywords
grep returns empty Page uses JavaScript rendering Use Brave search instead