Skip to main content

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.

PyPI version Python versions License: MIT Docs

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

Project details


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.1.tar.gz (86.5 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.1-py3-none-any.whl (262.5 kB view details)

Uploaded Python 3

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

Hashes for ilovevideoeditor_sdk-1.0.1.tar.gz
Algorithm Hash digest
SHA256 812b1fce567cd8a421e7d78bd02cde43264c0264971e7bb887255effe75fa1e6
MD5 363c3b9a616f96110c35366cef3cd103
BLAKE2b-256 0d81873db9f52c781fd105115aea8a9ba65129e95f243517a7cd38414c800459

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ilovevideoeditor_sdk-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 78fd9497027e7a86eb4eae745abc106fed191e6cc692274f846b5c4580a0c87f
MD5 367824a8e3519617f95f6f882d63ba86
BLAKE2b-256 54903a58e67faf50c33ce30bbcc97f0819d09052d82c63f91ed1cde177819d41

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page