easternkite855 downloadsAutomatically upload clipboard images to Firebase Storage and insert them as markdown links!
Pasterly is an Obsidian plugin that automatically uploads clipboard images to cloud storage and generates markdown links. Supports Firebase Storage, Google Cloud Storage, and S3-compatible storage such as AWS S3 and Cloudflare R2.
![Uploading...]() placeholder during uploadgcloud CLI (no manual token refresh!)gs://your-bucket.appspot.com)Firebase StorageImportant: Ensure WRITE permission is enabled in your Firebase bucket rules.
gcloud auth login
gcloud auth print-access-token
# Create cors.json
cat > cors.json << 'EOF'
[
{
"origin": ["*"],
"method": ["PUT", "POST", "GET"],
"responseHeader": ["Content-Type"],
"maxAgeSeconds": 3600
}
]
EOF
# Apply CORS configuration
gcloud storage buckets update gs://YOUR-BUCKET-NAME --cors-file=cors.json
| Setting | Value | Description |
|---|---|---|
| Storage Provider | Google Cloud Storage |
Select GCS as provider |
| GCS Bucket Name | your-bucket-name |
Bucket name without gs:// prefix |
| Use gcloud CLI | ✅ Enabled | Auto-refresh token using gcloud CLI |
| CDN Base URL | https://cdn.example.com |
(Optional) CDN URL for image links |
Method 1: Auto-authentication via gcloud CLI (Recommended)
gcloud auth print-access-token on each uploadMethod 2: Manual Access Token
gcloud auth print-access-tokenUse this option for AWS S3 and providers exposing an S3-compatible API.
| Setting | AWS S3 Example | Cloudflare R2 Example | Description |
|---|---|---|---|
| Storage Provider | S3-compatible Storage (AWS S3 / R2) |
S3-compatible Storage (AWS S3 / R2) |
Select S3-compatible mode |
| S3 Bucket Name | my-images |
my-images |
Bucket name |
| S3 Region | ap-southeast-1 |
auto |
Region for AWS or provider-specific region |
| S3 Endpoint | (leave blank) | https://<accountid>.r2.cloudflarestorage.com |
Custom endpoint for non-AWS providers |
| Access Key ID | AKIA... |
... |
Access key with write access |
| Secret Access Key | ... |
... |
Secret key |
| Session Token | (optional) | (optional) | Temporary credentials if needed |
| Public Base URL | https://my-images.s3.ap-southeast-1.amazonaws.com |
https://pub-<id>.r2.dev or your custom domain |
Public URL inserted into markdown |
| Use path-style URLs | Off |
Off |
Enable only if your provider requires path-style access |
r2.dev domain or custom domain.Cmd+V / Ctrl+V)The plugin automatically searches for gcloud in common paths:
/opt/homebrew/bin/gcloud (macOS Apple Silicon)/usr/local/bin/gcloud (macOS Intel)/usr/bin/gcloud (Linux)If gcloud is installed elsewhere, check your installation path with:
which gcloud
gcloud auth login was successfulCopyright 2025 easternkite
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.