WP Manifestindependent plugin directory
manifest / forms / gravity-forms-bunny-stream-upload

Gravity Forms Bunny Stream Upload

★ 0stars
1.0.0latest · 7mo ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/carkeek-studios/gravity-forms-bunny-stream-upload/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Adds a Bunny Video field to Gravity Forms that lets visitors upload videos directly from their browser to Bunny Stream via the tus resumable-upload protocol — no server-side buffering required.


Installation

  1. Download or clone this repository and zip it.
  2. Go to WordPress Admin → Plugins → Add New → Upload Plugin.
  3. Upload the zip and activate Gravity Forms Bunny Stream Upload.

Configuration

Credentials are resolved in this order of priority:

  1. wp-config.php constants (most secure)
  2. Form settings (per-form override)
  3. Plugin settings (global defaults)

Method 1: wp-config.php constants (recommended for security)

define( 'BUNNY_STREAM_API_KEY',    'your-api-key-here' );
define( 'BUNNY_STREAM_LIBRARY_ID', '123456' );
define( 'BUNNY_CDN_HOSTNAME',      'vz-xxxxxxxx-xxx.b-cdn.net' );

Constants always win and never touch the database.

Method 2: Plugin settings (global defaults)

Go to Forms → Settings → Bunny Stream Upload and enter:

Field Description
API Key Found in Bunny.net dashboard → Stream → Your Library → API
Library ID (default) Numeric ID of your Stream library
CDN Hostname (default) e.g. vz-xxxxxxxx-xxx.b-cdn.net

These act as global defaults for all forms that do not have their own library configured.

Method 3: Per-form settings

Each form can target a different Bunny Stream library:

  1. Open a form in the Gravity Forms editor.
  2. Go to Settings → Bunny Stream Upload.
  3. Enter the Library ID (and optionally CDN Hostname and API Key) for that form.
  4. Leave fields blank to inherit the global plugin defaults.

This allows you to upload videos from different forms into separate Bunny libraries.


Getting Your Bunny Stream Credentials

  1. Log in at dash.bunny.net.
  2. Click Stream in the sidebar.
  3. Select or create a library.
  4. Open the API tab of the library:
    • API Key — copy the key shown there.
    • Library ID — the numeric value shown in the URL or library details.
  5. In the library CDN settings, copy the Video CDN Hostname (e.g. vz-12345-678.b-cdn.net).

Adding the Field to a Form

  1. Go to Forms → New Form (or edit an existing form).
  2. In the field picker, find Bunny Video Upload under Advanced Fields.
  3. Drag it onto your form.
  4. In the field settings sidebar you can configure:
    • Allowed File Extensions — comma-separated (e.g. mp4,mov,webm). Leave blank to allow all video types.
    • Max File Size (MB) — browser-side size check before upload begins. Leave blank for no limit.

How It Works

  1. The visitor selects a video file — the field validates extension and size in the browser immediately.
  2. On form submit, the field intercepts the submission and calls the server to create a video object in Bunny Stream (using the library configured for that form).
  3. The browser uploads directly to Bunny Stream over tus (resumable, chunked, 50 MB chunks by default) — the video never passes through your server.
  4. Once the upload completes, the hidden field is populated with filename|videoGuid|libraryId and the form submits normally.
  5. The Gravity Forms entry stores that value, which the plugin renders as links to the Bunny Stream dashboard and the video player.

Displaying Videos

The entry detail view automatically renders links for each uploaded video:

  • View on Bunny Stream — opens the video in the Bunny dashboard.
  • Play — opens the iframe player URL.

To embed a video in a template or shortcode, use the helper function:

// $entry_id — the Gravity Forms entry ID
// $field_id — the ID of the Bunny Video field
echo gf_bunny_get_video( $entry_id, $field_id, 640, 360 );

Support


License

Provided as-is for integration purposes.

Releases

1 release.

Tag
Published
1.0.0 latest
Feb 25, 2026 7mo ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.