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.
- API reference: OpenAPI spec · Postman collection
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
Metadata
Release files for ilovevideoeditor-sdk 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ilovevideoeditor_sdk-1.0.2.tar.gz | 89.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ilovevideoeditor_sdk-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 361.7 kB
Release files / ilovevideoeditor_sdk-1.0.2.tar.gz
| Download URL | ilovevideoeditor_sdk-1.0.2.tar.gz |
|---|---|
| Size | 89.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e6c8c6368f7149b25d7318bbd232a4faec59e1b8ebf2c187527fe37f7c27b31b
|
|
BLAKE2b-256 checksum How to use checksums |
2e977cad3a0d06d6c0e6f4ae048d19f51728924baca3e70b6cd8c2a675feb81f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / ilovevideoeditor_sdk-1.0.2-py3-none-any.whl
| Download URL | ilovevideoeditor_sdk-1.0.2-py3-none-any.whl |
|---|---|
| Size | 272.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
579cc71ad9a01bd27fbb830aa8b60873539a51bcbd2003e4a8f27ccbb4b2a098
|
|
BLAKE2b-256 checksum How to use checksums |
df839959389ebf986e74d20d6433791dcdd5bf9682985fa090c9398f1a4aae56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|