Взять содержимое фото в переменную, которую загрузить post-запросом. Пример поста в группу с приложенным фото:
upload_url = vk_api.photos.getWallUploadServer(group_id=group_id)['upload_url']
r = requests.get(image_url)
image_data = r.content
r = requests.post(upload_url, files={'photo': (image_name, image_data) }).json()
d = {}
d['server'] = r['server']
d['photo'] = r['photo']
d['hash'] = r['hash']
d['group_id'] = group_id
photo_id = vk_api.photos.saveWallPhoto(**d)[0]['id']
vk_message = 'Сообщение'
vk_params = { 'message': vk_message, 'from_group': 1, 'owner_id': -group_id }
vk_params['attachments'] = '%s,%s' % (photo_id, image_url)
post_id = vk_api.wall.post(**vk_params)['post_id']