Не могу забирать запросы Aiohttp из цикла - ошибка ValueError: I/O operation on closed file + aiohttp.payload.LookupError

Когда пробую перебрать список с API ключами в цикле, то вылазит две ошибки: ValueError: I/O operation on closed file AND aiohttp.payload.LookupError...

Вот функция запроса к API:

async def get_api_response(photo_bytes, api_key, language):
    async with aiohttp.ClientSession() as session:
        async with session.post(URL_API,
                                data={
                                    "picture.png": photo_bytes,
                                    "apikey": api_key,
                                    "language": language
                                }) as response:
            return await response.text()

И вот цикл перебора апи ключей (находится в хендлере aiogram, но это ничего не решает):

for api_key in API_KEYS:
    response = json.loads(await get_api_response(photo_bytes=photo_bytes, api_key=api_key, language=photo_lang))
    print(response)

Когда пробую вставить цикл в функцию с запросом, то возникает такая же ошибка. Но когда вызываю функцию без цикла, то ошибки нету. Какие есть предложения, как исправить ошибку с минимальными изминениями?

Логика такая кода такая: если при переборе API ключей в цикле API ключ работает, то брейкаем(break) цикл.

UPD: В ХОДЕ МНОГОЧАСОВЫХ ИССЛЕДОВАНИЙ Я ПОНЯЛ, ЧТО ОШИБКА ВЫЛАЗИТ, ПОТОМУ ЧТО ПОСЛЕ ПЕРВОГО ЦИКЛА ЗАКРЫВАЕТСЯ PHOTO_BYTES

Вот сама инициализация photo_bytes:

photo = cv2.imread(photo_path)
unused_var, compressed_image = cv2.imencode('.png', photo, [1, 90])
photo_bytes = io.BytesIO(compressed_image)

Ответы (1 шт):

Автор решения: Сергей Шашко

ну типа что-то такого

with io.BytesIO(compressed_image) as f:
    photo_bytes = f.read()
→ Ссылка