Auto-generate demo videos from your Pull Requests to help stakeholders understand code changes.
Add this workflow to your repository (.github/workflows/pr-video.yml):
name: PR Video
on:
pull_request:
types: [opened, synchronize]
jobs:
generate-video:
runs-on: ubuntu-latest
if: github.event.pull_request.draft == false
steps:
- name: Generate PR Video
uses: jmrobles/prvideo@v1
with:
api-key: ${{ secrets.PRVIDEO_API_KEY }}The action uses the public API at prvideo.dev by default. You need an API key from prvideo.dev to use the service.
| Input | Description | Required | Default |
|---|---|---|---|
api-endpoint |
URL of the PR Video API | No | https://prvideo.dev |
api-key |
API key for authentication | Yes | - |
github-token |
GitHub/Gitea token for API access | No | ${{ github.token }} |
platform |
Git platform: github or gitea |
No | github |
base-url |
Base URL of Git platform (required for Gitea) | No | - |
| Output | Description |
|---|---|
video-url |
URL of the generated video |
summary |
Summary of the PR changes |
To use your own PR Video server:
- uses: jmrobles/prvideo@v1
with:
api-endpoint: https://your-server.com
api-key: ${{ secrets.PR_VIDEO_API_KEY }}PR Video works with Gitea instances that have Gitea Actions enabled (Gitea 1.19+):
- uses: jmrobles/prvideo@v1
with:
api-key: ${{ secrets.PRVIDEO_API_KEY }}
platform: gitea
base-url: https://your-gitea-instance.com
github-token: ${{ secrets.GIT_TOKEN }}Note: Gitea reserves the
GITEA_prefix for system variables, so useGIT_TOKENinstead.
- When a PR is opened or updated, the action calls the PR Video API
- The API fetches PR data (title, description, diff, commits)
- A video script is generated explaining the changes
- The API renders an MP4 video
- The video is uploaded to a GitHub Release
- A comment is posted on the PR with the video link
MIT