Skip to main content

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.

PyPI version Python versions License: MIT Docs Run in Postman

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 a RenderResult (job_id, status, progress, url, download_url, error, created_at, completed_at)
  • client.queue_render(video_json) → submit and return {"job_id", "status"} immediately
  • client.get_render(job_id) → current status of a render job as a RenderResult
  • client.refresh_url(job_id) → fresh signed download URL for a completed render
  • client.list_templates() → list public templates
  • client.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

Other official SDKs

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)

Source distribution for ilovevideoeditor-sdk 1.0.2
File Size Uploaded
ilovevideoeditor_sdk-1.0.2.tar.gz 89.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ilovevideoeditor-sdk 1.0.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page