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
Hashes for Online-UniConverter-python-2.0.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22e6062976cdb146b0dd790a6f6e923251a60db476a29b685f5feee6651ef068 |
|
MD5 | 800e07a576b0653a96f36aa475968e4c |
|
BLAKE2b-256 | 8467e1c518050b66c3104f7efe91e78ef608113038bfc9ab744de63f65fb891d |
Hashes for Online_UniConverter_python-2.0.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceed1da78a2a6cb9ddbe7a118fcc0e246a1131058c8f5084361d97e89845c70e |
|
MD5 | 880814230cabe9ee59bea2b82641a8ea |
|
BLAKE2b-256 | cd063bc43a72eb4ef2e3fe119ec4e93b0baf585576a01959d77859c14c59bede |