Python REST API wrapper for media.io
Project description
Online-UniConvert-python
This is the official Python SDK v2 for the Online UniConverter API v2.
Installation
pip install Online-UniConverter-python
Creating API Client
import mediaio
mediaio.configure(api_key = 'API_KEY')
Or set the environment variable MEDIAIO_API_KEY and use:
import mediaio
mediaio.default()
Useage
You have tow way to use UniConvert SDK.
1.Facade mode
### init media.io convert env
import os
import mediaio
config = {
'api_key' : 'api_key',
'endpoint': 'https://api.media.io',
}
mediaio.configure(**config)
# test convert video from mov to mp4
file_info = mediaio.convertFile('56.mp4', 'mp4', 'mov')
mediaio.download(file_info['url'], os.path.join('output' , file_info['filename'])
# convert mp4 to mp3
file_info = mediaio.convertFile('56.mp4', 'mp4', 'mp3')
mediaio.download(file_info['url'], os.path.join('output' , file_info['filename'])
# convert png to bmp
file_info = mediaio.convertFile('56.png', 'png', 'bmp')
mediaio.download(file_info['url'], os.path.join('output' , file_info['filename'])
# compress video
file_info = mediaio.compressVideo('11.mp4', 'mp4', ratio=0.9)
print(file_info)
mediaio.download(file_info['url'], os.path.join('output' , file_info['filename']))
# compress audio
file_info = mediaio.compressAudio('2.mp3', 'mp3', bitrate=96)
print(file_info)
mediaio.download(file_info['url'], os.path.join('output', file_info['filename']))
# compress png
file_info = mediaio.compressImage('13.png', 'png')
print(file_info)
mediaio.download(file_info['url'], os.path.join('output', file_info['filename']))
# need progress
def convertCallback(step, progress):
print(step, progress)
file_info = mediaio.convertFile('56.mp4', 'mp4', 'mov')
mediaio.download(file_info['url'], os.path.join('output' , file_info['filename'], progress=convertCallback)
## advanceParams
advanceParams = {
"videoParams":{
'enable': True,
'encode':'H264',
'resolution':'640*360',
'bitrate':'1500kbps',
'frameRate':'12fps',
},
"audioParams":{
'enable': True,
'encode': 'AC-3',
'bitrate': '96kbps'
}
}
file_info = mediaio.convertFile('56.mp4', 'mp4', 'mp4', advanceParams=advanceParams)
mediaio.download(file_info['url'], os.path.join('output' , file_info['filename'])
2. DIY mode
Uploading Files
Uploads to UniConvert are done via import/upload tasks (see the docs). This SDK offers a convenient upload method:
import os
from mediaio.task import Task
config = {
'api_key' : 'api_key',
'endpoint': 'https://api.media.io',
}
mediaio.configure(**config)
task = Task.create(operation='import/upload')
if task['code'] >0: raise Exception(task['msg'])
result = Task.upload(file_name=urlOrFile, task=task)
Convert File
UniConvert can convert file after you uploaded file for using convert tasks. You can use Task.wait wait for task is finish.
payload ={
'input': result['data']['id'],
'input_format': input_format,
'output_format': output_format,
}
if advanceParams:
payload.update(advanceParams)
task = Task.create(operation='convert', payload=payload)
if (task['code'] > 0): raise Exception(task['msg'])
result = Task.wait(task['data']['id'])
Compress File
UniConvert can convert file after you uploaded file for using compress tasks. You can use Task.wait wait for task is finish.
payload = {
'input': task_id,
'input_format': input_format,
'output_format': input_format,
'ratio': 0.2
}
task = Task.create(operation='compress', payload=payload)
if (task['code'] > 0): raise Exception(task['msg'])
return Task.wait(task['data']['id'])
Downloading Files
UniConvert can generate public URLs for using export/url tasks. You can use the SDK to download the output files when the task is finished.
from mediaio.task import Task
task_id = '{task_id}'
task = Task.create(operation='export/url', payload={'input': task_id})
result = Task.wait(task['data']['id'])
fileInfo = result['data']['result']['files'][0]
Resource
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file Online-UniConverter-python-2.0.0.0.tar.gz.
File metadata
- Download URL: Online-UniConverter-python-2.0.0.0.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.2.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22e6062976cdb146b0dd790a6f6e923251a60db476a29b685f5feee6651ef068
|
|
| MD5 |
800e07a576b0653a96f36aa475968e4c
|
|
| BLAKE2b-256 |
8467e1c518050b66c3104f7efe91e78ef608113038bfc9ab744de63f65fb891d
|
File details
Details for the file Online_UniConverter_python-2.0.0.0-py3-none-any.whl.
File metadata
- Download URL: Online_UniConverter_python-2.0.0.0-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.2.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ceed1da78a2a6cb9ddbe7a118fcc0e246a1131058c8f5084361d97e89845c70e
|
|
| MD5 |
880814230cabe9ee59bea2b82641a8ea
|
|
| BLAKE2b-256 |
cd063bc43a72eb4ef2e3fe119ec4e93b0baf585576a01959d77859c14c59bede
|