Access a versatile collection of tools for media generation, web scraping, and cryptocurrency research. Convert between data formats, summarize long documents, and extract text from images or PDFs with ease. Streamline your workflow by automating tasks like SEO metadata extraction, code reviews, and content creation.
Drift inferred · capture-to-capture
- MEDIUM gained untrusted · 3 tools changed permissions
tool count over time
tools
-
btc_signal
Get a BTC price direction prediction based on 10-indicator technical analysis consensus. Returns up/down/neutral with confidence score. Supports 1m, 5m, 15m, 1h timeframes.
in ▸ timeframe
-
check_domain
Check domain availability and DNS info via lookup.
in ▸ domain
-
code_review
Review code using Claude AI. Returns bugs, improvements, and best practice suggestions.
in ▸ code language
-
convert_format
Convert between formats: csv→json, json→csv, markdown→html, html→text.
in ▸ to from content
-
crypto_news_summary
Get latest crypto news headlines from CryptoPanic.
in ▸ limit filter
-
detect_language
Detect the language of a text string. Supports 10+ languages.
in ▸ text
-
extract_structured
Extract structured JSON data from a URL using Claude AI and a provided JSON schema.
in ▸ url schema
-
generate_image
Generate an AI image from a text prompt using Flux models. Returns an image URL. Models: flux-schnell (fast, $0.02), flux-dev (quality, $0.03), flux-pro (best, $0.05).
in ▸ model width height prompt
-
generate_meme
Generate a meme image using Imgflip API. Returns a meme image URL.
in ▸ topText template bottomText
-
generate_qr_code
Generate a QR code as a base64-encoded PNG image from any text or URL.
in ▸ data size
-
generate_video
Generate a short AI video from a text prompt using fal.ai.
in ▸ prompt duration
-
get_crypto_price
Get current cryptocurrency price, 24h change, and market cap from CoinGecko.
in ▸ symbol currency
-
get_url_metadata
Extract metadata from a URL — title, description, Open Graph tags, favicon, canonical URL.
in ▸ url
-
html_to_markdown
Convert HTML content or fetch a URL and convert its HTML to clean Markdown.
in ▸ url html
-
image_resize
Fetch an image from a URL, resize it, and return as base64 PNG. Alias for resize_image.
in ▸ url width height
-
list_services
List all available SparkForge services with pricing, parameters, and demo URLs.
-
ocr
Extract text from an image URL using Claude vision AI.
in ▸ url
-
pdf_to_markdown
Extract text from a PDF URL and convert to Markdown. Returns the text content with page count.
in ▸ url
-
resize_image
Fetch an image from a URL, resize it, and return as base64 PNG.
in ▸ url width height
-
scrape_webpage
Scrape a webpage and return clean readable text/markdown. Strips scripts, styles, and HTML tags.
in ▸ url
-
site_crawl
Crawl a website starting from a URL, follow internal links, return pages as text.
in ▸ url maxPages
-
smart_summarize
AI-powered summarization in 4 modes: bullet_points, executive, technical, eli5.
in ▸ mode text
-
store_data
Key-value data storage. Operations: set, get, delete, list. Data persists per namespace.
in ▸ key value namespace operation
-
summarize_text
Summarize long text using extractive summarization. Fast, algorithmic — no AI API call needed.
in ▸ text maxSentences
-
take_screenshot
Capture a screenshot of any webpage URL. Returns the screenshot as a base64-encoded PNG image.
in ▸ url width height fullPage
-
text_diff
Compare two texts and show a unified diff with additions and removals.
in ▸ a b
-
text_to_speech
Convert text to speech using ElevenLabs. Returns audio as base64 MP3.
in ▸ text voiceId
-
token_research
Research a crypto token — description, links, price, market cap, volume from CoinGecko.
in ▸ token
-
validate_json
Validate and prettify JSON. Optionally validate against a JSON Schema.
in ▸ json schema
-
verify_email
Validate email format and check MX records for the domain.
in ▸ email
-
wallet_analysis
Analyze an Ethereum/Base wallet — ETH balance and recent transactions via Etherscan.
in ▸ address network
-
web_search
Search the web using Brave Search API. Returns titles, URLs, and descriptions.
in ▸ count query
-
write_tweet
Generate tweet text from a topic or prompt using Claude AI. Returns tweet-ready text under 280 chars.
in ▸ tone topic
network 33
- net henry-ships-sparkforge-27eb919/scripts/backtest-final.mjs :13
async function fetchJSON(url) { return (await fetch(url)).json(); } - net henry-ships-sparkforge-27eb919/scripts/backtest-ml.mjs :28
async function fetchJSON(url) { return (await fetch(url)).json(); } - net henry-ships-sparkforge-27eb919/scripts/backtest-v2-1k.mjs :176
const resp = await fetch(url); - net henry-ships-sparkforge-27eb919/scripts/backtest-v2.mjs :176
const resp = await fetch(url); - net henry-ships-sparkforge-27eb919/scripts/backtest-v3-final.mjs :15
async function fetchJSON(url) { return (await fetch(url)).json(); } - net henry-ships-sparkforge-27eb919/scripts/backtest-v3.mjs :13
const r = await fetch(url); - net henry-ships-sparkforge-27eb919/scripts/backtest-v3b.mjs :10
async function fetchJSON(url) { return (await fetch(url)).json(); } - net henry-ships-sparkforge-27eb919/scripts/backtest-v3c.mjs :9
async function fetchJSON(url) { return (await fetch(url)).json(); } - net henry-ships-sparkforge-27eb919/scripts/backtest.mjs :151
const resp = await fetch(url); - net henry-ships-sparkforge-27eb919/src/app/api/[transport]/route.ts :75
const resp = await fetch(`https://api.microlink.io/v1/?${params}`); - net henry-ships-sparkforge-27eb919/src/app/api/btc-signal/route.ts :14
const r = await fetch(`https://www.okx.com/api/v5${path}`); - net henry-ships-sparkforge-27eb919/src/app/api/code-review/route.ts :115
const anthropicResp = await fetch("https://api.anthropic.com/v1/messages", { - net henry-ships-sparkforge-27eb919/src/app/api/convert/route.ts :375
const fetchResp = await fetch(input, { - net henry-ships-sparkforge-27eb919/src/app/api/cron/trigger/route.ts :98
const resp = await fetch(cron.webhook, { - net henry-ships-sparkforge-27eb919/src/app/api/crypto-price/route.ts :105
const response = await fetch(apiUrl, { - net henry-ships-sparkforge-27eb919/src/app/api/crypto-summarize/route.ts :66
const r = await fetch( - net henry-ships-sparkforge-27eb919/src/app/api/extract/route.ts :167
const fetchResp = await fetch(url, { - net henry-ships-sparkforge-27eb919/src/app/api/image-resize/route.ts :106
const response = await fetch(parsedUrl.toString()); - net henry-ships-sparkforge-27eb919/src/app/api/markdown/route.ts :191
const response = await fetch(url, { - net henry-ships-sparkforge-27eb919/src/app/api/meme/route.ts :93
const imgResp = await fetch(baseImageUrl); - net henry-ships-sparkforge-27eb919/src/app/api/ocr/route.ts :53
const res = await fetch(url, { - net henry-ships-sparkforge-27eb919/src/app/api/pdf-to-markdown/route.ts :75
const response = await fetch(parsedUrl.toString()); - net henry-ships-sparkforge-27eb919/src/app/api/scrape/route.ts :82
const response = await fetch(url, { - net henry-ships-sparkforge-27eb919/src/app/api/screenshot/route.ts :90
const response = await fetch(microlinkUrl.toString()); - net henry-ships-sparkforge-27eb919/src/app/api/search/route.ts :27
const resp = await fetch(`https://api.search.brave.com/res/v1/web/search?${params}`, { - net henry-ships-sparkforge-27eb919/src/app/api/site-crawl/route.ts :111
const res = await fetch(url, { - net henry-ships-sparkforge-27eb919/src/app/api/smart-summarize/route.ts :53
const res = await fetch(url, { - net henry-ships-sparkforge-27eb919/src/app/api/token-research/route.ts :14
const r = await fetch(`https://api.coingecko.com/api/v3${path}`, { - net henry-ships-sparkforge-27eb919/src/app/api/tts/route.ts :78
const ttsResp = await fetch(`${ELEVENLABS_API_URL}/text-to-speech/${voiceId}`, { - net henry-ships-sparkforge-27eb919/src/app/api/tweet-writer/route.ts :102
const r = await fetch("https://api.anthropic.com/v1/messages", { - net henry-ships-sparkforge-27eb919/src/app/api/url-metadata/route.ts :143
const response = await fetch(parsedUrl.toString(), { - net henry-ships-sparkforge-27eb919/src/app/api/wallet-analysis/route.ts :32
const r = await fetch(`${explorer.api}?${qs}`); - net henry-ships-sparkforge-27eb919/src/lib/x402.ts :182
const verifyResp = await fetch(`${FACILITATOR_URL}/verify`, {
secrets 13
- secrets henry-ships-sparkforge-27eb919/src/app/api/[transport]/route.ts :4
const FAL_KEY = process.env.FAL_KEY || ""; - secrets henry-ships-sparkforge-27eb919/src/app/api/code-review/route.ts :7
const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY; - secrets henry-ships-sparkforge-27eb919/src/app/api/cron/trigger/route.ts :29
const CRON_SECRET = process.env.CRON_SECRET || ""; - secrets henry-ships-sparkforge-27eb919/src/app/api/crypto-summarize/route.ts :7
const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY; - secrets henry-ships-sparkforge-27eb919/src/app/api/extract/route.ts :156
const apiKey = process.env.ANTHROPIC_API_KEY; - secrets henry-ships-sparkforge-27eb919/src/app/api/generate/route.ts :8
fal.config({ credentials: process.env.FAL_KEY }); - secrets henry-ships-sparkforge-27eb919/src/app/api/meme/route.ts :9
fal.config({ credentials: process.env.FAL_KEY }); - secrets henry-ships-sparkforge-27eb919/src/app/api/ocr/route.ts :108
const apiKey = process.env.ANTHROPIC_API_KEY; - secrets henry-ships-sparkforge-27eb919/src/app/api/search/route.ts :3
const BRAVE_API_KEY = process.env.BRAVE_API_KEY || ""; - secrets henry-ships-sparkforge-27eb919/src/app/api/smart-summarize/route.ts :7
const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY; - secrets henry-ships-sparkforge-27eb919/src/app/api/tts/route.ts :7
const ELEVENLABS_API_KEY = process.env.ELEVENLABS_API_KEY || "sk_17b7ae4a165d5ea98767e5ece74dcc0bb3958d9f9693d41e"; - secrets henry-ships-sparkforge-27eb919/src/app/api/tweet-writer/route.ts :7
const ANTHROPIC_API_KEY = process.env.ANTHROPIC_API_KEY; - secrets henry-ships-sparkforge-27eb919/src/app/api/video/route.ts :8
fal.config({ credentials: process.env.FAL_KEY });
declared dependencies 20
- @fal-ai/client@^1.9.4
- @modelcontextprotocol/sdk@^1.25.2
- @types/qrcode@^1.5.6
- @x402/core@^2.5.0
- @x402/evm@^2.5.0
- @x402/next@^2.5.0
- ajv@^8.18.0
- catboost@^1.27.0
- mcp-handler@^1.0.7
- ml-random-forest@^2.1.0
- next@16.1.6
- pdf-parse@^2.4.5
- qrcode@^1.5.4
- react@19.2.3
- react-dom@19.2.3
- sharp@^0.34.5
- @types/node@^20
- @types/react@^19
- @types/react-dom@^19
- typescript@^5