Выдаёт ошибку 22, что не так?
import vk,requests,json
session = vk.Session(access_token='здесь_токен')
api = vk.API(session)
uid=str(2000000000+519)
upload_url=(api.photos.getChatUploadServer(chat_id=str(uid),crop_x='648',crop_y='0',crop_width='400'))['upload_url']
print (upload_url) #получили ссылку для загрузки
f = {'file': str(open('photo.jpg', 'rb'))} #подготовка картинки для загрузки
upload_serv=requests.post(upload_url,files=f).json() #загрузка на сервер
print(upload_serv) #пишет ошибку vk.exceptions.VkAPIError: 22. Upload error: bad format «file» file
api.messages.setChatPhoto(file=upload_serv['response']) #по идее, это сохранение
f.close()