PHPackages                             api-video/php-api-client - 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. [Image &amp; Media](/categories/media)
4. /
5. api-video/php-api-client

ActiveLibrary[Image &amp; Media](/categories/media)

api-video/php-api-client
========================

PHP client for api.video web services.

v1.4.7(1y ago)41104.6k↓26.5%6[2 PRs](https://github.com/apivideo/api.video-php-client/pulls)MITPHPPHP ^7.3 || ^8.0

Since Jun 4Pushed 1y ago1 watchersCompare

[ Source](https://github.com/apivideo/api.video-php-client)[ Packagist](https://packagist.org/packages/api-video/php-api-client)[ Docs](https://api.video/)[ RSS](/packages/api-video-php-api-client/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (10)Dependencies (6)Versions (110)Used By (0)

[![badge](https://camo.githubusercontent.com/e030682d474abc614a26e6557ad1dcaa129081a39488e352393b36321f77e646/68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f666f6c6c6f772f6170695f766964656f3f7374796c653d736f6369616c)](https://twitter.com/intent/follow?screen_name=api_video) [![badge](https://camo.githubusercontent.com/50c7541003c2040ec9128138739f3a8b39030b0e785325a57667075d38ac48e6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f617069766964656f2f6170692e766964656f2d7068702d636c69656e743f7374796c653d736f6369616c)](https://github.com/apivideo/api.video-php-client) [![badge](https://camo.githubusercontent.com/d1dcce3d16030174a63b628f715ba8ed85b99adc906b10c2181015a040682a85/68747470733a2f2f696d672e736869656c64732e696f2f646973636f757273652f746f706963733f7365727665723d6874747073253341253246253246636f6d6d756e6974792e6170692e766964656f)](https://community.api.video)[![](https://github.com/apivideo/.github/raw/main/assets/apivideo_banner.png)](https://github.com/apivideo/.github/blob/main/assets/apivideo_banner.png)

api.video PHP client
====================

[](#apivideo-php-client)

[api.video](https://api.video) is the video infrastructure for product builders. Lightning fast video APIs for integrating, scaling, and managing on-demand &amp; low latency live streaming features in your app.

Table of contents
-----------------

[](#table-of-contents)

- [Project description](#project-description)
- [Getting started](#getting-started)
    - [Installation](#installation)
    - [Initialization](#initialization)
        - [Symfony HTTP client example](#symfony-http-client-example)
    - [Code sample](#code-sample)
        - [Client initialization](#client-initialization)
        - [Create a video](#create-a-video)
        - [Upload a video](#upload-a-video)
- [Documentation](#documentation)
    - [API Endpoints](#api-endpoints)
        - [AnalyticsApi](#analyticsapi)
        - [CaptionsApi](#captionsapi)
        - [ChaptersApi](#chaptersapi)
        - [LiveStreamsApi](#livestreamsapi)
        - [PlayerThemesApi](#playerthemesapi)
        - [SummariesApi](#summariesapi)
        - [TagsApi](#tagsapi)
        - [UploadTokensApi](#uploadtokensapi)
        - [VideosApi](#videosapi)
        - [WatermarksApi](#watermarksapi)
        - [WebhooksApi](#webhooksapi)
    - [Models](#models)
    - [Authentication](#authentication)
    - [Chunks](#chunks)
    - [Tests](#tests)
- [Have you gotten use from this API client?](#have-you-gotten-use-from-this-api-client-)
- [Contribution](#contribution)

Project description
-------------------

[](#project-description)

api.video's PHP API client streamlines the coding process. Chunking files is handled for you, as is pagination and refreshing your tokens.

Getting started
---------------

[](#getting-started)

### Installation

[](#installation)

```
composer require api-video/php-api-client
```

### Initialization

[](#initialization)

Due to PHP PSR support, you must initialize the client with 3 to 5 arguments:

1. Base URI, which can be either `https://sandbox.api.video` or `https://ws.api.video`
2. Your API key, available on your account
3. HTTP client
4. (Request factory)
5. (Stream factory)

Note : If the HTTP client also implements RequestFactoryInterface and StreamFactoryInterface, then it is not necessary to pass this object in 4th and 5th argument.

#### Symfony HTTP client example

[](#symfony-http-client-example)

The Symfony HTTP client has the triple advantage of playing the role of **HTTP client**, but also of **request factory** and **stream factory**. It is therefore sufficient to pass it as an argument 3 times.

If the HTTP client isn't yet in your project, you can add it with:

```
composer require symfony/http-client
composer require nyholm/psr7
```

### Code sample

[](#code-sample)

#### Client initialization

[](#client-initialization)

```

```

#### Create a video

[](#create-a-video)

```
$payload = (new VideoCreationPayload())
    ->setTitle('Test video creation');

// the `$client` must already be initialized.
$video = $client->videos()->create($payload);
```

#### Upload a video

[](#upload-a-video)

```
$payload = (new VideoCreationPayload())
    ->setTitle('Test video creation');

$video = $client->videos()->create($payload);

// the `$client` must already be initialized.
$client->videos()->upload(
    $video->getVideoId(),
    new SplFileObject(__DIR__.'/../earth.mp4')
);
```

Documentation
-------------

[](#documentation)

### API Endpoints

[](#api-endpoints)

#### AnalyticsApi

[](#analyticsapi)

MethodDescriptionHTTP request[**getAggregatedMetrics()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/AnalyticsApi.md#getAggregatedMetrics)Retrieve aggregated metrics**GET** `/data/metrics/{metric}/{aggregation}`[**getMetricsBreakdown()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/AnalyticsApi.md#getMetricsBreakdown)Retrieve metrics in a breakdown of dimensions**GET** `/data/buckets/{metric}/{breakdown}`[**getMetricsOverTime()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/AnalyticsApi.md#getMetricsOverTime)Retrieve metrics over time**GET** `/data/timeseries/{metric}`#### CaptionsApi

[](#captionsapi)

MethodDescriptionHTTP request[**upload()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/CaptionsApi.md#upload)Upload a caption**POST** `/videos/{videoId}/captions/{language}`[**get()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/CaptionsApi.md#get)Retrieve a caption**GET** `/videos/{videoId}/captions/{language}`[**update()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/CaptionsApi.md#update)Update a caption**PATCH** `/videos/{videoId}/captions/{language}`[**delete()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/CaptionsApi.md#delete)Delete a caption**DELETE** `/videos/{videoId}/captions/{language}`[**list()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/CaptionsApi.md#list)List video captions**GET** `/videos/{videoId}/captions`#### ChaptersApi

[](#chaptersapi)

MethodDescriptionHTTP request[**upload()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/ChaptersApi.md#upload)Upload a chapter**POST** `/videos/{videoId}/chapters/{language}`[**get()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/ChaptersApi.md#get)Retrieve a chapter**GET** `/videos/{videoId}/chapters/{language}`[**delete()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/ChaptersApi.md#delete)Delete a chapter**DELETE** `/videos/{videoId}/chapters/{language}`[**list()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/ChaptersApi.md#list)List video chapters**GET** `/videos/{videoId}/chapters`#### LiveStreamsApi

[](#livestreamsapi)

MethodDescriptionHTTP request[**create()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/LiveStreamsApi.md#create)Create live stream**POST** `/live-streams`[**get()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/LiveStreamsApi.md#get)Retrieve live stream**GET** `/live-streams/{liveStreamId}`[**update()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/LiveStreamsApi.md#update)Update a live stream**PATCH** `/live-streams/{liveStreamId}`[**delete()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/LiveStreamsApi.md#delete)Delete a live stream**DELETE** `/live-streams/{liveStreamId}`[**list()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/LiveStreamsApi.md#list)List all live streams**GET** `/live-streams`[**uploadThumbnail()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/LiveStreamsApi.md#uploadThumbnail)Upload a thumbnail**POST** `/live-streams/{liveStreamId}/thumbnail`[**deleteThumbnail()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/LiveStreamsApi.md#deleteThumbnail)Delete a thumbnail**DELETE** `/live-streams/{liveStreamId}/thumbnail`[**complete()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/LiveStreamsApi.md#complete)Complete a live stream**PUT** `/live-streams/{liveStreamId}/complete`#### PlayerThemesApi

[](#playerthemesapi)

MethodDescriptionHTTP request[**create()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/PlayerThemesApi.md#create)Create a player**POST** `/players`[**get()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/PlayerThemesApi.md#get)Retrieve a player**GET** `/players/{playerId}`[**update()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/PlayerThemesApi.md#update)Update a player**PATCH** `/players/{playerId}`[**delete()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/PlayerThemesApi.md#delete)Delete a player**DELETE** `/players/{playerId}`[**list()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/PlayerThemesApi.md#list)List all player themes**GET** `/players`[**uploadLogo()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/PlayerThemesApi.md#uploadLogo)Upload a logo**POST** `/players/{playerId}/logo`[**deleteLogo()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/PlayerThemesApi.md#deleteLogo)Delete logo**DELETE** `/players/{playerId}/logo`#### SummariesApi

[](#summariesapi)

MethodDescriptionHTTP request[**create()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/SummariesApi.md#create)Generate video summary**POST** `/summaries`[**update()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/SummariesApi.md#update)Update summary details**PATCH** `/summaries/{summaryId}/source`[**delete()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/SummariesApi.md#delete)Delete video summary**DELETE** `/summaries/{summaryId}`[**list()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/SummariesApi.md#list)List summaries**GET** `/summaries`[**getSummarySource()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/SummariesApi.md#getSummarySource)Get summary details**GET** `/summaries/{summaryId}/source`#### TagsApi

[](#tagsapi)

MethodDescriptionHTTP request[**list()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/TagsApi.md#list)List all video tags**GET** `/tags`#### UploadTokensApi

[](#uploadtokensapi)

MethodDescriptionHTTP request[**createToken()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/UploadTokensApi.md#createToken)Generate an upload token**POST** `/upload-tokens`[**getToken()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/UploadTokensApi.md#getToken)Retrieve upload token**GET** `/upload-tokens/{uploadToken}`[**deleteToken()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/UploadTokensApi.md#deleteToken)Delete an upload token**DELETE** `/upload-tokens/{uploadToken}`[**list()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/UploadTokensApi.md#list)List all active upload tokens**GET** `/upload-tokens`#### VideosApi

[](#videosapi)

MethodDescriptionHTTP request[**create()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#create)Create a video object**POST** `/videos`[**upload()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#upload)Upload a video**POST** `/videos/{videoId}/source`[**uploadWithUploadToken()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#uploadWithUploadToken)Upload with an delegated upload token**POST** `/upload`[**get()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#get)Retrieve a video object**GET** `/videos/{videoId}`[**update()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#update)Update a video object**PATCH** `/videos/{videoId}`[**delete()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#delete)Delete a video object**DELETE** `/videos/{videoId}`[**list()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#list)List all video objects**GET** `/videos`[**uploadThumbnail()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#uploadThumbnail)Upload a thumbnail**POST** `/videos/{videoId}/thumbnail`[**pickThumbnail()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#pickThumbnail)Set a thumbnail**PATCH** `/videos/{videoId}/thumbnail`[**getDiscarded()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#getDiscarded)Retrieve a discarded video object**GET** `/discarded/videos/{videoId}`[**getStatus()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#getStatus)Retrieve video status and details**GET** `/videos/{videoId}/status`[**listDiscarded()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#listDiscarded)List all discarded video objects**GET** `/discarded/videos`[**updateDiscarded()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/VideosApi.md#updateDiscarded)Update a discarded video object**PATCH** `/discarded/videos/{videoId}`#### WatermarksApi

[](#watermarksapi)

MethodDescriptionHTTP request[**upload()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/WatermarksApi.md#upload)Upload a watermark**POST** `/watermarks`[**delete()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/WatermarksApi.md#delete)Delete a watermark**DELETE** `/watermarks/{watermarkId}`[**list()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/WatermarksApi.md#list)List all watermarks**GET** `/watermarks`#### WebhooksApi

[](#webhooksapi)

MethodDescriptionHTTP request[**create()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/WebhooksApi.md#create)Create Webhook**POST** `/webhooks`[**get()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/WebhooksApi.md#get)Retrieve Webhook details**GET** `/webhooks/{webhookId}`[**delete()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/WebhooksApi.md#delete)Delete a Webhook**DELETE** `/webhooks/{webhookId}`[**list()**](https://github.com/apivideo/api.video-php-client/blob/main/docs/Api/WebhooksApi.md#list)List all webhooks**GET** `/webhooks`### Models

[](#models)

- [AccessToken](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AccessToken.md)
- [AdditionalBadRequestErrors](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AdditionalBadRequestErrors.md)
- [AnalyticsAggregatedMetricsResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsAggregatedMetricsResponse.md)
- [AnalyticsAggregatedMetricsResponseContext](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsAggregatedMetricsResponseContext.md)
- [AnalyticsAggregatedMetricsResponseContextTimeframe](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsAggregatedMetricsResponseContextTimeframe.md)
- [AnalyticsData](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsData.md)
- [AnalyticsMetricsBreakdownResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsMetricsBreakdownResponse.md)
- [AnalyticsMetricsBreakdownResponseContext](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsMetricsBreakdownResponseContext.md)
- [AnalyticsMetricsBreakdownResponseData](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsMetricsBreakdownResponseData.md)
- [AnalyticsMetricsOverTimeResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsMetricsOverTimeResponse.md)
- [AnalyticsMetricsOverTimeResponseContext](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsMetricsOverTimeResponseContext.md)
- [AnalyticsMetricsOverTimeResponseData](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsMetricsOverTimeResponseData.md)
- [AnalyticsPlays400Error](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsPlays400Error.md)
- [AnalyticsPlaysResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AnalyticsPlaysResponse.md)
- [AuthenticatePayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/AuthenticatePayload.md)
- [BadRequest](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/BadRequest.md)
- [BytesRange](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/BytesRange.md)
- [Caption](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/Caption.md)
- [CaptionsListResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/CaptionsListResponse.md)
- [CaptionsUpdatePayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/CaptionsUpdatePayload.md)
- [Chapter](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/Chapter.md)
- [ChaptersListResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/ChaptersListResponse.md)
- [ConflictError](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/ConflictError.md)
- [DiscardedVideoUpdatePayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/DiscardedVideoUpdatePayload.md)
- [FilterBy](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/FilterBy.md)
- [FilterBy1](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/FilterBy1.md)
- [FilterBy2](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/FilterBy2.md)
- [Link](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/Link.md)
- [ListTagsResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/ListTagsResponse.md)
- [ListTagsResponseData](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/ListTagsResponseData.md)
- [LiveStream](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/LiveStream.md)
- [LiveStreamAssets](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/LiveStreamAssets.md)
- [LiveStreamCreationPayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/LiveStreamCreationPayload.md)
- [LiveStreamListResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/LiveStreamListResponse.md)
- [LiveStreamUpdatePayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/LiveStreamUpdatePayload.md)
- [Metadata](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/Metadata.md)
- [Model403ErrorSchema](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/Model403ErrorSchema.md)
- [NotFound](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/NotFound.md)
- [Pagination](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/Pagination.md)
- [PaginationLink](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/PaginationLink.md)
- [PlayerSessionEvent](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/PlayerSessionEvent.md)
- [PlayerTheme](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/PlayerTheme.md)
- [PlayerThemeAssets](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/PlayerThemeAssets.md)
- [PlayerThemeCreationPayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/PlayerThemeCreationPayload.md)
- [PlayerThemeUpdatePayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/PlayerThemeUpdatePayload.md)
- [PlayerThemesListResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/PlayerThemesListResponse.md)
- [Quality](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/Quality.md)
- [RefreshTokenPayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/RefreshTokenPayload.md)
- [RestreamsRequestObject](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/RestreamsRequestObject.md)
- [RestreamsResponseObject](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/RestreamsResponseObject.md)
- [SummariesListResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/SummariesListResponse.md)
- [Summary](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/Summary.md)
- [SummaryCreationPayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/SummaryCreationPayload.md)
- [SummarySource](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/SummarySource.md)
- [SummaryUpdatePayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/SummaryUpdatePayload.md)
- [TokenCreationPayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/TokenCreationPayload.md)
- [TokenListResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/TokenListResponse.md)
- [TooManyRequests](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/TooManyRequests.md)
- [UnrecognizedRequestUrl](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/UnrecognizedRequestUrl.md)
- [UploadToken](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/UploadToken.md)
- [Video](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/Video.md)
- [VideoAssets](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoAssets.md)
- [VideoClip](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoClip.md)
- [VideoCreationPayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoCreationPayload.md)
- [VideoSource](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoSource.md)
- [VideoSourceLiveStream](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoSourceLiveStream.md)
- [VideoSourceLiveStreamLink](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoSourceLiveStreamLink.md)
- [VideoStatus](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoStatus.md)
- [VideoStatusEncoding](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoStatusEncoding.md)
- [VideoStatusEncodingMetadata](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoStatusEncodingMetadata.md)
- [VideoStatusIngest](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoStatusIngest.md)
- [VideoStatusIngestReceivedParts](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoStatusIngestReceivedParts.md)
- [VideoThumbnailPickPayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoThumbnailPickPayload.md)
- [VideoUpdatePayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoUpdatePayload.md)
- [VideoWatermark](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideoWatermark.md)
- [VideosListResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/VideosListResponse.md)
- [Watermark](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/Watermark.md)
- [WatermarksListResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/WatermarksListResponse.md)
- [Webhook](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/Webhook.md)
- [WebhooksCreationPayload](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/WebhooksCreationPayload.md)
- [WebhooksListResponse](https://github.com/apivideo/api.video-php-client/blob/main/docs/Model/WebhooksListResponse.md)

### Authentication

[](#authentication)

Some endpoints don't require authentication. These one can be called with a Client instantiated with a `null` API key:

```

```

### Chunks

[](#chunks)

The video is automatically split into 50 Mb chunks.

To modify the size of the chunks, fill in the last argument `$contentRange` as follows:

- `bytes 0-{size}/0` where `{size}` is the size of the chunk.

For example : `bytes 0-500000/0` for 500 Kb chunks.

The chunks size value must be between 5 Mb and 128mb.

### Tests

[](#tests)

In order to run the PhpUnit tests, it is necessary to enter two variables in the command line:

- `BASE_URI` (for example : `https://sandbox.api.video`)
- `API_KEY`

These identifiers must belong to a real api.video account.

```
$ BASE_URI="" API_KEY="..." vendor/bin/phpunit

```

Have you gotten use from this API client?
-----------------------------------------

[](#have-you-gotten-use-from-this-api-client)

Please take a moment to leave a star on the client ⭐

This helps other users to find the clients and also helps us understand which clients are most popular. Thank you!

Contribution
------------

[](#contribution)

Since this API client is generated from an OpenAPI description, we cannot accept pull requests made directly to the repository. If you want to contribute, you can open a pull request on the repository of our [client generator](https://github.com/apivideo/api-client-generator). Otherwise, you can also simply open an issue detailing your need on this repository.

###  Health Score

48

—

FairBetter than 94% of packages

Maintenance39

Infrequent updates — may be unmaintained

Popularity44

Moderate usage in the ecosystem

Community17

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor1

Top contributor holds 50.3% 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 ~50 days

Recently: every ~9 days

Total

26

Last Release

578d ago

Major Versions

v0.0.8 → v1.0.02021-11-15

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/39307006?v=4)[api.video](/maintainers/ApiVideo)[@apivideo](https://github.com/apivideo)

---

Top Contributors

[![bot-api-video](https://avatars.githubusercontent.com/u/84710592?v=4)](https://github.com/bot-api-video "bot-api-video (88 commits)")[![erikkai](https://avatars.githubusercontent.com/u/19295862?v=4)](https://github.com/erikkai "erikkai (53 commits)")[![ThibaultBee](https://avatars.githubusercontent.com/u/37510686?v=4)](https://github.com/ThibaultBee "ThibaultBee (14 commits)")[![szekelyzol](https://avatars.githubusercontent.com/u/51786287?v=4)](https://github.com/szekelyzol "szekelyzol (12 commits)")[![herve-api-video](https://avatars.githubusercontent.com/u/15874150?v=4)](https://github.com/herve-api-video "herve-api-video (4 commits)")[![olivier-lando](https://avatars.githubusercontent.com/u/77487731?v=4)](https://github.com/olivier-lando "olivier-lando (3 commits)")[![anthony-dantard](https://avatars.githubusercontent.com/u/53042066?v=4)](https://github.com/anthony-dantard "anthony-dantard (1 commits)")

---

Tags

api-clientphpsdksdk-phpvideovideo-streamingapi.video

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/api-video-php-api-client/health.svg)

```
[![Health](https://phpackages.com/badges/api-video-php-api-client/health.svg)](https://phpackages.com/packages/api-video-php-api-client)
```

###  Alternatives

[cakephp/cakephp

The CakePHP framework

8.8k19.1M1.7k](/packages/cakephp-cakephp)[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k11](/packages/tempest-framework)[openai-php/client

OpenAI PHP is a supercharged PHP API client that allows you to interact with the Open AI API

5.8k26.1M293](/packages/openai-php-client)[mailgun/mailgun-php

The Mailgun SDK provides methods for all API functions.

1.2k30.2M177](/packages/mailgun-mailgun-php)[getbrevo/brevo-php

Official Brevo provided RESTFul API V3 php library

1003.6M46](/packages/getbrevo-brevo-php)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6941.5M395](/packages/drupal-core-recommended)

PHPackages © 2026

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