--- /dev/null
+One line summary of the issue here.
+
+### Expected behavior
+
+As concisely as possible, describe the expected behavior.
+
+### Actual behavior
+
+As concisely as possible, describe the observed behavior.
+
+### Steps to reproduce the behavior
+
+Please list all relevant steps to reproduce the observed behavior.
\ No newline at end of file
--- /dev/null
+### Problem
+
+Explain the context and why you're making that change. What is the
+problem you're trying to solve? In some cases there is not a problem
+and this can be thought of being the motivation for your change.
+
+### Solution
+
+Describe the modifications you've done.
+
+### Result
+
+What will change as a result of your pull request? Note that sometimes
+this section is unnecessary because it is self-explanatory based on
+the solution.
\ No newline at end of file
The MIT License (MIT)
-Copyright (c) 2016 @TwitterDev
+Copyright (c) 2016- @TwitterDev
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
-# Large Video Upload
+# Large Media Upload
-This Python sample demonstrates the following process of uploading large video files asynchronously with the Twitter API.
+This Python sample demonstrates the following process of uploading large media (video / GIF / image) files asynchronously with the Twitter API, via the "chunked upload" method.
1. **INIT** media upload.
2. **APPEND** chunked data.
3. **FINALIZE** media uploaded.
-4. Check **STATUS** of video processing.
-5. Tweet with attached video.
+4. Check **STATUS** of media processing.
+5. Tweet with attached media.
-Large video files are longer than 30 seconds up to 140 seconds, and/or a file size larger than 15 megabytes up to 512 megabytes.
+Large video files are longer than 30 seconds / up to 140 seconds, and/or a file size larger than 15 megabytes up to 512 megabytes.
-[Learn more](https://dev.twitter.com/rest/media) about the Twitter Media APIs. Pay attention to the other requirements such as encoding, frame size and video formats supported.
+[Learn more](https://developer.twitter.com/en/docs/media/upload-media/overview) about the Twitter Media APIs. Pay attention to the other requirements such as encoding, frame size and video formats supported, as these may be reasons for uploads failing at the processing stage.
## Running the sample
1. Install requirements:
```
- $ pip install -r requirements.txt
+ $ pipenv shell
+ $ pipenv install
```
-2. Fill in your [consumer keys and access tokens](https://apps.twitter.com) in `async-upload.py`:
+2. Fill in your [consumer keys and access tokens](https://developer.twitter.com/en/apps) in `async-upload.py`:
```
CONSUMER_KEY = 'your-consumer-key'
ACCESS_TOKEN_SECRET = 'your-access-secret'
```
-3. Edit path to your video file in `async-upload.py`:
+3. Edit path to your media file in `async-upload.py`:
```
VIDEO_FILENAME = 'path/to/video/file'