Skip to main content

A Python client for the Video Jungle API

Project description

Video Jungle API Client

This is a Python client for the Video Jungle API.

Video Jungle is a generative video creator. It allows you to generate custom videos via dynamic variables.

Let's say you want to generate daily astrology readings according to your user's astrological sign, lucky number, and lucky color.

Video Jungle allows you to pass in a value for each, and generate a unique video for that specific user.

See below for an example of how to build a generative video workflow using the API.

Installation

You can install the Video Jungle API client using pip:

pip install videojungle

Usage

Here's a simple example of how to use the Video Jungle API client for the Horoscope example:

from videojungle import ApiClient
import os

# Assumes you've set your API key as an environment variable
VJ_API_KEY = os.environ['VJ_API_KEY']

# Initialize API client
vj = ApiClient(token=VJ_API_KEY)

# Define your video generation task, along with variables to pass on generation
prompt = vj.prompts.generate(task="a horoscope reader who wants to leave the person excited about their future",
                            parameters=["zodiac sign", "lucky number", "date"])

# Alternatively, create your own prompt:
# prompt = vj.prompts.create(prompt="generate a horoscope for ${ZODIAC SIGN}, with lucky number ${LUCKY NUMBER} on ${DATE}",
#                            parameters=["ZODIAC SIGN", "LUCKY NUMBER", "DATE"], name="Horoscope Reader", task="a horoscope generator",
#                            persona="A psychic squid who sees into the future")

# Print out the generated prompt
print(prompt.value)

# Optionally, list out  generation methods available in your account
scripts = vj.scripts.list_options()
for script in scripts:
    print(f"{script.key}: {script.description}")

# Create a project to hold generated files, using our prompt we've generated
# and prompt-to-video as the asset genneration method
project = vj.projects.create(name="First Project", description="My first project", 
                             prompt_id=prompt.id, generation_method="prompt-to-video")

script_id = project.scripts[0].id
# Print out parameters required for generation
print(project.prompts[0]['parameters'])

# Generate a video from our created prompt with dynamic variables
video = vj.projects.generate(script_id=script_id, 
                             project_id=project.id,
                             parameters={"zodiac sign": "Aries",
                                         "lucky number": "7", # parameters are always strings
                                         "date": "2025-05-25"})
print(video)

# Get the video file ID from the generated video
asset_id = video["asset_id"]

# Save the video file to disk, automatically waits for generation
print(f"Generating video with asset id: {asset_id}")
video_file = vj.assets.download(asset_id, "generated_horoscope.mp4")
print(f"Video generated and saved to: {video_file}")

This example lives in the examples/ folder.

Collaboration Features

You can add collaborators to video edits to share editing access:

# Add a collaborator to an edit (owner only)
client.projects.add_collaborator("project_uuid", "edit_id", "collaborator@example.com")

# List all collaborators for an edit
collaborators = client.projects.list_collaborators("project_uuid", "edit_id")
for collaborator in collaborators:
    print(f"{collaborator.name} ({collaborator.email})")

# Remove a collaborator from an edit (owner only)
client.projects.remove_collaborator("project_uuid", "edit_id", "user_id")

License

This project is licensed under the MIT License.

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

videojungle-0.1.79.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

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

videojungle-0.1.79-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file videojungle-0.1.79.tar.gz.

File metadata

  • Download URL: videojungle-0.1.79.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for videojungle-0.1.79.tar.gz
Algorithm Hash digest
SHA256 5a2e7592ecf9e294c1aad185e29788fa59d2ce24aadc2b70d272e4edd0441475
MD5 d15a1a934ead3734aff9ce7097000f53
BLAKE2b-256 4dd5a433f609793c62cc24cbfa6965851e729e6ebc13f5e2b3f52550dcaf76ff

See more details on using hashes here.

File details

Details for the file videojungle-0.1.79-py3-none-any.whl.

File metadata

  • Download URL: videojungle-0.1.79-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.5

File hashes

Hashes for videojungle-0.1.79-py3-none-any.whl
Algorithm Hash digest
SHA256 95f71d5efccfc5f84dad5e69ba5f52502a16bd251678ec0cb9a4f24fee09b5af
MD5 baa5a2f4e621d0c8cdafeab6fb804d24
BLAKE2b-256 3c421dd6b30643e5916b4626c6c804e9fae1db91219e17b3b42e3058cd3bf7d4

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