TinyOwl
English
Download

Workflow

Screenshot ➔ Compress ➔ Upload ➔ Copy Markdown on macOS

Technical blogging and documentation should feel fluid. Instead of juggling separate screenshot apps, web compressors, and image-hosting uploaders, discover how TinyOwl turns the entire flow into a single keystroke on Apple Silicon.

TinyOwl version note: Written for TinyOwl v0.7.2 (macOS 12+ on Apple Silicon).

The Multi-Tool Friction in Technical Writing

If you write blog posts in Markdown, maintain developer documentation, or author technical newsletters on macOS, you know this repetitive ordeal all too well:

  1. Capture: Take a clean retina screenshot with macOS native shortcuts (⇧⌘4 or ⌃⇧⌘4) or a utility like CleanShot X. The raw capture is saved as a 3 MB to 8 MB uncompressed PNG.
  2. Resize & Compress: Drag the file into a browser tab (TinyPNG/Squoosh) or launch a desktop compressor to convert it to WebP and scale down 2x resolution.
  3. Upload to Storage: Open an image-hosting tool (e.g., PicGo, an S3 GUI, or the cloud provider’s web console) to push the file to your bucket.
  4. Format Link: Copy the final object key, assemble your CDN domain, write ![Alt text](https://cdn.example.com/...), and paste it back into Obsidian, VS Code, or Notion.

Repeating this ten times per technical article disrupts your writing flow and turns documentation into chore work.

TinyOwl onboarding screen highlighting clipboard as an image entry point.
Copy an image, activate TinyOwl or its menu bar panel, then press `⌘V` to run the active workflow.

The Streamlined Pipeline: From Clipboard to Markdown

With TinyOwl, the entire sequence collapses into a unified local workflow:

macOS Clipboard (Retina PNG) ➔ TinyOwl [⌘V] ➔ Resize to 1400px + WebP Q75 ➔ Direct Upload (R2/S3/OSS/COS) ➔ Copy Markdown Link

Because TinyOwl is built with a native Rust core for Apple Silicon:

  • Zero local file clutter: You do not need to save intermediate PNGs onto your desktop or trash temporary files after uploading.
  • One reusable flow: Resize, WebP encoding, and upload settings live in one workflow instead of several separate tools.
  • Privacy preserved: The source image never touches an intermediary proxy service. It moves directly from your local RAM to your own secure cloud bucket.

Step-by-Step Setup Guide

Follow this one-time setup to configure your automated writing workflow:

1. Configure Your Cloud Storage Provider

TinyOwl supports Cloudflare R2, AWS S3, Alibaba Cloud OSS, Tencent Cloud COS, MinIO, and generic S3-compatible endpoints:

  1. Open TinyOwl and press ⌘, to enter Settings.
  2. Go to Upload Providers ➔ Click Add Upload Provider.
  3. Choose your provider (e.g., Cloudflare R2 or Alibaba OSS).
  4. Enter your bucket name, API credentials, and Public Base URL (e.g., https://cdn.example.com).
  5. Click Test connection to verify connectivity.

2. Configure a Reusable Markdown Workflow

  1. In TinyOwl Settings, navigate to Workflows ➔ Click Add workflow.
  2. Name the workflow Blog Screenshot to Markdown.
  3. Set up the three steps:
    • Step 1: Resize (Optional): Add a resize preset. Select Width 1200px or Longest edge 1600px. This automatically scales down retina screen captures so they render crisp on web pages without wasting bandwidth.
    • Step 2: Compression (Required): Select the built-in WebP - Save as preset (or custom preset with Balanced Q75).
    • Step 3: Upload (Required): Select your storage provider from Step 1.
      • Set the Path Template to {yyyy}/{mm}/{dd} (e.g., 2026/09/20).
      • Set the Filename Strategy to timestamped or random to ensure every screenshot gets a unique URL.
  4. Click Use now to make this workflow the active workflow in TinyOwl.
TinyOwl workflow editor with resize, compression, and upload steps.
The workflow editor gives you granular control over image geometry, WebP quantization, and storage key patterns.

Daily Writing Workflow: How It Works in Practice

Once configured, incorporating images into your articles takes two keystrokes:

  1. Capture directly to clipboard:
    • Press ⌃⇧⌘4 (Control + Shift + Command + 4) on macOS to capture a rectangular selection straight to your clipboard (or use your preferred screenshot shortcut).
  2. Send to TinyOwl:
    • Click the TinyOwl icon in the menu bar (or activate the app with Spotlight/Raycast) and press ⌘V.
  3. Copy formatted link:
    • TinyOwl immediately resizes the capture, encodes it to WebP in memory, uploads it to your bucket, and displays a green notification with a Copy Link button.
    • The copied link gives you the ready-to-use public URL, or you can format it directly as:
    ![Screenshot description](https://cdn.example.com/2026/09/20/img-1726838400.webp)
  4. Paste into your editor:
    • Switch back to Obsidian, VS Code, or your Markdown editor, and press ⌘V. You’re done!

Comparison with Legacy Stacks (PicGo + TinyPNG Scripts)

Many developers historically relied on a patchwork of Node.js scripts, Electron apps, or PicGo plugins:

DimensionLegacy Stack (CleanShot + PicGo + TinyPNG Plugin)Modern Stack (TinyOwl)
WorkflowSeparate capture, optimization, and upload toolsOne configured TinyOwl workflow
ProcessingDepends on the tools and services you chooseImage processing runs locally before the optional upload
Compression LogicCalls external TinyPNG API (network latency, monthly API costs)100% on-device local compression via multi-core SIMD
Failure PointsPlugin dependency drift, Node version mismatches, Electron memory leaksZero external runtime dependencies, standalone binary
PricingMonthly SaaS API subscriptions or fragile open-source pluginsOne-time buyout (~$9 early bird / ¥49) with lifetime updates

What to Measure in Your Own Workflow

Use a small representative set of your own screenshots to compare output size, readability, upload path, and time spent switching tools. Results vary by source image, preset, connection, and storage provider.