{"id":15551410,"url":"https://github.com/videokit-ai/videokit","last_synced_at":"2025-04-13T00:49:20.873Z","repository":{"id":61255723,"uuid":"549797772","full_name":"videokit-ai/videokit","owner":"videokit-ai","description":"Cross-platform, low-code media SDK for Unity Engine.","archived":false,"fork":false,"pushed_at":"2025-04-01T09:48:41.000Z","size":143429,"stargazers_count":132,"open_issues_count":2,"forks_count":15,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-13T00:48:54.413Z","etag":null,"topics":["computer-vision","natml","unity3d","user-generated-content","video-editing","video-effects","video-filter","video-recording"],"latest_commit_sha":null,"homepage":"https://videokit.ai","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/videokit-ai.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-11T18:53:06.000Z","updated_at":"2025-04-07T09:47:17.000Z","dependencies_parsed_at":"2023-02-16T10:01:38.930Z","dependency_job_id":"31936f63-8933-4d14-9ea1-fdb79135d092","html_url":"https://github.com/videokit-ai/videokit","commit_stats":{"total_commits":57,"total_committers":1,"mean_commits":57.0,"dds":0.0,"last_synced_commit":"27f4f1d84d76dadf901ffe43617f3b791ea7b951"},"previous_names":["videokit-ai/videokit","natmlx/videokit"],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videokit-ai%2Fvideokit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videokit-ai%2Fvideokit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videokit-ai%2Fvideokit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/videokit-ai%2Fvideokit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/videokit-ai","download_url":"https://codeload.github.com/videokit-ai/videokit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650436,"owners_count":21139672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","natml","unity3d","user-generated-content","video-editing","video-effects","video-filter","video-recording"],"created_at":"2024-10-02T14:04:52.261Z","updated_at":"2025-04-13T00:49:20.853Z","avatar_url":"https://github.com/videokit-ai.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VideoKit\n\n[![Better Stack Badge](https://uptime.betterstack.com/status-badges/v1/monitor/1o2on.svg)](https://uptime.betterstack.com/?utm_source=status_badge)\n\nVideoKit is the only full feature user-generated content solution for Unity Engine. VideoKit allows:\n\n- **Video recording**. Record MP4 videos, animated GIF images, WEBM videos, ProRes videos, waveform audio, JPEG image sequences, and more to come!\n\n- **Camera streaming**. Stream the camera preview with fine-grained control over focus, exposure, zoom, and more.\n\n- **Microphone streaming**. Stream microphone audio with control over the audio format and with echo cancellation.\n\n- **Social Sharing**. Share images and videos with the native share sheet, and save to the camera roll.\n\n- **Conversational Interfaces**. Build user interfaces with text-to-speech, speech-to-text, and more.\n\n- **Cross-platform**. Build once, deploy on Android, iOS, macOS, WebGL, and Windows.\n\n- **Source Available**. VideoKit is distributed with its C# source code available for inspection.\n\n## Installing VideoKit\nAdd the following items to your Unity project's `Packages/manifest.json`:\n```json\n{\n  \"scopedRegistries\": [\n    {\n      \"name\": \"VideoKit\",\n      \"url\": \"https://registry.npmjs.com\",\n      \"scopes\": [\"ai.videokit\"]\n    },\n    {\n      \"name\": \"Function\",\n      \"url\": \"https://registry.npmjs.com\",\n      \"scopes\": [\"ai.fxn\"]\n    }\n  ],\n  \"dependencies\": {\n    \"ai.videokit.videokit\": \"0.0.22\",\n  }\n}\n```\n\n## Retrieving your Access Key\nTo use VideoKit, you will need to generate an access key. First, head over to [videokit.ai](https://videokit.ai) to create an account by logging in. Once you do, generate an access key:\n\n![generating an access key](api-key.gif)\n\nThen add the key to your Unity project in `Project Settings \u003e VideoKit`:\n\n![set the access key](https://www.videokit.ai/key.png)\n\n\u003e [!CAUTION]\n\u003e If your Unity project is open-source, make sure to add `ProjectSettings/VideoKit.asset` to your `.gitignore` file to keep your VideoKit access key private.\n\n## Using VideoKit\nHere are a few things you can do with VideoKit:\n\n### Social Sharing\nShare images, audio, and video files with the native share sheet with the `MediaAsset.Share` method:\n```csharp\nTexture2D image = ...\nImageAsset asset = await MediaAsset.FromTexture(image);\nstring receiverAppId = await asset.Share();\n```\n\n### Saving to the Camera Roll\nSave images and videos to the camera roll with the `MediaAsset.SaveToCameraRoll` method:\n```csharp\nTexture2D image = ...\nImageAsset asset = await MediaAsset.FromTexture(image);\nbool saved = await asset.SaveToCameraRoll();\n```\n\n### Picking from the Camera Roll\nPick images and videos from the camera roll with the `MediaAsset.FromCameraRoll\u003cT\u003e` method:\n```csharp\n// This will present the native gallery UI\nvar asset = await MediaAsset.FromCameraRoll\u003cImageAsset\u003e() as ImageAsset;\nTexture2D image = await asset.ToTexture();\n// Do stuff with `image`...\n```\n\n### Camera Streaming\nStream the camera preview with the `VideoKitCameraManager` component:\n\n![stream the camera preview](https://www.videokit.ai/camera.gif)\n\n### Record Videos\nRecord MP4, HEVC, WEBM videos; animated GIF images; JPEG image sequences; and WAV audio files with the `VideoKitRecorder` component:\n\n![recording a video](https://www.videokit.ai/video-recording.gif)\n\n### Human Texture\nRemove the background from the camera preview with the `VideoKitCameraManager` component:\n\n![using the human texture](https://www.videokit.ai/human-texture.gif)\n\n### Speech-to-Text\nCaption audio with the `AudioAsset.Caption` method:\n```csharp\nAudioClip clip = ...;\nvar asset = await MediaAsset.FromAudioClip(clip);\nvar caption = await asset.Caption();\nDebug.Log(caption);\n```\n\n### Text Commands\nConvert a natural language prompt into a `struct` with the `TextAsset.To\u003cT\u003e` method. This enables features like text commands, and can be combined with audio captioning for voice control:\n```csharp\nusing System.ComponentModel; // for `DescriptionAttribute`\nusing VideoKit.Assets;\n\nstruct Command { // Define this however you want\n\n    [Description(@\"The user's name\")]\n    public string name;\n\n    [Description(@\"The user's age\")]\n    public int age;\n}\n\nasync void ParseCommand () {\n    var prompt = \"My name is Jake and I'm thirteen years old.\";\n    var asset = await MediaAsset.FromText(prompt);\n    var command = await asset.To\u003cCommand\u003e();\n    // command = { \"name\": \"Jake\", \"age\": 13 }\n}\n```\n\n___\n\n## Requirements\n- Unity 2022.3+\n\n## Supported Platforms\n- Android API Level 24+\n- iOS 14+\n- macOS 12+ (Apple Silicon and Intel)\n- Windows 10+ (64-bit only)\n- WebGL (requires Unity 6):\n  - Chrome 91+\n  - Firefox 90+\n  - Safari 16.4+\n\n## Resources\n- Join the [VideoKit community on Discord](https://www.videokit.ai/community).\n- See the [VideoKit documentation](https://www.videokit.ai).\n- Check out [VideoKit on GitHub](https://github.com/videokit-ai).\n- Contact us at [hi@videokit.ai](mailto:hi@videokit.ai).\n\nThank you very much!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvideokit-ai%2Fvideokit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvideokit-ai%2Fvideokit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvideokit-ai%2Fvideokit/lists"}