problem posting image > ~1Mb using postupdate
tilnow opened this issue · 1 comments
i think this is related to issue #433
i am using PostUpdate to post (great library by the way)
and when I posted an image smaller than 1MB (actually ~690Kb) it worked fine.
the media is provided as a file with no extension
when I post an image ~2MB
i get:
File "/home/yak/.local/lib/python3.6/site-packages/discord/client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "csvofyaks.py", line 315, in on_message
status = twitterapi2.PostUpdate(txt,media=n)
File "/home/yak/.local/lib/python3.6/site-packages/twitter/api.py", line 1164, in PostUpdate
media, media_additional_owners, media_category=media_category
File "/home/yak/.local/lib/python3.6/site-packages/twitter/api.py", line 1422, in UploadMediaChunked
media_category=media_category)
File "/home/yak/.local/lib/python3.6/site-packages/twitter/api.py", line 1274, in _UploadMediaChunkedInit
raise TwitterError({'message': 'Could not process media file'})
twitter.error.TwitterError: {'message': 'Could not process media file'}```
Seconding this issue: I regularly get the same error when trying to upload images directly through PostUpdate
. Uploading the exact same image directly via Twitter's website works, so I think it's probably something about the chunked endpoint/perhaps overly conservative chunking.
My workaround for the time being is to use UploadMediaSimple
, which appears to work for my medium-to-large-ish JPEGs (no more than 4MB):
media_id = api.UploadMediaSimple(some_fd)
api.PostUpdate("some tweet", media=media_id)
(As a bonus, doing it in two steps like this gives me the ability to add alt text.)