PHPackages                             joggapp/laravel-source - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. joggapp/laravel-source

ActiveLibrary[API Development](/categories/api)

joggapp/laravel-source
======================

Laravel package for Jogg Source API

v4.0.1(2mo ago)043—0%MITPHPPHP ^8.4

Since Jan 26Pushed 3w ago3 watchersCompare

[ Source](https://github.com/JoggApp/laravel-source)[ Packagist](https://packagist.org/packages/joggapp/laravel-source)[ RSS](/packages/joggapp-laravel-source/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (10)Dependencies (4)Versions (28)Used By (0)

Installation
------------

[](#installation)

- Only available via our Satis for now.
- You can install this package via composer using this command:

```
composer require joggapp/laravel-source
```

- The package will automatically register itself.
- You can publish the config file using the following command:

```
php artisan vendor:publish --provider="JoggApp\Source\SourceServiceProvider"
```

This will create the package's config file called `laravel-source.php` in the `config` directory. These are the contents of the published config file:

```
return [
    'access_token' => env('LARAVEL_SOURCE_ACCESS_TOKEN'),

    'secret_key' => env('LARAVEL_SOURCE_SECRET_KEY'),

    'webhook_processing_queue' => 'default',
];
```

API
---

[](#api)

All methods return an `Illuminate\Http\Client\Response` object, allowing you to access status codes, headers, and the response body.

- Encoding: `Source::encode(string $clientReferenceId, string $url, array $config): Response`
- Transcription: `Source::transcribe(string $clientReferenceId, string $url, array $config): Response`
- Caption: `Source::caption(string $clientReferenceId, string $url, array $config): Response`
- Add Caption to Video: `Source::addCaptionToVideo(string $clientReferenceId, array $config): Response`
- Clipping: `Source::clip(string $clientReferenceId, string $url, array $config): Response`
- Stitching: `Source::stitch(string $clientReferenceId, array $files, array $config): Response`
- Video Info: `Source::info(string $url): VideoInfo`

### Example Usage

[](#example-usage)

```
$response = Source::encode('unique-ref-id', 'https://example.com/video.mp4', []);

if ($response->successful()) {
    $data = $response->json();
}

$statusCode = $response->status();
$headers = $response->headers();
```

Events on placing order
-----------------------

[](#events-on-placing-order)

All the following events have the `string $clientReferenceId` and an `Illuminate\Http\Client\Response $response` properties which you can access in your listeners.

The `$response` property contains the full HTTP response object, allowing you to access the status code, headers, and body:

```
event->response->status()
event->response->json()
event->response->headers()
```

- Captions: `SourceCaptionOrderPlaced` &amp; `SourceCaptionOrderFailed`
- Encoding: `SourceEncodingOrderPlaced` &amp; `SourceEncodingOrderFailed`
- Transcriptions: `SourceTranscriptionOrderPlaced` &amp; `SourceTranscriptionOrderFailed`
- Burn Captions: `SourceAddCaptionToVideoOrderPlaced` &amp; `SourceAddCaptionToVideoOrderFailed`
- Clipping: `SourceClipOrderPlaced` &amp; `SourceClipOrderFailed`
- Stitching: `SourceStitchOrderPlaced` &amp; `SourceStitchOrderFailed`

Webhooks
--------

[](#webhooks)

- You can define the webhook route in the `sourceWebhook` route macro that is provided by this package: `Route::sourceWebhook('your-webhook-route')->middleware('validate.source.signature');`
- The middleware above will automatically verify the webhook signature using the webhook secret set in the `laravel-source.php` config file.
- The following events fire when their respective webhook is received. All the events have a `array $request` prop that contains the payload from the webhook.
- 'encode.pending' =&gt; `SourceEncodingPendingWebhookReceived`
- 'encode.working' =&gt; `SourceEncodingWorkingWebhookReceived`
- 'encode.finished' =&gt; `SourceEncodingFinishedWebhookReceived`
- 'encode.failed' =&gt; `SourceEncodingFailedWebhookReceived`
- 'encode.files' =&gt; `SourceEncodingFilesWebhookReceived`
- 'transcribe.pending' =&gt; `SourceTranscriptionPendingWebhookReceived`
- 'transcribe.working' =&gt; `SourceTranscriptionWorkingWebhookReceived`
- 'transcribe.finished' =&gt; `SourceTranscriptionFinishedWebhookReceived`
- 'transcribe.failed' =&gt; `SourceTranscriptionFailedWebhookReceived`
- 'transcribe.files' =&gt; `SourceTranscriptionFilesWebhookReceived`
- 'caption.pending' =&gt; `SourceCaptionPendingWebhookReceived`
- 'caption.working' =&gt; `SourceCaptionWorkingWebhookReceived`
- 'caption.finished' =&gt; `SourceCaptionFinishedWebhookReceived`
- 'caption.failed' =&gt; `SourceCaptionFailedWebhookReceived`
- 'caption.files' =&gt; `SourceCaptionFilesWebhookReceived`

Testing
-------

[](#testing)

You can run the tests with:

```
vendor/bin/phpunit
```

Changelog
---------

[](#changelog)

Please see the [CHANGELOG](CHANGELOG.md) for more information about what has changed recently.

Security
--------

[](#security)

If you discover any security related issues, please email them to  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Harish Toshniwal](https://github.com/introwit)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see the [License File](LICENSE.txt) for more information.

###  Health Score

49

—

FairBetter than 94% of packages

Maintenance90

Actively maintained with recent releases

Popularity11

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 67.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~46 days

Recently: every ~34 days

Total

26

Last Release

81d ago

Major Versions

v0.10.0 → v1.0.02024-03-13

v1.0.0 → v2.0.02025-03-26

v2.2.0 → v3.x-dev2025-11-04

v3.0.0 → v4.0.02026-03-20

PHP version history (3 changes)v0.1PHP ^8.1

v1.0.0PHP ^8.2

v2.0.0PHP ^8.4

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/11228182?v=4)[Harish Toshniwal](/maintainers/introwit)[@introwit](https://github.com/introwit)

---

Top Contributors

[![introwit](https://avatars.githubusercontent.com/u/11228182?v=4)](https://github.com/introwit "introwit (21 commits)")[![danielluong](https://avatars.githubusercontent.com/u/6686376?v=4)](https://github.com/danielluong "danielluong (10 commits)")

---

Tags

apilaravelpackagesourcejogg

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/joggapp-laravel-source/health.svg)

```
[![Health](https://phpackages.com/badges/joggapp-laravel-source/health.svg)](https://phpackages.com/packages/joggapp-laravel-source)
```

###  Alternatives

[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

2.9k36.4M124](/packages/darkaonline-l5-swagger)[knuckleswtf/scribe

Generate API documentation for humans from your Laravel codebase.✍

2.3k13.5M59](/packages/knuckleswtf-scribe)[aimeos/aimeos-laravel

Cloud native, API first Laravel eCommerce package with integrated AI for ultra-fast online shops, marketplaces and complex B2B projects

8.6k220.7k5](/packages/aimeos-aimeos-laravel)[cloudcreativity/laravel-json-api

JSON API (jsonapi.org) support for Laravel applications.

7901.1M5](/packages/cloudcreativity-laravel-json-api)[mozex/anthropic-laravel

Laravel integration for the Anthropic API: facade, config publishing, install command, testing fakes, messages, streaming, tool use, thinking, and batches.

74287.1k1](/packages/mozex-anthropic-laravel)[joisarjignesh/bigbluebutton

BigBlueButton Server API Library for Laravel

162151.8k1](/packages/joisarjignesh-bigbluebutton)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
