hadidev
hadidev

Reputation: 91

Can't upload some photos to instagram by instabot

I can't upload photos some photos to Instagram using instabot. Some pictures are uploaded fine and some are not. The ones I can't upload are the ones I edit using "Pillow". Here is my code and after than I'll show you what I tried.

My photo editing function that uses Pillow:

def make_square(im, min_size=1080, fill_color=(255, 255, 255)):
    #here getting the width and the height of the picture and after that adjusting it's size for it to fit on a 1080px picture perfectly
    width, height = im.size
    ratio = 1080 / width
    width = width + 0.00
    height = height + 0.00
    width = width * ratio
    height = height * ratio
    height = math.floor(height)
    width = math.floor(width)
    im = im.resize((width, height)) #resizing the picture to width 1080
    #here is some code i got online to create a white picture then paste my picture on top of it to make the picture square
    x, y = im.size
    size = max(min_size, x, y)
    new_im = Image.new('RGBA', (size, size), fill_color)
    new_im.paste(im, (int((size - x) / 2), int((size - y) / 2)))
    return new_im # returning the new image so that I can save and upload

Here is my other function to upload picture to instagram :

from instabot import Bot
def UPhoto(Image, Caption):
    bot = Bot()
    bot.login(username = "username", password="password")
    time.sleep(0.2)
    try:
        if bot.upload_photo(Image, caption=Caption):
            return True
        else:
            return False
    except:
        return False

when I run the upload photo I get this error:

FOUND: w:1080 h:1080 r:1.0 2020-09-12 16:00:53,680 - ERROR - Photo Upload failed with the following response: <Response [400]> 2020-09-12 16:00:53,682 - INFO - Photo 'Post.png' is not uploaded. 2020-09-12 16:00:53,683 - INFO - Total requests: 54

what I tried:

Basically that's all I wish you could help, Thanks!

Upvotes: 3

Views: 4394

Answers (1)

hadidev
hadidev

Reputation: 91

Solved! Converted the Image to "JPEG" and everything worked out great. using :

new_im = new_im.convert("RGB")

Upvotes: 6

Related Questions