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 rendersrender() 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ilovevideoeditor_sdk-1.0.2.tar.gz (89.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ilovevideoeditor_sdk-1.0.2-py3-none-any.whl (272.2 kB view details)

Uploaded Python 3

File details

Details for the file ilovevideoeditor_sdk-1.0.2.tar.gz.

File metadata

  • Download URL: ilovevideoeditor_sdk-1.0.2.tar.gz
  • Upload date:
  • Size: 89.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for ilovevideoeditor_sdk-1.0.2.tar.gz
Algorithm Hash digest
SHA256 e6c8c6368f7149b25d7318bbd232a4faec59e1b8ebf2c187527fe37f7c27b31b
MD5 b6f16a46a77200e35dfc99b62365f5e0
BLAKE2b-256 2e977cad3a0d06d6c0e6f4ae048d19f51728924baca3e70b6cd8c2a675feb81f

See more details on using hashes here.

File details

Details for the file ilovevideoeditor_sdk-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for ilovevideoeditor_sdk-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 579cc71ad9a01bd27fbb830aa8b60873539a51bcbd2003e4a8f27ccbb4b2a098
MD5 473dfea265fb29dd3ba350eefcaa41be
BLAKE2b-256 df839959389ebf986e74d20d6433791dcdd5bf9682985fa090c9398f1a4aae56

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 files

1.0.1

2 files

1.0.0

2 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