Official Python SDK for the iLoveVideoEditor cloud video rendering API — render videos programmatically from JSON scene descriptions and templates
Project description
ilovevideoeditor-sdk
Official Python SDK for iLoveVideoEditor — render videos programmatically with a cloud video API.
iLoveVideoEditor is a cloud video rendering API: submit a JSON scene description (VideoJSON) or a template, queue a render, and download the resulting MP4/WebM. This SDK is the official Python client — it ships a high-level client with polling and progress callbacks on top of a fully typed, auto-generated OpenAPI client covering every API resource.
Features
- Render videos from JSON — submit a VideoJSON scene description and get back a downloadable MP4/WebM
- Blocking or queued renders —
render()submits, polls, and returns the finished result;queue_render()+get_render()let you poll on your own schedule - Progress callbacks — track render status and percent completion while you wait
- Fresh download URLs — refresh signed download URLs for completed renders at any time
- Template support — list public templates and fetch individual template definitions
- Full API coverage — the bundled low-level client (
ilovevideoeditor_sdk) exposes renders, templates, projects, assets, billing, API keys, integrations, renditions, tools, webhooks, and workflows - Typed — fully annotated, ships
py.typed, pydantic v2 models throughout
Installation
pip install ilovevideoeditor-sdk
or with uv:
uv pip install ilovevideoeditor-sdk
Requires Python 3.10 or newer.
Quick start
from ilovevideoeditor import iLoveVideoEditorClient
client = iLoveVideoEditorClient(api_key="vf_live_xxx")
video_json = {
"name": "hello-world",
"layers": [
{"type": "composition", "width": 1920, "height": 1080, "fps": 30},
],
}
# Submit, poll until done, and return the finished render
result = client.render(
video_json,
on_progress=lambda status, progress: print(f"{status} — {progress}%"),
)
print(result.download_url)
All high-level methods:
client.render(video_json, poll_interval=2.0, max_wait=300.0, on_progress=None)→ submit + poll + return aRenderResult(job_id,status,progress,url,download_url,error,created_at,completed_at)client.queue_render(video_json)→ submit and return{"job_id", "status"}immediatelyclient.get_render(job_id)→ current status of a render job as aRenderResultclient.refresh_url(job_id)→ fresh signed download URL for a completed renderclient.list_templates()→ list public templatesclient.get_template(template_id)→ get a single template
Need the full API surface? Use the generated low-level client directly:
import ilovevideoeditor_sdk
from ilovevideoeditor_sdk.api.render_api import RenderApi
config = ilovevideoeditor_sdk.Configuration(host="https://api.ilovevideoeditor.com")
config.api_key["ApiKeyAuth"] = "vf_live_xxx"
with ilovevideoeditor_sdk.ApiClient(config) as api_client:
render_api = RenderApi(api_client)
# e.g. render_api.estimate_render_cost(...)
Authentication
Create an API key in the iLoveVideoEditor dashboard — keys are prefixed with vf_live_. Pass it as api_key when constructing the client; the recommended practice is to keep it in an environment variable rather than hardcoding it:
import os
from ilovevideoeditor import iLoveVideoEditorClient
client = iLoveVideoEditorClient(api_key=os.environ["ILOVEVIDEOEDITOR_API_KEY"])
Documentation
- Docs: https://ilovevideoeditor.com/docs
- SDK guides: https://ilovevideoeditor.com/docs/sdks
- PyPI page: https://pypi.org/project/ilovevideoeditor-sdk/
Other official SDKs
- Node.js/TypeScript: @ilovevideoeditor/sdk-node (repo: https://github.com/ilovevideoeditor/sdk-node)
- Ruby: ilovevideoeditor-sdk (repo: https://github.com/ilovevideoeditor/sdk-ruby)
- PHP: ilovevideoeditor/sdk (repo: https://github.com/ilovevideoeditor/sdk-php)
- Go: github.com/ilovevideoeditor/sdk-go (repo: https://github.com/ilovevideoeditor/sdk-go)
License
MIT
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 ilovevideoeditor_sdk-1.0.1.tar.gz.
File metadata
- Download URL: ilovevideoeditor_sdk-1.0.1.tar.gz
- Upload date:
- Size: 86.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
812b1fce567cd8a421e7d78bd02cde43264c0264971e7bb887255effe75fa1e6
|
|
| MD5 |
363c3b9a616f96110c35366cef3cd103
|
|
| BLAKE2b-256 |
0d81873db9f52c781fd105115aea8a9ba65129e95f243517a7cd38414c800459
|
File details
Details for the file ilovevideoeditor_sdk-1.0.1-py3-none-any.whl.
File metadata
- Download URL: ilovevideoeditor_sdk-1.0.1-py3-none-any.whl
- Upload date:
- Size: 262.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78fd9497027e7a86eb4eae745abc106fed191e6cc692274f846b5c4580a0c87f
|
|
| MD5 |
367824a8e3519617f95f6f882d63ba86
|
|
| BLAKE2b-256 |
54903a58e67faf50c33ce30bbcc97f0819d09052d82c63f91ed1cde177819d41
|