Skip to main content

No project description provided

Project description

Open In Colab

Vikit.ai Software Development Kit

Vikit.ai SDK let you develop easily video generators leveraging generative AI and other AI models. You may see this as a langchain to orchestrate AI models and video editing tools. To see the video in full resolution, click on the GIF.

How to use Vikit.ai SDK?

You need a personal access token, which you can easily obtain from here.

  • Vikit.ai SDK is easy to test standalone using Google Colab.

  • It is easy to develop through Dev Containers. Dev container file and instructions are available here

Requirements for local installation

  • Python 3.8+
  • requirements.txt contains requirements for python environment
  • FFMPEG and FFPROBE (on mac, using homebrew: brew install ffmpeg and on linux, using apt-get: sudo apt-get install ffmpeg)

Code examples

Generating a video from simple text prompt, with background music and voice over narration:

from vikit.music_building_context import MusicBuildingContext
from vikit.prompt.prompt_factory import PromptFactory
from vikit.video.prompt_based_video import PromptBasedVideo
from vikit.video.video_build_settings import VideoBuildSettings

prompt = "Paris, the City of Light, is a global center of art, fashion, and culture, renowned for its iconic landmarks and romantic atmosphere. The Eiffel Tower, Louvre Museum, and Notre-Dame Cathedral are just a few of the city's must-see attractions."

video_build_settings = VideoBuildSettings(
    music_building_context=MusicBuildingContext(
        apply_background_music=True,
        generate_background_music=True,
    ),
    include_read_aloud_prompt=True,
    test_mode=False,
)

gw = video_build_settings.get_ml_models_gateway()
prompt = await PromptFactory(ml_gateway=gw).create_prompt_from_text(prompt)
video = PromptBasedVideo(prompt=prompt)
await video.build(build_settings=video_build_settings)

You can orchestrate several videos, using CompositeVideo(). Here is an example showing how to generate two videos from texts:

from vikit.video.composite_video import CompositeVideo
from vikit.video.raw_text_based_video import RawTextBasedVideo
from vikit.video.seine_transition import SeineTransition
from vikit.video.video_build_settings import VideoBuildSettings

prompt1 = "Paris, the City of Light, is a global center of art, fashion, and culture, renowned for its iconic landmarks and romantic atmosphere."
prompt2 = "The Eiffel Tower, Louvre Museum, and Notre-Dame Cathedral are just a few of the city's must-see attractions."

video_composite = CompositeVideo()

video1 = RawTextBasedVideo(prompt1)
video2 = RawTextBasedVideo(prompt2)
# Generate the transition to pass from the first to the second video
transit = SeineTransition(
    source_video=video1,
    target_video=video2,
)

video_composite.append_video(video1).append_video(transit).append_video(video2)

await video_composite.build(
    build_settings=VideoBuildSettings(
        test_mode=False,
        output_video_file_name="Composite.mp4",
    )
)

More elaborated examples can be found in script_example.py or in our Google Colab. For additional information, please refer to the Documentation.

Support

If you've encountered a bug, have a feature request, or have any suggestions to improve the project, we encourage you to open an issue on our GitHub repository. To do so, go to the "Issues" tab in our GitHub repository and click "New Issue." Please provide a clear title and detailed description, including steps to reproduce, environment setup, and any relevant screenshots or code snippets. If you have questions, reach out to us hello@vikit.ai.

Contribution guidelines

Wanna help? You're very welcome!:

  1. New PR: You submit your PR and explain clearly what you want to change. We will review your PR as soon as possible,
  2. PR validation: If the PR passes all the quality checks then Vikit.ai team assign a reviewer,
  3. PR review: If everything looks good, the reviewer(s) will approve the PR. Otherwise we will engage a discussion and iterate until completion,
  4. CI tests & Merge: Once the PR is approved, which means all the CI tests passm someone from the vikit team merge the code to the main branch.

How to contribute?

  • Fork vikit repository into your own GitHub account.
  • Create a new branch and make your changes to the code.
  • Commit your changes and push the branch to your forked repository.
  • Open a pull request on our repository.

General guidelines and standards

Please make sure your changes are consistent with these common guidelines:

Disclaimer

  • The content generated by the models in this repository is the sole responsibility of the user who initiates the generation. Users must ensure that their use of the generated content complies with all applicable laws, regulations, and ethical guidelines. The project contributors are not liable for any misuse, harm, or legal implications resulting from the use of the models provided. Users are encouraged to exercise caution and discretion when using generative AI tools.
  • If you use the default background music, which is royalty free, you still must comply with Pixabay Content License Agreement (https://pixabay.com/fr/service/license-summary/).
  • Too many parallel video generation processes might slow things down, just keep an eye on your local CPU usage. Happy coding! 🚀😊

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

vikit_sdk-0.1.22.tar.gz (73.1 kB view details)

Uploaded Source

Built Distribution

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

vikit_sdk-0.1.22-py3-none-any.whl (131.9 kB view details)

Uploaded Python 3

File details

Details for the file vikit_sdk-0.1.22.tar.gz.

File metadata

  • Download URL: vikit_sdk-0.1.22.tar.gz
  • Upload date:
  • Size: 73.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/23.6.0

File hashes

Hashes for vikit_sdk-0.1.22.tar.gz
Algorithm Hash digest
SHA256 737dcfd22bd755009af443afbab2d48ad0dab2def747109eb417136f0ca5ba36
MD5 7918eb8df0130170c45f8a45530406df
BLAKE2b-256 e821ddba9a5a3499f1322b3e22bb0cca295e32540f8a66b9c71fc21c4123bbbb

See more details on using hashes here.

File details

Details for the file vikit_sdk-0.1.22-py3-none-any.whl.

File metadata

  • Download URL: vikit_sdk-0.1.22-py3-none-any.whl
  • Upload date:
  • Size: 131.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/23.6.0

File hashes

Hashes for vikit_sdk-0.1.22-py3-none-any.whl
Algorithm Hash digest
SHA256 f752b0dd639ef6c678a9b20116f90a699b76fd8186c3f4430730b8de59631a0d
MD5 8a07a4296b3d15be9207c5bb1fbc7076
BLAKE2b-256 2e248eb5937f2e7c8c921c3481df55f60d24cb5fe3f4192f33d3127b2818cbff

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