curl -s -F "email@example.com" -F "password=mypass" -F "type=photo" -F "tags=tag1,tag2" \ -F "firstname.lastname@example.org" http://www.tumblr.com/api/write
If nothing goes wrong, this will print the tumblr post ID of the post you have just created.
See here for other parameters that you can change or add to that command (queuing the post, setting a caption, uploading different types of content …)
This is a simple bash script that uploads all the JPG files in the current folder, in a random order, adding them to your tumblr queue (instead of posting them now):
IFS=$'\n' # needed if the jpg filenames contain spaces (restore the value later with IFS=$' \t\n' or close the terminal) for file in $(ls *.JPG *.jpg | shuf) # shuf randomizes the jpg filenames do
echo $file curl -s -F "email@example.com" -F "password=mypass" -F "type=photo" -F "state=queue" \ -F "data=@$file" http://www.tumblr.com/api/write echo sleep 5s # waits between uploads