The Most Beginner-Friendly Obsidian Image Hosting Tutorial (Tencent COS + PicList)
English translation of a practical Obsidian image hosting workflow: set up Tencent COS, connect PicList, and enable automatic image upload inside Obsidian.
Possibly the Most Beginner-Friendly Obsidian Image Hosting Tutorial

Source: X post by @alin_zone
Original language: Chinese
This is an English translation adapted for readability.
Why You Need This
How big is your Obsidian vault now?
You may have noticed your notes themselves are not that large — images are the real space hog:
- Screenshots
- Pasted reference images
- Random visuals scattered everywhere
Result:
- Sync gets slower and slower
- New devices take forever to sync
- Images fail to load on mobile from time to time
The fix is simple: set up an image hosting workflow for Obsidian.
When you paste an image:
- It uploads to cloud storage automatically
- Your note keeps only a URL
- Local vault size drops significantly
- Sync becomes much faster
The setup is just 3 steps:
- Create Tencent Cloud COS bucket (~5 minutes)
- Install PicList and connect COS (~3 minutes)
- Install Obsidian plugin for auto-upload (~1 minute)
Tencent Cloud currently offers new users a free storage package (50GB for 180 days), which is usually enough for personal use.
Step 1 — Register Tencent Cloud and Create a COS Bucket
Don’t panic when you see “Tencent Cloud.” You do not need server knowledge or coding. It’s basically account registration + clicking through a few forms.
COS (Object Storage) is just cloud storage for files. You upload images and get public links.
1.1 Register and Activate
- Register account: https://cloud.tencent.com/register?s_url=https%3A%2F%2Fcloud.tencent.com%2F
- Complete identity verification: https://console.cloud.tencent.com/developer
- Enable COS: https://console.cloud.tencent.com/cos5
When enabling COS for the first time, you may see extra prompts — just proceed.
1.2 Create a Bucket
When creating bucket, fill these key fields:
- Region: choose nearest city (e.g., Beijing, Shanghai)
- Bucket name: any name (system appends numeric suffix)
- Access permission: Public Read, Private Write
⚠️ Important: do not set it to Public Read/Write. That would allow anyone to upload files to your bucket.
After creation, save these two values from bucket overview:
- Bucket name (e.g.,
obsidian-alin-cos-1257870691) - Region (e.g.,
ap-beijing)
1.3 Create API Keys
Go to key management and create an access key. You’ll get:
- SecretId (like username)
- SecretKey (like password)
⚠️ SecretKey is usually shown once. Save/export it immediately.
At this point, Tencent Cloud side is done. You should now have:
- Bucket name
- Region
- SecretId
- SecretKey
Step 2 — Install PicList and Connect Tencent COS
PicList is the uploader that sends your images to COS.
GitHub: https://github.com/Kuingsmile/PicList
macOS install (optional):
brew install piclist --cask
Open PicList, go to Image Hosting / Tencent COS, and create a config.
Fill only these fields (leave others empty):
- Config name: any (e.g.,
obsidian) - SecretId
- SecretKey
- Bucket (full bucket name)
- AppId (numeric suffix at end of bucket name)
- Region (
ap-xxx, e.g.,ap-beijing)
Then click Set as default image host.
2.1 Test Upload
Go to PicList upload page and drag in any image. If successful, you’ll get a URL like:
https://your-bucket.cos.ap-beijing.myqcloud.com/xxx.png
Open it in browser. If reachable/downloadable, configuration is good.
Step 3 — Install Obsidian Plugin for Auto Upload
In Obsidian:
- Settings → Community plugins → Browse
- Search: Image auto upload
- Install and enable it
Now keep PicList running in background.
When you paste image in Obsidian:
- Before: local file embeds
- After: cloud URL embeds
That means new images no longer bloat your vault.
Final Result
Done. The full workflow is:
- COS bucket + keys
- PicList connected to COS
- Obsidian plugin auto-upload enabled
From now on, image pasting = cloud upload. Your notes stay lightweight and sync-friendly.
Practical Tips
- PicList must stay running for auto-upload to work
- New buckets may trigger direct file download in browser; that’s normal and doesn’t affect embedding
- Existing old local images are not migrated automatically — only newly pasted images are auto-uploaded
Related Posts from the Original Author
- AI relay setup: https://x.com/alin_zone/status/2021519393235349973?s=20
- Obsidian + Claudian quick start: https://x.com/alin_zone/status/2020818787134845234?s=20
- OrbitOS knowledge management workflow: https://x.com/alin_zone/status/2021186943787335953?s=20
- AI image generation skill setup: https://x.com/alin_zone/status/2026950910207996359?s=20
- Desktop web clipper to Obsidian: https://x.com/alin_zone/status/2027692558944768444?s=20
- Mobile one-click clipping: https://x.com/alin_zone/status/2028392609581015268?s=20
Tags
Related Articles
Vercel's React Best Practices as Reusable Skill
Vercel distilled 10 years of React expertise into a skill, demonstrating how organizations should package internal best practices as reusable AI agent skills.
Building Commercial Apps with Claude Opus
Experience sharing on rapid app development using Claude Opus as a CTO, product manager, and designer combined.
AI-Powered Product Marketing with Video and Social Media
Guide on using AI to create product advertisement videos, user testimonials, and product images for social media marketing campaigns.