A tool for image uploading. Both CLI & api supports. It also supports plugin system, please check Awesome-PicGo to find powerful plugins.
More details please see the Homepage of PicGo.
Typora supports PicGo-Core natively.
Installation
PicGo requires Node.js >= 20.19.0 or >= 22.12.0. For older PicGo versions (<= v1.5.x), Node.js >= 16 is sufficient. Cause we need the stability of ES Module support.
Global install
npm install picgo -g
# or
yarn global add picgoLocal install
npm install picgo -D
# or
yarn add picgo -DUsage
Use in CLI
PicGo uses
SM.MS(S.EE)as the default upload image host.
Show help:
$ picgo -h
Usage: picgo [options] [command]
Options:
-v, --version output the version number
-d, --debug debug mode
-s, --silent silent mode
-c, --config <path> set config path
-p, --proxy <url> set proxy for uploading
-h, --help display help for command
Commands:
install|add [options] <plugins...> install picgo plugin
uninstall|rm <plugins...> uninstall picgo plugin
update [options] <plugins...> update picgo plugin
set <module> [name] [configName] configure config of picgo modules (uploader/transformer/plugin)
upload|u [input...] upload, go go go
use [module] [name] [configName] use module (uploader/transformer/plugin) of picgo
i18n [lang] change picgo language
uploader manage uploader configurations
server [options] run PicGo as a standalone server
login [token] login to cloud.picgo.app
logout logout from cloud.picgo.app
help [command] display help for commandUpload a picture from path
picgo upload /xxx/xx/xx.jpg
Upload a picture from clipboard
picture from clipboard will be converted to
png
Thanks to vs-picgo && Spades-S for providing the method to upload picture from clipboard.
Run as a server
picgo server -p 36677 -h 127.0.0.1
Login to PicGo Cloud
picgo login # or picgo login <token>
Logout from PicGo Cloud
Manage uploader configs
Since v1.8.0, PicGo-Core supports multiple configurations per uploader. Just like the configuration of the Electron version of PicGo.
You can use picgo set uploader <type> [configName] to configure different uploader configurations.
And you can use picgo use uploader <type> [configName] to switch between different uploader configurations.
For example:
picgo set uploader github Test
picgo use uploader github TestFor more details, you can use picgo uploader -h to check the help of uploader management:
Usage: picgo uploader [options] [command] Options: -h, --help display help for command Commands: list [type] list uploader configurations rename <type> <oldName> <newName> rename a config copy <type> <configName> <newConfigName> copy a config (does not switch current uploader) rm <type> <configName> remove a config
Init a picgo plugin template
Note: the plugin's template initializer has moved to the standalone picgo-init package.
You can use the following command to init a picgo plugin template:
npx picgo-init plugin <your-plugin-folder>
Use in node project
Common JS
const { PicGo } = require('picgo')
ES Module
import { PicGo } from 'picgo'
API usage example
const picgo = new PicGo() // upload a picture from path picgo.upload(['/xxx/xxx.jpg']) // upload a picture from clipboard picgo.upload()
Documentation
For more details, you can checkout documentation.
