In your current code, you are not placing an image, but you are sending a line called "picture.png". As Daniel Di Paolo said, you need to write a photo. The argument for write_photo is a link to an image, for example.
from tumblr import Api
import sys
BLOG='example.tumblr.com'
USER='example@example.com'
PASSWORD='example'
api = Api(BLOG,USER,PASSWORD)
api.write_photo('http://example.org/somewhere/lolcat.jpg')
If you want to send HTML, you can create a body that long contains the tags of your options.
title = "life is amazing"
body = """
_here my html code_
"""
API
api.write_regular(title,body)
.
;) , , .
, "lolcat.jpg"
data = open ('lolcat.jpg'). read()