diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index c66c42d..f70011d 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -25,7 +25,7 @@ Thank you for taking the time to report a bug with the FastPix Java SDK. To help - **IDE:** [e.g., IntelliJ IDEA, Eclipse, VS Code, etc.] (Optional but helpful) ### SDK Information -- **FastPix Java SDK Version:** [e.g., 1.0.3, 1.0.2, etc.] +- **FastPix Java SDK Version:** [e.g., 1.0.4, 1.0.3, etc.] - **Java Runtime:** [e.g., OpenJDK, Oracle JDK, etc.] ## Reproduction Steps @@ -36,12 +36,12 @@ Thank you for taking the time to report a bug with the FastPix Java SDK. To help com.fastpix fastpix-java - 1.0.2 + 1.0.4 ``` ```gradle // Gradle - implementation 'com.fastpix:fastpix-java:1.0.2' + implementation 'com.fastpix:fastpix-java:1.0.4' ``` 2. **Code to Reproduce:** diff --git a/.github/ISSUE_TEMPLATE/question_support.md b/.github/ISSUE_TEMPLATE/question_support.md index 4981de5..3de5494 100644 --- a/.github/ISSUE_TEMPLATE/question_support.md +++ b/.github/ISSUE_TEMPLATE/question_support.md @@ -54,7 +54,7 @@ public class Example { ### Environment - **Java Version:** [e.g., Java 11, Java 17, Java 21] - **Operating System:** [e.g., Windows 10, macOS 12.0, Ubuntu 20.04, etc.] -- **FastPix Java SDK Version:** [e.g., 1.0.3, 1.0.2] +- **FastPix Java SDK Version:** [e.g., 1.0.4, 1.0.3] - **Build Tool:** [e.g., Maven, Gradle] - **IDE:** [e.g., IntelliJ IDEA, Eclipse, VS Code, etc.] diff --git a/.gitignore b/.gitignore index db3a689..dc1b0d6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ build/ !build/docs/ .gradle/ + +# Eclipse/IDE build output +bin/ *.jar !gradle-wrapper.jar *.class @@ -38,6 +41,14 @@ tests/artifacts*/ tests/*_REPORT.md tests/*_FIX_SUGGESTIONS.md +# Local example runners — contain real credentials, never commit +tests/examples/ + +# Local example helper script + its machine-specific classpath cache +/run-example.sh +/.example-classpath + # Local working files (not part of the published SDK) /fixed 7.yaml /CLAUDE.md +/fastpix-openai.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index 32e37ff..ae476f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,76 @@ All notable changes to this project will be documented in this file. --- +## [1.0.4] + +### ⚠️ Breaking changes + +This release regenerates the SDK models against the latest FastPix API +specification. The following changes are **source-incompatible** — code +written against `1.0.3` may need edits before it compiles: + +| Change | Action required | +|---|---| +| `mp4Support` is now a list of rendition objects instead of a single enum value | Read the renditions you need from the list (see below) | +| `GetMediaResponse` and its nested types renamed to `GetMediaDetailResponse*` | Update imports and any explicit type declarations | +| `UpdateTrackRequest.url` removed | Remove `.url(...)` builder calls; a track's file can no longer be changed after creation | +| `UpdateMediaMaxResolution` no longer accepts `360p` | Use `480p` or higher when updating a media's max resolution | +| `VideoTrack.width()` / `.height()` return `Optional` instead of `Optional` | Change the receiving variable's type | + +### Changed + +- **SDK version bump: `1.0.3` → `1.0.4`.** The `version` property, the + `SDK_VERSION` runtime constant, and the installation documentation now + report `1.0.4`. + +- **`mp4Support` now describes individual MP4 renditions.** Previously a single + enum value, it is now a list of objects — each with a `type` + (`capped_4k` or `audioOnly`), a generation `status`, the rendition's `height` + and `width` in pixels, and its file `ext`. Height and width are omitted for + the `audioOnly` type. Corresponding `Mp4SupportType`, `Mp4SupportStatus`, and + `Mp4SupportExt` enums are generated for each model that carries the field: + `Media`, `UpdateMedia`, `LiveMediaClips`, `SourceAccessMedia`, + `GetAllMediaResponse`, and `GetMediaDetailResponse`. + +- **`GetMediaResponse` renamed to `GetMediaDetailResponse`**, along with its + nested `MaxResolution`, `MediaQuality`, `SourceResolution`, `Status`, + `Track`, and `Mp4Support*` types. `GetMediaResponseBody.data()` now returns + `Optional`. The operation name and the wire format + are unchanged; this is a type-name change only. + +- **`UpdateTrackRequest` replaces `url` with `title`.** A track's underlying + file can no longer be changed after creation — only its language and title. + +- **`VideoTrack` `width` and `height` are now `Long`** rather than `Double`, + matching the integer pixel dimensions the API returns. + +### Added + +- `360p` and `360` added to the `sourceResolution` enums across all media + models, so media ingested at 360p is now reported accurately instead of + falling through to the unrecognised-value path. +- `title` added to the audio, video, and subtitle track models + (`AudioTrack`, `VideoTrack`, `VideoTrackForGetAll`, `SubtitleTrack`, + `TrackSubtitlesGenerateRequest`, `AddTrackRequest`/`Response`, + `UpdateTrackRequest`/`Response`, `GenerateTrackResponse`). + +### Removed + +- `360p` removed from `UpdateMediaMaxResolution`; the API no longer accepts it + as a max resolution on update. + +### Docs + +- FastPix documentation links updated to their current paths throughout the + javadoc and `docs/`: `video-on-demand-api/` → `video-on-demand/`, + `edit-and-transform-live-stream/` → `live-streaming/`, + `edit-and-transform-videos/` → `video-on-demand/`, and `vod-events/` → + `webhooks/`. +- Regenerated `docs/` model and SDK reference pages and the README usage + snippets to match the updated models. + +--- + ## [1.0.3] ### Changed diff --git a/README.md b/README.md index 96c6a09..e9c5e2e 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ Add the dependency to your `build.gradle`: ```groovy dependencies { - implementation 'io.fastpix:sdk:1.0.3' + implementation 'io.fastpix:sdk:1.0.4' } ``` @@ -76,7 +76,7 @@ Add the dependency to your `pom.xml`: io.fastpix sdk - 1.0.3 + 1.0.4 ``` @@ -300,7 +300,7 @@ Comprehensive Java SDK for FastPix platform integration with full API coverage. Upload, manage, and transform video content with comprehensive media management capabilities. -For detailed documentation, see [FastPix Video on Demand Overview](https://fastpix.com/docs/video-on-demand-api/overview). +For detailed documentation, see [FastPix Video on Demand Overview](https://fastpix.com/docs/video-on-demand/overview). #### Input Video - [Create from URL](docs/sdks/inputvideos/README.md#create) - Upload video content from external URL diff --git a/docs/models/components/AddTrackRequest.md b/docs/models/components/AddTrackRequest.md index 5f7f873..c07b4b1 100644 --- a/docs/models/components/AddTrackRequest.md +++ b/docs/models/components/AddTrackRequest.md @@ -10,4 +10,5 @@ Contains details about the track being added to the media file. | `url` | *Optional\* | :heavy_minus_sign: | The direct URL of the track file. It must point to a valid audio or subtitle file. | https://static.fastpix.com/music-1.mp3 | | `type` | [Optional\](../../models/components/AddTrackRequestType.md) | :heavy_minus_sign: | Specifies the type of track being added. It can be either `audio` or `subtitle`. | audio | | `languageCode` | *Optional\* | :heavy_minus_sign: | The BCP 47 language code representing the track’s language. | it | -| `languageName` | *Optional\* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | Italian | \ No newline at end of file +| `languageName` | *Optional\* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | Italian | +| `title` | *Optional\* | :heavy_minus_sign: | Title of the track. | Italian audio | diff --git a/docs/models/components/AddTrackResponse.md b/docs/models/components/AddTrackResponse.md index 9be3ca8..2edaf6c 100644 --- a/docs/models/components/AddTrackResponse.md +++ b/docs/models/components/AddTrackResponse.md @@ -7,8 +7,9 @@ Contains details about the track that was added or updated. | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier of the track. | ace60fc7-e876-4fc6-b9d9-c33fa242f84b | +| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier of the track. | your-track-id | | `type` | [Optional\](../../models/components/AddTrackResponseType.md) | :heavy_minus_sign: | Specifies the type of track (audio or subtitle). | audio | | `url` | *Optional\* | :heavy_minus_sign: | The direct URL of the track file. | https://static.fastpix.com/music-1.mp3 | | `languageCode` | *Optional\* | :heavy_minus_sign: | The BCP 47 language code representing the track's language. | it | -| `languageName` | *Optional\* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | Italian | \ No newline at end of file +| `languageName` | *Optional\* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | Italian | +| `title` | *Optional\* | :heavy_minus_sign: | Title of the track. | Italian audio | diff --git a/docs/models/components/AudioTrack.md b/docs/models/components/AudioTrack.md index 23339ba..c9f220b 100644 --- a/docs/models/components/AudioTrack.md +++ b/docs/models/components/AudioTrack.md @@ -11,4 +11,5 @@ A media consists of different media tracks, like video, audio, and subtitle, all | `type` | [Optional\](../../models/components/AudioTrackType.md) | :heavy_minus_sign: | Defines the type of input track. | audio | | `status` | *Optional\* | :heavy_minus_sign: | Indicates the current state of the track. 'available' means the track has been processed successfully and is ready to be used or played. | available | | `languageName` | *Optional\* | :heavy_minus_sign: | Name of the language in which the subtitles will be generated.
| english | -| `languageCode` | *Optional\* | :heavy_minus_sign: | Language codes are concise, standardized symbols that denote languages, utilizing either two or three characters for identification. The language code must be compliant with the BCP 47 standard to ensure compatibility. (for text only).
| en | \ No newline at end of file +| `languageCode` | *Optional\* | :heavy_minus_sign: | Language codes are concise, standardized symbols that denote languages, utilizing either two or three characters for identification. The language code must be compliant with the BCP 47 standard to ensure compatibility. (for text only).
| en | +| `title` | *Optional\* | :heavy_minus_sign: | Title of the track. | My track title | diff --git a/docs/models/components/ChaptersResponse.md b/docs/models/components/ChaptersResponse.md index 3cae0ef..6925b96 100644 --- a/docs/models/components/ChaptersResponse.md +++ b/docs/models/components/ChaptersResponse.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `mediaId` | *Optional\* | :heavy_minus_sign: | N/A | c695988b-ff84-42ae-bb21-10f284fedb0e | +| `mediaId` | *Optional\* | :heavy_minus_sign: | N/A | your-media-id | | `isChaptersEnabled` | *Optional\* | :heavy_minus_sign: | N/A | true | \ No newline at end of file diff --git a/docs/models/components/CreateMediaRequest.md b/docs/models/components/CreateMediaRequest.md index c3b3c82..2959bdf 100644 --- a/docs/models/components/CreateMediaRequest.md +++ b/docs/models/components/CreateMediaRequest.md @@ -5,11 +5,11 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `inputs` | List\<[Input](../../models/components/Input.md)> | :heavy_check_mark: | Add one input object at a time. For example, first add a **VideoInput** object. If you also need a watermark, click **Add item** again and select **WatermarkInput**. Repeat this process for **AudioInput** or **SubtitleInput** as needed. For a complete explanation of how media uploads from URL and processing work, refer to the
FastPix Video on Demand Overview.
| | +| `inputs` | List\<[Input](../../models/components/Input.md)> | :heavy_check_mark: | Add one input object at a time. For example, first add a **VideoInput** object. If you also need a watermark, click **Add item** again and select **WatermarkInput**. Repeat this process for **AudioInput** or **SubtitleInput** as needed. For a complete explanation of how media uploads from URL and processing work, refer to the
FastPix Video on Demand Overview.
| | | `metadata` | Map\ | :heavy_minus_sign: | You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
| {
"key1": "value1"
} | -| `drmConfigurationId` | *Optional\* | :heavy_minus_sign: | UUID of the DRM configuration to be used | 3fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `drmConfigurationId` | *Optional\* | :heavy_minus_sign: | UUID of the DRM configuration to be used | your-drm-configuration-id | | `title` | *Optional\* | :heavy_minus_sign: | Title of the media file. | My Video Title | -| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | 8fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | your-creator-id | | `subtitles` | [Optional\](../../models/components/Subtitles.md) | :heavy_minus_sign: | Generates subtitle files for audio/video files.
| | | `accessPolicy` | [Optional\](../../models/components/CreateMediaRequestAccessPolicy.md) | :heavy_minus_sign: | Determines whether access to the streamed content is kept private or available to all.
| public | | `mp4Support` | [Optional\](../../models/components/CreateMediaRequestMp4Support.md) | :heavy_minus_sign: | "capped_4k": Generates an mp4 video file up to 4k resolution "audioOnly": Generates an m4a audio file of the media file "audioOnly,capped_4k": Generates both video and audio media files for offline viewing
| capped_4k | diff --git a/docs/models/components/CreateMediaResponse.md b/docs/models/components/CreateMediaResponse.md index f807ee6..84ce62b 100644 --- a/docs/models/components/CreateMediaResponse.md +++ b/docs/models/components/CreateMediaResponse.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | The Media is assigned a universal unique identifier, which can contain a maximum of 255 characters. | a1d1acdd-8f4e-4add-b498-6b398cf349d9 | +| `id` | *Optional\* | :heavy_minus_sign: | The Media is assigned a universal unique identifier, which can contain a maximum of 255 characters. | your-media-id | | `trial` | *Optional\* | :heavy_minus_sign: | FastPix allows for a free trial. Create as many media files as you like during the trial period. Remember, each clip can only be 10 seconds long and will be deleted after 24 hours. Also, all trial content will have the FastPix logo watermark.
| true | | `status` | [Optional\](../../models/components/CreateMediaResponseStatus.md) | :heavy_minus_sign: | Determines the media's status, which can be one of the possible values. | Created | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was created, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | diff --git a/docs/models/components/CreateSigningKeyResponseDTO.md b/docs/models/components/CreateSigningKeyResponseDTO.md index b8cf947..24ece05 100644 --- a/docs/models/components/CreateSigningKeyResponseDTO.md +++ b/docs/models/components/CreateSigningKeyResponseDTO.md @@ -7,6 +7,6 @@ Displays the result of the request. | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | A unique identifier is generated by FastPix for the signing keys. | fc9d9368-6ee5-4b16-ae50-880a2374bdc4 | -| `privateKey` | *Optional\* | :heavy_minus_sign: | A private key is a byte encoded secret key used to create a signed JSON Web Token (JWT) for authentication. | LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktnd2dnU2tBZ0VBQW9JQkFRREtaN1JKT1IrbXZGeVQxSWFIL0hVUkYwQnRncDJzK0srdUd4TUZ4N1JiaGNudVBMYU14WjM1b0lNWndhdHJrdDFDM3JxVFZsQzBsSnExeENFTyt3Zi9JNHQ0bktmUFB2WG83NGFCQi82YmR0MXpaSHp0OGFIenBnL3YrdEtCWVc5SEdWQ0tYc2JpNjczbHgwcFhHdXVnem8wdnZMR2lKWDBiL0Z4WEI5U1R3RkV5Q1dQOFJhczZ3VWVuSUdVM2UwMmJiV3Z4UnNoMWNER2xSRk03RWw2RVQ2MUQrS0tLTndnUGNYR1pvY0YwZTFxRU5iVGdPZUdBMFNDU0xIT3NtQ0NBQTNtSndJS1VaY0Z2MmpGRUx4Uk5MTnhoMjM5UEdUT3BuWmdvTFp5Skt4b2REN1FpV1N1eDVZY1Z0MFgrSk9rZXNBOEpjM1ZtM0tGc0IwL3RYck9QQWdNQkFBRUNnZ0VBUHhNWUxLVmZocTgyVGw4eFdWbEVCZ0p2OG5COHdIVnpFZGVnRXZJTDgyVjY2d0lDaFZYa0IvR01TVStBSXZMT2Z0TTM0MGhIdUM2REU5ZTkwWlJMQnFoR0ExMFdNbEJWZzdSNC91YkY0aDZsbmhzWGozTDRYQnhJNVNrTnhvSGRrcE9COU16YVA4YmxFNkVLT3FES0F2KzdJY0EwdnVuZDFnWExwTmRzMkduTW5nZW1qOUhJZWh1eTNLY0taNHlheFo1YkRKVEpLZlFrTlFDQzhOR0hIdWovQmRWUnU1RHRrZVdNMFFpN2FKeW5lSXRxOGhtbXdxcVNMTnpTOTZtcHpBdzF3RzFXTHVML1A3TGxJekVWa2ZJUFc0SW1zRXhsSG5FUG0ySld1RUNMQ1pRL25NODdhQXVXekROektCYW51LzZhdXhnSDB2Wnc5YWowTmxNNFFRS0JnUURPM3Y0YlN4bWluZGJpVEdSaXdFVXVyODh4TVA3M2U5RSt2SHlzb3JZMWZycFpkdXJHOVlFb09MUFN1YnQ5WkhZNFhGOFhxRWZ4bE94d294eDVzcU9PcGNMTnFnOWhTSWxPaXEyYmVnN2V2RGpOMml6b3JKRFl3VEhGQ0Era25FbmFpL0J2TU16N3AyVVkrUEEzUnJ4Z25BK3RkQlErZWlSZ1c0WmhnMkhWcndLQmdRRDZlVEpwRTRxZVFYdmpnMy9FS081UkllRklZOHphTGMvMVVHODBqNmVvbStNK3UyTmdUVDJqVmNyMkdQbjZTbHRNRlJNem5qOVJHYmQ1MCt5a2k0Y1NYU1JPdE44alV2M0FseHJtZzEwVTVtSWIrUXFIZ3g2QldyeXkvakxHYXVvMUJnVFg1dDZ0VXVEUUZuVDJSM2xoNGRNZ044T3V4VlR3OCtadGloSllJUUtCZ1FERE00ZHpHWnBHNThrc0lBbFpaVFBpcWVKSCtJT2Q0eWUrbXZ6SnFYOWxXdjljQytuZGN5czhXTVRWd293MzllUFhxdEhQOE9weCtxUmdaSWtxREhabzArRE5UL3JUUVM3Ty9leHpHT21QSXV3MjBmZ3VWU2NZWUxRbHgwVjdmajN5Q3JvRk1YYzZ2dW1XZHMrMFdQckg3bnFjb1R1NCtHZjZ4R0k1QVUvLzRRS0JnUUR6TFcvdjdIVU1xTzhyT0tSM1FuWCtkekpPSWZibGJNMFdrdjBrdnNROFF2MGlEclN3N3MwRkkycGwvR0hXeXhKUWo3V1F5L2NWT2k2VUxWajNlQyt2ZUphamc1K1FvQ2FWTVIrQTVkRWRWWCt6UU5za0xmMFVBWkJyQjdrc1F1a1lpYnR5RWtmblp5dTFXOWc2czdINWdsS0VXUiszTXdjQTJRdkRGZVl4Z1FLQmdDWVdlKzQ4bVVaUEl5ZnR4NVFaQllnYTE2blpndzYxZmxtdEdpQlVGWGVMR3BTaU1XNXc5R3RYVDZPbFh1Zy91TkNKbHR4TDE4c0NEeDNVaU9DNWFTMEN4OTc5TlFrSm1YRWw1UDNtMFNGaVU4VlZ0SFp1dHd3SWFKTFZockZ1T3NJV1BtRFN4aHhMaFpPNmJ5aWRwbHlXLzl1eGpwMlZrQ0Y3OGd5QXRRSWsKLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo= | +| `id` | *Optional\* | :heavy_minus_sign: | A unique identifier is generated by FastPix for the signing keys. | your-signing-key-id | +| `privateKey` | *Optional\* | :heavy_minus_sign: | A private key is a byte encoded secret key used to create a signed JSON Web Token (JWT) for authentication. | your-base64-encoded-private-key | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the Signing key was generated, defined as a localDateTime (UTC Time). | 2024-01-11T10:00:06.618993Z | \ No newline at end of file diff --git a/docs/models/components/Custom1.md b/docs/models/components/Custom1.md index 1868298..2632dc3 100644 --- a/docs/models/components/Custom1.md +++ b/docs/models/components/Custom1.md @@ -7,4 +7,4 @@ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `dimensionName` | *Optional\* | :heavy_minus_sign: | Unique identifier for a custom dimension used to categorize or segment analytics data (for example, custom_1).
| custom_1 | | `displayName` | *Optional\* | :heavy_minus_sign: | A user-friendly display label that represents the corresponding custom dimension in analytics dashboards and reports; users can assign a specific name based on their tracking needs.
| email | -| `value` | *Optional\* | :heavy_minus_sign: | Allows assigning user-friendly data values such as email addresses, identifiers, or other meaningful information.
| johndoe@gmail.com | \ No newline at end of file +| `value` | *Optional\* | :heavy_minus_sign: | Allows assigning user-friendly data values such as email addresses, identifiers, or other meaningful information.
| your-email@example.com | \ No newline at end of file diff --git a/docs/models/components/DirectUpload.md b/docs/models/components/DirectUpload.md index 93c01f7..43f0eec 100644 --- a/docs/models/components/DirectUpload.md +++ b/docs/models/components/DirectUpload.md @@ -10,7 +10,7 @@ Displays the result of the request. | `uploadId` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 7ya85f64-5717-4562-b3fc-2c963f66afa6 | | `trial` | *Optional\* | :heavy_minus_sign: | Indicates if the upload was a trial. | false | | `status` | [Optional\](../../models/components/DirectUploadStatus.md) | :heavy_minus_sign: | Determines the media's status, which can be one of the possible values. | waiting | -| `url` | *Optional\* | :heavy_minus_sign: | The url hosts the media file for FastPix, which needs to be download to use further. It supports formats like MP3, MP4, MOV, MKV, or TS, and includes text tracks for subtitles/CC (SRT file/VTT file). While FastPix can handle various audio and video formats and codecs, using standard inputs can help with optimal processing speed. | {
"url": "https://storage.fastpix.net/uploads/08256f2c-efca-4c4f-8f21-75e40d49f225/80911756-1ce3-485a-a3b4-6653ff0937a1?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=media-svc%2F20240111%2Fus-east-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20240111T123116Z\u0026X-Amz-Expires=3600\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=419ab443cdc1d4a22cf1b0f8875855590b346058e6d3859f7c1c9da3bb061f91"
} | +| `url` | *Optional\* | :heavy_minus_sign: | The url hosts the media file for FastPix, which needs to be download to use further. It supports formats like MP3, MP4, MOV, MKV, or TS, and includes text tracks for subtitles/CC (SRT file/VTT file). While FastPix can handle various audio and video formats and codecs, using standard inputs can help with optimal processing speed. | {
"url": "https://storage.fastpix.com/uploads/your-upload-id?your-presigned-upload-signature"
} | | `timeout` | *Optional\* | :heavy_minus_sign: | The duration set for the validity of the upload URL. If the upload isn't completed within this timespan, it's marked as timed out.
| 14400 | | `corsOrigin` | *Optional\* | :heavy_minus_sign: | Upload media directly from a device using the url name or enter "*" to allow all. | * | | `pushMediaSettings` | [Optional\](../../models/components/DirectUploadResponse.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/components/DrmIdResponse.md b/docs/models/components/DrmIdResponse.md index 31c3340..41c96b3 100644 --- a/docs/models/components/DrmIdResponse.md +++ b/docs/models/components/DrmIdResponse.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier of the DRM configuration. | e3dfdf15-16bb-4835-98b9-484c1e4320cc | \ No newline at end of file +| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier of the DRM configuration. | your-drm-configuration-id | \ No newline at end of file diff --git a/docs/models/components/GenerateTrackResponse.md b/docs/models/components/GenerateTrackResponse.md index 0635021..7046607 100644 --- a/docs/models/components/GenerateTrackResponse.md +++ b/docs/models/components/GenerateTrackResponse.md @@ -7,8 +7,9 @@ Represents the response for a successfully generated subtitle track. | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | A unique identifier for the generated track. | ace60fc7-e876-4fc6-b9d9-c33fa242f84b | +| `id` | *Optional\* | :heavy_minus_sign: | A unique identifier for the generated track. | your-track-id | | `type` | [Optional\](../../models/components/GenerateTrackResponseType.md) | :heavy_minus_sign: | The type of track generated ("subtitle"). | subtitle | | `languageCode` | [Optional\](../../models/components/GenerateTrackResponseLanguageCode.md) | :heavy_minus_sign: | The BCP 47 language code representing the language of the generated track.
| en-US | | `languageName` | *Optional\* | :heavy_minus_sign: | The full name of the language for the generated track. | English | -| `metadata` | Map\ | :heavy_minus_sign: | You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
| {
"key1": "value1"
} | \ No newline at end of file +| `metadata` | Map\ | :heavy_minus_sign: | You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
| {
"key1": "value1"
} | +| `title` | *Optional\* | :heavy_minus_sign: | Title of the track. | Italian subtitles | diff --git a/docs/models/components/GetAllMediaResponse.md b/docs/models/components/GetAllMediaResponse.md index 43cd499..c9d479f 100644 --- a/docs/models/components/GetAllMediaResponse.md +++ b/docs/models/components/GetAllMediaResponse.md @@ -5,19 +5,19 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `thumbnail` | *JsonNullable\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/6b13fdaf-f9ac-4970-a13b-01ea417e8783/thumbnail.png | -| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 3fa85f64-5717-4562-b3fc-2c963f66afa6 | -| `sourceMediaId` | *Optional\* | :heavy_minus_sign: | The source media ID if this media was created from another media (for example, as a clip). | 3fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `thumbnail` | *JsonNullable\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/your-media-id/thumbnail.png | +| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | +| `sourceMediaId` | *Optional\* | :heavy_minus_sign: | The source media ID if this media was created from another media (for example, as a clip). | your-source-media-id | | `workspaceId` | *Optional\* | :heavy_minus_sign: | A unique identifier is generated by FastPix for the workspace. | 5ta85f64-5717-4562-b3fc-2c963f66afa6 | | `streamId` | *Optional\* | :heavy_minus_sign: | The ID of the livestream for which the clips were created. | 98f28be5ac9bd7a4205634691a1a096b | | `metadata` | Map\ | :heavy_minus_sign: | You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
| {
"key1": "value1"
} | | `mediaQuality` | [Optional\](../../models/components/GetAllMediaResponseMediaQuality.md) | :heavy_minus_sign: | The quality tier applied to the media. | standard | -| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | 8fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | your-creator-id | | `title` | *JsonNullable\* | :heavy_minus_sign: | Title of the media file. | My Video Title | | `maxResolution` | [Optional\](../../models/components/GetAllMediaResponseMaxResolution.md) | :heavy_minus_sign: | The maximum resolution specified by the user for the media. | 1080p | | `sourceResolution` | [Optional\](../../models/components/GetAllMediaResponseSourceResolution.md) | :heavy_minus_sign: | The actual resolution of the uploaded media. This represents the native quality of the source media. | 1080p | | `status` | [Optional\](../../models/components/GetAllMediaResponseStatus.md) | :heavy_minus_sign: | Determines the media's status, which can be one of the possible values. | Processing | -| `mp4Support` | [Optional\](../../models/components/GetAllMediaResponseMp4Support.md) | :heavy_minus_sign: | Determines the type of MP4 support for the media.
- **none**: Disables MP4 support.
- **capped_4k**: Enables MP4 downloads with resolutions up to 4K.
- **audioOnly**: Provides an MP4 stream containing only the audio.
- **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream.
| capped_4k | +| `mp4Support` | [Optional\>](../../models/components/GetAllMediaResponseMp4Support.md) | :heavy_minus_sign: | Determines the type of MP4 support for the media.
- **none**: Disables MP4 support.
- **capped_4k**: Enables MP4 downloads with resolutions up to 4K.
- **audioOnly**: Provides an MP4 stream containing only the audio.
- **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream.
| capped_4k | | `sourceAccess` | *JsonNullable\* | :heavy_minus_sign: | The sourceAccess parameter determines whether the original media file is accessible. Set to true to enable access or false to restrict it. | true | | `playbackIds` | List\<[PlaybackId](../../models/components/PlaybackId.md)> | :heavy_minus_sign: | A collection of Playback ID objects utilized for crafting HLS playback URLs. | | | `tracks` | List\<[GetAllMediaResponseTrack](../../models/components/GetAllMediaResponseTrack.md)> | :heavy_minus_sign: | A media consists of different media tracks, like video, audio, and subtitle, all combined. | | @@ -32,4 +32,5 @@ | `frameRate` | *Optional\* | :heavy_minus_sign: | Frame rate quantifies the speed at which frames are displayed per second. It represents the range of frames available for a specific track. The indeterminable frame rate of the input file is indicated by a value of -1. | 30/1 | | `aspectRatio` | *JsonNullable\* | :heavy_minus_sign: | The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height. | 16:9 | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was created, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | -| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | \ No newline at end of file +| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | +| `optimizeAudio` | *Optional\* | :heavy_minus_sign: | Whether the audio track of the media has been volume-normalized. | false | diff --git a/docs/models/components/GetAllMediaResponseMp4Support.md b/docs/models/components/GetAllMediaResponseMp4Support.md index 10f27b1..a7213e2 100644 --- a/docs/models/components/GetAllMediaResponseMp4Support.md +++ b/docs/models/components/GetAllMediaResponseMp4Support.md @@ -1,18 +1,14 @@ # GetAllMediaResponseMp4Support -Determines the type of MP4 support for the media. -- **none**: Disables MP4 support. -- **capped_4k**: Enables MP4 downloads with resolutions up to 4K. -- **audioOnly**: Provides an MP4 stream containing only the audio. -- **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. +One downloadable MP4 rendition generated for the media, along with its generation status. +## Fields -## Values - -| Name | Value | -| --------------------- | --------------------- | -| `NONE` | none | -| `CAPPED4K` | capped_4k | -| `AUDIO_ONLY` | audioOnly | -| `AUDIO_ONLY_CAPPED4K` | audioOnly,capped_4k | \ No newline at end of file +| Field | Type | Required | Description | Example | +|----------|------------------------------------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-----------| +| `type` | [Optional\](../../models/components/GetAllMediaResponseMp4SupportType.md) | :heavy_minus_sign: | The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. | capped_4k | +| `status` | [Optional\](../../models/components/GetAllMediaResponseMp4SupportStatus.md) | :heavy_minus_sign: | Generation status of this MP4 rendition. | ready | +| `height` | *Optional\* | :heavy_minus_sign: | Pixel height of the rendition. Omitted for the `audioOnly` type. | 1080 | +| `width` | *Optional\* | :heavy_minus_sign: | Pixel width of the rendition. Omitted for the `audioOnly` type. | 1920 | +| `ext` | [Optional\](../../models/components/GetAllMediaResponseMp4SupportExt.md) | :heavy_minus_sign: | File extension of the downloadable rendition. | mp4 | diff --git a/docs/models/components/GetAllMediaResponseMp4SupportExt.md b/docs/models/components/GetAllMediaResponseMp4SupportExt.md new file mode 100644 index 0000000..b0d4158 --- /dev/null +++ b/docs/models/components/GetAllMediaResponseMp4SupportExt.md @@ -0,0 +1,11 @@ +# GetAllMediaResponseMp4SupportExt + +File extension of the downloadable rendition. + + +## Values + +| Name | Value | +|------|-------| +| MP4 | `mp4` | +| M4A | `m4a` | diff --git a/docs/models/components/GetAllMediaResponseMp4SupportStatus.md b/docs/models/components/GetAllMediaResponseMp4SupportStatus.md new file mode 100644 index 0000000..427a9b9 --- /dev/null +++ b/docs/models/components/GetAllMediaResponseMp4SupportStatus.md @@ -0,0 +1,12 @@ +# GetAllMediaResponseMp4SupportStatus + +Generation status of this MP4 rendition. + + +## Values + +| Name | Value | +|-----------|-------------| +| PREPARING | `preparing` | +| READY | `ready` | +| FAILED | `failed` | diff --git a/docs/models/components/GetAllMediaResponseMp4SupportType.md b/docs/models/components/GetAllMediaResponseMp4SupportType.md new file mode 100644 index 0000000..d16856d --- /dev/null +++ b/docs/models/components/GetAllMediaResponseMp4SupportType.md @@ -0,0 +1,11 @@ +# GetAllMediaResponseMp4SupportType + +The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. + + +## Values + +| Name | Value | +|------------|-------------| +| CAPPED4K | `capped_4k` | +| AUDIO_ONLY | `audioOnly` | diff --git a/docs/models/components/GetAllMediaResponseSourceResolution.md b/docs/models/components/GetAllMediaResponseSourceResolution.md index aeb0745..eb85fe0 100644 --- a/docs/models/components/GetAllMediaResponseSourceResolution.md +++ b/docs/models/components/GetAllMediaResponseSourceResolution.md @@ -16,4 +16,6 @@ The actual resolution of the uploaded media. This represents the native quality | `SEVEN_HUNDRED_AND_TWENTYP` | 720p | | `SEVEN_HUNDRED_AND_TWENTY` | 720 | | `FOUR_HUNDRED_AND_EIGHTYP` | 480p | -| `FOUR_HUNDRED_AND_EIGHTY` | 480 | \ No newline at end of file +| `FOUR_HUNDRED_AND_EIGHTY` | 480 | +| `THREE_HUNDRED_AND_SIXTYP` | 360p | +| `THREE_HUNDRED_AND_SIXTY` | 360 | \ No newline at end of file diff --git a/docs/models/components/GetAllSigningKeysResponseDto.md b/docs/models/components/GetAllSigningKeysResponseDto.md index bfbdba3..6d128fc 100644 --- a/docs/models/components/GetAllSigningKeysResponseDto.md +++ b/docs/models/components/GetAllSigningKeysResponseDto.md @@ -7,5 +7,5 @@ Displays the result of the request. | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | A unique identifier is generated by FastPix for the signing keys. | 84474705-92d5-4fa9-8cb8-e4a0ddb0598a | +| `id` | *Optional\* | :heavy_minus_sign: | A unique identifier is generated by FastPix for the signing keys. | your-signing-key-id | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the Signing key was generated, defined as a localDateTime (UTC Time). | 2025-10-27T05:22:54.782954Z | \ No newline at end of file diff --git a/docs/models/components/GetMediaResponse.md b/docs/models/components/GetMediaDetailResponse.md similarity index 88% rename from docs/models/components/GetMediaResponse.md rename to docs/models/components/GetMediaDetailResponse.md index 7c4b058..3fb4eb1 100644 --- a/docs/models/components/GetMediaResponse.md +++ b/docs/models/components/GetMediaDetailResponse.md @@ -1,26 +1,26 @@ -# GetMediaResponse +# GetMediaDetailResponse ## Fields | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `thumbnail` | *JsonNullable\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/6b13fdaf-f9ac-4970-a13b-01ea417e8783/thumbnail.png | -| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 3fa85f64-5717-4562-b3fc-2c963f66afa6 | -| `sourceMediaId` | *Optional\* | :heavy_minus_sign: | The source media ID if this media was created from another media (for example, as a clip). | 3fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `thumbnail` | *JsonNullable\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/your-media-id/thumbnail.png | +| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | +| `sourceMediaId` | *Optional\* | :heavy_minus_sign: | The source media ID if this media was created from another media (for example, as a clip). | your-source-media-id | | `workspaceId` | *Optional\* | :heavy_minus_sign: | A unique identifier is generated by FastPix for the workspace. | 5ta85f64-5717-4562-b3fc-2c963f66afa6 | | `streamId` | *Optional\* | :heavy_minus_sign: | The ID of the livestream for which the clips were created. | 98f28be5ac9bd7a4205634691a1a096b | | `metadata` | Map\ | :heavy_minus_sign: | You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
| {
"key1": "value1"
} | -| `mediaQuality` | [Optional\](../../models/components/GetMediaResponseMediaQuality.md) | :heavy_minus_sign: | The quality tier applied to the media. | standard | -| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | 8fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `mediaQuality` | [Optional\](../../models/components/GetMediaDetailResponseMediaQuality.md) | :heavy_minus_sign: | The quality tier applied to the media. | standard | +| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | your-creator-id | | `title` | *JsonNullable\* | :heavy_minus_sign: | Title of the media file. | My Video Title | -| `maxResolution` | [Optional\](../../models/components/GetMediaResponseMaxResolution.md) | :heavy_minus_sign: | The maximum resolution specified by the user for the media. | 1080p | -| `sourceResolution` | [Optional\](../../models/components/GetMediaResponseSourceResolution.md) | :heavy_minus_sign: | The actual resolution of the uploaded media. This represents the native quality of the source media. | 1080p | -| `status` | [Optional\](../../models/components/GetMediaResponseStatus.md) | :heavy_minus_sign: | Determines the media's status, which can be one of the possible values. | Processing | -| `mp4Support` | [Optional\](../../models/components/GetMediaResponseMp4Support.md) | :heavy_minus_sign: | Determines the type of MP4 support for the media.
- **none**: Disables MP4 support.
- **capped_4k**: Enables MP4 downloads with resolutions up to 4K.
- **audioOnly**: Provides an MP4 stream containing only the audio.
- **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream.
| capped_4k | +| `maxResolution` | [Optional\](../../models/components/GetMediaDetailResponseMaxResolution.md) | :heavy_minus_sign: | The maximum resolution specified by the user for the media. | 1080p | +| `sourceResolution` | [Optional\](../../models/components/GetMediaDetailResponseSourceResolution.md) | :heavy_minus_sign: | The actual resolution of the uploaded media. This represents the native quality of the source media. | 1080p | +| `status` | [Optional\](../../models/components/GetMediaDetailResponseStatus.md) | :heavy_minus_sign: | Determines the media's status, which can be one of the possible values. | Processing | +| `mp4Support` | [Optional\>](../../models/components/GetMediaDetailResponseMp4Support.md) | :heavy_minus_sign: | Determines the type of MP4 support for the media.
- **none**: Disables MP4 support.
- **capped_4k**: Enables MP4 downloads with resolutions up to 4K.
- **audioOnly**: Provides an MP4 stream containing only the audio.
- **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream.
| capped_4k | | `sourceAccess` | *JsonNullable\* | :heavy_minus_sign: | The sourceAccess parameter determines whether the original media file is accessible. Set to true to enable access or false to restrict it. | true | | `playbackIds` | List\<[PlaybackId](../../models/components/PlaybackId.md)> | :heavy_minus_sign: | A collection of Playback ID objects utilized for crafting HLS playback URLs. | | -| `tracks` | List\<[GetMediaResponseTrack](../../models/components/GetMediaResponseTrack.md)> | :heavy_minus_sign: | A media consists of different media tracks, like video, audio, and subtitle, all combined. | | +| `tracks` | List\<[GetMediaDetailResponseTrack](../../models/components/GetMediaDetailResponseTrack.md)> | :heavy_minus_sign: | A media consists of different media tracks, like video, audio, and subtitle, all combined. | | | `generatedSubtitles` | List\<[TracksSubtitles](../../models/components/TracksSubtitles.md)> | :heavy_minus_sign: | List of generated subtitle tracks associated with the media. | | | `summary` | [Optional\](../../models/components/AiSummaryRecord.md) | :heavy_minus_sign: | Represents an AI response record containing status and data for AI-generated features like summary, chapters, named entities, or moderation. | | | `chapters` | [Optional\](../../models/components/AiResponseRecord.md) | :heavy_minus_sign: | Represents an AI response record containing status and data for AI-generated features like summary, chapters, named entities, or moderation. | | @@ -32,4 +32,5 @@ | `frameRate` | *Optional\* | :heavy_minus_sign: | Frame rate quantifies the speed at which frames are displayed per second. It represents the range of frames available for a specific track. The indeterminable frame rate of the input file is indicated by a value of -1. | 30/1 | | `aspectRatio` | *JsonNullable\* | :heavy_minus_sign: | The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height. | 16:9 | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was created, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | -| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | \ No newline at end of file +| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | +| `optimizeAudio` | *Optional\* | :heavy_minus_sign: | Whether the audio track of the media has been volume-normalized. | false | diff --git a/docs/models/components/GetMediaResponseMaxResolution.md b/docs/models/components/GetMediaDetailResponseMaxResolution.md similarity index 94% rename from docs/models/components/GetMediaResponseMaxResolution.md rename to docs/models/components/GetMediaDetailResponseMaxResolution.md index f8e1a64..b0fbc40 100644 --- a/docs/models/components/GetMediaResponseMaxResolution.md +++ b/docs/models/components/GetMediaDetailResponseMaxResolution.md @@ -1,4 +1,4 @@ -# GetMediaResponseMaxResolution +# GetMediaDetailResponseMaxResolution The maximum resolution specified by the user for the media. diff --git a/docs/models/components/GetMediaResponseMediaQuality.md b/docs/models/components/GetMediaDetailResponseMediaQuality.md similarity index 83% rename from docs/models/components/GetMediaResponseMediaQuality.md rename to docs/models/components/GetMediaDetailResponseMediaQuality.md index 06b488a..5af4760 100644 --- a/docs/models/components/GetMediaResponseMediaQuality.md +++ b/docs/models/components/GetMediaDetailResponseMediaQuality.md @@ -1,4 +1,4 @@ -# GetMediaResponseMediaQuality +# GetMediaDetailResponseMediaQuality The quality tier applied to the media. diff --git a/docs/models/components/GetMediaDetailResponseMp4Support.md b/docs/models/components/GetMediaDetailResponseMp4Support.md new file mode 100644 index 0000000..518511d --- /dev/null +++ b/docs/models/components/GetMediaDetailResponseMp4Support.md @@ -0,0 +1,14 @@ +# GetMediaDetailResponseMp4Support + +One downloadable MP4 rendition generated for the media, along with its generation status. + + +## Fields + +| Field | Type | Required | Description | Example | +|----------|------------------------------------------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-----------| +| `type` | [Optional\](../../models/components/GetMediaDetailResponseMp4SupportType.md) | :heavy_minus_sign: | The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. | capped_4k | +| `status` | [Optional\](../../models/components/GetMediaDetailResponseMp4SupportStatus.md) | :heavy_minus_sign: | Generation status of this MP4 rendition. | ready | +| `height` | *Optional\* | :heavy_minus_sign: | Pixel height of the rendition. Omitted for the `audioOnly` type. | 1080 | +| `width` | *Optional\* | :heavy_minus_sign: | Pixel width of the rendition. Omitted for the `audioOnly` type. | 1920 | +| `ext` | [Optional\](../../models/components/GetMediaDetailResponseMp4SupportExt.md) | :heavy_minus_sign: | File extension of the downloadable rendition. | mp4 | diff --git a/docs/models/components/GetMediaDetailResponseMp4SupportExt.md b/docs/models/components/GetMediaDetailResponseMp4SupportExt.md new file mode 100644 index 0000000..51634cf --- /dev/null +++ b/docs/models/components/GetMediaDetailResponseMp4SupportExt.md @@ -0,0 +1,11 @@ +# GetMediaDetailResponseMp4SupportExt + +File extension of the downloadable rendition. + + +## Values + +| Name | Value | +|------|-------| +| MP4 | `mp4` | +| M4A | `m4a` | diff --git a/docs/models/components/GetMediaDetailResponseMp4SupportStatus.md b/docs/models/components/GetMediaDetailResponseMp4SupportStatus.md new file mode 100644 index 0000000..7f54ed7 --- /dev/null +++ b/docs/models/components/GetMediaDetailResponseMp4SupportStatus.md @@ -0,0 +1,12 @@ +# GetMediaDetailResponseMp4SupportStatus + +Generation status of this MP4 rendition. + + +## Values + +| Name | Value | +|-----------|-------------| +| PREPARING | `preparing` | +| READY | `ready` | +| FAILED | `failed` | diff --git a/docs/models/components/GetMediaDetailResponseMp4SupportType.md b/docs/models/components/GetMediaDetailResponseMp4SupportType.md new file mode 100644 index 0000000..f9d779c --- /dev/null +++ b/docs/models/components/GetMediaDetailResponseMp4SupportType.md @@ -0,0 +1,11 @@ +# GetMediaDetailResponseMp4SupportType + +The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. + + +## Values + +| Name | Value | +|------------|-------------| +| CAPPED4K | `capped_4k` | +| AUDIO_ONLY | `audioOnly` | diff --git a/docs/models/components/GetMediaResponseSourceResolution.md b/docs/models/components/GetMediaDetailResponseSourceResolution.md similarity index 84% rename from docs/models/components/GetMediaResponseSourceResolution.md rename to docs/models/components/GetMediaDetailResponseSourceResolution.md index 7d502c4..85051e0 100644 --- a/docs/models/components/GetMediaResponseSourceResolution.md +++ b/docs/models/components/GetMediaDetailResponseSourceResolution.md @@ -1,4 +1,4 @@ -# GetMediaResponseSourceResolution +# GetMediaDetailResponseSourceResolution The actual resolution of the uploaded media. This represents the native quality of the source media. @@ -16,4 +16,6 @@ The actual resolution of the uploaded media. This represents the native quality | `SEVEN_HUNDRED_AND_TWENTYP` | 720p | | `SEVEN_HUNDRED_AND_TWENTY` | 720 | | `FOUR_HUNDRED_AND_EIGHTYP` | 480p | -| `FOUR_HUNDRED_AND_EIGHTY` | 480 | \ No newline at end of file +| `FOUR_HUNDRED_AND_EIGHTY` | 480 | +| `THREE_HUNDRED_AND_SIXTYP` | 360p | +| `THREE_HUNDRED_AND_SIXTY` | 360 | \ No newline at end of file diff --git a/docs/models/components/GetMediaResponseStatus.md b/docs/models/components/GetMediaDetailResponseStatus.md similarity index 93% rename from docs/models/components/GetMediaResponseStatus.md rename to docs/models/components/GetMediaDetailResponseStatus.md index 570dfd2..ea3519a 100644 --- a/docs/models/components/GetMediaResponseStatus.md +++ b/docs/models/components/GetMediaDetailResponseStatus.md @@ -1,4 +1,4 @@ -# GetMediaResponseStatus +# GetMediaDetailResponseStatus Determines the media's status, which can be one of the possible values. diff --git a/docs/models/components/GetMediaDetailResponseTrack.md b/docs/models/components/GetMediaDetailResponseTrack.md new file mode 100644 index 0000000..1b389a6 --- /dev/null +++ b/docs/models/components/GetMediaDetailResponseTrack.md @@ -0,0 +1,2 @@ +# GetMediaDetailResponseTrack + diff --git a/docs/models/components/GetMediaResponseMp4Support.md b/docs/models/components/GetMediaResponseMp4Support.md deleted file mode 100644 index 9250464..0000000 --- a/docs/models/components/GetMediaResponseMp4Support.md +++ /dev/null @@ -1,18 +0,0 @@ -# GetMediaResponseMp4Support - -Determines the type of MP4 support for the media. -- **none**: Disables MP4 support. -- **capped_4k**: Enables MP4 downloads with resolutions up to 4K. -- **audioOnly**: Provides an MP4 stream containing only the audio. -- **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. - - - -## Values - -| Name | Value | -| --------------------- | --------------------- | -| `NONE` | none | -| `CAPPED4K` | capped_4k | -| `AUDIO_ONLY` | audioOnly | -| `AUDIO_ONLY_CAPPED4K` | audioOnly,capped_4k | \ No newline at end of file diff --git a/docs/models/components/GetMediaResponseTrack.md b/docs/models/components/GetMediaResponseTrack.md deleted file mode 100644 index d86f836..0000000 --- a/docs/models/components/GetMediaResponseTrack.md +++ /dev/null @@ -1,2 +0,0 @@ -# GetMediaResponseTrack - diff --git a/docs/models/components/GetPublicPemUsingSigningKeyIdResponseDTOData.md b/docs/models/components/GetPublicPemUsingSigningKeyIdResponseDTOData.md index 2c259ad..8d0aaa9 100644 --- a/docs/models/components/GetPublicPemUsingSigningKeyIdResponseDTOData.md +++ b/docs/models/components/GetPublicPemUsingSigningKeyIdResponseDTOData.md @@ -7,6 +7,6 @@ Displays the result of the request. | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `workspaceId` | *Optional\* | :heavy_minus_sign: | FastPix generates a unique identifier for each workspace. | fc9d9368-6ee5-4b16-ae50-880ab374bdc6 | +| `workspaceId` | *Optional\* | :heavy_minus_sign: | FastPix generates a unique identifier for each workspace. | your-workspace-id | | `signingKeyId` | *Optional\* | :heavy_minus_sign: | N/A | 5ta85f64-5717-4562-b3fc-2c963f66afa6 | | `publicKey` | *Optional\* | :heavy_minus_sign: | A public key is a byte encoded key used to create a signed JSON Web Token (JWT) for authentication. | -----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvfUkdkrPIZGOAwMwrkQ9Jr6uNEsVQCgax8xHMSf4Ib3IwlE90M/wLJZGmSWcaAWzH4nSE5qh/fF4E4xHY0hYMS78Ve9GSV8mtLfzjcZ0agfmFO0B0/YVaXNKDGc3CUWAOoONZEMCA3wqLNSZ3yQhr/IZ4xVqBR0GLSYtFt2VNNAmgfAQkVLcZy+3V1ZaC49EgK4AoR51iwwv9DzRjZ/3rM8MSS9lEy0WQGXP/x+0k8hQvq482r/G32TSG00ZSKQDpRFieaFh6YRxMd/R0bhVAvTTO8STQa/M4PZGoBFqkPTpCw5uShtpe+Hm85vlHk/2qYx5NqIe4l+c/yo4w/ny/QIDAQAB
-----END PUBLIC KEY-----
| \ No newline at end of file diff --git a/docs/models/components/LiveMediaClips.md b/docs/models/components/LiveMediaClips.md index ac89bbd..cba583b 100644 --- a/docs/models/components/LiveMediaClips.md +++ b/docs/models/components/LiveMediaClips.md @@ -5,11 +5,11 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | -| `thumbnail` | *JsonNullable\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/6b13fdaf-f9ac-4970-a13b-01ea417e8783/thumbnail.png | -| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 3fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `thumbnail` | *JsonNullable\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/your-media-id/thumbnail.png | +| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | | `workspaceId` | *Optional\* | :heavy_minus_sign: | A unique identifier is generated by FastPix for the workspace. | 5ta85f64-5717-4562-b3fc-2c963f66afa6 | | `streamId` | *Optional\* | :heavy_minus_sign: | The ID of the livestream for which the clips were created. | 98f28be5ac9bd7a4205634691a1a096b | -| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | 8fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | your-creator-id | | `title` | *JsonNullable\* | :heavy_minus_sign: | Title of the media file. | My Video Title | | `maxResolution` | [Optional\](../../models/components/LiveMediaClipsMaxResolution.md) | :heavy_minus_sign: | The maximum resolution specified by the user for the media. | 1080p | | `sourceResolution` | [Optional\](../../models/components/LiveMediaClipsSourceResolution.md) | :heavy_minus_sign: | The actual resolution of the uploaded media. This represents the native quality of the source media. | 1080p | @@ -17,9 +17,12 @@ | `sourceAccess` | *Optional\* | :heavy_minus_sign: | The sourceAccess parameter determines whether the original media file is accessible. Set to true to enable access or false to restrict it. | false | | `playbackIds` | List\<[PlaybackId](../../models/components/PlaybackId.md)> | :heavy_minus_sign: | A collection of Playback ID objects utilized for crafting HLS playback URLs. | | | `tracks` | List\<[LiveMediaClipsTrack](../../models/components/LiveMediaClipsTrack.md)> | :heavy_minus_sign: | A media consists of different media tracks, like video, audio, and subtitle, all combined. | | +| `generatedSubtitles` | List\<[TracksSubtitles](../../models/components/TracksSubtitles.md)> | :heavy_minus_sign: | List of generated subtitle tracks associated with the media. | | | `isAudioOnly` | *JsonNullable\* | :heavy_minus_sign: | Indicates whether the media contains only audio (no video track). | false | | `subtitleAvailable` | *JsonNullable\* | :heavy_minus_sign: | Indicates whether subtitles are available for the media. | true | | `duration` | *Optional\* | :heavy_minus_sign: | The length of the media in seconds, with a maximum allowed duration of 12 hours per individual media. | 00:00:10 | | `aspectRatio` | *JsonNullable\* | :heavy_minus_sign: | The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height. | 16:9 | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was created, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | -| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | \ No newline at end of file +| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | +| `optimizeAudio` | *Optional\* | :heavy_minus_sign: | Whether the audio track of the media has been volume-normalized. | false | +| `mp4Support` | [Optional\>](../../models/components/LiveMediaClipsMp4Support.md) | :heavy_minus_sign: | A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. | | diff --git a/docs/models/components/LiveMediaClipsMp4Support.md b/docs/models/components/LiveMediaClipsMp4Support.md new file mode 100644 index 0000000..4993459 --- /dev/null +++ b/docs/models/components/LiveMediaClipsMp4Support.md @@ -0,0 +1,14 @@ +# LiveMediaClipsMp4Support + +One downloadable MP4 rendition generated for the media, along with its generation status. + + +## Fields + +| Field | Type | Required | Description | Example | +|----------|--------------------------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-----------| +| `type` | [Optional\](../../models/components/LiveMediaClipsMp4SupportType.md) | :heavy_minus_sign: | The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. | capped_4k | +| `status` | [Optional\](../../models/components/LiveMediaClipsMp4SupportStatus.md) | :heavy_minus_sign: | Generation status of this MP4 rendition. | ready | +| `height` | *Optional\* | :heavy_minus_sign: | Pixel height of the rendition. Omitted for the `audioOnly` type. | 1080 | +| `width` | *Optional\* | :heavy_minus_sign: | Pixel width of the rendition. Omitted for the `audioOnly` type. | 1920 | +| `ext` | [Optional\](../../models/components/LiveMediaClipsMp4SupportExt.md) | :heavy_minus_sign: | File extension of the downloadable rendition. | mp4 | diff --git a/docs/models/components/LiveMediaClipsMp4SupportExt.md b/docs/models/components/LiveMediaClipsMp4SupportExt.md new file mode 100644 index 0000000..9437fac --- /dev/null +++ b/docs/models/components/LiveMediaClipsMp4SupportExt.md @@ -0,0 +1,11 @@ +# LiveMediaClipsMp4SupportExt + +File extension of the downloadable rendition. + + +## Values + +| Name | Value | +|------|-------| +| MP4 | `mp4` | +| M4A | `m4a` | diff --git a/docs/models/components/LiveMediaClipsMp4SupportStatus.md b/docs/models/components/LiveMediaClipsMp4SupportStatus.md new file mode 100644 index 0000000..9ef080a --- /dev/null +++ b/docs/models/components/LiveMediaClipsMp4SupportStatus.md @@ -0,0 +1,12 @@ +# LiveMediaClipsMp4SupportStatus + +Generation status of this MP4 rendition. + + +## Values + +| Name | Value | +|-----------|-------------| +| PREPARING | `preparing` | +| READY | `ready` | +| FAILED | `failed` | diff --git a/docs/models/components/LiveMediaClipsMp4SupportType.md b/docs/models/components/LiveMediaClipsMp4SupportType.md new file mode 100644 index 0000000..250b96f --- /dev/null +++ b/docs/models/components/LiveMediaClipsMp4SupportType.md @@ -0,0 +1,11 @@ +# LiveMediaClipsMp4SupportType + +The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. + + +## Values + +| Name | Value | +|------------|-------------| +| CAPPED4K | `capped_4k` | +| AUDIO_ONLY | `audioOnly` | diff --git a/docs/models/components/LiveMediaClipsSourceResolution.md b/docs/models/components/LiveMediaClipsSourceResolution.md index 23ec34a..35253be 100644 --- a/docs/models/components/LiveMediaClipsSourceResolution.md +++ b/docs/models/components/LiveMediaClipsSourceResolution.md @@ -16,4 +16,6 @@ The actual resolution of the uploaded media. This represents the native quality | `SEVEN_HUNDRED_AND_TWENTYP` | 720p | | `SEVEN_HUNDRED_AND_TWENTY` | 720 | | `FOUR_HUNDRED_AND_EIGHTYP` | 480p | -| `FOUR_HUNDRED_AND_EIGHTY` | 480 | \ No newline at end of file +| `FOUR_HUNDRED_AND_EIGHTY` | 480 | +| `THREE_HUNDRED_AND_SIXTYP` | 360p | +| `THREE_HUNDRED_AND_SIXTY` | 360 | \ No newline at end of file diff --git a/docs/models/components/Media.md b/docs/models/components/Media.md index b308600..5758fe8 100644 --- a/docs/models/components/Media.md +++ b/docs/models/components/Media.md @@ -5,17 +5,17 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `thumbnail` | *JsonNullable\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/6b13fdaf-f9ac-4970-a13b-01ea417e8783/thumbnail.png | -| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 3fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `thumbnail` | *JsonNullable\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/your-media-id/thumbnail.png | +| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | | `workspaceId` | *Optional\* | :heavy_minus_sign: | A unique identifier is generated by FastPix for the workspace. | 5ta85f64-5717-4562-b3fc-2c963f66afa6 | | `metadata` | Map\ | :heavy_minus_sign: | You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
| {
"key1": "value1"
} | | `mediaQuality` | [Optional\](../../models/components/MediaMediaQuality.md) | :heavy_minus_sign: | The quality tier applied to the media. | standard | -| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | 8fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | your-creator-id | | `title` | *JsonNullable\* | :heavy_minus_sign: | Title of the media file. | My Video Title | | `maxResolution` | [Optional\](../../models/components/MediaMaxResolution.md) | :heavy_minus_sign: | The maximum resolution specified by the user for the media. | 1080p | | `sourceResolution` | [Optional\](../../models/components/MediaSourceResolution.md) | :heavy_minus_sign: | The actual resolution of the uploaded media. This represents the native quality of the source media. | 1080p | | `status` | [Optional\](../../models/components/MediaStatus.md) | :heavy_minus_sign: | Determines the media’s status, which can be one of the possible values. | Processing | -| `mp4Support` | [Optional\](../../models/components/MediaMp4Support.md) | :heavy_minus_sign: | Determines the type of MP4 support for the media.
- **none**: Disables MP4 support.
- **capped_4k**: Enables MP4 downloads with resolutions up to 4K.
- **audioOnly**: Provides an MP4 stream containing only the audio.
- **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream.
| capped_4k | +| `mp4Support` | [Optional\>](../../models/components/MediaMp4Support.md) | :heavy_minus_sign: | Determines the type of MP4 support for the media.
- **none**: Disables MP4 support.
- **capped_4k**: Enables MP4 downloads with resolutions up to 4K.
- **audioOnly**: Provides an MP4 stream containing only the audio.
- **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream.
| capped_4k | | `sourceAccess` | *JsonNullable\* | :heavy_minus_sign: | The sourceAccess parameter determines whether the original media file is accessible. Set to true to enable access or false to restrict it. | true | | `playbackIds` | List\<[PlaybackId](../../models/components/PlaybackId.md)> | :heavy_minus_sign: | A collection of Playback ID objects utilized for crafting HLS playback URLs. | | | `tracks` | List\<[MediaTrack](../../models/components/MediaTrack.md)> | :heavy_minus_sign: | A media consists of different media tracks, like video, audio, and subtitle, all combined. | | @@ -29,4 +29,5 @@ | `duration` | *Optional\* | :heavy_minus_sign: | The length of the media in seconds, with a maximum allowed duration of 12 hours per individual media. | 00:00:10 | | `aspectRatio` | *JsonNullable\* | :heavy_minus_sign: | The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height. | 16:9 | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was created, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | -| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | \ No newline at end of file +| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | +| `optimizeAudio` | *Optional\* | :heavy_minus_sign: | Whether the audio track of the media has been volume-normalized. | false | diff --git a/docs/models/components/MediaCancelResponse.md b/docs/models/components/MediaCancelResponse.md index b47df23..26efb9a 100644 --- a/docs/models/components/MediaCancelResponse.md +++ b/docs/models/components/MediaCancelResponse.md @@ -7,14 +7,14 @@ Response returned when an upload is cancelled. | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `uploadId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the cancelled upload. | beff5537-de85-42e1-a673-2a405cd94177 | +| `uploadId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the cancelled upload. | your-upload-id | | `trial` | *Optional\* | :heavy_minus_sign: | Indicates if the upload was a trial. | false | | `status` | *Optional\* | :heavy_minus_sign: | The status of the upload after cancellation. | cancelled | -| `url` | *Optional\* | :heavy_minus_sign: | The upload URL (if available) after cancellation. | https://storage.googleapis.com/fastpix-uploads-us/8a5ab157-c586-458a-bb2e-caa8a8b76a19/4190bbde-4c34-41e4-b70e-90ba2aa0b79e | +| `url` | *Optional\* | :heavy_minus_sign: | The upload URL (if available) after cancellation. | https://storage.fastpix.com/uploads/your-upload-id?your-presigned-upload-signature | | `timeout` | *JsonNullable\* | :heavy_minus_sign: | The timeout value for the upload. | 14400 | | `corsOrigin` | *Optional\* | :heavy_minus_sign: | CORS origin allowed for the upload. | * | | `maxResolution` | *Optional\* | :heavy_minus_sign: | The maximum resolution allowed for the upload. | 1080p | | `accessPolicy` | *Optional\* | :heavy_minus_sign: | The access policy for the upload. | public | | `metadata` | Map\ | :heavy_minus_sign: | You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
| {
"key1": "value1"
} | | `title` | *JsonNullable\* | :heavy_minus_sign: | Title of the media file. | My Video Title | -| `creatorId` | *JsonNullable\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | 8fa85f64-5717-4562-b3fc-2c963f66afa6 | \ No newline at end of file +| `creatorId` | *JsonNullable\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | your-creator-id | \ No newline at end of file diff --git a/docs/models/components/MediaClipResponseData.md b/docs/models/components/MediaClipResponseData.md index 2d4e5f3..b7082f4 100644 --- a/docs/models/components/MediaClipResponseData.md +++ b/docs/models/components/MediaClipResponseData.md @@ -5,9 +5,9 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media by FastPix. | b62427ec-07fd-4a89-b3c0-94909aaaa1da | +| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media by FastPix. | your-media-id | | `duration` | *Optional\* | :heavy_minus_sign: | Duration of the media in HH:MM:SS format. | 00:00:13 | | `status` | [Optional\](../../models/components/MediaClipResponseStatus.md) | :heavy_minus_sign: | The current processing status of the media. | Ready | -| `thumbnail` | *Optional\* | :heavy_minus_sign: | A video thumbnail that acts as a preview image for the video. | https://images.fastpix.app/66dc7b0b-9dfb-4721-a738-837f89ccbd0a/thumbnail.png | +| `thumbnail` | *Optional\* | :heavy_minus_sign: | A video thumbnail that acts as a preview image for the video. | https://images.fastpix.app/your-media-id/thumbnail.png | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Timestamp of when the media was created. | 2025-03-12T06:17:26.403017Z | | `playbackIds` | List\<[MediaClipResponsePlaybackId](../../models/components/MediaClipResponsePlaybackId.md)> | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/components/MediaClipResponsePlaybackId.md b/docs/models/components/MediaClipResponsePlaybackId.md index 3a653a3..e53ffc7 100644 --- a/docs/models/components/MediaClipResponsePlaybackId.md +++ b/docs/models/components/MediaClipResponsePlaybackId.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier for playback. | 66dc7b0b-9dfb-4721-a738-837f89ccbd0a | +| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier for playback. | your-playback-id | | `accessPolicy` | *Optional\* | :heavy_minus_sign: | The access policy of the playback. | public | \ No newline at end of file diff --git a/docs/models/components/MediaIdsRequest.md b/docs/models/components/MediaIdsRequest.md index 7b89bbf..ca48396 100644 --- a/docs/models/components/MediaIdsRequest.md +++ b/docs/models/components/MediaIdsRequest.md @@ -7,4 +7,4 @@ The list of mediaId(s) you want to perform the operation on. | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -| `mediaIds` | List\<*String*> | :heavy_check_mark: | N/A | [
"a1cd180e-f9b5-4e99-9d44-b9c9baabad89",
"245800c3-7b73-47d9-a201-e961260dcb30",
"41316aac-5396-4278-8f44-08d5f2495b12"
] | \ No newline at end of file +| `mediaIds` | List\<*String*> | :heavy_check_mark: | N/A | [
"your-media-id-1",
"your-media-id-2",
"your-media-id-3"
] | \ No newline at end of file diff --git a/docs/models/components/MediaMp4Support.md b/docs/models/components/MediaMp4Support.md index c623309..a3f25eb 100644 --- a/docs/models/components/MediaMp4Support.md +++ b/docs/models/components/MediaMp4Support.md @@ -1,18 +1,14 @@ # MediaMp4Support -Determines the type of MP4 support for the media. -- **none**: Disables MP4 support. -- **capped_4k**: Enables MP4 downloads with resolutions up to 4K. -- **audioOnly**: Provides an MP4 stream containing only the audio. -- **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. +One downloadable MP4 rendition generated for the media, along with its generation status. +## Fields -## Values - -| Name | Value | -| --------------------- | --------------------- | -| `NONE` | none | -| `CAPPED4K` | capped_4k | -| `AUDIO_ONLY` | audioOnly | -| `AUDIO_ONLY_CAPPED4K` | audioOnly,capped_4k | \ No newline at end of file +| Field | Type | Required | Description | Example | +|----------|--------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-----------| +| `type` | [Optional\](../../models/components/MediaMp4SupportType.md) | :heavy_minus_sign: | The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. | capped_4k | +| `status` | [Optional\](../../models/components/MediaMp4SupportStatus.md) | :heavy_minus_sign: | Generation status of this MP4 rendition. | ready | +| `height` | *Optional\* | :heavy_minus_sign: | Pixel height of the rendition. Omitted for the `audioOnly` type. | 1080 | +| `width` | *Optional\* | :heavy_minus_sign: | Pixel width of the rendition. Omitted for the `audioOnly` type. | 1920 | +| `ext` | [Optional\](../../models/components/MediaMp4SupportExt.md) | :heavy_minus_sign: | File extension of the downloadable rendition. | mp4 | diff --git a/docs/models/components/MediaMp4SupportExt.md b/docs/models/components/MediaMp4SupportExt.md new file mode 100644 index 0000000..265cbac --- /dev/null +++ b/docs/models/components/MediaMp4SupportExt.md @@ -0,0 +1,11 @@ +# MediaMp4SupportExt + +File extension of the downloadable rendition. + + +## Values + +| Name | Value | +|------|-------| +| MP4 | `mp4` | +| M4A | `m4a` | diff --git a/docs/models/components/MediaMp4SupportStatus.md b/docs/models/components/MediaMp4SupportStatus.md new file mode 100644 index 0000000..e7aab5c --- /dev/null +++ b/docs/models/components/MediaMp4SupportStatus.md @@ -0,0 +1,12 @@ +# MediaMp4SupportStatus + +Generation status of this MP4 rendition. + + +## Values + +| Name | Value | +|-----------|-------------| +| PREPARING | `preparing` | +| READY | `ready` | +| FAILED | `failed` | diff --git a/docs/models/components/MediaMp4SupportType.md b/docs/models/components/MediaMp4SupportType.md new file mode 100644 index 0000000..03b91ec --- /dev/null +++ b/docs/models/components/MediaMp4SupportType.md @@ -0,0 +1,11 @@ +# MediaMp4SupportType + +The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. + + +## Values + +| Name | Value | +|------------|-------------| +| CAPPED4K | `capped_4k` | +| AUDIO_ONLY | `audioOnly` | diff --git a/docs/models/components/MediaSourceResolution.md b/docs/models/components/MediaSourceResolution.md index 3604d74..c7d888f 100644 --- a/docs/models/components/MediaSourceResolution.md +++ b/docs/models/components/MediaSourceResolution.md @@ -16,4 +16,6 @@ The actual resolution of the uploaded media. This represents the native quality | `SEVEN_HUNDRED_AND_TWENTYP` | 720p | | `SEVEN_HUNDRED_AND_TWENTY` | 720 | | `FOUR_HUNDRED_AND_EIGHTYP` | 480p | -| `FOUR_HUNDRED_AND_EIGHTY` | 480 | \ No newline at end of file +| `FOUR_HUNDRED_AND_EIGHTY` | 480 | +| `THREE_HUNDRED_AND_SIXTYP` | 360p | +| `THREE_HUNDRED_AND_SIXTY` | 360 | \ No newline at end of file diff --git a/docs/models/components/ModerationResponse.md b/docs/models/components/ModerationResponse.md index 5d5bea2..273d3a1 100644 --- a/docs/models/components/ModerationResponse.md +++ b/docs/models/components/ModerationResponse.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `mediaId` | *Optional\* | :heavy_minus_sign: | N/A | c695988b-ff84-42ae-bb21-10f284fedb0e | +| `mediaId` | *Optional\* | :heavy_minus_sign: | N/A | your-media-id | | `isModerationEnabled` | *Optional\* | :heavy_minus_sign: | N/A | true | \ No newline at end of file diff --git a/docs/models/components/NamedEntitiesResponse.md b/docs/models/components/NamedEntitiesResponse.md index 66c52cf..f7e4a27 100644 --- a/docs/models/components/NamedEntitiesResponse.md +++ b/docs/models/components/NamedEntitiesResponse.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `mediaId` | *Optional\* | :heavy_minus_sign: | N/A | c695988b-ff84-42ae-bb21-10f284fedb0e | +| `mediaId` | *Optional\* | :heavy_minus_sign: | N/A | your-media-id | | `isNamedEntitiesEnabled` | *Optional\* | :heavy_minus_sign: | N/A | true | \ No newline at end of file diff --git a/docs/models/components/PlaybackIdResponse.md b/docs/models/components/PlaybackIdResponse.md index 3b72dfe..b1ca4f2 100644 --- a/docs/models/components/PlaybackIdResponse.md +++ b/docs/models/components/PlaybackIdResponse.md @@ -7,5 +7,5 @@ A collection of Playback ID objects utilized for crafting HLS playback urls. | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | Unique identifier for the playbackId | 68b7ac0f-2504-4dd5-b7b4-d84ab4fee1bd | +| `id` | *Optional\* | :heavy_minus_sign: | Unique identifier for the playbackId | your-playback-id | | `accessPolicy` | *Optional\* | :heavy_minus_sign: | Determines if access to the streamed content is kept private or available to all. | public | \ No newline at end of file diff --git a/docs/models/components/PlaybackIdSuccessResponseData.md b/docs/models/components/PlaybackIdSuccessResponseData.md index c6f413b..7a26e74 100644 --- a/docs/models/components/PlaybackIdSuccessResponseData.md +++ b/docs/models/components/PlaybackIdSuccessResponseData.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | Unique identifier for the playbackId | 68b7ac0f-2504-4dd5-b7b4-d84ab4fee1bd | +| `id` | *Optional\* | :heavy_minus_sign: | Unique identifier for the playbackId | your-playback-id | | `accessPolicy` | *Optional\* | :heavy_minus_sign: | Determines if access to the streamed content is kept private or available to all. | public | \ No newline at end of file diff --git a/docs/models/components/PlaylistByIdResponseDataManual.md b/docs/models/components/PlaylistByIdResponseDataManual.md index 2447926..5501897 100644 --- a/docs/models/components/PlaylistByIdResponseDataManual.md +++ b/docs/models/components/PlaylistByIdResponseDataManual.md @@ -5,13 +5,13 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | The unique id of the playlist | 2455174e-64d9-4324-86bd-80cb1af5b20a | +| `id` | *Optional\* | :heavy_minus_sign: | The unique id of the playlist | your-playlist-id | | `name` | *Optional\* | :heavy_minus_sign: | The name of the playlist set by the user | playlist1 | | `referenceId` | *Optional\* | :heavy_minus_sign: | Unique string value assigned by user to the playlist. | playlists301 | | `type` | [PlaylistByIdResponseDataManualType](../../models/components/PlaylistByIdResponseDataManualType.md) | :heavy_check_mark: | type of the playlist, when it was created | manual | | `description` | *Optional\* | :heavy_minus_sign: | Description of the playlist set by the user. | This is a manual playlist | | `mediaList` | List\<[PlaylistByIdResponseMediaListItem](../../models/components/PlaylistByIdResponseMediaListItem.md)> | :heavy_minus_sign: | N/A | | -| `workspaceId` | *Optional\* | :heavy_minus_sign: | The unique id of the workspace in which the playlist is present. | d760b903-86ef-44d6-9b73-334130e0cf2d | +| `workspaceId` | *Optional\* | :heavy_minus_sign: | The unique id of the workspace in which the playlist is present. | your-workspace-id | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Timestamp of playlist creation. | 2025-05-12T12:55:24.368182Z | | `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Playlist's most recent update timestamp. | 2025-05-27T09:51:03.166094Z | | `mediaCount` | *Optional\* | :heavy_minus_sign: | No. of media present in the playlist | 3 | \ No newline at end of file diff --git a/docs/models/components/PlaylistByIdResponseDataSmart.md b/docs/models/components/PlaylistByIdResponseDataSmart.md index 108298b..b5e91ae 100644 --- a/docs/models/components/PlaylistByIdResponseDataSmart.md +++ b/docs/models/components/PlaylistByIdResponseDataSmart.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | The unique id of the playlist | 2455174e-64d9-4324-86bd-80cb1af5b20a | +| `id` | *Optional\* | :heavy_minus_sign: | The unique id of the playlist | your-playlist-id | | `name` | *Optional\* | :heavy_minus_sign: | The name of the playlist set by the user | playlist1 | | `referenceId` | *Optional\* | :heavy_minus_sign: | Unique string value assigned by user to the playlist. | playlists301 | | `type` | [PlaylistByIdResponseDataSmartType](../../models/components/PlaylistByIdResponseDataSmartType.md) | :heavy_check_mark: | type of the playlist, when it was created | smart | @@ -13,7 +13,7 @@ | `playOrder` | [PlaylistOrder](../../models/components/PlaylistOrder.md) | :heavy_check_mark: | Determines the insertion order of media into playlist. | | | `metadata` | [PlaylistByIdResponseMetadata](../../models/components/PlaylistByIdResponseMetadata.md) | :heavy_check_mark: | Required when the playlist type is `smart`. Media created between `startDate` and `endDate` of `createdDate` is added. Optionally, you can include media based on `updatedDate`. | | | `mediaList` | List\<[PlaylistByIdResponseMediaListItem](../../models/components/PlaylistByIdResponseMediaListItem.md)> | :heavy_minus_sign: | N/A | | -| `workspaceId` | *Optional\* | :heavy_minus_sign: | The unique id of the workspace in which the playlist is present. | d760b903-86ef-44d6-9b73-334130e0cf2d | +| `workspaceId` | *Optional\* | :heavy_minus_sign: | The unique id of the workspace in which the playlist is present. | your-workspace-id | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Timestamp of playlist creation. | 2025-05-12T12:55:24.368182Z | | `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Playlist's most recent update timestamp. | 2025-05-27T09:51:03.166094Z | | `mediaCount` | *Optional\* | :heavy_minus_sign: | No. of media present in the playlist | 3 | \ No newline at end of file diff --git a/docs/models/components/PlaylistByIdResponseMediaListItem.md b/docs/models/components/PlaylistByIdResponseMediaListItem.md index d9c0277..254bff7 100644 --- a/docs/models/components/PlaylistByIdResponseMediaListItem.md +++ b/docs/models/components/PlaylistByIdResponseMediaListItem.md @@ -8,8 +8,8 @@ | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Timestamp of media creation in the workspace. | 2025-03-21T05:58:38.000708Z | | `creatorId` | *JsonNullable\* | :heavy_minus_sign: | Creator ID of the media. | FastPix@14612 | | `duration` | *Optional\* | :heavy_minus_sign: | Duration of the media in hh:mm:ss format. | 00:00:10 | -| `id` | *Optional\* | :heavy_minus_sign: | unique id of the particular media. | 942e0ced-146b-487e-988f-6de578de1000 | +| `id` | *Optional\* | :heavy_minus_sign: | unique id of the particular media. | your-playlist-id | | `sourceResolution` | *Optional\* | :heavy_minus_sign: | source resolution of the media. | 1080p | | `status` | *Optional\* | :heavy_minus_sign: | status of the media, only media with ready status is added to playlist. | Ready | -| `thumbnail` | *Optional\* | :heavy_minus_sign: | thumbnail for the particular media. | https://venus-images.fastpix.dev/ff31b32e-4979-4d2b-ad2a-685af43c9902/thumbnail.png | +| `thumbnail` | *Optional\* | :heavy_minus_sign: | thumbnail for the particular media. | https://venus-images.fastpix.dev/your-media-id/thumbnail.png | | `title` | *JsonNullable\* | :heavy_minus_sign: | Title of the media. | Media 1 | \ No newline at end of file diff --git a/docs/models/components/PlaylistItem.md b/docs/models/components/PlaylistItem.md index 60cf6b6..9c243cd 100644 --- a/docs/models/components/PlaylistItem.md +++ b/docs/models/components/PlaylistItem.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | The unique id of the playlist | db6e860f-cb57-43dd-8acf-39c9effd5608 | +| `id` | *Optional\* | :heavy_minus_sign: | The unique id of the playlist | your-playlist-id | | `name` | *Optional\* | :heavy_minus_sign: | The name of the playlist set by the user | playlist1 | | `type` | [Optional\](../../models/components/PlaylistItemType.md) | :heavy_minus_sign: | type of the playlist, when it was created | smart | | `referenceId` | *Optional\* | :heavy_minus_sign: | Unique string value assigned by user to the playlist. | a111dfdfdafsdfe | diff --git a/docs/models/components/SimulcastRequest.md b/docs/models/components/SimulcastRequest.md index 2c8b73c..52154d5 100644 --- a/docs/models/components/SimulcastRequest.md +++ b/docs/models/components/SimulcastRequest.md @@ -6,5 +6,5 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | `url` | *Optional\* | :heavy_minus_sign: | The RTMPS hostname, combined with the application name, is crucial for connecting to third-party live streaming services and transmitting the live stream. | rtmp://hyd01.contribute.live-video.net/app/ | -| `streamKey` | *Optional\* | :heavy_minus_sign: | A unique stream key is generated for streaming, allowing the user to start streaming on any third-party platform using this key. | live_1012464221_DuM8W004MoZYNxQEZ0czODgfHCFBhk | +| `streamKey` | *Optional\* | :heavy_minus_sign: | A unique stream key is generated for streaming, allowing the user to start streaming on any third-party platform using this key. | your-youtube-stream-key | | `metadata` | Map\ | :heavy_minus_sign: | You can search for videos with specific key-value pairs using metadata, when you tag a video in "key":"value" pairs. | {
"livestream_name": "Tech-Connect Summit"
} | \ No newline at end of file diff --git a/docs/models/components/SourceAccessMedia.md b/docs/models/components/SourceAccessMedia.md index 7124823..ea25ca0 100644 --- a/docs/models/components/SourceAccessMedia.md +++ b/docs/models/components/SourceAccessMedia.md @@ -5,12 +5,12 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `thumbnail` | *JsonNullable\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/6b13fdaf-f9ac-4970-a13b-01ea417e8783/thumbnail.png | -| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 3fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `thumbnail` | *JsonNullable\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/your-media-id/thumbnail.png | +| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | | `workspaceId` | *Optional\* | :heavy_minus_sign: | A unique identifier is generated by FastPix for the workspace. | 5ta85f64-5717-4562-b3fc-2c963f66afa6 | | `metadata` | Map\ | :heavy_minus_sign: | You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
| {
"key1": "value1"
} | | `mediaQuality` | [Optional\](../../models/components/SourceAccessMediaMediaQuality.md) | :heavy_minus_sign: | The quality tier applied to the media. | standard | -| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | 8fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | your-creator-id | | `title` | *JsonNullable\* | :heavy_minus_sign: | Title of the media file. | My Video Title | | `maxResolution` | [Optional\](../../models/components/SourceAccessMediaMaxResolution.md) | :heavy_minus_sign: | The maximum resolution specified by the user for the media. | 1080p | | `sourceResolution` | [Optional\](../../models/components/SourceAccessMediaSourceResolution.md) | :heavy_minus_sign: | The actual resolution of the uploaded media. This represents the native quality of the source media. | 1080p | @@ -28,4 +28,6 @@ | `duration` | *Optional\* | :heavy_minus_sign: | The length of the media in seconds, with a maximum allowed duration of 12 hours per individual media. | 00:00:10 | | `aspectRatio` | *JsonNullable\* | :heavy_minus_sign: | The aspect ratio of a video describes its shape based on the relationship between its width and height. | 16:9 | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was created, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | -| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | \ No newline at end of file +| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | +| `mp4Support` | [Optional\>](../../models/components/SourceAccessMediaMp4Support.md) | :heavy_minus_sign: | A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. | | +| `optimizeAudio` | *Optional\* | :heavy_minus_sign: | Whether the audio track of the media has been volume-normalized. | false | diff --git a/docs/models/components/SourceAccessMediaMp4Support.md b/docs/models/components/SourceAccessMediaMp4Support.md new file mode 100644 index 0000000..43f181c --- /dev/null +++ b/docs/models/components/SourceAccessMediaMp4Support.md @@ -0,0 +1,14 @@ +# SourceAccessMediaMp4Support + +One downloadable MP4 rendition generated for the media, along with its generation status. + + +## Fields + +| Field | Type | Required | Description | Example | +|----------|--------------------------------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-----------| +| `type` | [Optional\](../../models/components/SourceAccessMediaMp4SupportType.md) | :heavy_minus_sign: | The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. | capped_4k | +| `status` | [Optional\](../../models/components/SourceAccessMediaMp4SupportStatus.md) | :heavy_minus_sign: | Generation status of this MP4 rendition. | ready | +| `height` | *Optional\* | :heavy_minus_sign: | Pixel height of the rendition. Omitted for the `audioOnly` type. | 1080 | +| `width` | *Optional\* | :heavy_minus_sign: | Pixel width of the rendition. Omitted for the `audioOnly` type. | 1920 | +| `ext` | [Optional\](../../models/components/SourceAccessMediaMp4SupportExt.md) | :heavy_minus_sign: | File extension of the downloadable rendition. | mp4 | diff --git a/docs/models/components/SourceAccessMediaMp4SupportExt.md b/docs/models/components/SourceAccessMediaMp4SupportExt.md new file mode 100644 index 0000000..c90f463 --- /dev/null +++ b/docs/models/components/SourceAccessMediaMp4SupportExt.md @@ -0,0 +1,11 @@ +# SourceAccessMediaMp4SupportExt + +File extension of the downloadable rendition. + + +## Values + +| Name | Value | +|------|-------| +| MP4 | `mp4` | +| M4A | `m4a` | diff --git a/docs/models/components/SourceAccessMediaMp4SupportStatus.md b/docs/models/components/SourceAccessMediaMp4SupportStatus.md new file mode 100644 index 0000000..c1884f2 --- /dev/null +++ b/docs/models/components/SourceAccessMediaMp4SupportStatus.md @@ -0,0 +1,12 @@ +# SourceAccessMediaMp4SupportStatus + +Generation status of this MP4 rendition. + + +## Values + +| Name | Value | +|-----------|-------------| +| PREPARING | `preparing` | +| READY | `ready` | +| FAILED | `failed` | diff --git a/docs/models/components/SourceAccessMediaMp4SupportType.md b/docs/models/components/SourceAccessMediaMp4SupportType.md new file mode 100644 index 0000000..169acee --- /dev/null +++ b/docs/models/components/SourceAccessMediaMp4SupportType.md @@ -0,0 +1,11 @@ +# SourceAccessMediaMp4SupportType + +The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. + + +## Values + +| Name | Value | +|------------|-------------| +| CAPPED4K | `capped_4k` | +| AUDIO_ONLY | `audioOnly` | diff --git a/docs/models/components/SourceAccessMediaSourceResolution.md b/docs/models/components/SourceAccessMediaSourceResolution.md index 109a8e1..d640ee7 100644 --- a/docs/models/components/SourceAccessMediaSourceResolution.md +++ b/docs/models/components/SourceAccessMediaSourceResolution.md @@ -16,4 +16,6 @@ The actual resolution of the uploaded media. This represents the native quality | `SEVEN_HUNDRED_AND_TWENTYP` | 720p | | `SEVEN_HUNDRED_AND_TWENTY` | 720 | | `FOUR_HUNDRED_AND_EIGHTYP` | 480p | -| `FOUR_HUNDRED_AND_EIGHTY` | 480 | \ No newline at end of file +| `FOUR_HUNDRED_AND_EIGHTY` | 480 | +| `THREE_HUNDRED_AND_SIXTYP` | 360p | +| `THREE_HUNDRED_AND_SIXTY` | 360 | \ No newline at end of file diff --git a/docs/models/components/SubtitleTrack.md b/docs/models/components/SubtitleTrack.md index 755ad48..2808caa 100644 --- a/docs/models/components/SubtitleTrack.md +++ b/docs/models/components/SubtitleTrack.md @@ -11,4 +11,5 @@ A media consists of different media tracks, like video, audio, and subtitle, all | `type` | [Optional\](../../models/components/SubtitleTrackType.md) | :heavy_minus_sign: | Defines the type of input track. | subtitle | | `status` | *Optional\* | :heavy_minus_sign: | Indicates the current state of the track. 'available' means the track has been processed successfully and is ready to be used or played. | available | | `languageName` | *Optional\* | :heavy_minus_sign: | Name of the language in which the subtitles will be generated.
| english | -| `languageCode` | *Optional\* | :heavy_minus_sign: | Language codes are concise, standardized symbols that denote languages, utilizing either two or three characters for identification. The language code must be compliant with the BCP 47 standard to ensure compatibility. (for text only).
| en | \ No newline at end of file +| `languageCode` | *Optional\* | :heavy_minus_sign: | Language codes are concise, standardized symbols that denote languages, utilizing either two or three characters for identification. The language code must be compliant with the BCP 47 standard to ensure compatibility. (for text only).
| en | +| `title` | *Optional\* | :heavy_minus_sign: | Title of the track. | My track title | diff --git a/docs/models/components/SummaryResponse.md b/docs/models/components/SummaryResponse.md index a53ed41..a3dda56 100644 --- a/docs/models/components/SummaryResponse.md +++ b/docs/models/components/SummaryResponse.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `mediaId` | *Optional\* | :heavy_minus_sign: | N/A | c695988b-ff84-42ae-bb21-10f284fedb0e | +| `mediaId` | *Optional\* | :heavy_minus_sign: | N/A | your-media-id | | `isSummaryEnabled` | *Optional\* | :heavy_minus_sign: | N/A | true | \ No newline at end of file diff --git a/docs/models/components/TrackSubtitlesGenerateRequest.md b/docs/models/components/TrackSubtitlesGenerateRequest.md index 485ba47..8c8182b 100644 --- a/docs/models/components/TrackSubtitlesGenerateRequest.md +++ b/docs/models/components/TrackSubtitlesGenerateRequest.md @@ -9,4 +9,5 @@ Contains details for generating subtitle tracks for a media file. | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `languageName` | *Optional\* | :heavy_minus_sign: | The full name of the language used to generate the subtitles. | English | | `metadata` | Map\ | :heavy_minus_sign: | You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed.
| {
"key1": "value1"
} | -| `languageCode` | [Optional\](../../models/components/LanguageCode.md) | :heavy_minus_sign: | Language code for content localization | en-US | \ No newline at end of file +| `languageCode` | [Optional\](../../models/components/LanguageCode.md) | :heavy_minus_sign: | Language code for content localization | en-US | +| `title` | *Optional\* | :heavy_minus_sign: | Title of the track. | Italian subtitles | diff --git a/docs/models/components/UnusedDirectUpload.md b/docs/models/components/UnusedDirectUpload.md index 8333ab6..468bb5f 100644 --- a/docs/models/components/UnusedDirectUpload.md +++ b/docs/models/components/UnusedDirectUpload.md @@ -10,7 +10,7 @@ Displays the result of the request. | `uploadId` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 7ya85f64-5717-4562-b3fc-2c963f66afa6 | | `trial` | *Optional\* | :heavy_minus_sign: | Indicates if the upload was a trial. | false | | `status` | [Optional\](../../models/components/UnusedDirectUploadStatus.md) | :heavy_minus_sign: | Determines the media's status, which can be one of the possible values. | waiting | -| `url` | *Optional\* | :heavy_minus_sign: | The url hosts the media file for FastPix, which needs to be download to use further. It supports formats like MP3, MP4, MOV, MKV, or TS, and includes text tracks for subtitles/CC (SRT file/VTT file). While FastPix can handle various audio and video formats and codecs, using standard inputs can help with optimal processing speed. | {
"url": "https://storage.fastpix.net/uploads/08256f2c-efca-4c4f-8f21-75e40d49f225/80911756-1ce3-485a-a3b4-6653ff0937a1?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=media-svc%2F20240111%2Fus-east-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20240111T123116Z\u0026X-Amz-Expires=3600\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=419ab443cdc1d4a22cf1b0f8875855590b346058e6d3859f7c1c9da3bb061f91"
} | +| `url` | *Optional\* | :heavy_minus_sign: | The url hosts the media file for FastPix, which needs to be download to use further. It supports formats like MP3, MP4, MOV, MKV, or TS, and includes text tracks for subtitles/CC (SRT file/VTT file). While FastPix can handle various audio and video formats and codecs, using standard inputs can help with optimal processing speed. | {
"url": "https://storage.fastpix.com/uploads/your-upload-id?your-presigned-upload-signature"
} | | `timeout` | *Optional\* | :heavy_minus_sign: | The duration set for the validity of the upload URL. If the upload isn’t completed within this timespan, it is marked as timed out.
| 14400 | | `corsOrigin` | *Optional\* | :heavy_minus_sign: | Upload media directly from a device using the url name or enter "*" to allow all. | * | | `pushMediaSettings` | [Optional\](../../models/components/UnusedDirectUploadResponse.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/components/UpdateMedia.md b/docs/models/components/UpdateMedia.md index 4bd0e42..27dde8e 100644 --- a/docs/models/components/UpdateMedia.md +++ b/docs/models/components/UpdateMedia.md @@ -5,12 +5,12 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `thumbnail` | *Optional\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/6b13fdaf-f9ac-4970-a13b-01ea417e8783/thumbnail.png | -| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 3fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `thumbnail` | *Optional\* | :heavy_minus_sign: | A video thumbnail is a still image that acts as the preview image for your video. | https://images.fastpix.com/your-media-id/thumbnail.png | +| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | | `workspaceId` | *Optional\* | :heavy_minus_sign: | A unique identifier is generated by FastPix for the workspace. | 5ta85f64-5717-4562-b3fc-2c963f66afa6 | | `metadata` | Map\ | :heavy_minus_sign: | You can search for videos with specific key value pairs using metadata, when you tag a video in "key" : "value" pairs. Dynamic metadata allows you to define a key that allows any value pair. You can have maximum of 255 characters and upto 10 entries are allowed. | {
"key1": "value1"
} | | `mediaQuality` | [Optional\](../../models/components/UpdateMediaMediaQuality.md) | :heavy_minus_sign: | The quality tier applied to the media. | standard | -| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | 8fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | your-creator-id | | `title` | *Optional\* | :heavy_minus_sign: | Title of the media file. | My Video Title | | `maxResolution` | [Optional\](../../models/components/UpdateMediaMaxResolution.md) | :heavy_minus_sign: | The maximum resolution specified by the user for the media. | 1080p | | `sourceResolution` | [Optional\](../../models/components/UpdateMediaSourceResolution.md) | :heavy_minus_sign: | The actual resolution of the uploaded media. This represents the native quality of the source media. | 1080p | @@ -28,4 +28,6 @@ | `duration` | *Optional\* | :heavy_minus_sign: | The length of the media in seconds, with a maximum allowed duration of 12 hours per individual media. | 00:00:10 | | `aspectRatio` | *Optional\* | :heavy_minus_sign: | The aspect ratio of a video is a value that describes the relative shape of a video based on its width and height. | 16:9 | | `createdAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was created, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | -| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | \ No newline at end of file +| `updatedAt` | [OffsetDateTime](https://docs.oracle.com/javase/8/docs/api/java/time/OffsetDateTime.html) | :heavy_minus_sign: | Time the media was updated, defined as a localDateTime (UTC Time). | 2023-10-20T10:50:34.594302Z | +| `mp4Support` | [Optional\>](../../models/components/UpdateMediaMp4Support.md) | :heavy_minus_sign: | A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. | | +| `optimizeAudio` | *Optional\* | :heavy_minus_sign: | Whether the audio track of the media has been volume-normalized. | false | diff --git a/docs/models/components/UpdateMediaMp4Support.md b/docs/models/components/UpdateMediaMp4Support.md new file mode 100644 index 0000000..0fb1b24 --- /dev/null +++ b/docs/models/components/UpdateMediaMp4Support.md @@ -0,0 +1,14 @@ +# UpdateMediaMp4Support + +One downloadable MP4 rendition generated for the media, along with its generation status. + + +## Fields + +| Field | Type | Required | Description | Example | +|----------|--------------------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------------------------------------------|-----------| +| `type` | [Optional\](../../models/components/UpdateMediaMp4SupportType.md) | :heavy_minus_sign: | The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. | capped_4k | +| `status` | [Optional\](../../models/components/UpdateMediaMp4SupportStatus.md) | :heavy_minus_sign: | Generation status of this MP4 rendition. | ready | +| `height` | *Optional\* | :heavy_minus_sign: | Pixel height of the rendition. Omitted for the `audioOnly` type. | 1080 | +| `width` | *Optional\* | :heavy_minus_sign: | Pixel width of the rendition. Omitted for the `audioOnly` type. | 1920 | +| `ext` | [Optional\](../../models/components/UpdateMediaMp4SupportExt.md) | :heavy_minus_sign: | File extension of the downloadable rendition. | mp4 | diff --git a/docs/models/components/UpdateMediaMp4SupportExt.md b/docs/models/components/UpdateMediaMp4SupportExt.md new file mode 100644 index 0000000..21b8ae1 --- /dev/null +++ b/docs/models/components/UpdateMediaMp4SupportExt.md @@ -0,0 +1,11 @@ +# UpdateMediaMp4SupportExt + +File extension of the downloadable rendition. + + +## Values + +| Name | Value | +|------|-------| +| MP4 | `mp4` | +| M4A | `m4a` | diff --git a/docs/models/components/UpdateMediaMp4SupportStatus.md b/docs/models/components/UpdateMediaMp4SupportStatus.md new file mode 100644 index 0000000..ee3a2e1 --- /dev/null +++ b/docs/models/components/UpdateMediaMp4SupportStatus.md @@ -0,0 +1,12 @@ +# UpdateMediaMp4SupportStatus + +Generation status of this MP4 rendition. + + +## Values + +| Name | Value | +|-----------|-------------| +| PREPARING | `preparing` | +| READY | `ready` | +| FAILED | `failed` | diff --git a/docs/models/components/UpdateMediaMp4SupportType.md b/docs/models/components/UpdateMediaMp4SupportType.md new file mode 100644 index 0000000..8b8beb5 --- /dev/null +++ b/docs/models/components/UpdateMediaMp4SupportType.md @@ -0,0 +1,11 @@ +# UpdateMediaMp4SupportType + +The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, `audioOnly` is a downloadable m4a audio-only file. + + +## Values + +| Name | Value | +|------------|-------------| +| CAPPED4K | `capped_4k` | +| AUDIO_ONLY | `audioOnly` | diff --git a/docs/models/components/UpdateTrackRequest.md b/docs/models/components/UpdateTrackRequest.md index 06e03b8..d36da78 100644 --- a/docs/models/components/UpdateTrackRequest.md +++ b/docs/models/components/UpdateTrackRequest.md @@ -1,12 +1,12 @@ # UpdateTrackRequest -Contains details about the track being added to the media file. +Contains details about the track being updated. The track's file (`url`) cannot be changed — only its language and title. ## Fields | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| `url` | *Optional\* | :heavy_minus_sign: | The direct URL of the track file. It must point to a valid audio or subtitle file. | http://commondatastorage.googleapis.com/codeskulptor-assets/sounddogs/thrust.vtt | | `languageCode` | *Optional\* | :heavy_minus_sign: | The BCP 47 language code representing the track’s language. | fr | -| `languageName` | *Optional\* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | French | \ No newline at end of file +| `languageName` | *Optional\* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | French | +| `title` | *Optional\* | :heavy_minus_sign: | Title of the track. | French subtitles | diff --git a/docs/models/components/UpdateTrackResponse.md b/docs/models/components/UpdateTrackResponse.md index cdfb3bc..5ab84f6 100644 --- a/docs/models/components/UpdateTrackResponse.md +++ b/docs/models/components/UpdateTrackResponse.md @@ -7,8 +7,9 @@ Contains details about the track that was added or updated. | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier of the track. | a5833611-e92c-4ba9-89f0-a42f8e9aef5e | +| `id` | *Optional\* | :heavy_minus_sign: | The unique identifier of the track. | your-track-id | | `type` | [Optional\](../../models/components/UpdateTrackResponseType.md) | :heavy_minus_sign: | Specifies the type of track (audio or subtitle). | subtitle | | `url` | *Optional\* | :heavy_minus_sign: | The direct URL of the track file. | http://commondatastorage.googleapis.com/codeskulptor-assets/sounddogs/thrust.vtt | | `languageCode` | *Optional\* | :heavy_minus_sign: | The BCP 47 language code representing the track's language. | fr | -| `languageName` | *Optional\* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | french | \ No newline at end of file +| `languageName` | *Optional\* | :heavy_minus_sign: | The full name of the language corresponding to the `languageCode`. | french | +| `title` | *Optional\* | :heavy_minus_sign: | Title of the track. | French subtitles | diff --git a/docs/models/components/VideoTrack.md b/docs/models/components/VideoTrack.md index 2da46a6..06352ba 100644 --- a/docs/models/components/VideoTrack.md +++ b/docs/models/components/VideoTrack.md @@ -9,7 +9,8 @@ A media consists of different media tracks, like video, audio, and subtitle, all | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `id` | *Optional\* | :heavy_minus_sign: | FastPix generates a unique identifier for each track. | 9oa85f64-5717-4562-b3fc-2c963f66afa6 | | `type` | *Optional\* | :heavy_minus_sign: | Defines the type of input. This option is mandatory. | {
"enum": [
"video"
],
"availableValue": "video",
"possibleValue": "video, audio, subtitle"
} | -| `width` | *Optional\* | :heavy_minus_sign: | Track width denotes the range of widths applicable to a specific track. Currently, this setting can be modified only for video tracks | 1920 | -| `height` | *Optional\* | :heavy_minus_sign: | Track height denotes the range of height applicable to a specific track. Currently, this setting can be modified only for video tracks. | 1080 | +| `width` | *Optional\* | :heavy_minus_sign: | Track width denotes the range of widths applicable to a specific track. Currently, this setting can be modified only for video tracks | 1920 | +| `height` | *Optional\* | :heavy_minus_sign: | Track height denotes the range of height applicable to a specific track. Currently, this setting can be modified only for video tracks. | 1080 | | `frameRate` | *Optional\* | :heavy_minus_sign: | Frame rate quantifies the speed at which frames are displayed per second. It represents the range of frames available for a specific track. The indeterminable frame rate of the input file is indicated by a value of -1. | 30/1 | -| `status` | *Optional\* | :heavy_minus_sign: | Indicates the current state of the track. 'available' means the track has been processed successfully and is ready to be used or played. | available | \ No newline at end of file +| `status` | *Optional\* | :heavy_minus_sign: | Indicates the current state of the track. 'available' means the track has been processed successfully and is ready to be used or played. | available | +| `title` | *Optional\* | :heavy_minus_sign: | Title of the track. | My track title | diff --git a/docs/models/components/VideoTrackForGetAll.md b/docs/models/components/VideoTrackForGetAll.md index acb24c5..415d104 100644 --- a/docs/models/components/VideoTrackForGetAll.md +++ b/docs/models/components/VideoTrackForGetAll.md @@ -5,10 +5,12 @@ A media consists of different media tracks, like video, audio, and subtitle, all ## Fields -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | FastPix generates a unique identifier for each track. | 9oa85f64-5717-4562-b3fc-2c963f66afa6 | -| `type` | *Optional\* | :heavy_minus_sign: | Defines the type of input. This option is mandatory. | {
"enum": [
"video"
],
"availableValue": "video",
"possibleValue": "video, audio, subtitle"
} | -| `width` | *Optional\* | :heavy_minus_sign: | Track width denotes the range of widths applicable to a specific track. Currently, this setting can be modified only for video tracks | 1920 | -| `height` | *Optional\* | :heavy_minus_sign: | Track height denotes the range of height applicable to a specific track. Currently, this setting can be modified only for video tracks. | 1080 | -| `status` | *Optional\* | :heavy_minus_sign: | Indicates the current state of the track. 'available' means the track has been processed successfully and is ready to be used or played. | available | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | *Optional\* | :heavy_minus_sign: | FastPix generates a unique identifier for each track. | 9oa85f64-5717-4562-b3fc-2c963f66afa6 | +| `type` | *Optional\* | :heavy_minus_sign: | Defines the type of input. This option is mandatory. | {
"enum": [
"video"
],
"availableValue": "video",
"possibleValue": "video, audio, subtitle"
} | +| `width` | *Optional\* | :heavy_minus_sign: | Track width denotes the range of widths applicable to a specific track. Currently, this setting can be modified only for video tracks | 1920 | +| `height` | *Optional\* | :heavy_minus_sign: | Track height denotes the range of height applicable to a specific track. Currently, this setting can be modified only for video tracks. | 1080 | +| `frameRate` | *Optional\* | :heavy_minus_sign: | Frame rate quantifies the speed at which frames are displayed per second. It represents the range of frames available for a specific track. The indeterminable frame rate of the input file is indicated by a value of -1. | 30/1 | +| `status` | *Optional\* | :heavy_minus_sign: | Indicates the current state of the track. 'available' means the track has been processed successfully and is ready to be used or played. | available | +| `title` | *Optional\* | :heavy_minus_sign: | Title of the track. | My track title | diff --git a/docs/models/components/Views.md b/docs/models/components/Views.md index 5236907..e7247f7 100644 --- a/docs/models/components/Views.md +++ b/docs/models/components/Views.md @@ -48,7 +48,7 @@ Displays the result of the request. | `fpPlaybackId` | *JsonNullable\* | :heavy_minus_sign: | FastPix Playback ID refers to the unique identifier associated with the playback instance of a video, particularly used in FastPix Video Platform.
| | | `fpSDK` | *JsonNullable\* | :heavy_minus_sign: | FastPix SDK Name identifies the name of the FastPix Player SDK utilized within the player workspace.
| shakaplayer-fastpix | | `fpSDKVersion` | *JsonNullable\* | :heavy_minus_sign: | FastPix SDK Version specifies the version of the FastPix Player SDK integrated into the player.
| 1.1.0 | -| `fpViewerId` | *JsonNullable\* | :heavy_minus_sign: | Represents a unique, anonymized identifier assigned to each viewer by the FastPix SDK. This ID helps correlate multiple playback sessions or events to the same viewer across sessions or devices without exposing any personal information.
| cf4ab502-23ef-4927-ae55-89b2a319432f | +| `fpViewerId` | *JsonNullable\* | :heavy_minus_sign: | Represents a unique, anonymized identifier assigned to each viewer by the FastPix SDK. This ID helps correlate multiple playback sessions or events to the same viewer across sessions or devices without exposing any personal information.
| your-fp-viewer-id | | `insertTimestamp` | *Optional\* | :heavy_minus_sign: | Insert Timestamp refers to the time instance when the view is started.
| 1710591342067 | | `ipAddress` | *Optional\* | :heavy_minus_sign: | Represents the IP address of the user or device that initiated the playback session.
| 124.123.136.94 | | `jumpLatency` | *JsonNullable\* | :heavy_minus_sign: | Jump Latency refers to the delay or latency experienced when there is a jump or seek action performed by the viewer while watching a video.
| 2396 | @@ -67,7 +67,7 @@ Displays the result of the request. | `playerAutoplayOn` | *Optional\* | :heavy_minus_sign: | Player Autoplay On indicates whether the video player automatically initiated playback of the video content.
| true | | `playerHeight` | [JsonNullable\](../../models/components/PlayerHeight.md) | :heavy_minus_sign: | Player Height refers to the vertical dimension, measured in pixels, of the video player as it appears on the webpage.
| 2856 | | `playerInitializationTime` | *JsonNullable\* | :heavy_minus_sign: | Player Initialization Time measures the duration, in milliseconds, from the initialization of the player within the webpage to its readiness to receive further instructions.
| 24 | -| `playerInstanceId` | *JsonNullable\* | :heavy_minus_sign: | Player Instance ID is a unique identifier that distinguishes each instance of the Player class created when initializing a video.
| f479de20-6a25-46a5-b394-9fbdb07ea6df | +| `playerInstanceId` | *JsonNullable\* | :heavy_minus_sign: | Player Instance ID is a unique identifier that distinguishes each instance of the Player class created when initializing a video.
| your-player-instance-id | | `playerLanguage` | *JsonNullable\* | :heavy_minus_sign: | Player Language indicates the language used for text elements within the video player interface.
| | | `playerName` | *JsonNullable\* | :heavy_minus_sign: | Player Name serves to differentiate various configurations or types of players used across the website or application.
| ChanaJor Player | | `playerPoster` | *JsonNullable\* | :heavy_minus_sign: | Player Poster refers to the image displayed as a preview before the video playback begins.
| | @@ -86,7 +86,7 @@ Displays the result of the request. | `qualityOfExperienceScore` | *JsonNullable\* | :heavy_minus_sign: | Quality Of Experience Score quantifies the overall viewer experience based on various metrics, providing a decimal score to assess the quality of the viewing experience.
| 0.922192410885397 | | `region` | *JsonNullable\* | :heavy_minus_sign: | Region denotes the geographical region of the viewer accessing the video content.
| Telangana | | `renderQualityScore` | *JsonNullable\* | :heavy_minus_sign: | Render Quality Score is a decimal value representing the score indicating the perceived quality of the video.
| 1 | -| `sessionId` | *JsonNullable\* | :heavy_minus_sign: | Session ID refers to the unique identifier tracking a viewers session within the FastPix platform.
| 58a97574-da3f-473f-8904-08f9f01489c8 | +| `sessionId` | *JsonNullable\* | :heavy_minus_sign: | Session ID refers to the unique identifier tracking a viewers session within the FastPix platform.
| your-session-id | | `sign` | *JsonNullable\* | :heavy_minus_sign: | Represents a cryptographic signature used to verify the authenticity and integrity of the playback or API request within the FastPix platform. It ensures that the data has not been tampered with and originates from a trusted source.
| | | `stabilityScore` | *JsonNullable\* | :heavy_minus_sign: | Stability Score quantifies the smoothness of video playback, typically represented as a decimal value.
| 0.8320748 | | `startupScore` | *JsonNullable\* | :heavy_minus_sign: | Startup Score evaluates the startup performance of the player, usually represented as a decimal value
| 0.97811466 | @@ -117,16 +117,16 @@ Displays the result of the request. | `viewEnd` | *JsonNullable\* | :heavy_minus_sign: | View End refers to the date and time, in Coordinated Universal Time (UTC), when the video viewing session concluded.
| 1710591342067 | | `viewHasAd` | *Optional\* | :heavy_minus_sign: | View Has Ad is a boolean metric indicating whether an advertisement played or attempted to play during the video view.
| false | | `viewHasError` | *Optional\* | :heavy_minus_sign: | Indicates whether any playback error occurred during the video view. This boolean flag helps identify failed or interrupted playback sessions caused by player, network, or media-related issues.
| false | -| `viewId` | *Optional\* | :heavy_minus_sign: | View ID is a unique identifier assigned to each individual video viewing session.
| 36935287-5d08-47a0-9365-5eaa150fc4fa | +| `viewId` | *Optional\* | :heavy_minus_sign: | View ID is a unique identifier assigned to each individual video viewing session.
| your-view-id | | `viewMaxPlayheadPosition` | *JsonNullable\* | :heavy_minus_sign: | View Max Playhead Position represents the furthest point reached by the playhead during the video view, measured in milliseconds.
| 2524 | | `viewPageUrl` | *JsonNullable\* | :heavy_minus_sign: | View Page URL denotes the URL address of the web page where the video content is being accessed.
| https://chanajor.com/player/659d7de2500fe544eb2706da_1_1?time=66 | | `viewPlayingTime` | *JsonNullable\* | :heavy_minus_sign: | Playing Time denotes the total duration of time the video content was actively playing during the view, excluding time spent buffering, seeking, or joining.
| 523657 | | `viewSeekedCount` | *JsonNullable\* | :heavy_minus_sign: | View Seeked Count signifies the number of times the viewer attempted to seek to a new location within the video.
| 1 | | `viewSeekedDuration` | *JsonNullable\* | :heavy_minus_sign: | View Seeked Duration indicates the total duration of time spent waiting for playback to resume after the viewer seeks to a new location. Seek Latency metric in the Dashboard is derived by dividing this value by the view_seek_count.
| 809 | -| `viewSessionId` | *JsonNullable\* | :heavy_minus_sign: | Represents the unique identifier assigned to a single playback session within FastPix. This ID is used to correlate all playback events, errors, and metrics that occur during the same viewing session.
| 4fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `viewSessionId` | *JsonNullable\* | :heavy_minus_sign: | Represents the unique identifier assigned to a single playback session within FastPix. This ID is used to correlate all playback events, errors, and metrics that occur during the same viewing session.
| your-view-session-id | | `viewStart` | *JsonNullable\* | :heavy_minus_sign: | View Start refers to the date and time, in Coordinated Universal Time (UTC), when the video viewing session commenced.
| 1710591342067 | | `viewTotalContentPlaybackTime` | *JsonNullable\* | :heavy_minus_sign: | View Total Content Playback Time represents the cumulative duration of video content watched by the viewer, measured in milliseconds. This metric is internally utilized to calculate upscale and downscale percentages.
| 22358 | | `viewerId` | *JsonNullable\* | :heavy_minus_sign: | Viewer ID refers to a customer-defined identifier representing the viewer who is watching the video stream. It must be anonymized and not contain any personally identifiable information.
| 649c5098ba7cb499f5e1041f | | `watchTime` | *JsonNullable\* | :heavy_minus_sign: | Total Watch Time denotes the total duration of video content watched by the viewer, encompassing startup time, playing time, and potential rebuffering time, measured in milliseconds.
| 4307 | -| `workspaceId` | *Optional\* | :heavy_minus_sign: | It is a unique identifier associated with a specific workspace within the FastPix platform.
| c08f55f8-92e1-4e17-9475-bc9024a07f78 | +| `workspaceId` | *Optional\* | :heavy_minus_sign: | It is a unique identifier associated with a specific workspace within the FastPix platform.
| your-workspace-id | | `events` | List\<[Event](../../models/components/Event.md)> | :heavy_minus_sign: | Events specifies the order of events journey of the video playback
| {
"availableValue": [
{
"event_name": "playing",
"event_time": 1710591342067,
"viewer_time": 1710591347846,
"playback_time": 8990,
"details": {}
},
{
"event_name": "rendition_change",
"event_time": 1710591942067,
"viewer_time": 1710592342067,
"playback_time": 8990,
"details": {
"player_source_bitrate": 7837883,
"player_source_codec": "avc1.4d4028",
"player_source_height": 1920,
"player_source_width": 1080
}
}
]
} | \ No newline at end of file diff --git a/docs/models/components/ViewsList.md b/docs/models/components/ViewsList.md index 06b8081..0ae2074 100644 --- a/docs/models/components/ViewsList.md +++ b/docs/models/components/ViewsList.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `viewId` | *Optional\* | :heavy_minus_sign: | The unique identifier for the viewing session of the user.
| 550e8400-e29b-41d4-a716-446655440000 | +| `viewId` | *Optional\* | :heavy_minus_sign: | The unique identifier for the viewing session of the user.
| your-view-id | | `operatingSystem` | *JsonNullable\* | :heavy_minus_sign: | Operating System signifies the software platform utilized by the viewer
| macOs | | `application` | *JsonNullable\* | :heavy_minus_sign: | The browser name of the viewer.
| chrome | | `viewStartTime` | *JsonNullable\* | :heavy_minus_sign: | The start timestamp of the video view.
| 2023-12-06T08:04:14Z | diff --git a/docs/models/components/WatermarkInput.md b/docs/models/components/WatermarkInput.md index 078e2fa..22c6505 100644 --- a/docs/models/components/WatermarkInput.md +++ b/docs/models/components/WatermarkInput.md @@ -3,7 +3,7 @@ Contains configuration details for applying a watermark overlay to a video. The watermark is placed over the media content during processing. For detailed setup steps and customization options, refer to the -FastPix Watermark Guide. +FastPix Watermark Guide. diff --git a/docs/models/operations/AddMediaToPlaylistResponse.md b/docs/models/operations/AddMediaToPlaylistResponse.md index 4f0c5e1..aa0139a 100644 --- a/docs/models/operations/AddMediaToPlaylistResponse.md +++ b/docs/models/operations/AddMediaToPlaylistResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `playlistByIdResponse` | [Optional\](../../models/components/PlaylistByIdResponse.md) | :heavy_minus_sign: | Added media to playlist successfully | {
"success": true,
"data": {
"id": "46d5fce1-683a-457f-86d7-c048bb429505",
"name": "My Playlist",
"referenceId": "122q",
"type": "smart",
"description": "This Playlist contains videos from December 2024.",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
},
"updatedDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
}
},
"mediaList": [
{
"createdAt": "2025-05-27T09:37:52.445936Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "a1cd180e-f9b5-4e99-9d44-b9c9baabad89",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/bed25609-1887-4c49-91a5-5c6b1edeb1a2/thumbnail.png",
"title": "Media 1"
},
{
"createdAt": "2025-04-04T13:26:23.507284Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "245800c3-7b73-47d9-a201-e961260dcb30",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/3c6ceeea-d24b-487f-9dd0-5a16148b5d46/thumbnail.png",
"title": "Media 2"
},
{
"createdAt": "2025-04-04T13:26:12.552840Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "41316aac-5396-4278-8f44-08d5f2495b12",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/8989d0d3-5c5b-41b2-89d5-df6094e6093f/thumbnail.png",
"title": "Media 3"
}
],
"workspaceId": "d760b903-86ef-44d6-9b73-334130e0cf2d",
"createdAt": "2025-06-05T09:10:30.655275Z",
"updatedAt": "2025-06-05T12:23:47.096690Z",
"mediaCount": 3
}
} | +| `playlistByIdResponse` | [Optional\](../../models/components/PlaylistByIdResponse.md) | :heavy_minus_sign: | Added media to playlist successfully | {
"success": true,
"data": {
"id": "your-playlist-id",
"name": "your-playlist-name",
"referenceId": "your-reference-id",
"type": "smart",
"description": "your-playlist-description",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
},
"updatedDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
}
},
"mediaList": [
{
"createdAt": "2025-05-27T09:37:52.445936Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2025-04-04T13:26:23.507284Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2025-04-04T13:26:12.552840Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
}
],
"workspaceId": "your-workspace-id",
"createdAt": "2025-06-05T09:10:30.655275Z",
"updatedAt": "2025-06-05T12:23:47.096690Z",
"mediaCount": 3
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/AddMediaTrackRequest.md b/docs/models/operations/AddMediaTrackRequest.md index d0a8483..b02f8fc 100644 --- a/docs/models/operations/AddMediaTrackRequest.md +++ b/docs/models/operations/AddMediaTrackRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | | `body` | [AddMediaTrackRequestBody](../../models/operations/AddMediaTrackRequestBody.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/AddMediaTrackResponse.md b/docs/models/operations/AddMediaTrackResponse.md index 06ac97a..1f86e8f 100644 --- a/docs/models/operations/AddMediaTrackResponse.md +++ b/docs/models/operations/AddMediaTrackResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/AddMediaTrackResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"id": "ace60fc7-e876-4fc6-b9d9-c33fa242f84b",
"type": "audio",
"url": "https://static.fastpix.com/music-1.mp3",
"languageCode": "it",
"languageName": "Italian"
}
} | +| `object` | [Optional\](../../models/operations/AddMediaTrackResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"id": "your-track-id",
"type": "audio",
"url": "https://static.fastpix.com/music-1.mp3",
"languageCode": "it-IT",
"languageName": "Italian",
"title": "Italian audio"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/CancelUploadRequest.md b/docs/models/operations/CancelUploadRequest.md index 9e91fdf..e4ad707 100644 --- a/docs/models/operations/CancelUploadRequest.md +++ b/docs/models/operations/CancelUploadRequest.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | -| `uploadId` | *String* | :heavy_check_mark: | When uploading the media, FastPix assigns a universally unique identifier with a maximum length of 255 characters. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | \ No newline at end of file +| `uploadId` | *String* | :heavy_check_mark: | When uploading the media, FastPix assigns a universally unique identifier with a maximum length of 255 characters. | your-upload-id | \ No newline at end of file diff --git a/docs/models/operations/CancelUploadResponse.md b/docs/models/operations/CancelUploadResponse.md index 437ba17..d06cc55 100644 --- a/docs/models/operations/CancelUploadResponse.md +++ b/docs/models/operations/CancelUploadResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/CancelUploadResponseBody.md) | :heavy_minus_sign: | Upload cancelled successfully | {
"success": true,
"data": {
"uploadId": "beff5537-de85-42e1-a673-2a405cd94177",
"trial": false,
"status": "cancelled",
"url": "https://storage.googleapis.com/uploads-fp-asia/338acdeb-29d4-438b-a40c-1d4105134462/26b1a17d-4b0b-44f8-96b8-cc33cabc962e?X-Goog-Algorithm=GOOG4-RSA-SHA256\u0026X-Goog-Credential=fp-prod@fastpix-vms.iam.gserviceaccount.com/20250716/auto/storage/goog4_request\u0026X-Goog-Date=20250716T132746Z\u0026X-Goog-Expires=14400\u0026X-Goog-SignedHeaders=host;x-goog-resumable\u0026X-Goog-Signature=4eb42c38711d915f2b6792edacc48ed79bde9f02f829a084dfe09830e6d0e5ec50f2f3157964ed7e32d44b02e3967bf2e0ffeb7ca9335d65ae15b3ac33c7cb40ec710939c4a12202b749bdb4e3f7af8aba2746b41a642130280a372e4615e9773cea98f231388c9fde385f96142ffa901a900949e305c7d5b4c82590c3493aaf60ac5424d4f112fbf4120b7891adf9a7e17968328cd1128fe7b6f55447d15b562624a8e7539824d10e808a729906ac6fe8b2f561424f3e0db14eecad6e21f4f18513519a975c2c50e8304a5a723723e32aa9ac659d9b9875a85f29f007d57bb69c49b5ff9099e5a9834db7199e73ca01cf0dd85cae599203d3180fa27cfdd08d\u0026upload_id=ABgVH88kcXwWvPOlER2G4UvAnrdQw80h_nfjMqwL-jFe6wpLvfBifpBtlnvPtN2BQQTOWggTpKAQ6uGHIJLDp1LHo2g1eePyfjqNi3oRiwxOBU8",
"timeout": 14400,
"corsOrigin": "*",
"maxResolution": "1080p",
"accessPolicy": "public",
"metadata": {
"key1": "value1"
}
}
} | +| `object` | [Optional\](../../models/operations/CancelUploadResponseBody.md) | :heavy_minus_sign: | Upload cancelled successfully | {
"success": true,
"data": {
"uploadId": "your-upload-id",
"trial": false,
"status": "cancelled",
"url": "https://storage.fastpix.com/uploads/your-upload-id?your-presigned-upload-signature",
"timeout": 14400,
"corsOrigin": "*",
"maxResolution": "1080p",
"accessPolicy": "public",
"metadata": {
"key1": "value1"
}
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/ChangeMediaOrderInPlaylistResponse.md b/docs/models/operations/ChangeMediaOrderInPlaylistResponse.md index cfe7c79..0764da8 100644 --- a/docs/models/operations/ChangeMediaOrderInPlaylistResponse.md +++ b/docs/models/operations/ChangeMediaOrderInPlaylistResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `playlistByIdResponse` | [Optional\](../../models/components/PlaylistByIdResponse.md) | :heavy_minus_sign: | Added media to playlist successfully | {
"success": true,
"data": {
"id": "46d5fce1-683a-457f-86d7-c048bb429505",
"name": "My Playlist",
"referenceId": "122q",
"type": "smart",
"description": "This Playlist contains videos from December 2024.",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
},
"updatedDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
}
},
"mediaList": [
{
"createdAt": "2025-05-27T09:37:52.445936Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "a1cd180e-f9b5-4e99-9d44-b9c9baabad89",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/bed25609-1887-4c49-91a5-5c6b1edeb1a2/thumbnail.png",
"title": "Media 1"
},
{
"createdAt": "2025-04-04T13:26:23.507284Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "245800c3-7b73-47d9-a201-e961260dcb30",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/3c6ceeea-d24b-487f-9dd0-5a16148b5d46/thumbnail.png",
"title": "Media 2"
},
{
"createdAt": "2025-04-04T13:26:12.552840Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "41316aac-5396-4278-8f44-08d5f2495b12",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/8989d0d3-5c5b-41b2-89d5-df6094e6093f/thumbnail.png",
"title": "Media 3"
}
],
"workspaceId": "d760b903-86ef-44d6-9b73-334130e0cf2d",
"createdAt": "2025-06-05T09:10:30.655275Z",
"updatedAt": "2025-06-05T12:23:47.096690Z",
"mediaCount": 3
}
} | +| `playlistByIdResponse` | [Optional\](../../models/components/PlaylistByIdResponse.md) | :heavy_minus_sign: | Added media to playlist successfully | {
"success": true,
"data": {
"id": "your-playlist-id",
"name": "your-playlist-name",
"referenceId": "your-reference-id",
"type": "smart",
"description": "your-playlist-description",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
},
"updatedDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
}
},
"mediaList": [
{
"createdAt": "2025-05-27T09:37:52.445936Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2025-04-04T13:26:23.507284Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2025-04-04T13:26:12.552840Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
}
],
"workspaceId": "your-workspace-id",
"createdAt": "2025-06-05T09:10:30.655275Z",
"updatedAt": "2025-06-05T12:23:47.096690Z",
"mediaCount": 3
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/CreateAPlaylistResponse.md b/docs/models/operations/CreateAPlaylistResponse.md index f6fb270..317ff4d 100644 --- a/docs/models/operations/CreateAPlaylistResponse.md +++ b/docs/models/operations/CreateAPlaylistResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `playlistCreatedResponse` | [Optional\](../../models/components/PlaylistCreatedResponse.md) | :heavy_minus_sign: | Playlist created successfully | {
"success": true,
"data": {
"id": "e3dfdf15-16bb-4835-98b9-484c1e4320cc",
"name": "playist",
"referenceId": "a1",
"type": "smart",
"description": "This is a playlist",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"startDate": "2024-11-11",
"endDate": "2024-12-12"
},
"updatedDate": {
"startDate": "2024-11-11",
"endDate": "2024-12-12"
}
},
"mediaList": [
{
"createdAt": "2024-11-12T05:58:38.000708Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "942e0ced-146b-487e-988f-6de578de1000",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/ff31b32e-4979-4d2b-ad2a-685af43c9902/thumbnail.png",
"title": "Media 1"
},
{
"createdAt": "2024-12-05T07:23:18.000108Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "6d12262b-0686-4131-9de2-bb515f7c0f38",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/e49a0d7b-6f2c-4743-84d1-45522cc20ded/thumbnail.png",
"title": "Media 2"
},
{
"createdAt": "2024-12-05T07:21:15.000508Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "a1cd180e-f9b5-4e99-9d44-b9c9baabad89",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/e49a0d7b-6f2c-4743-84d1-45522cc20ded/thumbnail.png",
"title": "Media 3"
}
],
"workspaceId": "d760b903-86ef-44d6-9b73-334130e0cf2d",
"createdAt": "2025-06-04T13:29:39.409886Z",
"updatedAt": "2025-06-04T13:29:39.409886Z",
"mediaCount": 3
}
} | +| `playlistCreatedResponse` | [Optional\](../../models/components/PlaylistCreatedResponse.md) | :heavy_minus_sign: | Playlist created successfully | {
"success": true,
"data": {
"id": "your-playlist-id",
"name": "your-playlist-name",
"referenceId": "your-reference-id",
"type": "smart",
"description": "your-playlist-description",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"startDate": "2024-11-11",
"endDate": "2024-12-12"
},
"updatedDate": {
"startDate": "2024-11-11",
"endDate": "2024-12-12"
}
},
"mediaList": [
{
"createdAt": "2024-11-12T05:58:38.000708Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2024-12-05T07:23:18.000108Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2024-12-05T07:21:15.000508Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
}
],
"workspaceId": "your-workspace-id",
"createdAt": "2025-06-04T13:29:39.409886Z",
"updatedAt": "2025-06-04T13:29:39.409886Z",
"mediaCount": 3
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/CreateMediaPlaybackIdRequest.md b/docs/models/operations/CreateMediaPlaybackIdRequest.md index 81ac986..4447375 100644 --- a/docs/models/operations/CreateMediaPlaybackIdRequest.md +++ b/docs/models/operations/CreateMediaPlaybackIdRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | dbb8a39a-e4a5-4120-9f22-22f603f1446e | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | | `body` | [Optional\](../../models/operations/CreateMediaPlaybackIdRequestBody.md) | :heavy_minus_sign: | Request body for creating playback id for an media | | \ No newline at end of file diff --git a/docs/models/operations/CreateMediaPlaybackIdRequestBody.md b/docs/models/operations/CreateMediaPlaybackIdRequestBody.md index e5d73de..cf95089 100644 --- a/docs/models/operations/CreateMediaPlaybackIdRequestBody.md +++ b/docs/models/operations/CreateMediaPlaybackIdRequestBody.md @@ -9,5 +9,5 @@ Request body for creating playback id for an media | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | | `accessPolicy` | [AccessPolicy](../../models/components/AccessPolicy.md) | :heavy_check_mark: | Access policy for media content | | | `accessRestrictions` | [Optional\](../../models/operations/CreateMediaPlaybackIdAccessRestrictions.md) | :heavy_minus_sign: | N/A | | -| `drmConfigurationId` | *Optional\* | :heavy_minus_sign: | DRM configuration ID (required if accessPolicy is "drm") | 123e4567-e89b-12d3-a456-426614174000 | +| `drmConfigurationId` | *Optional\* | :heavy_minus_sign: | DRM configuration ID (required if accessPolicy is "drm") | your-drm-configuration-id | | `resolution` | [Optional\](../../models/operations/Resolution.md) | :heavy_minus_sign: | The maximum resolution for the playback ID. | 1080p | \ No newline at end of file diff --git a/docs/models/operations/CreateMediaPlaybackIdResponse.md b/docs/models/operations/CreateMediaPlaybackIdResponse.md index 8c9739a..b8e02be 100644 --- a/docs/models/operations/CreateMediaPlaybackIdResponse.md +++ b/docs/models/operations/CreateMediaPlaybackIdResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/CreateMediaPlaybackIdResponseBody.md) | :heavy_minus_sign: | Playback ID for a media content. | {
"success": true,
"data": {
"id": "b331e0d8-bef4-4ad2-8760-757fdb2818b7",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
},
"resolution": "1080p"
}
} | +| `object` | [Optional\](../../models/operations/CreateMediaPlaybackIdResponseBody.md) | :heavy_minus_sign: | Playback ID for a media content. | {
"success": true,
"data": {
"id": "your-playback-id",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
},
"resolution": "1080p"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/CreateNewStreamResponse.md b/docs/models/operations/CreateNewStreamResponse.md index 88dd9af..b3c15f8 100644 --- a/docs/models/operations/CreateNewStreamResponse.md +++ b/docs/models/operations/CreateNewStreamResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `liveStreamResponseDTO` | [Optional\](../../models/components/LiveStreamResponseDTO.md) | :heavy_minus_sign: | Stream created successfully | {
"success": true,
"data": {
"fa7f8c0950ea48ebcc5ef9de8c23deaa",
"streamKey": "3dc5d7641f918baa083a5c52a5bd9cbckfa7f8c0950ea48ebcc5ef9de8c23deaa",
"srtSecret": "c51739512d0088d98a46925c9b74c73akfa7f8c0950ea48ebcc5ef9de8c23deaa",
"trial": false,
"status": "idle",
"maxResolution": "1080p",
"maxDuration": 28800,
"createdAt": "2024-10-15T08:48:31.551351Z",
"reconnectWindow": 60,
"enableRecording": true,
"enableDvrMode": true,
"mediaPolicy": "public",
"metadata": {
"livestream_name": "fastpix_livestream"
},
"lowLatency": true,
"closedCaptions": false,
"playbackIds": [
{
"id": "4e43ec52-4775-4f68-a3ff-a57d8a59bba8",
"accessPolicy": "public"
}
],
"srtPlaybackResponse": {
"srtPlaybackStreamId": "playfa7f8c0950ea48ebcc5ef9de8c23deaa",
"srtPlaybackSecret": "490e707dd4d165c9e38d261b252f9457kfa7f8c0950ea48ebcc5ef9de8c23deaa"
}
}
} | +| `liveStreamResponseDTO` | [Optional\](../../models/components/LiveStreamResponseDTO.md) | :heavy_minus_sign: | Stream created successfully | {
"success": true,
"data": {
"fa7f8c0950ea48ebcc5ef9de8c23deaa",
"streamKey": "your-stream-key",
"srtSecret": "your-srt-secret",
"trial": false,
"status": "idle",
"maxResolution": "1080p",
"maxDuration": 28800,
"createdAt": "2024-10-15T08:48:31.551351Z",
"reconnectWindow": 60,
"enableRecording": true,
"enableDvrMode": true,
"mediaPolicy": "public",
"metadata": {
"livestream_name": "fastpix_livestream"
},
"lowLatency": true,
"closedCaptions": false,
"playbackIds": [
{
"id": "your-playback-id",
"accessPolicy": "public"
}
],
"srtPlaybackResponse": {
"srtPlaybackStreamId": "your-srt-playback-stream-id",
"srtPlaybackSecret": "your-srt-playback-secret"
}
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/CreatePlaybackIdOfStreamResponse.md b/docs/models/operations/CreatePlaybackIdOfStreamResponse.md index 9886ac9..e4c6b75 100644 --- a/docs/models/operations/CreatePlaybackIdOfStreamResponse.md +++ b/docs/models/operations/CreatePlaybackIdOfStreamResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `playbackIdSuccessResponse` | [Optional\](../../models/components/PlaybackIdSuccessResponse.md) | :heavy_minus_sign: | New PlaybackId created successfully | {
"success": true,
"data": {
"id": "88b7ac0f-2504-4dd5-b7b4-d84ab4fee1bd",
"accessPolicy": "public"
}
} | +| `playbackIdSuccessResponse` | [Optional\](../../models/components/PlaybackIdSuccessResponse.md) | :heavy_minus_sign: | New PlaybackId created successfully | {
"success": true,
"data": {
"id": "your-playback-id",
"accessPolicy": "public"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/CreateSigningKeyResponse.md b/docs/models/operations/CreateSigningKeyResponse.md index 176a583..0b070d8 100644 --- a/docs/models/operations/CreateSigningKeyResponse.md +++ b/docs/models/operations/CreateSigningKeyResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `createResponse` | [Optional\](../../models/components/CreateResponse.md) | :heavy_minus_sign: | created a signing key successfully | {
"success": true,
"data": {
"id": "fc9d9368-6ee5-4b16-ae50-880a2374bdc4",
"privateKey": "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2Z0lCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktnd2dnU2tBZ0VBQW9JQkFRREtaN1JKT1IrbXZGeVQxSWFIL0hVUkYwQnRncDJzK0srdUd4TUZ4N1JiaGNudVBMYU14WjM1b0lNWndhdHJrdDFDM3JxVFZsQzBsSnExeENFTyt3Zi9JNHQ0bktmUFB2WG83NGFCQi82YmR0MXpaSHp0OGFIenBnL3YrdEtCWVc5SEdWQ0tYc2JpNjczbHgwcFhHdXVnem8wdnZMR2lKWDBiL0Z4WEI5U1R3RkV5Q1dQOFJhczZ3VWVuSUdVM2UwMmJiV3Z4UnNoMWNER2xSRk03RWw2RVQ2MUQrS0tLTndnUGNYR1pvY0YwZTFxRU5iVGdPZUdBMFNDU0xIT3NtQ0NBQTNtSndJS1VaY0Z2MmpGRUx4Uk5MTnhoMjM5UEdUT3BuWmdvTFp5Skt4b2REN1FpV1N1eDVZY1Z0MFgrSk9rZXNBOEpjM1ZtM0tGc0IwL3RYck9QQWdNQkFBRUNnZ0VBUHhNWUxLVmZocTgyVGw4eFdWbEVCZ0p2OG5COHdIVnpFZGVnRXZJTDgyVjY2d0lDaFZYa0IvR01TVStBSXZMT2Z0TTM0MGhIdUM2REU5ZTkwWlJMQnFoR0ExMFdNbEJWZzdSNC91YkY0aDZsbmhzWGozTDRYQnhJNVNrTnhvSGRrcE9COU16YVA4YmxFNkVLT3FES0F2KzdJY0EwdnVuZDFnWExwTmRzMkduTW5nZW1qOUhJZWh1eTNLY0taNHlheFo1YkRKVEpLZlFrTlFDQzhOR0hIdWovQmRWUnU1RHRrZVdNMFFpN2FKeW5lSXRxOGhtbXdxcVNMTnpTOTZtcHpBdzF3RzFXTHVML1A3TGxJekVWa2ZJUFc0SW1zRXhsSG5FUG0ySld1RUNMQ1pRL25NODdhQXVXekROektCYW51LzZhdXhnSDB2Wnc5YWowTmxNNFFRS0JnUURPM3Y0YlN4bWluZGJpVEdSaXdFVXVyODh4TVA3M2U5RSt2SHlzb3JZMWZycFpkdXJHOVlFb09MUFN1YnQ5WkhZNFhGOFhxRWZ4bE94d294eDVzcU9PcGNMTnFnOWhTSWxPaXEyYmVnN2V2RGpOMml6b3JKRFl3VEhGQ0Era25FbmFpL0J2TU16N3AyVVkrUEEzUnJ4Z25BK3RkQlErZWlSZ1c0WmhnMkhWcndLQmdRRDZlVEpwRTRxZVFYdmpnMy9FS081UkllRklZOHphTGMvMVVHODBqNmVvbStNK3UyTmdUVDJqVmNyMkdQbjZTbHRNRlJNem5qOVJHYmQ1MCt5a2k0Y1NYU1JPdE44alV2M0FseHJtZzEwVTVtSWIrUXFIZ3g2QldyeXkvakxHYXVvMUJnVFg1dDZ0VXVEUUZuVDJSM2xoNGRNZ044T3V4VlR3OCtadGloSllJUUtCZ1FERE00ZHpHWnBHNThrc0lBbFpaVFBpcWVKSCtJT2Q0eWUrbXZ6SnFYOWxXdjljQytuZGN5czhXTVRWd293MzllUFhxdEhQOE9weCtxUmdaSWtxREhabzArRE5UL3JUUVM3Ty9leHpHT21QSXV3MjBmZ3VWU2NZWUxRbHgwVjdmajN5Q3JvRk1YYzZ2dW1XZHMrMFdQckg3bnFjb1R1NCtHZjZ4R0k1QVUvLzRRS0JnUUR6TFcvdjdIVU1xTzhyT0tSM1FuWCtkekpPSWZibGJNMFdrdjBrdnNROFF2MGlEclN3N3MwRkkycGwvR0hXeXhKUWo3V1F5L2NWT2k2VUxWajNlQyt2ZUphamc1K1FvQ2FWTVIrQTVkRWRWWCt6UU5za0xmMFVBWkJyQjdrc1F1a1lpYnR5RWtmblp5dTFXOWc2czdINWdsS0VXUiszTXdjQTJRdkRGZVl4Z1FLQmdDWVdlKzQ4bVVaUEl5ZnR4NVFaQllnYTE2blpndzYxZmxtdEdpQlVGWGVMR3BTaU1XNXc5R3RYVDZPbFh1Zy91TkNKbHR4TDE4c0NEeDNVaU9DNWFTMEN4OTc5TlFrSm1YRWw1UDNtMFNGaVU4VlZ0SFp1dHd3SWFKTFZockZ1T3NJV1BtRFN4aHhMaFpPNmJ5aWRwbHlXLzl1eGpwMlZrQ0Y3OGd5QXRRSWsKLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo=",
"createdAt": "2024-01-11T10:00:06.618993Z"
}
} | +| `createResponse` | [Optional\](../../models/components/CreateResponse.md) | :heavy_minus_sign: | created a signing key successfully | {
"success": true,
"data": {
"id": "your-signing-key-id",
"privateKey": "your-base64-encoded-private-key",
"createdAt": "2024-01-11T10:00:06.618993Z"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/CreateSimulcastOfStreamRequest.md b/docs/models/operations/CreateSimulcastOfStreamRequest.md index 98a4244..d8dd6db 100644 --- a/docs/models/operations/CreateSimulcastOfStreamRequest.md +++ b/docs/models/operations/CreateSimulcastOfStreamRequest.md @@ -6,4 +6,4 @@ | Field | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `streamId` | *String* | :heavy_check_mark: | After creating a new live stream, FastPix assigns a unique identifier to the stream. | 8717422d89288ad5958d4a86e9afe2a2 | -| `body` | [SimulcastRequest](../../models/components/SimulcastRequest.md) | :heavy_check_mark: | N/A | {
"url": "rtmp://hyd01.contribute.live-video.net/app/",
"streamKey": "live_1012464221_DuM8W004MoZYNxQEZ0czODgfHCFBhk",
"metadata": {
"livestream_name": "Tech-Connect Summit"
}
} | \ No newline at end of file +| `body` | [SimulcastRequest](../../models/components/SimulcastRequest.md) | :heavy_check_mark: | N/A | {
"url": "rtmp://hyd01.contribute.live-video.net/app/",
"streamKey": "your-youtube-stream-key",
"metadata": {
"livestream_name": "Tech-Connect Summit"
}
} | \ No newline at end of file diff --git a/docs/models/operations/CreateSimulcastOfStreamResponse.md b/docs/models/operations/CreateSimulcastOfStreamResponse.md index 12641d7..3f98791 100644 --- a/docs/models/operations/CreateSimulcastOfStreamResponse.md +++ b/docs/models/operations/CreateSimulcastOfStreamResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `simulcastResponse` | [Optional\](../../models/components/SimulcastResponse.md) | :heavy_minus_sign: | New Simulcast created successfully | {
"success": true,
"data": {
"simulcastId": "8717422d89288ad5958d4a86e9afe2a2",
"url": "rtmp://hyd01.contribute.live-video.net/app/",
"streamKey": "live_1012464221_DuM8W004MoZYNxQEZ0czODgfHCFBhk",
"isEnabled": true,
"metadata": {
"livestream_name": "Tech-Connect Summit"
}
}
} | +| `simulcastResponse` | [Optional\](../../models/components/SimulcastResponse.md) | :heavy_minus_sign: | New Simulcast created successfully | {
"success": true,
"data": {
"simulcastId": "your-simulcast-id",
"url": "rtmp://hyd01.contribute.live-video.net/app/",
"streamKey": "your-youtube-stream-key",
"isEnabled": true,
"metadata": {
"livestream_name": "Tech-Connect Summit"
}
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/DeleteMediaFromPlaylistResponse.md b/docs/models/operations/DeleteMediaFromPlaylistResponse.md index fdf4a04..40152ee 100644 --- a/docs/models/operations/DeleteMediaFromPlaylistResponse.md +++ b/docs/models/operations/DeleteMediaFromPlaylistResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `playlistByIdResponse` | [Optional\](../../models/components/PlaylistByIdResponse.md) | :heavy_minus_sign: | Deleted media from playlist successfully | {
"success": true,
"data": {
"id": "46d5fce1-683a-457f-86d7-c048bb429505",
"name": "My Playlist",
"referenceId": "122q",
"type": "smart",
"description": "This Playlist contains videos from December 2024.",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
},
"updatedDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
}
},
"mediaList": [
{
"createdAt": "2025-05-27T09:37:52.445936Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "a1cd180e-f9b5-4e99-9d44-b9c9baabad89",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/bed25609-1887-4c49-91a5-5c6b1edeb1a2/thumbnail.png",
"title": "Media 1"
},
{
"createdAt": "2025-04-04T13:26:23.507284Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "245800c3-7b73-47d9-a201-e961260dcb30",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/3c6ceeea-d24b-487f-9dd0-5a16148b5d46/thumbnail.png",
"title": "Media 2"
},
{
"createdAt": "2025-04-04T13:26:12.552840Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "41316aac-5396-4278-8f44-08d5f2495b12",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/8989d0d3-5c5b-41b2-89d5-df6094e6093f/thumbnail.png",
"title": "Media 3"
}
],
"workspaceId": "d760b903-86ef-44d6-9b73-334130e0cf2d",
"createdAt": "2025-06-05T09:10:30.655275Z",
"updatedAt": "2025-06-05T12:23:47.096690Z",
"mediaCount": 3
}
} | +| `playlistByIdResponse` | [Optional\](../../models/components/PlaylistByIdResponse.md) | :heavy_minus_sign: | Deleted media from playlist successfully | {
"success": true,
"data": {
"id": "your-playlist-id",
"name": "your-playlist-name",
"referenceId": "your-reference-id",
"type": "smart",
"description": "your-playlist-description",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
},
"updatedDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
}
},
"mediaList": [
{
"createdAt": "2025-05-27T09:37:52.445936Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2025-04-04T13:26:23.507284Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2025-04-04T13:26:12.552840Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
}
],
"workspaceId": "your-workspace-id",
"createdAt": "2025-06-05T09:10:30.655275Z",
"updatedAt": "2025-06-05T12:23:47.096690Z",
"mediaCount": 3
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/DeleteMediaPlaybackIdRequest.md b/docs/models/operations/DeleteMediaPlaybackIdRequest.md index e7cfd44..8e4a001 100644 --- a/docs/models/operations/DeleteMediaPlaybackIdRequest.md +++ b/docs/models/operations/DeleteMediaPlaybackIdRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | dbb8a39a-e4a5-4120-9f22-22f603f1446e | -| `playbackId` | *String* | :heavy_check_mark: | Return the universal unique identifier for playbacks which can contain a maximum of 255 characters. | dbb8a39a-e4a5-4120-9f22-22f603f1446e | \ No newline at end of file +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | +| `playbackId` | *String* | :heavy_check_mark: | Return the universal unique identifier for playbacks which can contain a maximum of 255 characters. | your-playback-id | \ No newline at end of file diff --git a/docs/models/operations/DeleteMediaRequest.md b/docs/models/operations/DeleteMediaRequest.md index 74f231d..b728ff6 100644 --- a/docs/models/operations/DeleteMediaRequest.md +++ b/docs/models/operations/DeleteMediaRequest.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | \ No newline at end of file +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | \ No newline at end of file diff --git a/docs/models/operations/DeleteMediaTrackRequest.md b/docs/models/operations/DeleteMediaTrackRequest.md index 4f3e356..b1ec34f 100644 --- a/docs/models/operations/DeleteMediaTrackRequest.md +++ b/docs/models/operations/DeleteMediaTrackRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | -| `trackId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | \ No newline at end of file +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | +| `trackId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-track-id | \ No newline at end of file diff --git a/docs/models/operations/DeletePlaybackIdOfStreamRequest.md b/docs/models/operations/DeletePlaybackIdOfStreamRequest.md index 86b9a21..84416ea 100644 --- a/docs/models/operations/DeletePlaybackIdOfStreamRequest.md +++ b/docs/models/operations/DeletePlaybackIdOfStreamRequest.md @@ -6,4 +6,4 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | `streamId` | *String* | :heavy_check_mark: | Upon creating a new live stream, FastPix assigns a unique identifier to the stream. | 8717422d89288ad5958d4a86e9afe2a2 | -| `playbackId` | *String* | :heavy_check_mark: | Unique identifier for the playbackId | 88b7ac0f-2504-4dd5-b7b4-d84ab4fee1bd | \ No newline at end of file +| `playbackId` | *String* | :heavy_check_mark: | Unique identifier for the playbackId | your-playback-id | \ No newline at end of file diff --git a/docs/models/operations/DirectUploadVideoMediaRequest.md b/docs/models/operations/DirectUploadVideoMediaRequest.md index 88586d2..bf34bd7 100644 --- a/docs/models/operations/DirectUploadVideoMediaRequest.md +++ b/docs/models/operations/DirectUploadVideoMediaRequest.md @@ -8,4 +8,4 @@ Request body for direct upload | Field | Type | Required | Description | Example | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `corsOrigin` | *Optional\* | :heavy_minus_sign: | Upload media directly from a device using the URL name or enter "*" to allow all. | * | -| `pushMediaSettings` | [Optional\](../../models/operations/PushMediaSettings.md) | :heavy_minus_sign: | Configuration settings for uploading and processing media on the FastPix platform.
These settings define how the uploaded video is handled, including access control, resolution, DRM, and optional metadata.
For a complete explanation of how media uploads and processing work, refer to the
FastPix Video on Demand Overview.
| | \ No newline at end of file +| `pushMediaSettings` | [Optional\](../../models/operations/PushMediaSettings.md) | :heavy_minus_sign: | Configuration settings for uploading and processing media on the FastPix platform.
These settings define how the uploaded video is handled, including access control, resolution, DRM, and optional metadata.
For a complete explanation of how media uploads and processing work, refer to the
FastPix Video on Demand Overview.
| | \ No newline at end of file diff --git a/docs/models/operations/DirectUploadVideoMediaResponse.md b/docs/models/operations/DirectUploadVideoMediaResponse.md index 6916214..a021744 100644 --- a/docs/models/operations/DirectUploadVideoMediaResponse.md +++ b/docs/models/operations/DirectUploadVideoMediaResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/DirectUploadVideoMediaResponseBody.md) | :heavy_minus_sign: | Direct upload created successfully | {
"success": true,
"data": {
"uploadId": "beff5537-de85-42e1-a673-2a405cd94177",
"trial": false,
"status": "waiting",
"url": "https://storage.googleapis.com/fastpix-uploads-us/8a5ab157-c586-458a-bb2e-caa8a8b76a19/4190bbde-4c34-41e4-b70e-90ba2aa0b79e?X-Goog-Algorithm=GOOG4-RSA-SHA256\u0026X-Goog-Credential=dev-staging-pub-sub%40fastpix-vms.iam.gserviceaccount.com%2F20250708%2Fauto%2Fstorage%2Fgoog4_request\u0026X-Goog-Date=20250708T071545Z\u0026X-Goog-Expires=14400\u0026X-Goog-SignedHeaders=host%3Bx-goog-resumable\u0026X-Goog-Signature=7be4a17c181b222f5f70e5156843585dc2a9769d61126d77c7b83413a97256cbb8214aa09a8977ce09c1023148ef0f1f42265ddc436df29e66e00e76fbbed13b01e01bc95d15aa65aef695ef7556a306fad5cdc8bf81049ac17e8e95dd95dc80bac3ca684c584dc7a23494f3b29c2dfe9c039a5152d66dddb603c20409d0fda685981b3dfe0f8e0f34fc983d444fce9bbe0dda750a3eb756d1e2887ffa1aef242f208b157988c5fc5f68aa574dd1ef401162f150bc8d5218156d9655c368b359ad5b12c96d2e69654d4da87f34c4df9f22613cdd88357c448aa1f340e11e482e53156bc18a256e4dcf2b37a0ee875c9c941f978ab660637acfc3ccddb37628e8",
"timeout": 14400,
"corsOrigin": "*",
"pushMediaSettings": {
"playbackIds": [
{
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard",
"sourceAccess": false,
"optimizeAudio": false
}
}
} | +| `object` | [Optional\](../../models/operations/DirectUploadVideoMediaResponseBody.md) | :heavy_minus_sign: | Direct upload created successfully | {
"success": true,
"data": {
"uploadId": "your-upload-id",
"trial": false,
"status": "waiting",
"url": "https://storage.fastpix.com/uploads/your-upload-id?your-presigned-upload-signature",
"timeout": 14400,
"corsOrigin": "*",
"pushMediaSettings": {
"playbackIds": [
{
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard",
"sourceAccess": false,
"optimizeAudio": false
}
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/GenerateSubtitleTrackRequest.md b/docs/models/operations/GenerateSubtitleTrackRequest.md index dd20a6a..e850141 100644 --- a/docs/models/operations/GenerateSubtitleTrackRequest.md +++ b/docs/models/operations/GenerateSubtitleTrackRequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | -| `trackId` | *String* | :heavy_check_mark: | A universally unique identifier (UUID) assigned to the specific track for which subtitles must be generated. | d46f5df9-1a8f-4f0a-b56e-9f5b5d5b9e21 | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | +| `trackId` | *String* | :heavy_check_mark: | A universally unique identifier (UUID) assigned to the specific track for which subtitles must be generated. | your-track-id | | `body` | [TrackSubtitlesGenerateRequest](../../models/components/TrackSubtitlesGenerateRequest.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/GenerateSubtitleTrackResponse.md b/docs/models/operations/GenerateSubtitleTrackResponse.md index e10e197..2fbe607 100644 --- a/docs/models/operations/GenerateSubtitleTrackResponse.md +++ b/docs/models/operations/GenerateSubtitleTrackResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/GenerateSubtitleTrackResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"id": "ace60fc7-e876-4fc6-b9d9-c33fa242f84b",
"type": "subtitle",
"languageCode": "it",
"languageName": "Italian"
}
} | +| `object` | [Optional\](../../models/operations/GenerateSubtitleTrackResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"id": "your-track-id",
"type": "subtitle",
"languageCode": "it-IT",
"languageName": "Italian",
"title": "Italian subtitles"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/GetAllPlaylistsResponse.md b/docs/models/operations/GetAllPlaylistsResponse.md index 331b2f3..809636c 100644 --- a/docs/models/operations/GetAllPlaylistsResponse.md +++ b/docs/models/operations/GetAllPlaylistsResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `getAllPlaylistsResponse` | [Optional\](../../models/components/GetAllPlaylistsResponse.md) | :heavy_minus_sign: | Successfully retrieved all playlists | {
"success": true,
"data": [
{
"id": "db6e860f-cb57-43dd-8acf-39c9effd5608",
"name": "playist1",
"type": "smart",
"referenceId": "playlists101",
"createdAt": "2025-06-04T13:29:04.253244Z",
"mediaCount": 0
},
{
"id": "5c18559f-c1b1-4697-9282-77211d4396bb",
"name": "playist2",
"type": "smart",
"referenceId": "playlists102",
"createdAt": "2025-06-04T13:01:05.073809Z",
"mediaCount": 0
},
{
"id": "a4735902-b5e6-431f-8875-7a1a2cbc7a7b",
"name": "Onboarding",
"type": "manual",
"referenceId": "playlists103",
"createdAt": "2025-06-04T12:17:38.917664Z",
"mediaCount": 0
},
{
"id": "1ffce718-7072-4b61-9b27-e7d18198094d",
"name": "December playlist",
"type": "manual",
"referenceId": "playlists104",
"createdAt": "2025-05-15T11:06:51.545280Z",
"mediaCount": 0
},
{
"id": "2455174e-64d9-4324-86bd-80cb1af5b20a",
"name": "March Highlights",
"type": "smart",
"referenceId": "playlists105",
"createdAt": "2025-05-12T12:55:24.368182Z",
"mediaCount": 9
},
{
"id": "d55c4e51-e426-498f-b760-6f9357e2349e",
"name": "playlist1",
"type": "smart",
"referenceId": "playlists106",
"createdAt": "2025-05-07T10:49:29.226943Z",
"mediaCount": 9
},
{
"id": "63d73b6e-50dd-4653-990b-8a8df85ad09f",
"name": "playlist1",
"type": "smart",
"referenceId": "playlists107",
"createdAt": "2025-05-07T10:48:09.179324Z",
"mediaCount": 9
},
{
"id": "5a93de86-0848-4ab4-befe-8dba4b8433e5",
"name": "playlist1",
"type": "smart",
"referenceId": "playlists108",
"createdAt": "2025-05-07T10:47:06.339271Z",
"mediaCount": 9
},
{
"id": "d315b847-38c4-431f-b1b6-32dc5013700a",
"name": "playlist1",
"type": "smart",
"referenceId": "playlists109",
"createdAt": "2025-05-07T10:03:21.487649Z",
"mediaCount": 9
},
{
"id": "86348042-6367-4dfc-b018-b3ee9934f45b",
"name": "playlist1",
"type": "manual",
"referenceId": "playlists201",
"createdAt": "2025-05-05T12:48:44.177451Z",
"mediaCount": 2
}
],
"pagination": {
"totalRecords": 46,
"currentOffset": 1,
"offsetCount": 5
}
} | +| `getAllPlaylistsResponse` | [Optional\](../../models/components/GetAllPlaylistsResponse.md) | :heavy_minus_sign: | Successfully retrieved all playlists | {
"success": true,
"data": [
{
"id": "your-playlist-id",
"name": "your-playlist-name",
"type": "smart",
"referenceId": "your-reference-id",
"createdAt": "2025-06-04T13:29:04.253244Z",
"mediaCount": 0
},
{
"id": "your-playlist-id",
"name": "your-playlist-name",
"type": "smart",
"referenceId": "your-reference-id",
"createdAt": "2025-06-04T13:01:05.073809Z",
"mediaCount": 0
},
{
"id": "your-playlist-id",
"name": "your-playlist-name",
"type": "manual",
"referenceId": "your-reference-id",
"createdAt": "2025-06-04T12:17:38.917664Z",
"mediaCount": 0
},
{
"id": "your-playlist-id",
"name": "your-playlist-name",
"type": "manual",
"referenceId": "your-reference-id",
"createdAt": "2025-05-15T11:06:51.545280Z",
"mediaCount": 0
},
{
"id": "your-playlist-id",
"name": "your-playlist-name",
"type": "smart",
"referenceId": "your-reference-id",
"createdAt": "2025-05-12T12:55:24.368182Z",
"mediaCount": 9
},
{
"id": "your-playlist-id",
"name": "your-playlist-name",
"type": "smart",
"referenceId": "your-reference-id",
"createdAt": "2025-05-07T10:49:29.226943Z",
"mediaCount": 9
},
{
"id": "your-playlist-id",
"name": "your-playlist-name",
"type": "smart",
"referenceId": "your-reference-id",
"createdAt": "2025-05-07T10:48:09.179324Z",
"mediaCount": 9
},
{
"id": "your-playlist-id",
"name": "your-playlist-name",
"type": "smart",
"referenceId": "your-reference-id",
"createdAt": "2025-05-07T10:47:06.339271Z",
"mediaCount": 9
},
{
"id": "your-playlist-id",
"name": "your-playlist-name",
"type": "smart",
"referenceId": "your-reference-id",
"createdAt": "2025-05-07T10:03:21.487649Z",
"mediaCount": 9
},
{
"id": "your-playlist-id",
"name": "your-playlist-name",
"type": "manual",
"referenceId": "your-reference-id",
"createdAt": "2025-05-05T12:48:44.177451Z",
"mediaCount": 2
}
],
"pagination": {
"totalRecords": 46,
"currentOffset": 1,
"offsetCount": 5
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/GetAllStreamsResponse.md b/docs/models/operations/GetAllStreamsResponse.md index d5a2c14..a8bd3b1 100644 --- a/docs/models/operations/GetAllStreamsResponse.md +++ b/docs/models/operations/GetAllStreamsResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `getStreamsResponse` | [Optional\](../../models/components/GetStreamsResponse.md) | :heavy_minus_sign: | All streams retrieved sucessfully | {
"success": true,
"data": [
{
"streamId": "fa7f8c0950ea48ebcc5ef9de8c23deaa",
"streamKey": "3dc5d7641f918baa083a5c52a5bd9cbckfa7f8c0950ea48ebcc5ef9de8c23deaa",
"srtSecret": "c51739512d0088d98a46925c9b74c73akfa7f8c0950ea48ebcc5ef9de8c23deaa",
"trial": false,
"status": "idle",
"maxResolution": "1080p",
"maxDuration": 28800,
"createdAt": "2024-10-15T08:48:31.551351Z",
"reconnectWindow": 100,
"enableRecording": true,
"enableDvrMode": true,
"mediaPolicy": "public",
"metadata": {
"livestream_name": "Gaming_stream"
},
"lowLatency": false,
"closedCaptions": false,
"playbackIds": [
{
"id": "4e43ec52-4775-4f68-a3ff-a57d8a59bba8",
"accessPolicy": "public"
}
],
"mediaIds": [
"03cdf35d-8626-4b5f-bd14-d2212cd2a991"
],
"srtPlaybackResponse": {
"srtPlaybackStreamId": "playfa7f8c0950ea48ebcc5ef9de8c23deaa",
"srtPlaybackSecret": "490e707dd4d165c9e38d261b252f9457kfa7f8c0950ea48ebcc5ef9de8c23deaa"
}
}
],
"pagination": {
"totalRecords": 4,
"currentOffset": 1,
"offsetCount": 4
}
} | +| `getStreamsResponse` | [Optional\](../../models/components/GetStreamsResponse.md) | :heavy_minus_sign: | All streams retrieved sucessfully | {
"success": true,
"data": [
{
"streamId": "your-stream-id",
"streamKey": "your-stream-key",
"srtSecret": "your-srt-secret",
"trial": false,
"status": "idle",
"maxResolution": "1080p",
"maxDuration": 28800,
"createdAt": "2024-10-15T08:48:31.551351Z",
"reconnectWindow": 100,
"enableRecording": true,
"enableDvrMode": true,
"mediaPolicy": "public",
"metadata": {
"livestream_name": "Gaming_stream"
},
"lowLatency": false,
"closedCaptions": false,
"playbackIds": [
{
"id": "your-playback-id",
"accessPolicy": "public"
}
],
"mediaIds": [
"your-media-id"
],
"srtPlaybackResponse": {
"srtPlaybackStreamId": "your-srt-playback-stream-id",
"srtPlaybackSecret": "your-srt-playback-secret"
}
}
],
"pagination": {
"totalRecords": 4,
"currentOffset": 1,
"offsetCount": 4
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/GetDrmConfigurationByIdRequest.md b/docs/models/operations/GetDrmConfigurationByIdRequest.md index 8275840..ee57809 100644 --- a/docs/models/operations/GetDrmConfigurationByIdRequest.md +++ b/docs/models/operations/GetDrmConfigurationByIdRequest.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | -| `drmConfigurationId` | *String* | :heavy_check_mark: | The unique identifier of the DRM configuration. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | \ No newline at end of file +| `drmConfigurationId` | *String* | :heavy_check_mark: | The unique identifier of the DRM configuration. | your-drm-configuration-id | \ No newline at end of file diff --git a/docs/models/operations/GetLiveStreamByIdResponse.md b/docs/models/operations/GetLiveStreamByIdResponse.md index a23235c..cacec4e 100644 --- a/docs/models/operations/GetLiveStreamByIdResponse.md +++ b/docs/models/operations/GetLiveStreamByIdResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `livestreamgetResponse` | [Optional\](../../models/components/LivestreamgetResponse.md) | :heavy_minus_sign: | Stream details retrieved successfully | {
"success": true,
"data": {
"streamId": "fa7f8c0950ea48ebcc5ef9de8c23deaa",
"streamKey": "3dc5d7641f918baa083a5c52a5bd9cbckfa7f8c0950ea48ebcc5ef9de8c23deaa",
"srtSecret": "c51739512d0088d98a46925c9b74c73akfa7f8c0950ea48ebcc5ef9de8c23deaa",
"trial": false,
"status": "idle",
"maxResolution": "1080p",
"maxDuration": 28800,
"createdAt": "2024-10-15T08:48:31.551351Z",
"reconnectWindow": 60,
"enableRecording": true,
"enableDvrMode": false,
"mediaPolicy": "public",
"metadata": {
"livestream_name": "fastpix_livestream"
},
"lowLatency": true,
"closedCaptions": false,
"playbackIds": [
{
"id": "4e43ec52-4775-4f68-a3ff-a57d8a59bba8",
"accessPolicy": "public"
}
],
"mediaIds": [
"03cdf35d-8626-4b5f-bd14-d2212cd2a991"
],
"srtPlaybackResponse": {
"srtPlaybackStreamId": "playfa7f8c0950ea48ebcc5ef9de8c23deaa",
"srtPlaybackSecret": "490e707dd4d165c9e38d261b252f9457kfa7f8c0950ea48ebcc5ef9de8c23deaa"
}
}
} | +| `livestreamgetResponse` | [Optional\](../../models/components/LivestreamgetResponse.md) | :heavy_minus_sign: | Stream details retrieved successfully | {
"success": true,
"data": {
"streamId": "your-stream-id",
"streamKey": "your-stream-key",
"srtSecret": "your-srt-secret",
"trial": false,
"status": "idle",
"maxResolution": "1080p",
"maxDuration": 28800,
"createdAt": "2024-10-15T08:48:31.551351Z",
"reconnectWindow": 60,
"enableRecording": true,
"enableDvrMode": false,
"mediaPolicy": "public",
"metadata": {
"livestream_name": "fastpix_livestream"
},
"lowLatency": true,
"closedCaptions": false,
"playbackIds": [
{
"id": "your-playback-id",
"accessPolicy": "public"
}
],
"mediaIds": [
"your-media-id"
],
"srtPlaybackResponse": {
"srtPlaybackStreamId": "your-srt-playback-stream-id",
"srtPlaybackSecret": "your-srt-playback-secret"
}
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/GetLiveStreamPlaybackIdResponse.md b/docs/models/operations/GetLiveStreamPlaybackIdResponse.md index 636bb7b..1f4617d 100644 --- a/docs/models/operations/GetLiveStreamPlaybackIdResponse.md +++ b/docs/models/operations/GetLiveStreamPlaybackIdResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `playbackIdSuccessResponse` | [Optional\](../../models/components/PlaybackIdSuccessResponse.md) | :heavy_minus_sign: | Stream details retrieved successfully | {
"success": true,
"data": {
"id": "88b7ac0f-2504-4dd5-b7b4-d84ab4fee1bd",
"accessPolicy": "public"
}
} | +| `playbackIdSuccessResponse` | [Optional\](../../models/components/PlaybackIdSuccessResponse.md) | :heavy_minus_sign: | Stream details retrieved successfully | {
"success": true,
"data": {
"id": "your-playback-id",
"accessPolicy": "public"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/GetMediaClipsRequest.md b/docs/models/operations/GetMediaClipsRequest.md index ba266e2..a9f16fc 100644 --- a/docs/models/operations/GetMediaClipsRequest.md +++ b/docs/models/operations/GetMediaClipsRequest.md @@ -5,7 +5,7 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | fc733e3f-2fba-4c3d-9388-2511dc50d15f | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | | `offset` | *Optional\* | :heavy_minus_sign: | Offset determines the starting point for data retrieval within a paginated list. | 5 | | `limit` | *Optional\* | :heavy_minus_sign: | The number of media clips to retrieve per request. | 20 | | `orderBy` | [Optional\](../../models/components/SortOrder.md) | :heavy_minus_sign: | The values in the list can be arranged in two ways DESC (Descending) or ASC (Ascending). | desc | \ No newline at end of file diff --git a/docs/models/operations/GetMediaRequest.md b/docs/models/operations/GetMediaRequest.md index df76f66..77c68ee 100644 --- a/docs/models/operations/GetMediaRequest.md +++ b/docs/models/operations/GetMediaRequest.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | \ No newline at end of file +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | \ No newline at end of file diff --git a/docs/models/operations/GetMediaResponse.md b/docs/models/operations/GetMediaResponse.md index 20ef7a1..8cd5cb8 100644 --- a/docs/models/operations/GetMediaResponse.md +++ b/docs/models/operations/GetMediaResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/GetMediaResponseBody.md) | :heavy_minus_sign: | Get a video media by id | {
"success": true,
"data": {
"thumbnail": "https://images.fastpix.com/837f028b-dcaf-4c23-b368-3748641f74ac/thumbnail.png",
"id": "cfeec1a3-6cbd-40df-a425-2ed7f8f72ced",
"workspaceId": "6dc2b4e0-0615-42fd-a580-1f4aad932dfe",
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"mp4Support": "capped_4k",
"sourceAccess": false,
"playbackIds": [
{
"id": "837f028b-dcaf-4c23-b368-3748641f74ac",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "f301a2a1-b40d-40fa-b419-4d0cd92a62f8",
"type": "video",
"width": 1920,
"height": 1080,
"frameRate": "30/1",
"status": "available"
}
],
"isAudioOnly": false,
"subtitleAvailable": true,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2025-01-09T06:44:44.617138Z",
"updatedAt": "2025-01-09T06:44:53.742648Z"
}
} | +| `object` | [Optional\](../../models/operations/GetMediaResponseBody.md) | :heavy_minus_sign: | Get a video media by id | {
"success": true,
"data": {
"thumbnail": "https://images.fastpix.com/your-media-id/thumbnail.png",
"id": "your-media-id",
"workspaceId": "your-workspace-id",
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"mp4Support": "capped_4k",
"sourceAccess": false,
"playbackIds": [
{
"id": "your-playback-id",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "your-track-id",
"type": "video",
"width": 1920,
"height": 1080,
"frameRate": "30/1",
"status": "available"
}
],
"isAudioOnly": false,
"subtitleAvailable": true,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2025-01-09T06:44:44.617138Z",
"updatedAt": "2025-01-09T06:44:53.742648Z"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/GetMediaResponseBody.md b/docs/models/operations/GetMediaResponseBody.md index a3b5f18..bdf6de4 100644 --- a/docs/models/operations/GetMediaResponseBody.md +++ b/docs/models/operations/GetMediaResponseBody.md @@ -8,4 +8,4 @@ Get a video media by id | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | | `success` | *Optional\* | :heavy_minus_sign: | Demonstrates whether the request is successful or not. | true | -| `data` | [Optional\](../../models/components/GetMediaResponse.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `data` | [Optional\](../../models/components/GetMediaDetailResponse.md) | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/GetMediaSummaryRequest.md b/docs/models/operations/GetMediaSummaryRequest.md index 08be0d1..9e2c07b 100644 --- a/docs/models/operations/GetMediaSummaryRequest.md +++ b/docs/models/operations/GetMediaSummaryRequest.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | fc733e3f-2fba-4c3d-9388-2511dc50d15f | \ No newline at end of file +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | \ No newline at end of file diff --git a/docs/models/operations/GetPlaybackIdData.md b/docs/models/operations/GetPlaybackIdData.md index debabb2..824a0c3 100644 --- a/docs/models/operations/GetPlaybackIdData.md +++ b/docs/models/operations/GetPlaybackIdData.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- | -| `id` | *Optional\* | :heavy_minus_sign: | Unique identifier of the playback ID. | 54fd5e7e-3aa5-4817-b56d-44932f67f6c3 | +| `id` | *Optional\* | :heavy_minus_sign: | Unique identifier of the playback ID. | your-playback-id | | `accessPolicy` | [Optional\](../../models/operations/GetPlaybackIdAccessPolicy.md) | :heavy_minus_sign: | The access policy set for the playback ID. | public | | `accessRestrictions` | [Optional\](../../models/operations/GetPlaybackIdAccessRestrictions.md) | :heavy_minus_sign: | Restrictions applied to this playback ID. | | \ No newline at end of file diff --git a/docs/models/operations/GetPlaybackIdRequest.md b/docs/models/operations/GetPlaybackIdRequest.md index e85e353..374a13f 100644 --- a/docs/models/operations/GetPlaybackIdRequest.md +++ b/docs/models/operations/GetPlaybackIdRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `mediaId` | *String* | :heavy_check_mark: | N/A | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | -| `playbackId` | *String* | :heavy_check_mark: | N/A | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | \ No newline at end of file +| `mediaId` | *String* | :heavy_check_mark: | N/A | your-media-id | +| `playbackId` | *String* | :heavy_check_mark: | N/A | your-playback-id | \ No newline at end of file diff --git a/docs/models/operations/GetPlaylistByIdResponse.md b/docs/models/operations/GetPlaylistByIdResponse.md index 9f66275..b6e2120 100644 --- a/docs/models/operations/GetPlaylistByIdResponse.md +++ b/docs/models/operations/GetPlaylistByIdResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `playlistByIdResponse` | [Optional\](../../models/components/PlaylistByIdResponse.md) | :heavy_minus_sign: | Successfully retrieved all playlists | {
"success": true,
"data": {
"id": "46d5fce1-683a-457f-86d7-c048bb429505",
"name": "My Playlist",
"referenceId": "122q",
"type": "smart",
"description": "This Playlist contains videos from December 2024.",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
},
"updatedDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
}
},
"mediaList": [
{
"createdAt": "2025-05-27T09:37:52.445936Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "a1cd180e-f9b5-4e99-9d44-b9c9baabad89",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/bed25609-1887-4c49-91a5-5c6b1edeb1a2/thumbnail.png",
"title": "Media 1"
},
{
"createdAt": "2025-04-04T13:26:23.507284Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "245800c3-7b73-47d9-a201-e961260dcb30",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/3c6ceeea-d24b-487f-9dd0-5a16148b5d46/thumbnail.png",
"title": "Media 2"
},
{
"createdAt": "2025-04-04T13:26:12.552840Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "41316aac-5396-4278-8f44-08d5f2495b12",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/8989d0d3-5c5b-41b2-89d5-df6094e6093f/thumbnail.png",
"title": "Media 3"
}
],
"workspaceId": "d760b903-86ef-44d6-9b73-334130e0cf2d",
"createdAt": "2025-06-05T09:10:30.655275Z",
"updatedAt": "2025-06-05T12:23:47.096690Z",
"mediaCount": 3
}
} | +| `playlistByIdResponse` | [Optional\](../../models/components/PlaylistByIdResponse.md) | :heavy_minus_sign: | Successfully retrieved all playlists | {
"success": true,
"data": {
"id": "your-playlist-id",
"name": "your-playlist-name",
"referenceId": "your-reference-id",
"type": "smart",
"description": "your-playlist-description",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
},
"updatedDate": {
"endDate": "2024-12-12T00:00:00Z",
"startDate": "2024-12-11T00:00:00Z"
}
},
"mediaList": [
{
"createdAt": "2025-05-27T09:37:52.445936Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2025-04-04T13:26:23.507284Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2025-04-04T13:26:12.552840Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
}
],
"workspaceId": "your-workspace-id",
"createdAt": "2025-06-05T09:10:30.655275Z",
"updatedAt": "2025-06-05T12:23:47.096690Z",
"mediaCount": 3
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/GetSigningKeyByIdResponse.md b/docs/models/operations/GetSigningKeyByIdResponse.md index 35f2c09..f981127 100644 --- a/docs/models/operations/GetSigningKeyByIdResponse.md +++ b/docs/models/operations/GetSigningKeyByIdResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `getPublicPemUsingSigningKeyIdResponseDTO` | [Optional\](../../models/components/GetPublicPemUsingSigningKeyIdResponseDTO.md) | :heavy_minus_sign: | successfully fetched signing key | {
"success": true,
"data": {
"workspaceId": "fc9d9368-6ee5-4b16-ae50-880ab374bdc6",
"signingKeyId": "5ta85f64-5717-4562-b3fc-2c963f66afa6",
"publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvfUkdkrPIZGOAwMwrkQ9Jr6uNEsVQCgax8xHMSf4Ib3IwlE90M/wLJZGmSWcaAWzH4nSE5qh/fF4E4xHY0hYMS78Ve9GSV8mtLfzjcZ0agfmFO0B0/YVaXNKDGc3CUWAOoONZEMCA3wqLNSZ3yQhr/IZ4xVqBR0GLSYtFt2VNNAmgfAQkVLcZy+3V1ZaC49EgK4AoR51iwwv9DzRjZ/3rM8MSS9lEy0WQGXP/x+0k8hQvq482r/G32TSG00ZSKQDpRFieaFh6YRxMd/R0bhVAvTTO8STQa/M4PZGoBFqkPTpCw5uShtpe+Hm85vlHk/2qYx5NqIe4l+c/yo4w/ny/QIDAQAB\n-----END PUBLIC KEY-----\n"
}
} | +| `getPublicPemUsingSigningKeyIdResponseDTO` | [Optional\](../../models/components/GetPublicPemUsingSigningKeyIdResponseDTO.md) | :heavy_minus_sign: | successfully fetched signing key | {
"success": true,
"data": {
"workspaceId": "your-workspace-id",
"signingKeyId": "5ta85f64-5717-4562-b3fc-2c963f66afa6",
"publicKey": "-----BEGIN PUBLIC KEY-----\nyour-public-key\n-----END PUBLIC KEY-----\n"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/GetSpecificSimulcastOfStreamResponse.md b/docs/models/operations/GetSpecificSimulcastOfStreamResponse.md index add1d6b..1c29657 100644 --- a/docs/models/operations/GetSpecificSimulcastOfStreamResponse.md +++ b/docs/models/operations/GetSpecificSimulcastOfStreamResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `simulcastResponse` | [Optional\](../../models/components/SimulcastResponse.md) | :heavy_minus_sign: | Stream's simulcast details fetched successfully | {
"success": true,
"data": {
"simulcastId": "8717422d89288ad5958d4a86e9afe2a2",
"url": "rtmp://hyd01.contribute.live-video.net/app/",
"streamKey": "live_1012464221_DuM8W004MoZYNxQEZ0czODgfHCFBhk",
"isEnabled": true,
"metadata": {
"livestream_name": "Tech-Connect Summit"
}
}
} | +| `simulcastResponse` | [Optional\](../../models/components/SimulcastResponse.md) | :heavy_minus_sign: | Stream's simulcast details fetched successfully | {
"success": true,
"data": {
"simulcastId": "your-simulcast-id",
"url": "rtmp://hyd01.contribute.live-video.net/app/",
"streamKey": "your-youtube-stream-key",
"isEnabled": true,
"metadata": {
"livestream_name": "Tech-Connect Summit"
}
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/GetVideoViewDetailsResponse.md b/docs/models/operations/GetVideoViewDetailsResponse.md index c7e50a7..90f5008 100644 --- a/docs/models/operations/GetVideoViewDetailsResponse.md +++ b/docs/models/operations/GetVideoViewDetailsResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/GetVideoViewDetailsResponseBody.md) | :heavy_minus_sign: | Get a video view by id | {
"success": true,
"data": {
"asnId": 55836,
"asnName": "AS55836 Reliance Jio Infocomm Limited",
"averageBitrate": 1512855,
"avgDownscaling": 0,
"avgRequestLatency": 0,
"avgRequestThroughput": 12588331,
"avgUpscaling": 0,
"beaconDomain": "metrix.ws",
"browserEngine": null,
"browserName": "Chrome",
"browserVersion": "Chrome 5.8.3",
"bufferCount": 0,
"bufferFill": 0,
"bufferFrequency": 0,
"bufferRatio": 0,
"cdn": null,
"city": "Gaddi Annaram",
"connectionType": "cellular",
"continent": "AS",
"country": "India",
"countryCode": "IN",
"custom": {
"Custom": [
{
"dimensionName": "custom_1",
"displayName": "displayName-1",
"value": "ShortVideo"
}
]
},
"deviceManufacturer": "vivo",
"deviceModel": "V2130",
"deviceName": "V2130",
"deviceType": "Mobile",
"drmType": null,
"droppedFrameCount": 0,
"errorCode": null,
"errorContext": null,
"errorId": null,
"errorMessage": null,
"exitBeforeVideoStart": false,
"experimentName": null,
"fpApiVersion": 1,
"fpEmbed": false,
"fpEmbedVersion": "1.0.1",
"fpLiveStreamId": null,
"fpPlaybackId": null,
"fpSdk": "media3_fastpix",
"fpSdkVersion": "1.0.1",
"fpViewerId": "36c707a3-7f9a-48ab-9ba4-416617d20889",
"insertTimestamp": "2025-09-24T07:33:53.39Z",
"ipAddress": "192.168.136.251",
"jumpLatency": 72,
"latitude": 17.3669,
"liveStreamLatency": null,
"longitude": 78.5242,
"maxDownscaling": 0,
"maxRequestLatency": 0,
"maxUpscaling": 0,
"mediaId": null,
"osName": "Android",
"osVersion": "Android 14",
"pageContext": null,
"pageLoadTime": 0,
"playbackScore": 1,
"playerAutoplayOn": false,
"playerHeight": 383,
"playerInitializationTime": 0,
"playerInstanceId": "859e3520-acb7-44fc-b856-69aa364de566",
"playerLanguage": null,
"playerName": null,
"playerPoster": null,
"playerPreloadOn": false,
"playerRemotePlayed": false,
"playerResolution": "393x383",
"playerSoftwareName": "media3-generic",
"playerSoftwareVersion": "1.6.1",
"playerSourceDomain": null,
"playerSourceHeight": 720,
"playerSourceWidth": 1280,
"playerVersion": null,
"playerViewCount": 0,
"playerWidth": 393,
"propertyId": null,
"qualityOfExperienceScore": 0.9697980416156672,
"region": "Telangana",
"renderQualityScore": 1,
"sessionId": "8c7859bf-6d0c-4de8-a1d7-a3d8bdecc977",
"sign": 1,
"stabilityScore": 1,
"startupScore": 0.8901746967842439,
"subPropertyId": null,
"totalStartupTime": 987,
"updatedTimestamp": "2025-09-24T07:33:55.074Z",
"usedFullScreen": false,
"userAgent": "Dalvik/2.1.0 (Linux; U; Android 14; V2130 Build/UP1A.231005.007)",
"videoContentType": null,
"videoDuration": null,
"videoEncodingVariant": null,
"videoId": "68d3780f38aec4265abe453a",
"videoLanguage": null,
"videoProducer": null,
"videoResolution": "720X1280",
"videoSeries": null,
"videoSourceDomain": null,
"videoSourceDuration": 30120,
"videoSourceHostname": "unknown",
"videoSourceStreamType": null,
"videoSourceType": null,
"videoSourceUrl": null,
"videoStartupFailed": false,
"videoStartupTime": 987,
"videoTitle": "Best practices for identifying and engaging your champion",
"videoVariantId": null,
"videoVariantName": null,
"viewEnd": "2025-09-24T07:33:55.074Z",
"viewHasAd": false,
"viewHasError": false,
"viewId": "202b8e4f-c078-4b98-88c8-6f7c23ba7272",
"viewMaxPlayheadPosition": 0,
"viewPageUrl": null,
"viewPlayingTime": 0,
"viewSeekedCount": 1,
"viewSeekedDuration": 72,
"viewSessionId": "059c5bc2-12fc-45f1-b893-db9f1d0bf7d1",
"viewStart": "2025-09-24T07:33:53.39Z",
"viewTotalContentPlaybackTime": 0,
"viewerId": null,
"watchTime": 987,
"workspaceId": "fdae281f-b582-4ea0-8694-15fccd1cbd98",
"events": [
{
"player_playhead_time": 0,
"event_name": "playerReady",
"event_details": {},
"viewer_time": 1713156224677,
"event_time": "1713156224686"
},
{
"player_playhead_time": 0,
"event_name": "viewBegin",
"event_details": {},
"viewer_time": 1713156224685,
"event_time": "1713156224686"
},
{
"player_playhead_time": 0,
"event_name": "play",
"event_details": {},
"viewer_time": 1713156224686,
"event_time": "1713156234688"
},
{
"player_playhead_time": 0,
"event_name": "waiting",
"event_details": {},
"viewer_time": 1713156224688,
"event_time": "1713156234688"
},
{
"player_playhead_time": 0,
"event_name": "loadstart",
"event_details": {},
"viewer_time": 1713156224693,
"event_time": "1713156234688"
},
{
"player_playhead_time": 0,
"event_name": "playing",
"event_details": {},
"viewer_time": 1713156225946,
"event_time": "1713156234688"
},
{
"player_playhead_time": 0,
"event_name": "variantChanged",
"event_details": {},
"viewer_time": 1713156225950,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326000,
"event_name": "seeking",
"event_details": {},
"viewer_time": 1713156228382,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326000,
"event_name": "waiting",
"event_details": {},
"viewer_time": 1713156228384,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326000,
"event_name": "seeked",
"event_details": {},
"viewer_time": 1713156229031,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326000,
"event_name": "playing",
"event_details": {},
"viewer_time": 1713156229032,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326337,
"event_name": "waiting",
"event_details": {},
"viewer_time": 1713156229427,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326400,
"event_name": "playing",
"event_details": {},
"viewer_time": 1713156229661,
"event_time": "1713156234688"
},
{
"player_playhead_time": 327265,
"event_name": "pause",
"event_details": {},
"viewer_time": 1713156230577,
"event_time": "1713156234688"
},
{
"player_playhead_time": 327265,
"event_name": "seeking",
"event_details": {},
"viewer_time": 1713156236178,
"event_time": "1713156244691"
},
{
"player_playhead_time": 1496000,
"event_name": "seeked",
"event_details": {},
"viewer_time": 1713156237276,
"event_time": "1713156244691"
},
{
"player_playhead_time": 1496010,
"event_name": "play",
"event_details": {},
"viewer_time": 1713156241461,
"event_time": "1713156244691"
},
{
"player_playhead_time": 1496021,
"event_name": "playing",
"event_details": {},
"viewer_time": 1713156241479,
"event_time": "1713156244691"
},
{
"player_playhead_time": 1500117,
"event_name": "pause",
"event_details": {},
"viewer_time": 1713156245651,
"event_time": "1713156245655"
},
{
"player_playhead_time": 1500117,
"event_name": "ended",
"event_details": {},
"viewer_time": 1713156245654,
"event_time": "1713156245655"
},
{
"player_playhead_time": 1500117,
"event_name": "viewCompleted",
"viewer_time": 1713156245657,
"event_time": 1713156245658
}
]
}
} | +| `object` | [Optional\](../../models/operations/GetVideoViewDetailsResponseBody.md) | :heavy_minus_sign: | Get a video view by id | {
"success": true,
"data": {
"asnId": 55836,
"asnName": "AS55836 Reliance Jio Infocomm Limited",
"averageBitrate": 1512855,
"avgDownscaling": 0,
"avgRequestLatency": 0,
"avgRequestThroughput": 12588331,
"avgUpscaling": 0,
"beaconDomain": "metrix.ws",
"browserEngine": null,
"browserName": "Chrome",
"browserVersion": "Chrome 5.8.3",
"bufferCount": 0,
"bufferFill": 0,
"bufferFrequency": 0,
"bufferRatio": 0,
"cdn": null,
"city": "Gaddi Annaram",
"connectionType": "cellular",
"continent": "AS",
"country": "India",
"countryCode": "IN",
"custom": {
"Custom": [
{
"dimensionName": "custom_1",
"displayName": "displayName-1",
"value": "ShortVideo"
}
]
},
"deviceManufacturer": "vivo",
"deviceModel": "V2130",
"deviceName": "V2130",
"deviceType": "Mobile",
"drmType": null,
"droppedFrameCount": 0,
"errorCode": null,
"errorContext": null,
"errorId": null,
"errorMessage": null,
"exitBeforeVideoStart": false,
"experimentName": null,
"fpApiVersion": 1,
"fpEmbed": false,
"fpEmbedVersion": "1.0.1",
"fpLiveStreamId": null,
"fpPlaybackId": null,
"fpSdk": "media3_fastpix",
"fpSdkVersion": "1.0.1",
"fpViewerId": "your-fp-viewer-id",
"insertTimestamp": "2025-09-24T07:33:53.39Z",
"ipAddress": "192.168.136.251",
"jumpLatency": 72,
"latitude": 17.3669,
"liveStreamLatency": null,
"longitude": 78.5242,
"maxDownscaling": 0,
"maxRequestLatency": 0,
"maxUpscaling": 0,
"mediaId": null,
"osName": "Android",
"osVersion": "Android 14",
"pageContext": null,
"pageLoadTime": 0,
"playbackScore": 1,
"playerAutoplayOn": false,
"playerHeight": 383,
"playerInitializationTime": 0,
"playerInstanceId": "your-player-instance-id",
"playerLanguage": null,
"playerName": null,
"playerPoster": null,
"playerPreloadOn": false,
"playerRemotePlayed": false,
"playerResolution": "393x383",
"playerSoftwareName": "media3-generic",
"playerSoftwareVersion": "1.6.1",
"playerSourceDomain": null,
"playerSourceHeight": 720,
"playerSourceWidth": 1280,
"playerVersion": null,
"playerViewCount": 0,
"playerWidth": 393,
"propertyId": null,
"qualityOfExperienceScore": 0.9697980416156672,
"region": "Telangana",
"renderQualityScore": 1,
"sessionId": "your-session-id",
"sign": 1,
"stabilityScore": 1,
"startupScore": 0.8901746967842439,
"subPropertyId": null,
"totalStartupTime": 987,
"updatedTimestamp": "2025-09-24T07:33:55.074Z",
"usedFullScreen": false,
"userAgent": "Dalvik/2.1.0 (Linux; U; Android 14; V2130 Build/UP1A.231005.007)",
"videoContentType": null,
"videoDuration": null,
"videoEncodingVariant": null,
"videoId": "your-video-id",
"videoLanguage": null,
"videoProducer": null,
"videoResolution": "720X1280",
"videoSeries": null,
"videoSourceDomain": null,
"videoSourceDuration": 30120,
"videoSourceHostname": "unknown",
"videoSourceStreamType": null,
"videoSourceType": null,
"videoSourceUrl": null,
"videoStartupFailed": false,
"videoStartupTime": 987,
"videoTitle": "Best practices for identifying and engaging your champion",
"videoVariantId": null,
"videoVariantName": null,
"viewEnd": "2025-09-24T07:33:55.074Z",
"viewHasAd": false,
"viewHasError": false,
"viewId": "your-view-id",
"viewMaxPlayheadPosition": 0,
"viewPageUrl": null,
"viewPlayingTime": 0,
"viewSeekedCount": 1,
"viewSeekedDuration": 72,
"viewSessionId": "your-view-session-id",
"viewStart": "2025-09-24T07:33:53.39Z",
"viewTotalContentPlaybackTime": 0,
"viewerId": null,
"watchTime": 987,
"workspaceId": "your-workspace-id",
"events": [
{
"player_playhead_time": 0,
"event_name": "playerReady",
"event_details": {},
"viewer_time": 1713156224677,
"event_time": "1713156224686"
},
{
"player_playhead_time": 0,
"event_name": "viewBegin",
"event_details": {},
"viewer_time": 1713156224685,
"event_time": "1713156224686"
},
{
"player_playhead_time": 0,
"event_name": "play",
"event_details": {},
"viewer_time": 1713156224686,
"event_time": "1713156234688"
},
{
"player_playhead_time": 0,
"event_name": "waiting",
"event_details": {},
"viewer_time": 1713156224688,
"event_time": "1713156234688"
},
{
"player_playhead_time": 0,
"event_name": "loadstart",
"event_details": {},
"viewer_time": 1713156224693,
"event_time": "1713156234688"
},
{
"player_playhead_time": 0,
"event_name": "playing",
"event_details": {},
"viewer_time": 1713156225946,
"event_time": "1713156234688"
},
{
"player_playhead_time": 0,
"event_name": "variantChanged",
"event_details": {},
"viewer_time": 1713156225950,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326000,
"event_name": "seeking",
"event_details": {},
"viewer_time": 1713156228382,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326000,
"event_name": "waiting",
"event_details": {},
"viewer_time": 1713156228384,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326000,
"event_name": "seeked",
"event_details": {},
"viewer_time": 1713156229031,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326000,
"event_name": "playing",
"event_details": {},
"viewer_time": 1713156229032,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326337,
"event_name": "waiting",
"event_details": {},
"viewer_time": 1713156229427,
"event_time": "1713156234688"
},
{
"player_playhead_time": 326400,
"event_name": "playing",
"event_details": {},
"viewer_time": 1713156229661,
"event_time": "1713156234688"
},
{
"player_playhead_time": 327265,
"event_name": "pause",
"event_details": {},
"viewer_time": 1713156230577,
"event_time": "1713156234688"
},
{
"player_playhead_time": 327265,
"event_name": "seeking",
"event_details": {},
"viewer_time": 1713156236178,
"event_time": "1713156244691"
},
{
"player_playhead_time": 1496000,
"event_name": "seeked",
"event_details": {},
"viewer_time": 1713156237276,
"event_time": "1713156244691"
},
{
"player_playhead_time": 1496010,
"event_name": "play",
"event_details": {},
"viewer_time": 1713156241461,
"event_time": "1713156244691"
},
{
"player_playhead_time": 1496021,
"event_name": "playing",
"event_details": {},
"viewer_time": 1713156241479,
"event_time": "1713156244691"
},
{
"player_playhead_time": 1500117,
"event_name": "pause",
"event_details": {},
"viewer_time": 1713156245651,
"event_time": "1713156245655"
},
{
"player_playhead_time": 1500117,
"event_name": "ended",
"event_details": {},
"viewer_time": 1713156245654,
"event_time": "1713156245655"
},
{
"player_playhead_time": 1500117,
"event_name": "viewCompleted",
"viewer_time": 1713156245657,
"event_time": 1713156245658
}
]
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/ListLiveClipsResponse.md b/docs/models/operations/ListLiveClipsResponse.md index 4538110..68d845e 100644 --- a/docs/models/operations/ListLiveClipsResponse.md +++ b/docs/models/operations/ListLiveClipsResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/ListLiveClipsResponseBody.md) | :heavy_minus_sign: | List of video media | {
"success": true,
"data": [
{
"thumbnail": "https://images.fastpix.com/837f028b-dcaf-4c23-b368-3748641f74ac/thumbnail.png",
"id": "cfeec1a3-6cbd-40df-a425-2ed7f8f72ced",
"workspaceId": "6dc2b4e0-0615-42fd-a580-1f4aad932dfe",
"streamId": "98f28be5ac9bd7a4205634691a1a096b",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"sourceAccess": false,
"playbackIds": [
{
"id": "837f028b-dcaf-4c23-b368-3748641f74ac",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "f301a2a1-b40d-40fa-b419-4d0cd92a62f8",
"type": "video",
"width": 1920,
"height": 1080,
"frameRate": "30/1",
"status": "available"
}
],
"isAudioOnly": false,
"subtitleAvailable": true,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2025-01-09T06:44:44.617138Z",
"updatedAt": "2025-01-09T06:44:53.742648Z"
}
],
"pagination": {
"totalRecords": 100,
"currentOffset": 1,
"offsetCount": 10
}
} | +| `object` | [Optional\](../../models/operations/ListLiveClipsResponseBody.md) | :heavy_minus_sign: | List of video media | {
"success": true,
"data": [
{
"thumbnail": "https://images.fastpix.com/your-media-id/thumbnail.png",
"id": "your-media-id",
"workspaceId": "your-workspace-id",
"streamId": "your-stream-id",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"sourceAccess": false,
"playbackIds": [
{
"id": "your-playback-id",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "your-track-id",
"type": "video",
"width": 1920,
"height": 1080,
"frameRate": "30/1",
"status": "available"
}
],
"isAudioOnly": false,
"subtitleAvailable": true,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2025-01-09T06:44:44.617138Z",
"updatedAt": "2025-01-09T06:44:53.742648Z"
}
],
"pagination": {
"totalRecords": 100,
"currentOffset": 1,
"offsetCount": 10
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/ListMediaResponse.md b/docs/models/operations/ListMediaResponse.md index 1347fb7..793f535 100644 --- a/docs/models/operations/ListMediaResponse.md +++ b/docs/models/operations/ListMediaResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/ListMediaResponseBody.md) | :heavy_minus_sign: | List of video media | {
"success": true,
"data": [
{
"thumbnail": "https://images.fastpix.com/837f028b-dcaf-4c23-b368-3748641f74ac/thumbnail.png",
"id": "cfeec1a3-6cbd-40df-a425-2ed7f8f72ced",
"workspaceId": "6dc2b4e0-0615-42fd-a580-1f4aad932dfe",
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"sourceAccess": false,
"playbackIds": [
{
"id": "837f028b-dcaf-4c23-b368-3748641f74ac",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "f301a2a1-b40d-40fa-b419-4d0cd92a62f8",
"type": "video",
"width": 1920,
"height": 1080,
"status": "available"
}
],
"generatedSubtitles": [],
"isAudioOnly": false,
"subtitleAvailable": true,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2025-01-09T06:44:44.617138Z",
"updatedAt": "2025-01-09T06:44:53.742648Z"
}
],
"pagination": {
"totalRecords": 100,
"currentOffset": 1,
"offsetCount": 10
}
} | +| `object` | [Optional\](../../models/operations/ListMediaResponseBody.md) | :heavy_minus_sign: | List of video media | {
"success": true,
"data": [
{
"thumbnail": "https://images.fastpix.com/your-media-id/thumbnail.png",
"id": "your-media-id",
"workspaceId": "your-workspace-id",
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"sourceAccess": false,
"playbackIds": [
{
"id": "your-playback-id",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "your-track-id",
"type": "video",
"width": 1920,
"height": 1080,
"status": "available"
}
],
"generatedSubtitles": [],
"isAudioOnly": false,
"subtitleAvailable": true,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2025-01-09T06:44:44.617138Z",
"updatedAt": "2025-01-09T06:44:53.742648Z"
}
],
"pagination": {
"totalRecords": 100,
"currentOffset": 1,
"offsetCount": 10
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/ListPlaybackIdsData.md b/docs/models/operations/ListPlaybackIdsData.md index bd92417..1eff3f3 100644 --- a/docs/models/operations/ListPlaybackIdsData.md +++ b/docs/models/operations/ListPlaybackIdsData.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | -| `id` | *Optional\* | :heavy_minus_sign: | Unique identifier of the playback ID. | 54fd5e7e-3aa5-4817-b56d-44932f67f6c3 | +| `id` | *Optional\* | :heavy_minus_sign: | Unique identifier of the playback ID. | your-playback-id | | `accessPolicy` | [Optional\](../../models/operations/ListPlaybackIdsAccessPolicy.md) | :heavy_minus_sign: | The access policy set for the playback ID. | drm | | `accessRestrictions` | [Optional\](../../models/operations/ListPlaybackIdsAccessRestrictions.md) | :heavy_minus_sign: | Restrictions applied to this playback ID. | | \ No newline at end of file diff --git a/docs/models/operations/ListPlaybackIdsRequest.md b/docs/models/operations/ListPlaybackIdsRequest.md index f82a2a6..acce771 100644 --- a/docs/models/operations/ListPlaybackIdsRequest.md +++ b/docs/models/operations/ListPlaybackIdsRequest.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | -| `mediaId` | *String* | :heavy_check_mark: | N/A | 5455b8db-79c7-438e-83b9-c440980214c3 | \ No newline at end of file +| `mediaId` | *String* | :heavy_check_mark: | N/A | your-media-id | \ No newline at end of file diff --git a/docs/models/operations/ListUploadsResponse.md b/docs/models/operations/ListUploadsResponse.md index 8a5d902..591fec8 100644 --- a/docs/models/operations/ListUploadsResponse.md +++ b/docs/models/operations/ListUploadsResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/ListUploadsResponseBody.md) | :heavy_minus_sign: | List of video media | {
"success": true,
"data": [
{
"uploadId": "9149264c-6cb9-40d3-9313-95a85c56135e",
"trial": true,
"status": "waiting",
"url": "https://storage.fastpix.net/uploads/7619ee69-d758-4589-80ee-965f6bfc922c/9149264c-6cb9-40d3-9313-95a85c56135e?X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=assets-svc%2F20250109%2Fus-east-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20250109T084749Z\u0026X-Amz-Expires=14400\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=f0a1e3798792543bff7fed64314cc386f56adc1bc1a65f6d4d9c137c6998b6ce",
"timeout": 14400,
"corsOrigin": "*",
"pushMediaSettings": {
"playbackIds": [
{
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard"
}
}
],
"pagination": {
"totalRecords": 100,
"currentOffset": 1,
"offsetCount": 10
}
} | +| `object` | [Optional\](../../models/operations/ListUploadsResponseBody.md) | :heavy_minus_sign: | List of video media | {
"success": true,
"data": [
{
"uploadId": "your-upload-id",
"trial": true,
"status": "waiting",
"url": "https://storage.fastpix.com/uploads/your-upload-id?your-presigned-upload-signature",
"timeout": 14400,
"corsOrigin": "*",
"pushMediaSettings": {
"playbackIds": [
{
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard"
}
}
],
"pagination": {
"totalRecords": 100,
"currentOffset": 1,
"offsetCount": 10
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/ListVideoViewsRequest.md b/docs/models/operations/ListVideoViewsRequest.md index 5d59a7d..c5e4abf 100644 --- a/docs/models/operations/ListVideoViewsRequest.md +++ b/docs/models/operations/ListVideoViewsRequest.md @@ -9,7 +9,7 @@ | `filterby` | *Optional\* | :heavy_minus_sign: | Pass the dimensions and their corresponding values you want to filter the views by. For excluding the values in the filter we can pass "!" before the filter value. The list of filters can be obtained from list of dimensions endpoint.
Example Values : [ browser_name:Chrome , os_name:macOS , !device_name:Galaxy ]
| browser_name:Chrome | | `limit` | *Optional\* | :heavy_minus_sign: | Pass the limit to display only the rows specified by the value.
| 10 | | `offset` | *Optional\* | :heavy_minus_sign: | Pass the offset value to indicate the page number.
| 1 | -| `viewerId` | *Optional\* | :heavy_minus_sign: | Pass the viewer_id to filter the list of views. This value can be manually set during integration or generated by FastPix. When set manually it can be a string of aplha numeric values of any length.
| 09a78f7d-02ee-44f5-aa39-1b268ed2c270 | +| `viewerId` | *Optional\* | :heavy_minus_sign: | Pass the viewer_id to filter the list of views. This value can be manually set during integration or generated by FastPix. When set manually it can be a string of aplha numeric values of any length.
| your-viewer-id | | `errorCode` | *JsonNullable\* | :heavy_minus_sign: | Pass the error code to filter the list of views. The possible values of error code can be fetched from list of errors end point.
| 1002 | | `orderBy` | *Optional\* | :heavy_minus_sign: | Pass this value to sort the view list by.
| view_end | | `sortOrder` | *Optional\* | :heavy_minus_sign: | The order direction to sort the view list by.
| asc | \ No newline at end of file diff --git a/docs/models/operations/ListVideoViewsResponse.md b/docs/models/operations/ListVideoViewsResponse.md index 1b00b14..ee59d85 100644 --- a/docs/models/operations/ListVideoViewsResponse.md +++ b/docs/models/operations/ListVideoViewsResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/ListVideoViewsResponseBody.md) | :heavy_minus_sign: | Get the list of Views | {
"success": true,
"data": [
{
"viewId": "92752c49-1bce-4cf8-bea4-5c2c2ac7575d",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-15T04:43:44",
"viewEndTime": "2024-04-15T04:44:05",
"videoTitle": "Champion Engagement Model: Best practices for identifying and engaging your champion",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 10016,
"QoeScore": 0.955924359113425
},
{
"viewId": "aa3f20e4-6065-4c7c-aed5-c7f8d127bcba",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-15T11:31:48",
"viewEndTime": "2024-04-15T11:32:30",
"videoTitle": "How to reduce time-to-value for your customers",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 31926,
"QoeScore": 0.958520302068513
},
{
"viewId": "d7e6929a-9b7f-4f88-a8eb-033fb9e6dc6d",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-15T20:34:42",
"viewEndTime": "2024-04-15T20:35:00",
"videoTitle": "Implementing projects the ISRO way",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 17562,
"QoeScore": 0.958648125844009
},
{
"viewId": "eca6400a-73e9-4250-8d0a-cb1cda15fed4",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-15T20:38:48",
"viewEndTime": "2024-04-15T20:39:23",
"videoTitle": "Designing your onboarding and adoption journey",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 34823,
"QoeScore": 0.956301364903515
},
{
"viewId": "687b3a54-6646-4343-bfbe-459742042f54",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-16T09:20:34",
"viewEndTime": "2024-04-16T09:21:24",
"videoTitle": "How to Approach an Irate Customer With Mimecast\"s Alice Jeffery",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 13493,
"QoeScore": 0.472563044953793
},
{
"viewId": "c1464fdb-f3f8-4ccd-8914-94e1851e8459",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-16T09:22:42",
"viewEndTime": "2024-04-16T09:22:45",
"videoTitle": "How to Approach an Irate Customer With Mimecast\"s Alice Jeffery",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 1,
"QoeScore": 0.5
}
],
"pagination": {
"totalRecords": 27,
"currentOffset": 1,
"offsetCount": 3
},
"timespan": [
1712910924,
1713515724
]
} | +| `object` | [Optional\](../../models/operations/ListVideoViewsResponseBody.md) | :heavy_minus_sign: | Get the list of Views | {
"success": true,
"data": [
{
"viewId": "your-view-id",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-15T04:43:44",
"viewEndTime": "2024-04-15T04:44:05",
"videoTitle": "Champion Engagement Model: Best practices for identifying and engaging your champion",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 10016,
"QoeScore": 0.955924359113425
},
{
"viewId": "your-view-id",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-15T11:31:48",
"viewEndTime": "2024-04-15T11:32:30",
"videoTitle": "How to reduce time-to-value for your customers",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 31926,
"QoeScore": 0.958520302068513
},
{
"viewId": "your-view-id",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-15T20:34:42",
"viewEndTime": "2024-04-15T20:35:00",
"videoTitle": "Implementing projects the ISRO way",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 17562,
"QoeScore": 0.958648125844009
},
{
"viewId": "your-view-id",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-15T20:38:48",
"viewEndTime": "2024-04-15T20:39:23",
"videoTitle": "Designing your onboarding and adoption journey",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 34823,
"QoeScore": 0.956301364903515
},
{
"viewId": "your-view-id",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-16T09:20:34",
"viewEndTime": "2024-04-16T09:21:24",
"videoTitle": "How to Approach an Irate Customer With Mimecast\"s Alice Jeffery",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 13493,
"QoeScore": 0.472563044953793
},
{
"viewId": "your-view-id",
"operatingSystem": "MacOS",
"application": "Chrome",
"viewStartTime": "2024-04-16T09:22:42",
"viewEndTime": "2024-04-16T09:22:45",
"videoTitle": "How to Approach an Irate Customer With Mimecast\"s Alice Jeffery",
"errorCode": null,
"errorMessage": null,
"errorId": null,
"country": "IN",
"viewWatchTime": 1,
"QoeScore": 0.5
}
],
"pagination": {
"totalRecords": 27,
"currentOffset": 1,
"offsetCount": 3
},
"timespan": [
1712910924,
1713515724
]
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/PushMediaSettings.md b/docs/models/operations/PushMediaSettings.md index 94eb2c2..cb688b0 100644 --- a/docs/models/operations/PushMediaSettings.md +++ b/docs/models/operations/PushMediaSettings.md @@ -3,7 +3,7 @@ Configuration settings for uploading and processing media on the FastPix platform. These settings define how the uploaded video is handled, including access control, resolution, DRM, and optional metadata. For a complete explanation of how media uploads and processing work, refer to the -FastPix Video on Demand Overview. +FastPix Video on Demand Overview. @@ -16,9 +16,9 @@ For a complete explanation of how media uploads and processing work, refer to th | `endTime` | *Optional\* | :heavy_minus_sign: | End time indicates where encoding must end within the video file, in seconds. | 60 | | `inputs` | List\<[Input](../../models/operations/Input.md)> | :heavy_minus_sign: | Add one input object at a time. For example, first add a **WatermarkInput** object. If you also need a audio, click **Add item** again and select **AudioInput**. Repeat this process for **SubtitleInput** as needed.
| | | `metadata` | Map\ | :heavy_minus_sign: | "Tag a video in "key" : "value" pairs for searchable metadata. Maximum 10 entries, 255 characters each."
| {
"key1": "value1"
} | -| `drmConfigurationId` | *Optional\* | :heavy_minus_sign: | UUID of the DRM configuration to be used. | 3fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `drmConfigurationId` | *Optional\* | :heavy_minus_sign: | UUID of the DRM configuration to be used. | your-drm-configuration-id | | `title` | *Optional\* | :heavy_minus_sign: | Title of the media file. | My Video Title | -| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | 8fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | your-creator-id | | `subtitles` | [Optional\](../../models/operations/Subtitles.md) | :heavy_minus_sign: | Generates subtitle files for audio/video files.
| | | `optimizeAudio` | *Optional\* | :heavy_minus_sign: | Enhance the quality and volume of the audio track. This is available for pre-recorded content only.
| true | | `maxResolution` | [Optional\](../../models/operations/MaxResolution.md) | :heavy_minus_sign: | Determines the highest quality resolution available.
| 1080p | diff --git a/docs/models/operations/RetrieveMediaInputInfoRequest.md b/docs/models/operations/RetrieveMediaInputInfoRequest.md index 298d9eb..4e49aa6 100644 --- a/docs/models/operations/RetrieveMediaInputInfoRequest.md +++ b/docs/models/operations/RetrieveMediaInputInfoRequest.md @@ -5,4 +5,4 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | Pass the list of the input objects used to create the media, along with applied settings. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | \ No newline at end of file +| `mediaId` | *String* | :heavy_check_mark: | Pass the list of the input objects used to create the media, along with applied settings. | your-media-id | \ No newline at end of file diff --git a/docs/models/operations/RetrieveMediaInputInfoResponse.md b/docs/models/operations/RetrieveMediaInputInfoResponse.md index 1904fc5..2da14bd 100644 --- a/docs/models/operations/RetrieveMediaInputInfoResponse.md +++ b/docs/models/operations/RetrieveMediaInputInfoResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/RetrieveMediaInputInfoResponseBody.md) | :heavy_minus_sign: | Get video media input information | {
"success": true,
"data": {
"configuration": {
"url": "https://static.fastpix.com/fp-sample-video.mp4"
},
"file": {
"containerFormat": "mp4",
"tracks": [
{
"id": "6eb56a83-9a8b-47a5-94b2-cadb4458cf4d",
"type": "video",
"width": 1280,
"height": 720,
"frameRate": "30/1",
"status": "available"
}
]
}
}
} | +| `object` | [Optional\](../../models/operations/RetrieveMediaInputInfoResponseBody.md) | :heavy_minus_sign: | Get video media input information | {
"success": true,
"data": {
"configuration": {
"url": "https://static.fastpix.com/fp-sample-video.mp4"
},
"file": {
"containerFormat": "mp4",
"tracks": [
{
"id": "your-track-id",
"type": "video",
"width": 1280,
"height": 720,
"frameRate": "30/1",
"status": "available"
}
]
}
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/UpdateAPlaylistRequest.md b/docs/models/operations/UpdateAPlaylistRequest.md index 0b249c4..0f23b9c 100644 --- a/docs/models/operations/UpdateAPlaylistRequest.md +++ b/docs/models/operations/UpdateAPlaylistRequest.md @@ -6,4 +6,4 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | | `playlistId` | *String* | :heavy_check_mark: | The unique id of the playlist you want to retrieve. | | -| `body` | [UpdatePlaylistRequest](../../models/components/UpdatePlaylistRequest.md) | :heavy_check_mark: | N/A | {
"name": "updated name",
"description": "updated description"
} | \ No newline at end of file +| `body` | [UpdatePlaylistRequest](../../models/components/UpdatePlaylistRequest.md) | :heavy_check_mark: | N/A | {
"name": "your-playlist-name",
"description": "your-playlist-description"
} | \ No newline at end of file diff --git a/docs/models/operations/UpdateAPlaylistResponse.md b/docs/models/operations/UpdateAPlaylistResponse.md index a80d276..e8a12d1 100644 --- a/docs/models/operations/UpdateAPlaylistResponse.md +++ b/docs/models/operations/UpdateAPlaylistResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `playlistCreatedResponse` | [Optional\](../../models/components/PlaylistCreatedResponse.md) | :heavy_minus_sign: | Playlist updated successfully | {
"success": true,
"data": {
"id": "e3dfdf15-16bb-4835-98b9-484c1e4320cc",
"name": "playist",
"referenceId": "a1",
"type": "smart",
"description": "This is a playlist",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"startDate": "2024-11-11",
"endDate": "2024-12-12"
},
"updatedDate": {
"startDate": "2024-11-11",
"endDate": "2024-12-12"
}
},
"mediaList": [
{
"createdAt": "2024-11-12T05:58:38.000708Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "942e0ced-146b-487e-988f-6de578de1000",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/ff31b32e-4979-4d2b-ad2a-685af43c9902/thumbnail.png",
"title": "Media 1"
},
{
"createdAt": "2024-12-05T07:23:18.000108Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "6d12262b-0686-4131-9de2-bb515f7c0f38",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/e49a0d7b-6f2c-4743-84d1-45522cc20ded/thumbnail.png",
"title": "Media 2"
},
{
"createdAt": "2024-12-05T07:21:15.000508Z",
"creatorId": "FastPix@14612",
"duration": "00:00:10",
"id": "a1cd180e-f9b5-4e99-9d44-b9c9baabad89",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/e49a0d7b-6f2c-4743-84d1-45522cc20ded/thumbnail.png",
"title": "Media 3"
}
],
"workspaceId": "d760b903-86ef-44d6-9b73-334130e0cf2d",
"createdAt": "2025-06-04T13:29:39.409886Z",
"updatedAt": "2025-06-04T13:29:39.409886Z",
"mediaCount": 3
}
} | +| `playlistCreatedResponse` | [Optional\](../../models/components/PlaylistCreatedResponse.md) | :heavy_minus_sign: | Playlist updated successfully | {
"success": true,
"data": {
"id": "your-playlist-id",
"name": "your-playlist-name",
"referenceId": "your-reference-id",
"type": "smart",
"description": "your-playlist-description",
"playOrder": "createdDate ASC",
"metadata": {
"createdDate": {
"startDate": "2024-11-11",
"endDate": "2024-12-12"
},
"updatedDate": {
"startDate": "2024-11-11",
"endDate": "2024-12-12"
}
},
"mediaList": [
{
"createdAt": "2024-11-12T05:58:38.000708Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://venus-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2024-12-05T07:23:18.000108Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
},
{
"createdAt": "2024-12-05T07:21:15.000508Z",
"creatorId": "your-creator-id",
"duration": "00:00:10",
"id": "your-media-id",
"sourceResolution": "1080p",
"status": "Ready",
"thumbnail": "https://mercury-images.fastpix.dev/your-media-id/thumbnail.png",
"title": "your-media-title"
}
],
"workspaceId": "your-workspace-id",
"createdAt": "2025-06-04T13:29:39.409886Z",
"updatedAt": "2025-06-04T13:29:39.409886Z",
"mediaCount": 3
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/UpdateDomainRestrictionsRequest.md b/docs/models/operations/UpdateDomainRestrictionsRequest.md index a9dd956..1cd16d4 100644 --- a/docs/models/operations/UpdateDomainRestrictionsRequest.md +++ b/docs/models/operations/UpdateDomainRestrictionsRequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | N/A | 5ebfa8f7-3ff1-4a35-8b1a-d3a16e22184c | -| `playbackId` | *String* | :heavy_check_mark: | N/A | 0199deff-9aef-457e-9461-7a28afdf8773 | +| `mediaId` | *String* | :heavy_check_mark: | N/A | your-media-id | +| `playbackId` | *String* | :heavy_check_mark: | N/A | your-playback-id | | `body` | [UpdateDomainRestrictionsRequestBody](../../models/operations/UpdateDomainRestrictionsRequestBody.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/UpdateLiveStreamResponse.md b/docs/models/operations/UpdateLiveStreamResponse.md index 1d8ff88..aa306c4 100644 --- a/docs/models/operations/UpdateLiveStreamResponse.md +++ b/docs/models/operations/UpdateLiveStreamResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `patchResponseDTO` | [Optional\](../../models/components/PatchResponseDTO.md) | :heavy_minus_sign: | Stream details updated successfully | {
"success": true,
"data": {
"streamId": "fa7f8c0950ea48ebcc5ef9de8c23deaa",
"streamKey": "3dc5d7641f918baa083a5c52a5bd9cbckfa7f8c0950ea48ebcc5ef9de8c23deaa",
"srtSecret": "c51739512d0088d98a46925c9b74c73akfa7f8c0950ea48ebcc5ef9de8c23deaa",
"trial": false,
"status": "idle",
"maxResolution": "1080p",
"maxDuration": 28800,
"createdAt": "2024-10-15T08:48:31.551351Z",
"reconnectWindow": 100,
"enableRecording": true,
"enableDvrMode": false,
"mediaPolicy": "public",
"metadata": {
"livestream_name": "Gaming_stream"
},
"lowLatency": true,
"closedCaptions": false,
"playbackIds": [
{
"id": "4e43ec52-4775-4f68-a3ff-a57d8a59bba8",
"accessPolicy": "public"
}
],
"srtPlaybackResponse": {
"srtPlaybackStreamId": "playfa7f8c0950ea48ebcc5ef9de8c23deaa",
"srtPlaybackSecret": "490e707dd4d165c9e38d261b252f9457kfa7f8c0950ea48ebcc5ef9de8c23deaa"
}
}
} | +| `patchResponseDTO` | [Optional\](../../models/components/PatchResponseDTO.md) | :heavy_minus_sign: | Stream details updated successfully | {
"success": true,
"data": {
"streamId": "your-stream-id",
"streamKey": "your-stream-key",
"srtSecret": "your-srt-secret",
"trial": false,
"status": "idle",
"maxResolution": "1080p",
"maxDuration": 28800,
"createdAt": "2024-10-15T08:48:31.551351Z",
"reconnectWindow": 100,
"enableRecording": true,
"enableDvrMode": false,
"mediaPolicy": "public",
"metadata": {
"livestream_name": "Gaming_stream"
},
"lowLatency": true,
"closedCaptions": false,
"playbackIds": [
{
"id": "your-playback-id",
"accessPolicy": "public"
}
],
"srtPlaybackResponse": {
"srtPlaybackStreamId": "your-srt-playback-stream-id",
"srtPlaybackSecret": "your-srt-playback-secret"
}
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/UpdateMediaChaptersRequest.md b/docs/models/operations/UpdateMediaChaptersRequest.md index f72a5a4..ef9a0ed 100644 --- a/docs/models/operations/UpdateMediaChaptersRequest.md +++ b/docs/models/operations/UpdateMediaChaptersRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| 4fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| your-media-id | | `body` | [UpdateMediaChaptersRequestBody](../../models/operations/UpdateMediaChaptersRequestBody.md) | :heavy_check_mark: | N/A | {
"chapters": true
} | \ No newline at end of file diff --git a/docs/models/operations/UpdateMediaChaptersResponse.md b/docs/models/operations/UpdateMediaChaptersResponse.md index 5616e2a..da53558 100644 --- a/docs/models/operations/UpdateMediaChaptersResponse.md +++ b/docs/models/operations/UpdateMediaChaptersResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/UpdateMediaChaptersResponseBody.md) | :heavy_minus_sign: | Media details updated successfully with the chapters feature enabled or disabled | {
"success": true,
"data": {
"mediaId": "c695988b-ff84-42ae-bb21-10f284fedb0e",
"isChaptersEnabled": true
}
} | +| `object` | [Optional\](../../models/operations/UpdateMediaChaptersResponseBody.md) | :heavy_minus_sign: | Media details updated successfully with the chapters feature enabled or disabled | {
"success": true,
"data": {
"mediaId": "your-media-id",
"isChaptersEnabled": true
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/UpdateMediaModerationRequest.md b/docs/models/operations/UpdateMediaModerationRequest.md index 8833dbe..b5a3af4 100644 --- a/docs/models/operations/UpdateMediaModerationRequest.md +++ b/docs/models/operations/UpdateMediaModerationRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| 0cec3c88-c69d-4232-9b96-f0976327fa2d | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| your-media-id | | `body` | [UpdateMediaModerationRequestBody](../../models/operations/UpdateMediaModerationRequestBody.md) | :heavy_check_mark: | N/A | {
"moderation": {
"type": "video"
}
} | \ No newline at end of file diff --git a/docs/models/operations/UpdateMediaModerationResponse.md b/docs/models/operations/UpdateMediaModerationResponse.md index 00221ae..d564f66 100644 --- a/docs/models/operations/UpdateMediaModerationResponse.md +++ b/docs/models/operations/UpdateMediaModerationResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/UpdateMediaModerationResponseBody.md) | :heavy_minus_sign: | Media details updated successfully with the named entity extraction feature enabled or disabled | {
"success": true,
"data": {
"mediaId": "c695988b-ff84-42ae-bb21-10f284fedb0e",
"isModerationEnabled": true
}
} | +| `object` | [Optional\](../../models/operations/UpdateMediaModerationResponseBody.md) | :heavy_minus_sign: | Media details updated successfully with the named entity extraction feature enabled or disabled | {
"success": true,
"data": {
"mediaId": "your-media-id",
"isModerationEnabled": true
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/UpdateMediaNamedEntitiesRequest.md b/docs/models/operations/UpdateMediaNamedEntitiesRequest.md index 063c425..55dce10 100644 --- a/docs/models/operations/UpdateMediaNamedEntitiesRequest.md +++ b/docs/models/operations/UpdateMediaNamedEntitiesRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| 0cec3c88-c69d-4232-9b96-f0976327fa2d | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| your-media-id | | `body` | [UpdateMediaNamedEntitiesRequestBody](../../models/operations/UpdateMediaNamedEntitiesRequestBody.md) | :heavy_check_mark: | N/A | {
"namedEntities": true
} | \ No newline at end of file diff --git a/docs/models/operations/UpdateMediaNamedEntitiesResponse.md b/docs/models/operations/UpdateMediaNamedEntitiesResponse.md index 2f80ce8..c0feaaf 100644 --- a/docs/models/operations/UpdateMediaNamedEntitiesResponse.md +++ b/docs/models/operations/UpdateMediaNamedEntitiesResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/UpdateMediaNamedEntitiesResponseBody.md) | :heavy_minus_sign: | Media details updated successfully with the named entity extraction feature enabled or disabled | {
"success": true,
"data": {
"mediaId": "c695988b-ff84-42ae-bb21-10f284fedb0e",
"isNamedEntitiesEnabled": true
}
} | +| `object` | [Optional\](../../models/operations/UpdateMediaNamedEntitiesResponseBody.md) | :heavy_minus_sign: | Media details updated successfully with the named entity extraction feature enabled or disabled | {
"success": true,
"data": {
"mediaId": "your-media-id",
"isNamedEntitiesEnabled": true
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/UpdateMediaSummaryRequest.md b/docs/models/operations/UpdateMediaSummaryRequest.md index 3c69595..88648ec 100644 --- a/docs/models/operations/UpdateMediaSummaryRequest.md +++ b/docs/models/operations/UpdateMediaSummaryRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| 4fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| your-media-id | | `body` | [UpdateMediaSummaryRequestBody](../../models/operations/UpdateMediaSummaryRequestBody.md) | :heavy_check_mark: | N/A | {
"generate": true,
"summaryLength": 100
} | \ No newline at end of file diff --git a/docs/models/operations/UpdateMediaSummaryResponse.md b/docs/models/operations/UpdateMediaSummaryResponse.md index 3775b48..9bdb576 100644 --- a/docs/models/operations/UpdateMediaSummaryResponse.md +++ b/docs/models/operations/UpdateMediaSummaryResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/UpdateMediaSummaryResponseBody.md) | :heavy_minus_sign: | Media details updated successfully with the generated summary | {
"success": true,
"data": {
"mediaId": "c695988b-ff84-42ae-bb21-10f284fedb0e",
"isSummaryEnabled": true
}
} | +| `object` | [Optional\](../../models/operations/UpdateMediaSummaryResponseBody.md) | :heavy_minus_sign: | Media details updated successfully with the generated summary | {
"success": true,
"data": {
"mediaId": "your-media-id",
"isSummaryEnabled": true
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/UpdateMediaTrackRequest.md b/docs/models/operations/UpdateMediaTrackRequest.md index 557d8b0..acf78cd 100644 --- a/docs/models/operations/UpdateMediaTrackRequest.md +++ b/docs/models/operations/UpdateMediaTrackRequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `trackId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `trackId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-track-id | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | | `body` | [UpdateTrackRequest](../../models/components/UpdateTrackRequest.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/UpdateMediaTrackResponse.md b/docs/models/operations/UpdateMediaTrackResponse.md index b6627a6..9666062 100644 --- a/docs/models/operations/UpdateMediaTrackResponse.md +++ b/docs/models/operations/UpdateMediaTrackResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/UpdateMediaTrackResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"id": "2452ca23-b7ed-4daf-babf-841996b0100e",
"type": "subtitle",
"url": "http://commondatastorage.googleapis.com/codeskulptor-assets/sounddogs/thrust.vtt",
"languageCode": "fr",
"languageName": "french"
}
} | +| `object` | [Optional\](../../models/operations/UpdateMediaTrackResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"id": "your-track-id",
"type": "subtitle",
"url": "http://commondatastorage.googleapis.com/codeskulptor-assets/sounddogs/thrust.vtt",
"languageCode": "fr",
"languageName": "french",
"title": "French subtitles"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/UpdateSpecificSimulcastOfStreamResponse.md b/docs/models/operations/UpdateSpecificSimulcastOfStreamResponse.md index a310546..eb7c44e 100644 --- a/docs/models/operations/UpdateSpecificSimulcastOfStreamResponse.md +++ b/docs/models/operations/UpdateSpecificSimulcastOfStreamResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `simulcastUpdateResponse` | [Optional\](../../models/components/SimulcastUpdateResponse.md) | :heavy_minus_sign: | Stream's simulcast details fetched successfully | {
"success": true,
"data": {
"simulcastId": "8717422d89288ad5958d4a86e9afe2a2",
"url": "rtmp://hyd01.contribute.live-video.net/app/",
"streamKey": "live_1012464221_DuM8W004MoZYNxQEZ0czODgfHCFBhk",
"isEnabled": false,
"metadata": {
"simulcast_name": "Tech today"
}
}
} | +| `simulcastUpdateResponse` | [Optional\](../../models/components/SimulcastUpdateResponse.md) | :heavy_minus_sign: | Stream's simulcast details fetched successfully | {
"success": true,
"data": {
"simulcastId": "your-simulcast-id",
"url": "rtmp://hyd01.contribute.live-video.net/app/",
"streamKey": "your-youtube-stream-key",
"isEnabled": false,
"metadata": {
"simulcast_name": "Tech today"
}
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/UpdateUserAgentRestrictionsRequest.md b/docs/models/operations/UpdateUserAgentRestrictionsRequest.md index ea1292e..c236def 100644 --- a/docs/models/operations/UpdateUserAgentRestrictionsRequest.md +++ b/docs/models/operations/UpdateUserAgentRestrictionsRequest.md @@ -5,6 +5,6 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | N/A | 5ebfa8f7-3ff1-4a35-8b1a-d3a16e22184c | -| `playbackId` | *String* | :heavy_check_mark: | N/A | 0199deff-9aef-457e-9461-7a28afdf8773 | +| `mediaId` | *String* | :heavy_check_mark: | N/A | your-media-id | +| `playbackId` | *String* | :heavy_check_mark: | N/A | your-playback-id | | `body` | [UpdateUserAgentRestrictionsRequestBody](../../models/operations/UpdateUserAgentRestrictionsRequestBody.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/UpdatedMediaRequest.md b/docs/models/operations/UpdatedMediaRequest.md index 2efdf81..dbf03ab 100644 --- a/docs/models/operations/UpdatedMediaRequest.md +++ b/docs/models/operations/UpdatedMediaRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | 4fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID. | your-media-id | | `body` | [UpdatedMediaRequestBody](../../models/operations/UpdatedMediaRequestBody.md) | :heavy_check_mark: | N/A | | \ No newline at end of file diff --git a/docs/models/operations/UpdatedMediaRequestBody.md b/docs/models/operations/UpdatedMediaRequestBody.md index 51ce05e..c445b83 100644 --- a/docs/models/operations/UpdatedMediaRequestBody.md +++ b/docs/models/operations/UpdatedMediaRequestBody.md @@ -7,4 +7,4 @@ | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | | `metadata` | Map\ | :heavy_minus_sign: | N/A | {
"user": "fastpix_admin"
} | | `title` | *Optional\* | :heavy_minus_sign: | Title of the media file. | My Video Title | -| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | 8fa85f64-5717-4562-b3fc-2c963f66afa6 | \ No newline at end of file +| `creatorId` | *Optional\* | :heavy_minus_sign: | The unique identifier of the user who created this media. | your-creator-id | \ No newline at end of file diff --git a/docs/models/operations/UpdatedMediaResponse.md b/docs/models/operations/UpdatedMediaResponse.md index 838eff4..c42c4e0 100644 --- a/docs/models/operations/UpdatedMediaResponse.md +++ b/docs/models/operations/UpdatedMediaResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/UpdatedMediaResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"thumbnail": "https://images.fastpix.com/837f028b-dcaf-4c23-b368-3748641f74ac/thumbnail.png",
"id": "cfeec1a3-6cbd-40df-a425-2ed7f8f72ced",
"workspaceId": "6dc2b4e0-0615-42fd-a580-1f4aad932dfe",
"metadata": {
"user": "fastpix_admin"
},
"mediaQuality": "standard",
"creatorId": "fastpix-123",
"title": "Test-Video-Title",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"sourceAccess": false,
"playbackIds": [
{
"id": "837f028b-dcaf-4c23-b368-3748641f74ac",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "f301a2a1-b40d-40fa-b419-4d0cd92a62f8",
"type": "video",
"width": 1920,
"height": 1080,
"frameRate": "30/1",
"status": "available"
}
],
"generatedSubtitles": [],
"isAudioOnly": false,
"subtitleAvailable": true,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2025-01-09T06:44:44.617138Z",
"updatedAt": "2025-01-09T06:44:53.742648Z"
}
} | +| `object` | [Optional\](../../models/operations/UpdatedMediaResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"thumbnail": "https://images.fastpix.com/your-media-id/thumbnail.png",
"id": "your-media-id",
"workspaceId": "your-workspace-id",
"metadata": {
"user": "fastpix_admin"
},
"mediaQuality": "standard",
"creatorId": "your-creator-id",
"title": "Test-Video-Title",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"sourceAccess": false,
"playbackIds": [
{
"id": "your-playback-id",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "your-track-id",
"type": "video",
"width": 1920,
"height": 1080,
"frameRate": "30/1",
"status": "available"
}
],
"generatedSubtitles": [],
"isAudioOnly": false,
"subtitleAvailable": true,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2025-01-09T06:44:44.617138Z",
"updatedAt": "2025-01-09T06:44:53.742648Z"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/UpdatedMp4SupportRequest.md b/docs/models/operations/UpdatedMp4SupportRequest.md index 9d5eec7..17f1a7b 100644 --- a/docs/models/operations/UpdatedMp4SupportRequest.md +++ b/docs/models/operations/UpdatedMp4SupportRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| 4fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| your-media-id | | `body` | [UpdatedMp4SupportRequestBody](../../models/operations/UpdatedMp4SupportRequestBody.md) | :heavy_check_mark: | N/A | {
"mp4Support": "capped_4k"
} | \ No newline at end of file diff --git a/docs/models/operations/UpdatedMp4SupportResponse.md b/docs/models/operations/UpdatedMp4SupportResponse.md index 9552aa3..40ac002 100644 --- a/docs/models/operations/UpdatedMp4SupportResponse.md +++ b/docs/models/operations/UpdatedMp4SupportResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/UpdatedMp4SupportResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"thumbnail": "https://venus-images.fastpix.dev/cf41c9f7-ece3-4efe-8d31-c6e000dc422b/thumbnail.png",
"id": "eb56a668-0354-40c2-9233-f3197e1baabd",
"workspaceId": "c788be40-91a5-4d2d-abf7-47398a6276a1",
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"mp4Support": "capped_4k",
"sourceAccess": true,
"playbackIds": [
{
"id": "cf41c9f7-ece3-4efe-8d31-c6e000dc422b",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "344fd5bc-82af-4d11-bc1c-785d9e6f9aef",
"type": "video",
"width": 1920,
"height": 1080,
"frameRate": "30/1",
"status": "available"
}
],
"generatedSubtitles": [],
"isAudioOnly": false,
"subtitleAvailable": false,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2024-12-06T03:47:26.489888Z",
"updatedAt": "2024-12-06T03:47:47.593400Z"
}
} | +| `object` | [Optional\](../../models/operations/UpdatedMp4SupportResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"thumbnail": "https://venus-images.fastpix.dev/your-media-id/thumbnail.png",
"id": "your-media-id",
"workspaceId": "your-workspace-id",
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"mp4Support": "capped_4k",
"sourceAccess": true,
"playbackIds": [
{
"id": "your-playback-id",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "your-track-id",
"type": "video",
"width": 1920,
"height": 1080,
"frameRate": "30/1",
"status": "available"
}
],
"generatedSubtitles": [],
"isAudioOnly": false,
"subtitleAvailable": false,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2024-12-06T03:47:26.489888Z",
"updatedAt": "2024-12-06T03:47:47.593400Z"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/models/operations/UpdatedSourceAccessRequest.md b/docs/models/operations/UpdatedSourceAccessRequest.md index 28c8f6c..2f8cf9d 100644 --- a/docs/models/operations/UpdatedSourceAccessRequest.md +++ b/docs/models/operations/UpdatedSourceAccessRequest.md @@ -5,5 +5,5 @@ | Field | Type | Required | Description | Example | | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| 4fa85f64-5717-4562-b3fc-2c963f66afa6 | +| `mediaId` | *String* | :heavy_check_mark: | The unique identifier assigned to the media when created. The value must be a valid UUID.
| your-media-id | | `body` | [UpdatedSourceAccessRequestBody](../../models/operations/UpdatedSourceAccessRequestBody.md) | :heavy_check_mark: | N/A | {
"sourceAccess": true
} | \ No newline at end of file diff --git a/docs/models/operations/UpdatedSourceAccessResponse.md b/docs/models/operations/UpdatedSourceAccessResponse.md index b5b51a3..29f16a4 100644 --- a/docs/models/operations/UpdatedSourceAccessResponse.md +++ b/docs/models/operations/UpdatedSourceAccessResponse.md @@ -8,5 +8,5 @@ | `contentType` | *String* | :heavy_check_mark: | HTTP response content type for this operation | | | `statusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation | | | `rawResponse` | [HttpResponse\](https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/HttpResponse.html) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | | -| `object` | [Optional\](../../models/operations/UpdatedSourceAccessResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"thumbnail": "https://venus-images.fastpix.dev/cf41c9f7-ece3-4efe-8d31-c6e000dc422b/thumbnail.png",
"id": "eb56a668-0354-40c2-9233-f3197e1baabd",
"workspaceId": "c788be40-91a5-4d2d-abf7-47398a6276a1",
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"sourceAccess": true,
"playbackIds": [
{
"id": "cf41c9f7-ece3-4efe-8d31-c6e000dc422b",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "344fd5bc-82af-4d11-bc1c-785d9e6f9aef",
"type": "video",
"width": 1920,
"height": 1080,
"frameRate": "30/1",
"status": "available"
}
],
"generatedSubtitles": [],
"isAudioOnly": false,
"subtitleAvailable": false,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2024-12-06T03:47:26.489888Z",
"updatedAt": "2024-12-06T03:47:47.593400Z"
}
} | +| `object` | [Optional\](../../models/operations/UpdatedSourceAccessResponseBody.md) | :heavy_minus_sign: | Media details updated successfully | {
"success": true,
"data": {
"thumbnail": "https://venus-images.fastpix.dev/your-media-id/thumbnail.png",
"id": "your-media-id",
"workspaceId": "your-workspace-id",
"metadata": {
"key1": "value1"
},
"mediaQuality": "standard",
"maxResolution": "1080p",
"sourceResolution": "1080p",
"status": "Ready",
"sourceAccess": true,
"playbackIds": [
{
"id": "your-playback-id",
"accessPolicy": "public",
"accessRestrictions": {
"domains": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
},
"userAgents": {
"defaultPolicy": "allow",
"allow": [],
"deny": []
}
}
}
],
"tracks": [
{
"id": "your-track-id",
"type": "video",
"width": 1920,
"height": 1080,
"frameRate": "30/1",
"status": "available"
}
],
"generatedSubtitles": [],
"isAudioOnly": false,
"subtitleAvailable": false,
"duration": "00:00:10",
"aspectRatio": "16:9",
"createdAt": "2024-12-06T03:47:26.489888Z",
"updatedAt": "2024-12-06T03:47:47.593400Z"
}
} | | `defaultError` | [Optional\](../../models/components/DefaultError.md) | :heavy_minus_sign: | See the range of possible error responses and their status codes. | | \ No newline at end of file diff --git a/docs/sdks/aifeatures/README.md b/docs/sdks/aifeatures/README.md index b38882b..3170753 100644 --- a/docs/sdks/aifeatures/README.md +++ b/docs/sdks/aifeatures/README.md @@ -16,7 +16,7 @@ This endpoint allows you to generate the summary for an existing media. 3. Include the `summaryLength` parameter, specify the desired length of the summary in words (for example, 120 words), this determines how concise or detailed the summary will be. If no specific summary length is provided, the default length will be 100 words. 4. The response includes the updated media data and confirmation of the changes applied. -You can use the video.mediaAI.summary.ready webhook event to track and notify about the summary generation. +You can use the video.mediaAI.summary.ready webhook event to track and notify about the summary generation. @@ -24,7 +24,7 @@ You can use the Video summary +Related guide: Video summary > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). diff --git a/docs/sdks/dimensions/README.md b/docs/sdks/dimensions/README.md index be62501..98718c0 100644 --- a/docs/sdks/dimensions/README.md +++ b/docs/sdks/dimensions/README.md @@ -15,7 +15,7 @@ Retrieves a list of dimensions that can be used as query parameters across vario The dimensions retrieved from this endpoint can be used in conjunction with the list video views and list by top content endpoints to filter results based on specific criteria. For example, you can filter views by `browser_name`, `os_name`, `device_type`, and more. -Related guides: What Video Data do we capture? , Use passable dimensions +Related guides: What Video Data do we capture? , Use passable dimensions > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). @@ -73,14 +73,14 @@ public class Application { This endpoint returns the filter values associated with a specific dimension, along with the total number of video views for each value. For example, it can list all `browser_name` (dimension) and show how many views occurred for all available browsers like Chrome, Safari (filter values). -In order to use the Custom Dimensions, you must enable them in the dashboard under settings option based on the plan you have opted for. +In order to use the Custom Dimensions, you must enable them in the dashboard under settings option based on the plan you have opted for. #### Example A developer wants to know how their video content performs across different browsers. By calling this endpoint for the `device_type` dimension, they can retrieve a breakdown of video views by each device (for example, Desktop, Mobile, Tablet). This data helps the developer understand where optimizations or troubleshooting is necessary. -Related guide: Filters and timespan +Related guide: Filters and timespan ### Example Usage diff --git a/docs/sdks/errors/README.md b/docs/sdks/errors/README.md index 3e9dca8..599b07f 100644 --- a/docs/sdks/errors/README.md +++ b/docs/sdks/errors/README.md @@ -26,7 +26,7 @@ This endpoint returns the total number of playback errors that occurred, along w * **code:** The error code associated with the specific error. -Related guide: Troubleshoot errors +Related guide: Troubleshoot errors > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). diff --git a/docs/sdks/inputvideos/README.md b/docs/sdks/inputvideos/README.md index 72f244a..51594dd 100644 --- a/docs/sdks/inputvideos/README.md +++ b/docs/sdks/inputvideos/README.md @@ -46,10 +46,10 @@ Upon successful creation, the API returns an `id` that must be retained for futu 4. Use the id in subsequent API calls, such as checking the status of the media with the Get Media by ID endpoint to determine when the media is ready for playback. -FastPix uses webhooks to tell your application about things that happen in the background, outside of the API regular request flow. For instance, after the media file is created (but not yet processed or encoded), FastPix sends a `POST` request to your specified webhook URL with the event video.media.created. +FastPix uses webhooks to tell your application about things that happen in the background, outside of the API regular request flow. For instance, after the media file is created (but not yet processed or encoded), FastPix sends a `POST` request to your specified webhook URL with the event video.media.created. -After processing completes, monitor the events video.media.ready and video.media.failed to track the status of the media file. +After processing completes, monitor the events video.media.ready and video.media.failed to track the status of the media file. Related guide: Upload videos from URL @@ -135,7 +135,7 @@ This endpoint enables accelerated uploads of large media files directly from you 2. The response includes an `uploadId` and a signed `url` for direct video file upload. -3. Upload your video file to the provided url by making a PUT request. The API accepts the media file from your device and uploads it to the FastPix platform. (Refer to Step 3: Initiate the upload for complete instructions.) +3. Upload your video file to the provided url by making a PUT request. The API accepts the media file from your device and uploads it to the FastPix platform. (Refer to Step 3: Initiate the upload for complete instructions.) 4. Once uploaded, the media undergoes processing and is assigned a unique ID for tracking. Retain this `uploadId` for any future operations related to this upload. diff --git a/docs/sdks/invideoaifeatures/README.md b/docs/sdks/invideoaifeatures/README.md index 420a9e2..b07a1d7 100644 --- a/docs/sdks/invideoaifeatures/README.md +++ b/docs/sdks/invideoaifeatures/README.md @@ -21,11 +21,11 @@ Named Entity Recognition (NER) is a fundamental natural language processing (NLP 2. Include the `namedEntities` parameter in the request body to enable. 3. Receive a response containing the updated media data, confirming the changes made. -You can use the video.mediaAI.named-entities.ready webhook event to track and notify about the named entities extraction. +You can use the video.mediaAI.named-entities.ready webhook event to track and notify about the named entities extraction. **Use case:** If a user uploads a video and later decides to enable named entity extraction without re-uploading the entire video. -Related guide: Named entities +Related guide: Named entities > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). @@ -99,11 +99,11 @@ This endpoint enables moderation features, such as NSFW and profanity filtering, 2. Include the `moderation` object and provide the requried `type` parameter in the request body to specify the media type (for example, video/audio/av). 4. The response contains the updated media data, confirming the changes made. -You can use the video.mediaAI.moderation.ready webhook event to track and notify about the detected moderation results. +You can use the video.mediaAI.moderation.ready webhook event to track and notify about the detected moderation results. **Use case:** This is particularly useful when a user uploads a video and later decides to enable moderation detection without the need to re-upload it. -Related guide: Moderate NSFW & Profanity +Related guide: Moderate NSFW & Profanity ### Example Usage diff --git a/docs/sdks/livestream/README.md b/docs/sdks/livestream/README.md index 88e96dd..7df3f58 100644 --- a/docs/sdks/livestream/README.md +++ b/docs/sdks/livestream/README.md @@ -13,14 +13,14 @@ Permanently deletes a specified live stream from the workspace. If the stream is active, the encoder is disconnected and ingestion stops immediately. This action is irreversible, and any future playback attempts fail as a result. - Provide the `streamId` in the request to terminate active connections and remove the stream from the workspace. You can further look for video.live_stream.deleted webhook to notify your system about the status. + Provide the `streamId` in the request to terminate active connections and remove the stream from the workspace. You can further look for video.live_stream.deleted webhook to notify your system about the status. #### Example For an online concert platform, a trial stream was mistakenly made public. The event manager deletes the stream before the concert begins to avoid confusion among viewers. - Related guide: Manage streams + Related guide: Manage streams > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). @@ -91,7 +91,7 @@ The `livestreamId` must be provided in the path, and the stream must not already A creator disables a livestream to pause it temporarily. Later, they decide to continue the session. By calling this endpoint with the stream's ID, they can re-enable and restart the same livestream. -Related guide Manage streams +Related guide Manage streams ### Example Usage @@ -158,7 +158,7 @@ A disabled stream can later be re-enabled using the enable endpoint — however, A speaker finishes their live session and wants to prevent the stream from being mistakenly started again. By calling this endpoint, the stream is transitioned to a `disabled` state, ensuring it's permanently stopped (unless re-enabled on a paid plan). -Related guide Manage streams +Related guide Manage streams ### Example Usage @@ -227,7 +227,7 @@ Completing a stream can help finalize the session and trigger post-processing ev A virtual event ends, and the system or host needs to close the livestream to prevent further streaming. This endpoint ensures the livestream status is changed from `active` to `idle`, indicating it's officially completed. -Related guide Manage streams +Related guide Manage streams ### Example Usage diff --git a/docs/sdks/managelivestream/README.md b/docs/sdks/managelivestream/README.md index e20a38c..725fb56 100644 --- a/docs/sdks/managelivestream/README.md +++ b/docs/sdks/managelivestream/README.md @@ -15,7 +15,7 @@ This endpoint retrieves details about a specific live stream by its unique `stre Suppose a news agency is broadcasting a live event and wants to track the configurations set for the live stream while also checking the stream's status. -Related guide: Manage streams +Related guide: Manage streams > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). @@ -79,7 +79,7 @@ public class Application { This endpoint allows you to modify the parameters of an existing live stream, such as its `metadata` (title, description) or the `reconnectWindow`. It’s useful for making changes to a stream that has already been created but not yet ended. After the live stream is disabled, you cannot update a stream. - The updated stream parameters and the `streamId` needs to be shared in the request, and FastPix returns the updated stream details. After the update, video.live_stream.updated webhook event notifies your system. + The updated stream parameters and the `streamId` needs to be shared in the request, and FastPix returns the updated stream details. After the update, video.live_stream.updated webhook event notifies your system. #### Example @@ -87,7 +87,7 @@ This endpoint allows you to modify the parameters of an existing live stream, su - Related guide: Manage streams + Related guide: Manage streams ### Example Usage diff --git a/docs/sdks/managelivestreams/README.md b/docs/sdks/managelivestreams/README.md index c7cd0b0..6afcf2a 100644 --- a/docs/sdks/managelivestreams/README.md +++ b/docs/sdks/managelivestreams/README.md @@ -16,7 +16,7 @@ The viewer count is an **approximate value**, optimized for performance. It prov Suppose a content creator is hosting a live concert and wants to display the number of live viewers on their dashboard. This endpoint can be queried to show up-to-date viewer statistics. -Related guide: Manage streams +Related guide: Manage streams > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). diff --git a/docs/sdks/managevideos/README.md b/docs/sdks/managevideos/README.md index 5e946d9..b5972b8 100644 --- a/docs/sdks/managevideos/README.md +++ b/docs/sdks/managevideos/README.md @@ -182,17 +182,17 @@ This endpoint allows you to add an audio or subtitle track to an existing media #### Webhook events -1. After successfully adding a track, your system must receive the webhook event video.media.track.created. +1. After successfully adding a track, your system must receive the webhook event video.media.track.created. -2. Once the track is processed and ready, you must receive the webhook event video.media.track.ready. +2. Once the track is processed and ready, you must receive the webhook event video.media.track.ready. -3. Finally, an update event video.media.updated must notify your system about the media's updated status. +3. Finally, an update event video.media.updated must notify your system about the media's updated status. #### Example Suppose you have a video uploaded to the FastPix platform, and you want to add an Italian audio track to it. By calling this API, you can attach an external audio file (https://static.fastpix.com/music-1.mp3) to the media file. Similarly, if you need to add subtitles in different languages, you can specify type: `subtitle` with the corresponding subtitle `url`, `languageCode` and `languageName`. -Related guides: Add own subtitle tracks, Add own audio tracks +Related guides: Add own subtitle tracks, Add own audio tracks ### Example Usage @@ -273,7 +273,7 @@ This endpoint allows you to delete an existing audio or subtitle track from a me 1. After successfully deleting a track, your system must receive the webhook event **video.media.track.deleted**. -2. Once the media file is updated to reflect the track removal, a video.media.updated event must be triggered. +2. Once the media file is updated to reflect the track removal, a video.media.updated event must be triggered. #### Example @@ -283,7 +283,7 @@ Suppose you uploaded an audio track in Italian for a video but later realize it' - The content owner requests the removal of a specific subtitle or audio track. - A new version of the track gets uploaded to replace the existing one. -Related guides: Add own subtitle tracks, Add own audio tracks +Related guides: Add own subtitle tracks, Add own audio tracks ### Example Usage @@ -357,11 +357,11 @@ This endpoint allows you to generate subtitles for an existing audio track in a #### Webhook Events -1. After the subtitle track is generated and ready, you receive the webhook event video.media.subtitle.generated.ready. +1. After the subtitle track is generated and ready, you receive the webhook event video.media.subtitle.generated. -2. Finally the video.media.updated event notifies your system about the media’s updated status. +2. Finally the video.media.updated event notifies your system about the media’s updated status. -
Related guide: Add auto-generated subtitles +
Related guide: Add auto-generated subtitles ### Example Usage @@ -508,7 +508,7 @@ This endpoint allows you to update the `sourceAccess` setting of an existing med 2. Include the updated `sourceAccess` parameter in the request body. 3. You receive a response confirming the update to the media’s source access status. -4. Webhook events: video.media.source.ready, video.media.source.deleted +4. Webhook events: video.media.source.ready, video.media.source.deleted ### Example Usage diff --git a/docs/sdks/metrics/README.md b/docs/sdks/metrics/README.md index 20a9ab1..a273b74 100644 --- a/docs/sdks/metrics/README.md +++ b/docs/sdks/metrics/README.md @@ -43,7 +43,7 @@ A developer wants to analyze how watch time varies across different device types * **field:** The grouping field value based on the groupBy parameter. -Related guide: Understand data definitions +Related guide: Understand data definitions > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). @@ -138,7 +138,7 @@ Retrieves overall values for a specified metric, providing summary statistics th * **globalValue:** A global metric value that reflects the overall performance of the specified metric across the entire dataset for the given timespan. This value is not affected by specific filters. - Related guide: Understand data definitions + Related guide: Understand data definitions ### Example Usage @@ -296,7 +296,7 @@ This endpoint lets you to compare multiple metrics across specified dimensions. 3. You Receive a response containing the comparison values for the specified metrics across the selected dimensions. - Related guide: Compare metrics in dashboard + Related guide: Compare metrics in dashboard ### Example Usage diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index a00544c..0f7c069 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -18,7 +18,7 @@ This endpoint creates a new playlist within a specified workspace. A playlist ac - **Manual:** Creates an empty playlist without any initial media items. Use this mode for manual curation, where you add items later in a user-defined sequence. - **Smart:** Auto-populates the playlist at creation time based on the filter criteria (for example, a video creation date range) that you provide in the request. -For more details, see Create and manage playlist. +For more details, see Create and manage playlist. #### How it works @@ -274,7 +274,7 @@ public class Application { .build(); UpdateAPlaylistResponse res = sdk.playlists().update() - .playlistId("") + .playlistId("your-playlist-id") .body(UpdatePlaylistRequest.builder() .name("updated name") .description("updated description") @@ -343,7 +343,7 @@ public class Application { .build(); DeleteAPlaylistResponse res = sdk.playlists().delete() - .playlistId("") + .playlistId("your-playlist-id") .call(); if (res.playlistDeleteResponse().isPresent()) { diff --git a/docs/sdks/simulcasts/README.md b/docs/sdks/simulcasts/README.md index 2f3831a..35baa81 100644 --- a/docs/sdks/simulcasts/README.md +++ b/docs/sdks/simulcasts/README.md @@ -10,7 +10,7 @@ Updates the status of a specific simulcast linked to a parent live stream. You can enable or disable the simulcast at any time while the parent stream is active or idle. After the live stream is disabled, the simulcast can no longer be modified. -Webhook event: video.live_stream.simulcast_target.updated +Webhook event: video.live_stream.simulcast_target.updated #### Example When a `PATCH` request is made to this endpoint, the API updates the status of the simulcast. This can be useful for pausing or resuming a simulcast on a particular platform without stopping the parent live stream. diff --git a/docs/sdks/simulcaststream/README.md b/docs/sdks/simulcaststream/README.md index 82da680..80e902e 100644 --- a/docs/sdks/simulcaststream/README.md +++ b/docs/sdks/simulcaststream/README.md @@ -18,7 +18,7 @@ Creates a simulcast for a parent live stream. Simulcasting allows you to broadca #### Example An event manager sets up a live stream for a virtual conference and wants to simulcast the stream on YouTube and Facebook Live. They first create the primary live stream in FastPix, ensuring it's in the idle state. Then, they use the API to create a simulcast target for YouTube. -Related guide: Simulcast to 3rd party platforms +Related guide: Simulcast to 3rd party platforms > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). @@ -53,7 +53,7 @@ public class Application { .streamId("your-stream-id") .body(SimulcastRequest.builder() .url("rtmp://hyd01.contribute.live-video.net/app/") - .streamKey("live_1012464221_DuM8W004MoZYNxQEZ0czODgfHCFBhk") + .streamKey("your-youtube-stream-key") .metadata(Map.ofEntries( Map.entry("livestream_name", "Tech-Connect Summit"))) .build()) @@ -73,7 +73,7 @@ public class Application { | Parameter | Type | Required | Description | Example | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `streamId` | *String* | :heavy_check_mark: | After creating a new live stream, FastPix assigns a unique identifier to the stream. | your-stream-id | -| `body` | [SimulcastRequest](../../models/components/SimulcastRequest.md) | :heavy_check_mark: | N/A | {
"url": "rtmp://hyd01.contribute.live-video.net/app/",
"streamKey": "live_1012464221_DuM8W004MoZYNxQEZ0czODgfHCFBhk",
"metadata": {
"livestream_name": "Tech-Connect Summit"
}
} | +| `body` | [SimulcastRequest](../../models/components/SimulcastRequest.md) | :heavy_check_mark: | N/A | {
"url": "rtmp://hyd01.contribute.live-video.net/app/",
"streamKey": "your-youtube-stream-key",
"metadata": {
"livestream_name": "Tech-Connect Summit"
}
} | ### Response diff --git a/docs/sdks/simulcaststreams/README.md b/docs/sdks/simulcaststreams/README.md index bb77053..f768c0f 100644 --- a/docs/sdks/simulcaststreams/README.md +++ b/docs/sdks/simulcaststreams/README.md @@ -11,7 +11,7 @@ Deletes a simulcast using its unique simulcastId, which you received during the simulcast creation process. Deleting a simulcast stops the broadcast to the associated platform, while the parent stream continues if it’s live. This action can’t be undone, and you must create a new simulcast to resume streaming to the same platform. -Webhook event: video.live_stream.simulcast_target.deleted +Webhook event: video.live_stream.simulcast_target.deleted #### Example diff --git a/docs/sdks/streams/README.md b/docs/sdks/streams/README.md index 11689c5..fb331d8 100644 --- a/docs/sdks/streams/README.md +++ b/docs/sdks/streams/README.md @@ -9,7 +9,7 @@ ## create -Creates a new RTMPS or SRT live stream in FastPix. When you create a stream, FastPix generates a unique `streamKey` and `srtSecret` that you can use with broadcasting software such as OBS to connect to FastPix RTMPS or SRT servers. Use SRT for live streaming in unstable network conditions, as it provides error correction and encryption for a more reliable and secure broadcast. +Creates a new RTMPS or SRT live stream in FastPix. When you create a stream, FastPix generates a unique `streamKey` and `srtSecret` that you can use with broadcasting software such as OBS to connect to FastPix RTMPS or SRT servers. Use SRT for live streaming in unstable network conditions, as it provides error correction and encryption for a more reliable and secure broadcast. Leverage SRT for live streaming in environments with unstable networks, taking advantage of its error correction and encryption features for a resilient and secure broadcast. @@ -19,7 +19,7 @@ Leverage SRT for live streaming in environments with unstable networks, taking a 2. FastPix returns the stream details for both RTMPS and SRT configurations. These keys and IDs from the stream details are essential for connecting the broadcasting software to FastPix’s servers and transmitting the live stream to viewers. -3. After the live stream is created, FastPix sends a `POST` request to your specified webhook endpoint with the event video.live_stream.created. +3. After the live stream is created, FastPix sends a `POST` request to your specified webhook endpoint with the event video.live_stream.created. **Example:** @@ -28,7 +28,7 @@ Leverage SRT for live streaming in environments with unstable networks, taking a Imagine a gaming platform that allows users to live stream gameplay directly from their dashboard. The API creates a new stream, provides the necessary stream key, and sets it to "private" so that only specific viewers can access it. -Related guide: How to live stream +Related guide: How to live stream > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). diff --git a/docs/sdks/videos/README.md b/docs/sdks/videos/README.md index 74fe0db..edb2ae5 100644 --- a/docs/sdks/videos/README.md +++ b/docs/sdks/videos/README.md @@ -28,7 +28,7 @@ Retrieves a list of all media clips generated from a specific livestream. Each m Suppose you’re hosting a live gaming event and want to showcase key moments from the stream — such as top plays or final match highlights. You can use this endpoint to fetch all clips generated from that livestream, display them in your dashboard, or use them for post-event editing and sharing. -Related guide: Instant live clipping +Related guide: Instant live clipping > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). @@ -108,7 +108,7 @@ This endpoint allows you to update specific parameters of an existing media file 3. The response returns the updated media data, confirming the changes. -4. Monitor the video.media.updated webhook event to track the update status in your system. +4. Monitor the video.media.updated webhook event to track the update status in your system. #### Example If a user uploads a video and later needs to change the title, add a new description, or update tags, you can use this endpoint to update the media metadata without re-uploading the entire video. @@ -189,7 +189,7 @@ This endpoint allows you to permanently delete a a specific video or audio media 2. This action is irreversible. Make sure you no longer need the media before proceeding. Once deleted, the media can’t be retrieved or played back. -3. Monitor the following webhook event: video.media.deleted +3. Monitor the following webhook event: video.media.deleted #### Example A user on a video-sharing platform decides to remove an old video from their profile, or suppose you're running a content moderation system, and one of the videos uploaded by a user violates your platform's policies. Using this endpoint, the media is permanently deleted from your library, ensuring it's no longer accessible or viewable by other users. @@ -261,7 +261,7 @@ This endpoint allows you to cancel ongoing upload by its `uploadId`. Once cancel #### Webhook Events -Once the upload is cancelled, you must receive the webhook event video.media.upload.cancelled. +Once the upload is cancelled, you must receive the webhook event video.media.upload.cancelled. #### Example @@ -325,7 +325,7 @@ public class Application { ## updateTrack -This endpoint allows you to update an existing audio or subtitle track associated with a media file. When updating a track, you must provide the new track `url`, `languageName`, and `languageCode`, ensuring all three parameters are included in the request. +This endpoint allows you to update an existing audio or subtitle track associated with a media file. When updating a track, you must provide the new `languageName` and `languageCode`, ensuring both parameters are included in the request. You can optionally provide a `title` for the track. #### How it works @@ -340,11 +340,11 @@ This endpoint allows you to update an existing audio or subtitle track associate After updating a track, your system must receive webhook notifications: -1. After successfully updating a track, your system must receive the webhook event video.media.track.updated. +1. After successfully updating a track, your system must receive the webhook event video.media.track.updated. -2. Once the new track is processed and ready, you must receive the webhook event video.media.track.ready. +2. Once the new track is processed and ready, you must receive the webhook event video.media.track.ready. -3. Once the media file is updated with the new track details, a video.media.updated event must be triggered. +3. Once the media file is updated with the new track details, a video.media.updated event must be triggered. #### Example @@ -353,7 +353,7 @@ Suppose you previously added a French subtitle track to a video but now need to - The original track file has errors and needs correction. - You want to improve subtitle translations or replace an audio track with a better-quality version. -Related guides: Add own subtitle tracks, Add own audio tracks +Related guides: Add own subtitle tracks, Add own audio tracks ### Example Usage @@ -427,11 +427,11 @@ This endpoint enables you to generate chapters for an existing media file. 2. Include the `chapters` parameter in the request body to enable. 3. The response contains the updated media data, confirming the changes made. -You can use the video.mediaAI.chapters.ready webhook event to track and notify about the chapters generation. +You can use the video.mediaAI.chapters.ready webhook event to track and notify about the chapters generation. **Use case:** This is particularly useful when a user uploads a video and later decides to enable chapters without re-uploading the entire video. -Related guide: Video chapters +Related guide: Video chapters ### Example Usage @@ -517,13 +517,13 @@ This endpoint allows you to update the `mp4Support` setting of an existing media #### Webhook events -- video.media.mp4Support.ready – Triggered when the MP4 support setting is successfully updated. +- video.media.mp4Support.ready – Triggered when the MP4 support setting is successfully updated. #### Example Suppose you have a video uploaded to the FastPix platform, and you want to allow users to download the video in MP4 format. By setting "mp4Support": "capped_4k", the system generates an MP4 rendition of the video up to 4K resolution, making it available for download through the stream URL(`https://stream.fastpix.com/{playbackId}/{capped-4k.mp4 | audio.m4a}`). If you want users to stream only the audio from the media file, you can set "mp4Support": "audioOnly". This provides an audio-only stream URL that allows users to listen to the media without video. By setting "mp4Support": "audioOnly,capped_4k", both options are enabled. Users can download the MP4 video and also stream just the audio version of the media. -Related guide: Use MP4 support for offline viewing +Related guide: Use MP4 support for offline viewing ### Example Usage @@ -684,7 +684,7 @@ A media clip is a segmented portion of an original media file (source media). Cl Imagine you’re managing a video editing platform where users upload full-length videos and create short clips for social media sharing. To keep track of all clips linked to a particular video, you call this API with the sourceMediaId. The response provides a list of all associated clips, allowing you to manage, edit, or repurpose them as needed. -Related guide: Create clips from existing media +Related guide: Create clips from existing media ### Example Usage diff --git a/docs/sdks/views/README.md b/docs/sdks/views/README.md index 0f7e66f..1f4716b 100644 --- a/docs/sdks/views/README.md +++ b/docs/sdks/views/README.md @@ -37,7 +37,7 @@ Each view in the response includes a unique `viewId`. You can use this `viewId` If you manage a video streaming service and want to analyze content performance across devices and browsers. By calling the List Video Views endpoint with filters such as `browser_name` and `device_type`, you can identify which platforms are most popular with your audience. This information helps optimize content for widely used platforms and troubleshoot playback issues on less common devices. - Related guide: Audience metrics, Views dashboard + Related guide: Audience metrics, Views dashboard > **Note:** In the examples below, `package hello.world;` is used for demonstration purposes. When creating your own Java files, ensure the package name matches your directory structure (e.g., if your file is at `src/main/java/com/example/MyApp.java`, use `package com.example;`). @@ -115,7 +115,7 @@ To use this endpoint, send `GET` request with the `viewId`. The response include If a developer receives a report of a poor viewing experience for a specific user. By using this endpoint with the users `viewId`, the developer can retrieve metrics like buffering duration, playback errors, and session length. This data allows the developer to pinpoint issues (such as poor connectivity or a browser-specific problem) and take steps to improve the user experience. -Related guide: What Video Data do we capture? +Related guide: What Video Data do we capture? ### Example Usage @@ -189,7 +189,7 @@ Retrieves a list of the top video views that fall within the specified filters a 5. You receive a response containing the list of top video views matching the specified criteria. - Related guide: Get top-performing content + Related guide: Get top-performing content ### Example Usage diff --git a/gradle.properties b/gradle.properties index 246df9b..fc5b55f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ groupId=io.fastpix artifactId=sdk -version=1.0.3 +version=1.0.4 springBootVersion=3.2.0 org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g diff --git a/run-example.sh b/run-example.sh deleted file mode 100755 index f15d53d..0000000 --- a/run-example.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash -# -# Compile and run a single FastPix example, go-run style: -# -# ./run-example.sh tests/examples/CreateSimulcast.java -# -# It always recompiles the file first, so you never hit a stale .class. -# All examples use `package hello.world;`, so the main class is -# hello.world.. -# -set -euo pipefail - -ROOT="$(cd "$(dirname "$0")" && pwd)" -OUT="/tmp/fp-example" -CP_CACHE="$ROOT/.example-classpath" - -file="${1:-}" -if [[ -z "$file" ]]; then - echo "usage: $0 " >&2 - exit 2 -fi -if [[ ! -f "$file" ]]; then - echo "no such file: $file" >&2 - exit 2 -fi - -# Build (or reuse cached) classpath: SDK classes/resources + dependency jars. -if [[ ! -f "$CP_CACHE" || "$ROOT/build.gradle" -nt "$CP_CACHE" ]]; then - sdk_paths="$ROOT/build/classes/java/main:$ROOT/build/resources/main" - [[ -d "$ROOT/build/libs" ]] && for j in "$ROOT"/build/libs/*.jar; do sdk_paths="$sdk_paths:$j"; done - deps="$(find "$HOME/.gradle/caches/modules-2" -name '*.jar' 2>/dev/null | tr '\n' ':')" - printf '%s:%s' "$sdk_paths" "$deps" > "$CP_CACHE" -fi -CP="$(cat "$CP_CACHE")" - -# Derive fully-qualified main class from `package` + filename. -pkg="$(grep -m1 '^package ' "$file" | sed -E 's/^package[[:space:]]+([^;]+);.*/\1/')" -cls="$(basename "$file" .java)" -main="${pkg:+$pkg.}$cls" - -mkdir -p "$OUT" -echo ">> compiling $file" >&2 -javac -cp "$CP" -d "$OUT" "$file" -echo ">> running $main" >&2 -exec java -cp "$CP:$OUT" "$main" diff --git a/spring/openapi-spring-boot-autoconfigure/bin/default/META-INF/spring-configuration-metadata.json b/spring/openapi-spring-boot-autoconfigure/bin/default/META-INF/spring-configuration-metadata.json deleted file mode 100644 index 1a5f956..0000000 --- a/spring/openapi-spring-boot-autoconfigure/bin/default/META-INF/spring-configuration-metadata.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "groups": [ - { - "name": "openapi", - "type": "io.fastpix.sdk.OpenapiAutoConfigProperties", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties" - }, - { - "name": "openapi.http-client", - "type": "io.fastpix.sdk.OpenapiAutoConfigProperties$HttpClient", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties", - "sourceMethod": "public io.fastpix.sdk.OpenapiAutoConfigProperties.HttpClient getHttpClient() " - }, - { - "name": "openapi.retry-config", - "type": "io.fastpix.sdk.OpenapiAutoConfigProperties$RetryConfig", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties", - "sourceMethod": "public io.fastpix.sdk.OpenapiAutoConfigProperties.RetryConfig getRetryConfig() " - }, - { - "name": "openapi.retry-config.backoff", - "type": "io.fastpix.sdk.OpenapiAutoConfigProperties$RetryConfig$Backoff", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$RetryConfig", - "sourceMethod": "public io.fastpix.sdk.OpenapiAutoConfigProperties.RetryConfig.Backoff getBackoff() " - }, - { - "name": "openapi.security", - "type": "io.fastpix.sdk.OpenapiAutoConfigProperties$Security", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties", - "sourceMethod": "public io.fastpix.sdk.OpenapiAutoConfigProperties.Security getSecurity() " - } - ], - "properties": [ - { - "name": "openapi.http-client.enable-debug-logging", - "type": "java.lang.Boolean", - "description": "Whether to enable debug logging for HTTP requests and responses, including JSON body content.", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$HttpClient" - }, - { - "name": "openapi.http-client.redacted-headers", - "type": "java.util.Collection", - "description": "Collection of header names (case-insensitive) whose values will be redacted in debug logs. By default, Authorization and X-API-KEY headers are redacted for security.", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$HttpClient" - }, - { - "name": "openapi.retry-config.backoff.base-factor", - "type": "java.lang.Double", - "description": "The multiplier for exponential backoff. Each retry delay is multiplied by this factor (e.g., 1.5 means 50% increase).", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$RetryConfig$Backoff" - }, - { - "name": "openapi.retry-config.backoff.initial-interval", - "type": "java.time.Duration", - "description": "The initial delay before the first retry attempt. Supports duration formats like \"500ms\", \"1s\", \"2m\".", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$RetryConfig$Backoff" - }, - { - "name": "openapi.retry-config.backoff.jitter-factor", - "type": "java.lang.Double", - "description": "Random jitter factor to avoid thundering herd problems. Value between 0.0 (no jitter) and 1.0 (full jitter).", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$RetryConfig$Backoff" - }, - { - "name": "openapi.retry-config.backoff.max-elapsed-time", - "type": "java.time.Duration", - "description": "The maximum total time to spend on all retry attempts. Retries will stop after this duration.", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$RetryConfig$Backoff" - }, - { - "name": "openapi.retry-config.backoff.max-interval", - "type": "java.time.Duration", - "description": "The maximum delay between retry attempts. The backoff will not exceed this value.", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$RetryConfig$Backoff" - }, - { - "name": "openapi.retry-config.backoff.retry-connect-error", - "type": "java.lang.Boolean", - "description": "Whether to retry requests that fail due to connection errors (e.g., connection refused, timeout).", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$RetryConfig$Backoff" - }, - { - "name": "openapi.retry-config.backoff.retry-read-timeout-error", - "type": "java.lang.Boolean", - "description": "Whether to retry requests that fail due to read timeout errors (server doesn't respond within timeout).", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$RetryConfig$Backoff" - }, - { - "name": "openapi.retry-config.strategy", - "type": "io.fastpix.sdk.utils.RetryConfig$Strategy", - "description": "The retry strategy to use for failed requests.", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$RetryConfig" - }, - { - "name": "openapi.security.password", - "type": "java.lang.String", - "description": "password for authentication.", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$Security" - }, - { - "name": "openapi.security.username", - "type": "java.lang.String", - "description": "username for authentication.", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties$Security" - }, - { - "name": "openapi.server-idx", - "type": "java.lang.Integer", - "description": "The index of the server to use from the list of available servers (0-based). Defaults to the first server.", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties" - }, - { - "name": "openapi.server-url", - "type": "java.lang.String", - "description": "The base URL for the API server. If not specified, the SDK will use the default server URL.", - "sourceType": "io.fastpix.sdk.OpenapiAutoConfigProperties" - } - ], - "hints": [] -} \ No newline at end of file diff --git a/spring/openapi-spring-boot-autoconfigure/bin/main/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/spring/openapi-spring-boot-autoconfigure/bin/main/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports deleted file mode 100644 index 0dbbd6a..0000000 --- a/spring/openapi-spring-boot-autoconfigure/bin/main/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ /dev/null @@ -1 +0,0 @@ -io.fastpix.sdk.OpenapiAutoConfig \ No newline at end of file diff --git a/src/main/java/io/fastpix/sdk/AiFeatures.java b/src/main/java/io/fastpix/sdk/AiFeatures.java index 1f89f17..623a2b3 100644 --- a/src/main/java/io/fastpix/sdk/AiFeatures.java +++ b/src/main/java/io/fastpix/sdk/AiFeatures.java @@ -48,13 +48,13 @@ public AsyncAiFeatures async() { * 4. The response includes the updated media data and confirmation of the changes applied. * *

You can use the video.mediaAI.summary.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaisummaryready">video.mediaAI.summary.ready * webhook event to track and notify about the summary generation. * *

**Use case**: This is particularly useful when a user uploads a video and later chooses to generate * a summary without needing to re-upload the video. * - *

Related guide: Video summary + *

Related guide: Video summary * * @return The call builder */ @@ -77,13 +77,13 @@ public UpdateMediaSummaryRequestBuilder updateMediaSummary() { * 4. The response includes the updated media data and confirmation of the changes applied. * *

You can use the video.mediaAI.summary.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaisummaryready">video.mediaAI.summary.ready * webhook event to track and notify about the summary generation. * *

**Use case**: This is particularly useful when a user uploads a video and later chooses to generate * a summary without needing to re-upload the video. * - *

Related guide: Video summary + *

Related guide: Video summary * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -110,13 +110,13 @@ public UpdateMediaSummaryResponse updateMediaSummary(@Nonnull String mediaId, @N * 4. The response includes the updated media data and confirmation of the changes applied. * *

You can use the video.mediaAI.summary.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaisummaryready">video.mediaAI.summary.ready * webhook event to track and notify about the summary generation. * *

**Use case**: This is particularly useful when a user uploads a video and later chooses to generate * a summary without needing to re-upload the video. * - *

Related guide: Video summary + *

Related guide: Video summary * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * diff --git a/src/main/java/io/fastpix/sdk/AsyncAiFeatures.java b/src/main/java/io/fastpix/sdk/AsyncAiFeatures.java index 9fab9b4..1ac8407 100644 --- a/src/main/java/io/fastpix/sdk/AsyncAiFeatures.java +++ b/src/main/java/io/fastpix/sdk/AsyncAiFeatures.java @@ -49,13 +49,13 @@ public AiFeatures sync() { * 4. The response includes the updated media data and confirmation of the changes applied. * *

You can use the video.mediaAI.summary.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaisummaryready">video.mediaAI.summary.ready * webhook event to track and notify about the summary generation. * *

**Use case**: This is particularly useful when a user uploads a video and later chooses to generate * a summary without needing to re-upload the video. * - *

Related guide: Video summary + *

Related guide: Video summary * * @return The async call builder */ @@ -78,13 +78,13 @@ public UpdateMediaSummaryRequestBuilder updateMediaSummary() { * 4. The response includes the updated media data and confirmation of the changes applied. * *

You can use the video.mediaAI.summary.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaisummaryready">video.mediaAI.summary.ready * webhook event to track and notify about the summary generation. * *

**Use case**: This is particularly useful when a user uploads a video and later chooses to generate * a summary without needing to re-upload the video. * - *

Related guide: Video summary + *

Related guide: Video summary * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -110,13 +110,13 @@ public CompletableFuture updateMediaSummary(@Nonnull * 4. The response includes the updated media data and confirmation of the changes applied. * *

You can use the video.mediaAI.summary.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaisummaryready">video.mediaAI.summary.ready * webhook event to track and notify about the summary generation. * *

**Use case**: This is particularly useful when a user uploads a video and later chooses to generate * a summary without needing to re-upload the video. * - *

Related guide: Video summary + *

Related guide: Video summary * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * diff --git a/src/main/java/io/fastpix/sdk/AsyncDimensions.java b/src/main/java/io/fastpix/sdk/AsyncDimensions.java index baf10b9..5d160f1 100644 --- a/src/main/java/io/fastpix/sdk/AsyncDimensions.java +++ b/src/main/java/io/fastpix/sdk/AsyncDimensions.java @@ -53,8 +53,8 @@ public Dimensions sync() { * filter results based on specific criteria. For example, you can filter views by `browser_name`, * `os_name`, `device_type`, and more. * - *

Related guides: What Video - * Data do we capture? , Use + *

Related guides: What Video + * Data do we capture? , Use * passable dimensions * * @return The async call builder @@ -75,8 +75,8 @@ public ListDimensionsRequestBuilder list() { * filter results based on specific criteria. For example, you can filter views by `browser_name`, * `os_name`, `device_type`, and more. * - *

Related guides: What Video - * Data do we capture? , Use + *

Related guides: What Video + * Data do we capture? , Use * passable dimensions * * @return {@code CompletableFuture} - The async response @@ -97,8 +97,8 @@ public CompletableFuture listDirect() { * filter results based on specific criteria. For example, you can filter views by `browser_name`, * `os_name`, `device_type`, and more. * - *

Related guides: What Video - * Data do we capture? , Use + *

Related guides: What Video + * Data do we capture? , Use * passable dimensions * * @param options additional options @@ -121,7 +121,7 @@ public CompletableFuture list(@Nullable Options options) * number of video views for each value. For example, it can list all `browser_name` (dimension) and * show how many views occurred for all available browsers like Chrome, Safari (filter values). * - *

In order to use the Custom + *

In order to use the Custom * Dimensions, you must enable them in the dashboard under settings option based on the plan you * have opted for. * @@ -133,7 +133,7 @@ public CompletableFuture list(@Nullable Options options) * optimizations or troubleshooting is necessary. * *

Related guide: Filters and + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#filters-and-timeframes">Filters and * timespan * * @return The async call builder @@ -149,7 +149,7 @@ public ListFilterValuesForDimensionRequestBuilder listFilterValues() { * number of video views for each value. For example, it can list all `browser_name` (dimension) and * show how many views occurred for all available browsers like Chrome, Safari (filter values). * - *

In order to use the Custom + *

In order to use the Custom * Dimensions, you must enable them in the dashboard under settings option based on the plan you * have opted for. * @@ -161,7 +161,7 @@ public ListFilterValuesForDimensionRequestBuilder listFilterValues() { * optimizations or troubleshooting is necessary. * *

Related guide: Filters and + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#filters-and-timeframes">Filters and * timespan * * @param dimensionsId Pass Dimensions Id @@ -181,7 +181,7 @@ public CompletableFuture listFilterValues( * number of video views for each value. For example, it can list all `browser_name` (dimension) and * show how many views occurred for all available browsers like Chrome, Safari (filter values). * - *

In order to use the Custom + *

In order to use the Custom * Dimensions, you must enable them in the dashboard under settings option based on the plan you * have opted for. * @@ -193,7 +193,7 @@ public CompletableFuture listFilterValues( * optimizations or troubleshooting is necessary. * *

Related guide: Filters and + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#filters-and-timeframes">Filters and * timespan * * @param dimensionsId Pass Dimensions Id diff --git a/src/main/java/io/fastpix/sdk/AsyncErrors.java b/src/main/java/io/fastpix/sdk/AsyncErrors.java index 5384a0f..2fa1d48 100644 --- a/src/main/java/io/fastpix/sdk/AsyncErrors.java +++ b/src/main/java/io/fastpix/sdk/AsyncErrors.java @@ -55,7 +55,7 @@ public Errors sync() { * * **count:** The number of occurrences of the specific error. * * **code:** The error code associated with the specific error. * - *

Related guide: Troubleshoot errors + *

Related guide: Troubleshoot errors * * @return The async call builder */ @@ -83,7 +83,7 @@ public ListErrorsRequestBuilder list() { * * **count:** The number of occurrences of the specific error. * * **code:** The error code associated with the specific error. * - *

Related guide: Troubleshoot errors + *

Related guide: Troubleshoot errors * * @return {@code CompletableFuture} - The async response */ @@ -113,7 +113,7 @@ public CompletableFuture listDirect() { * * **count:** The number of occurrences of the specific error. * * **code:** The error code associated with the specific error. * - *

Related guide: Troubleshoot errors + *

Related guide: Troubleshoot errors * * @param timespan This parameter specifies the time span between which the video views list must be retrieved by. You can provide either from and to unix epoch timestamps or time duration. The scope of duration is between 60 minutes to 30 days. * diff --git a/src/main/java/io/fastpix/sdk/AsyncInVideoAiFeatures.java b/src/main/java/io/fastpix/sdk/AsyncInVideoAiFeatures.java index 0d81f08..cdde4ef 100644 --- a/src/main/java/io/fastpix/sdk/AsyncInVideoAiFeatures.java +++ b/src/main/java/io/fastpix/sdk/AsyncInVideoAiFeatures.java @@ -58,13 +58,13 @@ public InVideoAiFeatures sync() { * 3. Receive a response containing the updated media data, confirming the changes made. * *

You can use the video.mediaAI.named-entities.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaainamedentitiesready">video.mediaAI.named-entities.ready * webhook event to track and notify about the named entities extraction. * *

**Use case:** If a user uploads a video and later decides to enable named entity extraction without * re-uploading the entire video. * - *

Related guide: Named entities + *

Related guide: Named entities * * @return The async call builder */ @@ -91,13 +91,13 @@ public UpdateMediaNamedEntitiesRequestBuilder generateNamedEntities() { * 3. Receive a response containing the updated media data, confirming the changes made. * *

You can use the video.mediaAI.named-entities.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaainamedentitiesready">video.mediaAI.named-entities.ready * webhook event to track and notify about the named entities extraction. * *

**Use case:** If a user uploads a video and later decides to enable named entity extraction without * re-uploading the entire video. * - *

Related guide: Named entities + *

Related guide: Named entities * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -127,13 +127,13 @@ public CompletableFuture generateNamedEntities * 3. Receive a response containing the updated media data, confirming the changes made. * *

You can use the video.mediaAI.named-entities.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaainamedentitiesready">video.mediaAI.named-entities.ready * webhook event to track and notify about the named entities extraction. * *

**Use case:** If a user uploads a video and later decides to enable named entity extraction without * re-uploading the entire video. * - *

Related guide: Named entities + *

Related guide: Named entities * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -168,14 +168,14 @@ public CompletableFuture generateNamedEntities * 4. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.moderation.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaimoderationready">video.mediaAI.moderation.ready * webhook event to track and notify about the detected moderation results. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * moderation detection without the need to re-upload it. * *

Related guide: Moderate + * href="https://fastpix.com/docs/in-video-ai/detect-nsfw-content-and-profanity">Moderate * NSFW & Profanity * * @return The async call builder @@ -198,14 +198,14 @@ public UpdateMediaModerationRequestBuilder updateModeration() { * 4. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.moderation.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaimoderationready">video.mediaAI.moderation.ready * webhook event to track and notify about the detected moderation results. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * moderation detection without the need to re-upload it. * *

Related guide: Moderate + * href="https://fastpix.com/docs/in-video-ai/detect-nsfw-content-and-profanity">Moderate * NSFW & Profanity * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -231,14 +231,14 @@ public CompletableFuture updateModeration(@Nonnul * 4. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.moderation.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaimoderationready">video.mediaAI.moderation.ready * webhook event to track and notify about the detected moderation results. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * moderation detection without the need to re-upload it. * *

Related guide: Moderate + * href="https://fastpix.com/docs/in-video-ai/detect-nsfw-content-and-profanity">Moderate * NSFW & Profanity * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. diff --git a/src/main/java/io/fastpix/sdk/AsyncInputVideos.java b/src/main/java/io/fastpix/sdk/AsyncInputVideos.java index 72b84df..b93b53b 100644 --- a/src/main/java/io/fastpix/sdk/AsyncInputVideos.java +++ b/src/main/java/io/fastpix/sdk/AsyncInputVideos.java @@ -82,11 +82,11 @@ public InputVideos sync() { *

FastPix uses webhooks to tell your application about things that happen in the background, outside * of the API regular request flow. For instance, after the media file is created (but not yet * processed or encoded), FastPix sends a `POST` request to your specified webhook URL with the event - * video.media.created. + * video.media.created. * *

After processing completes, monitor the events video.media.ready and video.media.failed to track + * href="https://fastpix.com/docs/webhooks/media-events#videomediaready">video.media.ready and video.media.failed to track * the status of the media file. * *

Related guide: Upload videos from @@ -143,11 +143,11 @@ public CreateMediaRequestBuilder create() { *

FastPix uses webhooks to tell your application about things that happen in the background, outside * of the API regular request flow. For instance, after the media file is created (but not yet * processed or encoded), FastPix sends a `POST` request to your specified webhook URL with the event - * video.media.created. + * video.media.created. * *

After processing completes, monitor the events video.media.ready and video.media.failed to track + * href="https://fastpix.com/docs/webhooks/media-events#videomediaready">video.media.ready and video.media.failed to track * the status of the media file. * *

Related guide: Upload videos from @@ -205,11 +205,11 @@ public CompletableFuture create(@Nonnull CreateMediaRequest *

FastPix uses webhooks to tell your application about things that happen in the background, outside * of the API regular request flow. For instance, after the media file is created (but not yet * processed or encoded), FastPix sends a `POST` request to your specified webhook URL with the event - * video.media.created. + * video.media.created. * *

After processing completes, monitor the events video.media.ready and video.media.failed to track + * href="https://fastpix.com/docs/webhooks/media-events#videomediaready">video.media.ready and video.media.failed to track * the status of the media file. * *

Related guide: Upload videos from @@ -251,7 +251,7 @@ public CompletableFuture create(@Nonnull CreateMediaRequest * file from your device and uploads it to the FastPix platform. * *

(Refer to Step 3: + * href="https://fastpix.com/docs/upload-videos/upload-videos-from-device#initiate-the-upload-session-web-only">Step 3: * Initiate the upload for complete instructions.) * *

4. Once uploaded, the media undergoes processing and is assigned a unique ID for tracking. Retain @@ -303,7 +303,7 @@ public DirectUploadVideoMediaRequestBuilder upload() { * file from your device and uploads it to the FastPix platform. * *

(Refer to Step 3: + * href="https://fastpix.com/docs/upload-videos/upload-videos-from-device#initiate-the-upload-session-web-only">Step 3: * Initiate the upload for complete instructions.) * *

4. Once uploaded, the media undergoes processing and is assigned a unique ID for tracking. Retain @@ -355,7 +355,7 @@ public CompletableFuture uploadDirect() { * file from your device and uploads it to the FastPix platform. * *

(Refer to Step 3: + * href="https://fastpix.com/docs/upload-videos/upload-videos-from-device#initiate-the-upload-session-web-only">Step 3: * Initiate the upload for complete instructions.) * *

4. Once uploaded, the media undergoes processing and is assigned a unique ID for tracking. Retain diff --git a/src/main/java/io/fastpix/sdk/AsyncLiveStream.java b/src/main/java/io/fastpix/sdk/AsyncLiveStream.java index e4ea878..d841668 100644 --- a/src/main/java/io/fastpix/sdk/AsyncLiveStream.java +++ b/src/main/java/io/fastpix/sdk/AsyncLiveStream.java @@ -54,7 +54,7 @@ public LiveStream sync() { * *

Provide the `streamId` in the request to terminate active connections and remove the stream from the * workspace. You can further look for video.live_stream.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamdeleted">video.live_stream.deleted * webhook to notify your system about the status. * *

#### Example @@ -62,7 +62,7 @@ public LiveStream sync() { *

For an online concert platform, a trial stream was mistakenly made public. The event manager deletes * the stream before the concert begins to avoid confusion among viewers. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @return The async call builder */ @@ -79,7 +79,7 @@ public DeleteLiveStreamRequestBuilder delete() { * *

Provide the `streamId` in the request to terminate active connections and remove the stream from the * workspace. You can further look for video.live_stream.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamdeleted">video.live_stream.deleted * webhook to notify your system about the status. * *

#### Example @@ -87,7 +87,7 @@ public DeleteLiveStreamRequestBuilder delete() { *

For an online concert platform, a trial stream was mistakenly made public. The event manager deletes * the stream before the concert begins to avoid confusion among viewers. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @return {@code CompletableFuture} - The async response @@ -105,7 +105,7 @@ public CompletableFuture delete(@Nonnull String stream * *

Provide the `streamId` in the request to terminate active connections and remove the stream from the * workspace. You can further look for video.live_stream.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamdeleted">video.live_stream.deleted * webhook to notify your system about the status. * *

#### Example @@ -113,7 +113,7 @@ public CompletableFuture delete(@Nonnull String stream *

For an online concert platform, a trial stream was mistakenly made public. The event manager deletes * the stream before the concert begins to avoid confusion among viewers. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options @@ -147,7 +147,7 @@ public CompletableFuture delete(@Nonnull String stream *

A creator disables a livestream to pause it temporarily. Later, they decide to continue the session. * By calling this endpoint with the stream's ID, they can re-enable and restart the same livestream. * - *

Related guide Manage streams + *

Related guide Manage streams * * @return The async call builder */ @@ -172,7 +172,7 @@ public EnableLiveStreamRequestBuilder enable() { *

A creator disables a livestream to pause it temporarily. Later, they decide to continue the session. * By calling this endpoint with the stream's ID, they can re-enable and restart the same livestream. * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @return {@code CompletableFuture} - The async response @@ -198,7 +198,7 @@ public CompletableFuture enable(@Nonnull String stream *

A creator disables a livestream to pause it temporarily. Later, they decide to continue the session. * By calling this endpoint with the stream's ID, they can re-enable and restart the same livestream. * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options @@ -230,7 +230,7 @@ public CompletableFuture enable(@Nonnull String stream * again. By calling this endpoint, the stream is transitioned to a `disabled` state, ensuring it's * permanently stopped (unless re-enabled on a paid plan). * - *

Related guide Manage streams + *

Related guide Manage streams * * @return The async call builder */ @@ -253,7 +253,7 @@ public DisableLiveStreamRequestBuilder disable() { * again. By calling this endpoint, the stream is transitioned to a `disabled` state, ensuring it's * permanently stopped (unless re-enabled on a paid plan). * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @return {@code CompletableFuture} - The async response @@ -277,7 +277,7 @@ public CompletableFuture disable(@Nonnull String stre * again. By calling this endpoint, the stream is transitioned to a `disabled` state, ensuring it's * permanently stopped (unless re-enabled on a paid plan). * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options @@ -311,7 +311,7 @@ public CompletableFuture disable(@Nonnull String stre * streaming. This endpoint ensures the livestream status is changed from `active` to `idle`, * indicating it's officially completed. * - *

Related guide Manage streams + *

Related guide Manage streams * * @return The async call builder */ @@ -336,7 +336,7 @@ public CompleteLiveStreamRequestBuilder complete() { * streaming. This endpoint ensures the livestream status is changed from `active` to `idle`, * indicating it's officially completed. * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @return {@code CompletableFuture} - The async response @@ -362,7 +362,7 @@ public CompletableFuture complete(@Nonnull String st * streaming. This endpoint ensures the livestream status is changed from `active` to `idle`, * indicating it's officially completed. * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options diff --git a/src/main/java/io/fastpix/sdk/AsyncManageLiveStream.java b/src/main/java/io/fastpix/sdk/AsyncManageLiveStream.java index 6efc729..0a93322 100644 --- a/src/main/java/io/fastpix/sdk/AsyncManageLiveStream.java +++ b/src/main/java/io/fastpix/sdk/AsyncManageLiveStream.java @@ -49,7 +49,7 @@ public ManageLiveStream sync() { *

Suppose a news agency is broadcasting a live event and wants to track the configurations set for the * live stream while also checking the stream's status. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @return The async call builder */ @@ -68,7 +68,7 @@ public GetLiveStreamByIdRequestBuilder get() { *

Suppose a news agency is broadcasting a live event and wants to track the configurations set for the * live stream while also checking the stream's status. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @return {@code CompletableFuture} - The async response @@ -88,7 +88,7 @@ public CompletableFuture get(@Nonnull String streamId *

Suppose a news agency is broadcasting a live event and wants to track the configurations set for the * live stream while also checking the stream's status. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options @@ -115,7 +115,7 @@ public CompletableFuture get(@Nonnull String streamId * *

The updated stream parameters and the `streamId` needs to be shared in the request, and FastPix * returns the updated stream details. After the update, video.live_stream.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamupdated">video.live_stream.updated * webhook event notifies your system. * *

#### Example @@ -125,7 +125,7 @@ public CompletableFuture get(@Nonnull String streamId * organizers need to update the stream title to reflect the next day"s session while keeping the same * stream ID for continuity. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @return The async call builder */ @@ -143,7 +143,7 @@ public UpdateLiveStreamRequestBuilder update() { * *

The updated stream parameters and the `streamId` needs to be shared in the request, and FastPix * returns the updated stream details. After the update, video.live_stream.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamupdated">video.live_stream.updated * webhook event notifies your system. * *

#### Example @@ -153,7 +153,7 @@ public UpdateLiveStreamRequestBuilder update() { * organizers need to update the stream title to reflect the next day"s session while keeping the same * stream ID for continuity. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @param body @@ -173,7 +173,7 @@ public CompletableFuture update(@Nonnull String stream * *

The updated stream parameters and the `streamId` needs to be shared in the request, and FastPix * returns the updated stream details. After the update, video.live_stream.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamupdated">video.live_stream.updated * webhook event notifies your system. * *

#### Example @@ -183,7 +183,7 @@ public CompletableFuture update(@Nonnull String stream * organizers need to update the stream title to reflect the next day"s session while keeping the same * stream ID for continuity. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @param body diff --git a/src/main/java/io/fastpix/sdk/AsyncManageLiveStreams.java b/src/main/java/io/fastpix/sdk/AsyncManageLiveStreams.java index a84a300..99fc2f6 100644 --- a/src/main/java/io/fastpix/sdk/AsyncManageLiveStreams.java +++ b/src/main/java/io/fastpix/sdk/AsyncManageLiveStreams.java @@ -49,7 +49,7 @@ public ManageLiveStreams sync() { *

Suppose a content creator is hosting a live concert and wants to display the number of live viewers * on their dashboard. This endpoint can be queried to show up-to-date viewer statistics. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @return The async call builder */ @@ -73,7 +73,7 @@ public GetLiveStreamViewerCountByIdRequestBuilder getViewerCount() { *

Suppose a content creator is hosting a live concert and wants to display the number of live viewers * on their dashboard. This endpoint can be queried to show up-to-date viewer statistics. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @return {@code CompletableFuture} - The async response @@ -98,7 +98,7 @@ public CompletableFuture getViewerCount(@N *

Suppose a content creator is hosting a live concert and wants to display the number of live viewers * on their dashboard. This endpoint can be queried to show up-to-date viewer statistics. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options diff --git a/src/main/java/io/fastpix/sdk/AsyncManageVideos.java b/src/main/java/io/fastpix/sdk/AsyncManageVideos.java index 43d2749..6ad5550 100644 --- a/src/main/java/io/fastpix/sdk/AsyncManageVideos.java +++ b/src/main/java/io/fastpix/sdk/AsyncManageVideos.java @@ -274,13 +274,13 @@ public CompletableFuture get(@Nonnull String mediaId, @Nullabl *

#### Webhook events * *

1. After successfully adding a track, your system must receive the webhook event video.media.track.created. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackcreated">video.media.track.created. * *

2. Once the track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Finally, an update event video.media.updated must + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated must * notify your system about the media's updated status. * *

#### Example @@ -290,8 +290,8 @@ public CompletableFuture get(@Nonnull String mediaId, @Nullabl * in different languages, you can specify type: `subtitle` with the corresponding subtitle `url`, * `languageCode` and `languageName`. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @return The async call builder */ @@ -318,13 +318,13 @@ public AddMediaTrackRequestBuilder addTrack() { *

#### Webhook events * *

1. After successfully adding a track, your system must receive the webhook event video.media.track.created. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackcreated">video.media.track.created. * *

2. Once the track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Finally, an update event video.media.updated must + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated must * notify your system about the media's updated status. * *

#### Example @@ -334,8 +334,8 @@ public AddMediaTrackRequestBuilder addTrack() { * in different languages, you can specify type: `subtitle` with the corresponding subtitle `url`, * `languageCode` and `languageName`. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param body @@ -364,13 +364,13 @@ public CompletableFuture addTrack(@Nonnull String mediaId *

#### Webhook events * *

1. After successfully adding a track, your system must receive the webhook event video.media.track.created. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackcreated">video.media.track.created. * *

2. Once the track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Finally, an update event video.media.updated must + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated must * notify your system about the media's updated status. * *

#### Example @@ -380,8 +380,8 @@ public CompletableFuture addTrack(@Nonnull String mediaId * in different languages, you can specify type: `subtitle` with the corresponding subtitle `url`, * `languageCode` and `languageName`. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param body @@ -420,7 +420,7 @@ public CompletableFuture addTrack( * **video.media.track.deleted**. * *

2. Once the media file is updated to reflect the track removal, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -432,8 +432,8 @@ public CompletableFuture addTrack( * - The content owner requests the removal of a specific subtitle or audio track. * - A new version of the track gets uploaded to replace the existing one. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @return The async call builder */ @@ -460,7 +460,7 @@ public DeleteMediaTrackRequestBuilder deleteTrack() { * **video.media.track.deleted**. * *

2. Once the media file is updated to reflect the track removal, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -472,8 +472,8 @@ public DeleteMediaTrackRequestBuilder deleteTrack() { * - The content owner requests the removal of a specific subtitle or audio track. * - A new version of the track gets uploaded to replace the existing one. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param trackId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -502,7 +502,7 @@ public CompletableFuture deleteTrack(@Nonnull String m * **video.media.track.deleted**. * *

2. Once the media file is updated to reflect the track removal, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -514,8 +514,8 @@ public CompletableFuture deleteTrack(@Nonnull String m * - The content owner requests the removal of a specific subtitle or audio track. * - A new version of the track gets uploaded to replace the existing one. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param trackId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -553,14 +553,14 @@ public CompletableFuture deleteTrack( *

#### Webhook Events * *

1. After the subtitle track is generated and ready, you receive the webhook event video.media.subtitle.generated.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasubtitlegenerated">video.media.subtitle.generated. * *

2. Finally the video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * notifies your system about the media’s updated status. * *

</br> Related guide: Add auto-generated + * href="https://fastpix.com/docs/video-on-demand/generate-subtitles-automatically">Add auto-generated * subtitles * * @return The async call builder @@ -587,14 +587,14 @@ public GenerateSubtitleTrackRequestBuilder generateSubtitles() { *

#### Webhook Events * *

1. After the subtitle track is generated and ready, you receive the webhook event video.media.subtitle.generated.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasubtitlegenerated">video.media.subtitle.generated. * *

2. Finally the video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * notifies your system about the media’s updated status. * *

</br> Related guide: Add auto-generated + * href="https://fastpix.com/docs/video-on-demand/generate-subtitles-automatically">Add auto-generated * subtitles * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -628,14 +628,14 @@ public CompletableFuture generateSubtitles( *

#### Webhook Events * *

1. After the subtitle track is generated and ready, you receive the webhook event video.media.subtitle.generated.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasubtitlegenerated">video.media.subtitle.generated. * *

2. Finally the video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * notifies your system about the media’s updated status. * *

</br> Related guide: Add auto-generated + * href="https://fastpix.com/docs/video-on-demand/generate-subtitles-automatically">Add auto-generated * subtitles * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -759,9 +759,9 @@ public CompletableFuture getSummary(@Nonnull String med * *

3. You receive a response confirming the update to the media’s source access status. * 4. Webhook events: video.media.source.ready, + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourceready">video.media.source.ready, * video.media.source.deleted + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourcedeleted">video.media.source.deleted * * @return The async call builder */ @@ -786,9 +786,9 @@ public UpdatedSourceAccessRequestBuilder updateSourceAccess() { * *

3. You receive a response confirming the update to the media’s source access status. * 4. Webhook events: video.media.source.ready, + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourceready">video.media.source.ready, * video.media.source.deleted + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourcedeleted">video.media.source.deleted * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -816,9 +816,9 @@ public CompletableFuture updateSourceAccess(@Nonnul * *

3. You receive a response confirming the update to the media’s source access status. * 4. Webhook events: video.media.source.ready, + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourceready">video.media.source.ready, * video.media.source.deleted + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourcedeleted">video.media.source.deleted * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * diff --git a/src/main/java/io/fastpix/sdk/AsyncMetrics.java b/src/main/java/io/fastpix/sdk/AsyncMetrics.java index f796cb8..e8a9508 100644 --- a/src/main/java/io/fastpix/sdk/AsyncMetrics.java +++ b/src/main/java/io/fastpix/sdk/AsyncMetrics.java @@ -93,7 +93,7 @@ public Metrics sync() { *

* **totalPlayTime:** Total time spent playing the video, represented in milliseconds. * * **field:** The grouping field value based on the groupBy parameter. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @return The async call builder @@ -141,7 +141,7 @@ public ListBreakdownValuesRequestBuilder listBreakdown() { *

* **totalPlayTime:** Total time spent playing the video, represented in milliseconds. * * **field:** The grouping field value based on the groupBy parameter. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @param request The request object containing all the parameters for the API call. @@ -190,7 +190,7 @@ public CompletableFuture listBreakdown(@Nonnull Lis *

* **totalPlayTime:** Total time spent playing the video, represented in milliseconds. * * **field:** The grouping field value based on the groupBy parameter. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @param request The request object containing all the parameters for the API call. @@ -236,7 +236,7 @@ public CompletableFuture listBreakdown(@Nonnull Lis * metric across the entire dataset for the given timespan. This value is not affected by specific * filters. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @return The async call builder @@ -274,7 +274,7 @@ public ListOverallValuesRequestBuilder listOverallValues() { * metric across the entire dataset for the given timespan. This value is not affected by specific * filters. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @param metricId Pass metric Id @@ -316,7 +316,7 @@ public CompletableFuture listOverallValues(@Nonnull L * metric across the entire dataset for the given timespan. This value is not affected by specific * filters. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @param metricId Pass metric Id @@ -458,7 +458,7 @@ public CompletableFuture getTimeseries(@Nonnull GetTi * selected dimensions. * *

Related guide: Compare metrics in + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#compare-metrics">Compare metrics in * dashboard * * @return The async call builder @@ -497,7 +497,7 @@ public ListComparisonValuesRequestBuilder listComparison() { * selected dimensions. * *

Related guide: Compare metrics in + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#compare-metrics">Compare metrics in * dashboard * * @return {@code CompletableFuture} - The async response @@ -538,7 +538,7 @@ public CompletableFuture listComparisonDirect() { * selected dimensions. * *

Related guide: Compare metrics in + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#compare-metrics">Compare metrics in * dashboard * * @param timespan This parameter specifies the time span between which the video views list must be retrieved by. You can provide either from and to unix epoch timestamps or time duration. The scope of duration is between 60 minutes to 30 days. diff --git a/src/main/java/io/fastpix/sdk/AsyncPlaylists.java b/src/main/java/io/fastpix/sdk/AsyncPlaylists.java index 02be7f4..d683f64 100644 --- a/src/main/java/io/fastpix/sdk/AsyncPlaylists.java +++ b/src/main/java/io/fastpix/sdk/AsyncPlaylists.java @@ -69,7 +69,7 @@ public Playlists sync() { * - **Smart:** Auto-populates the playlist at creation time based on the filter criteria (for example, * a video creation date range) that you provide in the request. * - *

For more details, see Create and + *

For more details, see Create and * manage playlist. * *

#### How it works @@ -102,7 +102,7 @@ public CreateAPlaylistRequestBuilder create() { * - **Smart:** Auto-populates the playlist at creation time based on the filter criteria (for example, * a video creation date range) that you provide in the request. * - *

For more details, see Create and + *

For more details, see Create and * manage playlist. * *

#### How it works @@ -136,7 +136,7 @@ public CompletableFuture create(@Nonnull CreatePlaylist * - **Smart:** Auto-populates the playlist at creation time based on the filter criteria (for example, * a video creation date range) that you provide in the request. * - *

For more details, see Create and + *

For more details, see Create and * manage playlist. * *

#### How it works diff --git a/src/main/java/io/fastpix/sdk/AsyncSimulcastStream.java b/src/main/java/io/fastpix/sdk/AsyncSimulcastStream.java index 5677339..7f4cf01 100644 --- a/src/main/java/io/fastpix/sdk/AsyncSimulcastStream.java +++ b/src/main/java/io/fastpix/sdk/AsyncSimulcastStream.java @@ -58,7 +58,7 @@ public SimulcastStream sync() { * YouTube and Facebook Live. They first create the primary live stream in FastPix, ensuring it's in * the idle state. Then, they use the API to create a simulcast target for YouTube. * - *

Related guide: Simulcast to + *

Related guide: Simulcast to * 3rd party platforms * * @return The async call builder @@ -91,7 +91,7 @@ public CreateSimulcastOfStreamRequestBuilder create() { * YouTube and Facebook Live. They first create the primary live stream in FastPix, ensuring it's in * the idle state. Then, they use the API to create a simulcast target for YouTube. * - *

Related guide: Simulcast to + *

Related guide: Simulcast to * 3rd party platforms * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. @@ -126,7 +126,7 @@ public CompletableFuture create(@Nonnull String * YouTube and Facebook Live. They first create the primary live stream in FastPix, ensuring it's in * the idle state. Then, they use the API to create a simulcast target for YouTube. * - *

Related guide: Simulcast to + *

Related guide: Simulcast to * 3rd party platforms * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. diff --git a/src/main/java/io/fastpix/sdk/AsyncSimulcastStreams.java b/src/main/java/io/fastpix/sdk/AsyncSimulcastStreams.java index f51bca5..7053b76 100644 --- a/src/main/java/io/fastpix/sdk/AsyncSimulcastStreams.java +++ b/src/main/java/io/fastpix/sdk/AsyncSimulcastStreams.java @@ -46,7 +46,7 @@ public SimulcastStreams sync() { * resume streaming to the same platform. * *

Webhook event: video.live_stream.simulcast_target.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetdeleted">video.live_stream.simulcast_target.deleted * *

#### Example * A broadcaster may need to stop simulcasting to one platform while keeping the stream active on @@ -71,7 +71,7 @@ public DeleteSimulcastOfStreamRequestBuilder delete() { * resume streaming to the same platform. * *

Webhook event: video.live_stream.simulcast_target.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetdeleted">video.live_stream.simulcast_target.deleted * *

#### Example * A broadcaster may need to stop simulcasting to one platform while keeping the stream active on @@ -98,7 +98,7 @@ public CompletableFuture delete(@Nonnull String * resume streaming to the same platform. * *

Webhook event: video.live_stream.simulcast_target.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetdeleted">video.live_stream.simulcast_target.deleted * *

#### Example * A broadcaster may need to stop simulcasting to one platform while keeping the stream active on diff --git a/src/main/java/io/fastpix/sdk/AsyncSimulcasts.java b/src/main/java/io/fastpix/sdk/AsyncSimulcasts.java index 26de59e..b50b977 100644 --- a/src/main/java/io/fastpix/sdk/AsyncSimulcasts.java +++ b/src/main/java/io/fastpix/sdk/AsyncSimulcasts.java @@ -42,7 +42,7 @@ public Simulcasts sync() { * disabled, the simulcast can no longer be modified. * *

Webhook event: video.live_stream.simulcast_target.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetupdated">video.live_stream.simulcast_target.updated * *

#### Example * When a `PATCH` request is made to this endpoint, the API updates the status of the simulcast. This @@ -63,7 +63,7 @@ public UpdateSpecificSimulcastOfStreamRequestBuilder update() { * disabled, the simulcast can no longer be modified. * *

Webhook event: video.live_stream.simulcast_target.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetupdated">video.live_stream.simulcast_target.updated * *

#### Example * When a `PATCH` request is made to this endpoint, the API updates the status of the simulcast. This @@ -91,7 +91,7 @@ public CompletableFuture update( * disabled, the simulcast can no longer be modified. * *

Webhook event: video.live_stream.simulcast_target.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetupdated">video.live_stream.simulcast_target.updated * *

#### Example * When a `PATCH` request is made to this endpoint, the API updates the status of the simulcast. This diff --git a/src/main/java/io/fastpix/sdk/AsyncStreams.java b/src/main/java/io/fastpix/sdk/AsyncStreams.java index bf2413d..7e28b7c 100644 --- a/src/main/java/io/fastpix/sdk/AsyncStreams.java +++ b/src/main/java/io/fastpix/sdk/AsyncStreams.java @@ -41,8 +41,8 @@ public Streams sync() { /** * Create a new stream * - *

Creates a new RTMPS or SRT live stream in FastPix. When + *

Creates a new RTMPS or SRT live stream in FastPix. When * you create a stream, FastPix generates a unique `streamKey` and `srtSecret` that you can use with * broadcasting software such as OBS to connect to FastPix RTMPS or SRT servers. Use SRT for live * streaming in unstable network conditions, as it provides error correction and encryption for a more @@ -63,7 +63,7 @@ public Streams sync() { * *

3. After the live stream is created, FastPix sends a `POST` request to your specified webhook * endpoint with the event video.live_stream.created. + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamcreated">video.live_stream.created. * *

**Example:** * @@ -71,7 +71,7 @@ public Streams sync() { * The API creates a new stream, provides the necessary stream key, and sets it to "private" so that * only specific viewers can access it. * - *

Related guide: How to live stream + *

Related guide: How to live stream * * @return The async call builder */ @@ -82,8 +82,8 @@ public CreateNewStreamRequestBuilder create() { /** * Create a new stream * - *

Creates a new RTMPS or SRT live stream in FastPix. When + *

Creates a new RTMPS or SRT live stream in FastPix. When * you create a stream, FastPix generates a unique `streamKey` and `srtSecret` that you can use with * broadcasting software such as OBS to connect to FastPix RTMPS or SRT servers. Use SRT for live * streaming in unstable network conditions, as it provides error correction and encryption for a more @@ -104,7 +104,7 @@ public CreateNewStreamRequestBuilder create() { * *

3. After the live stream is created, FastPix sends a `POST` request to your specified webhook * endpoint with the event video.live_stream.created. + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamcreated">video.live_stream.created. * *

**Example:** * @@ -112,7 +112,7 @@ public CreateNewStreamRequestBuilder create() { * The API creates a new stream, provides the necessary stream key, and sets it to "private" so that * only specific viewers can access it. * - *

Related guide: How to live stream + *

Related guide: How to live stream * * @param request The request object containing all the parameters for the API call. * @return {@code CompletableFuture} - The async response @@ -124,8 +124,8 @@ public CompletableFuture create(@Nonnull CreateLiveStre /** * Create a new stream * - *

Creates a new RTMPS or SRT live stream in FastPix. When + *

Creates a new RTMPS or SRT live stream in FastPix. When * you create a stream, FastPix generates a unique `streamKey` and `srtSecret` that you can use with * broadcasting software such as OBS to connect to FastPix RTMPS or SRT servers. Use SRT for live * streaming in unstable network conditions, as it provides error correction and encryption for a more @@ -146,7 +146,7 @@ public CompletableFuture create(@Nonnull CreateLiveStre * *

3. After the live stream is created, FastPix sends a `POST` request to your specified webhook * endpoint with the event video.live_stream.created. + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamcreated">video.live_stream.created. * *

**Example:** * @@ -154,7 +154,7 @@ public CompletableFuture create(@Nonnull CreateLiveStre * The API creates a new stream, provides the necessary stream key, and sets it to "private" so that * only specific viewers can access it. * - *

Related guide: How to live stream + *

Related guide: How to live stream * * @param request The request object containing all the parameters for the API call. * @param options additional options diff --git a/src/main/java/io/fastpix/sdk/AsyncVideos.java b/src/main/java/io/fastpix/sdk/AsyncVideos.java index a11a665..40bd0c6 100644 --- a/src/main/java/io/fastpix/sdk/AsyncVideos.java +++ b/src/main/java/io/fastpix/sdk/AsyncVideos.java @@ -94,7 +94,7 @@ public Videos sync() { * as top plays or final match highlights. You can use this endpoint to fetch all clips generated from * that livestream, display them in your dashboard, or use them for post-event editing and sharing. * - *

Related guide: Instant live + *

Related guide: Instant live * clipping * * @return The async call builder @@ -124,7 +124,7 @@ public ListLiveClipsRequestBuilder listLiveClips() { * as top plays or final match highlights. You can use this endpoint to fetch all clips generated from * that livestream, display them in your dashboard, or use them for post-event editing and sharing. * - *

Related guide: Instant live + *

Related guide: Instant live * clipping * * @param livestreamId The stream Id is unique identifier assigned to the live stream. @@ -157,7 +157,7 @@ public CompletableFuture listLiveClips(@Nonnull String li * as top plays or final match highlights. You can use this endpoint to fetch all clips generated from * that livestream, display them in your dashboard, or use them for post-event editing and sharing. * - *

Related guide: Instant live + *

Related guide: Instant live * clipping * * @param livestreamId The stream Id is unique identifier assigned to the live stream. @@ -200,7 +200,7 @@ public CompletableFuture listLiveClips( *

3. The response returns the updated media data, confirming the changes. * *

4. Monitor the video.media.updated webhook + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated webhook * event to track the update status in your system. * *

#### Example @@ -230,7 +230,7 @@ public UpdatedMediaRequestBuilder updateMedia() { *

3. The response returns the updated media data, confirming the changes. * *

4. Monitor the video.media.updated webhook + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated webhook * event to track the update status in your system. * *

#### Example @@ -262,7 +262,7 @@ public CompletableFuture updateMedia(@Nonnull String media *

3. The response returns the updated media data, confirming the changes. * *

4. Monitor the video.media.updated webhook + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated webhook * event to track the update status in your system. * *

#### Example @@ -304,7 +304,7 @@ public CompletableFuture updateMedia( *

Once deleted, the media can’t be retrieved or played back. * *

3. Monitor the following webhook event: video.media.deleted + * href="https://fastpix.com/docs/webhooks/media-events#videomediadeleted">video.media.deleted * *

#### Example * A user on a video-sharing platform decides to remove an old video from their profile, or suppose @@ -335,7 +335,7 @@ public DeleteMediaRequestBuilder delete() { *

Once deleted, the media can’t be retrieved or played back. * *

3. Monitor the following webhook event: video.media.deleted + * href="https://fastpix.com/docs/webhooks/media-events#videomediadeleted">video.media.deleted * *

#### Example * A user on a video-sharing platform decides to remove an old video from their profile, or suppose @@ -367,7 +367,7 @@ public CompletableFuture delete(@Nonnull String mediaId) { *

Once deleted, the media can’t be retrieved or played back. * *

3. Monitor the following webhook event: video.media.deleted + * href="https://fastpix.com/docs/webhooks/media-events#videomediadeleted">video.media.deleted * *

#### Example * A user on a video-sharing platform decides to remove an old video from their profile, or suppose @@ -406,7 +406,7 @@ public CompletableFuture delete(@Nonnull String mediaId, @N *

#### Webhook Events * *

Once the upload is cancelled, you must receive the webhook event video.media.upload.cancelled. + * href="https://fastpix.com/docs/webhooks/media-events#videomediauploadcancelled">video.media.upload.cancelled. * *

#### Example * @@ -435,7 +435,7 @@ public CancelUploadRequestBuilder cancelUpload() { *

#### Webhook Events * *

Once the upload is cancelled, you must receive the webhook event video.media.upload.cancelled. + * href="https://fastpix.com/docs/webhooks/media-events#videomediauploadcancelled">video.media.upload.cancelled. * *

#### Example * @@ -465,7 +465,7 @@ public CompletableFuture cancelUpload(@Nonnull String uplo *

#### Webhook Events * *

Once the upload is cancelled, you must receive the webhook event video.media.upload.cancelled. + * href="https://fastpix.com/docs/webhooks/media-events#videomediauploadcancelled">video.media.upload.cancelled. * *

#### Example * @@ -491,8 +491,8 @@ public CompletableFuture cancelUpload(@Nonnull String uplo * Update audio / subtitle track * *

This endpoint allows you to update an existing audio or subtitle track associated with a media file. - * When updating a track, you must provide the new track `url`, `languageName`, and `languageCode`, - * ensuring all three parameters are included in the request. + * When updating a track, you must provide the new `languageName` and `languageCode`, ensuring both + * parameters are included in the request. You can optionally provide a `title` for the track. * *

#### How it works * @@ -508,13 +508,13 @@ public CompletableFuture cancelUpload(@Nonnull String uplo *

After updating a track, your system must receive webhook notifications: * *

1. After successfully updating a track, your system must receive the webhook event video.media.track.updated. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackupdated">video.media.track.updated. * *

2. Once the new track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Once the media file is updated with the new track details, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -525,8 +525,8 @@ public CompletableFuture cancelUpload(@Nonnull String uplo *

- The original track file has errors and needs correction. * - You want to improve subtitle translations or replace an audio track with a better-quality version. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @return The async call builder */ @@ -538,8 +538,8 @@ public UpdateMediaTrackRequestBuilder updateTrack() { * Update audio / subtitle track * *

This endpoint allows you to update an existing audio or subtitle track associated with a media file. - * When updating a track, you must provide the new track `url`, `languageName`, and `languageCode`, - * ensuring all three parameters are included in the request. + * When updating a track, you must provide the new `languageName` and `languageCode`, ensuring both + * parameters are included in the request. You can optionally provide a `title` for the track. * *

#### How it works * @@ -555,13 +555,13 @@ public UpdateMediaTrackRequestBuilder updateTrack() { *

After updating a track, your system must receive webhook notifications: * *

1. After successfully updating a track, your system must receive the webhook event video.media.track.updated. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackupdated">video.media.track.updated. * *

2. Once the new track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Once the media file is updated with the new track details, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -572,8 +572,8 @@ public UpdateMediaTrackRequestBuilder updateTrack() { *

- The original track file has errors and needs correction. * - You want to improve subtitle translations or replace an audio track with a better-quality version. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param trackId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -592,8 +592,8 @@ public CompletableFuture updateTrack( * Update audio / subtitle track * *

This endpoint allows you to update an existing audio or subtitle track associated with a media file. - * When updating a track, you must provide the new track `url`, `languageName`, and `languageCode`, - * ensuring all three parameters are included in the request. + * When updating a track, you must provide the new `languageName` and `languageCode`, ensuring both + * parameters are included in the request. You can optionally provide a `title` for the track. * *

#### How it works * @@ -609,13 +609,13 @@ public CompletableFuture updateTrack( *

After updating a track, your system must receive webhook notifications: * *

1. After successfully updating a track, your system must receive the webhook event video.media.track.updated. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackupdated">video.media.track.updated. * *

2. Once the new track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Once the media file is updated with the new track details, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -626,8 +626,8 @@ public CompletableFuture updateTrack( *

- The original track file has errors and needs correction. * - You want to improve subtitle translations or replace an audio track with a better-quality version. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param trackId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -660,13 +660,13 @@ public CompletableFuture updateTrack( * 3. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.chapters.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaichaptersready">video.mediaAI.chapters.ready * webhook event to track and notify about the chapters generation. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * chapters without re-uploading the entire video. * - *

Related guide: Video chapters + *

Related guide: Video chapters * * @return The async call builder */ @@ -686,13 +686,13 @@ public UpdateMediaChaptersRequestBuilder updateChapters() { * 3. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.chapters.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaichaptersready">video.mediaAI.chapters.ready * webhook event to track and notify about the chapters generation. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * chapters without re-uploading the entire video. * - *

Related guide: Video chapters + *

Related guide: Video chapters * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -715,13 +715,13 @@ public CompletableFuture updateChapters(@Nonnull St * 3. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.chapters.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaichaptersready">video.mediaAI.chapters.ready * webhook event to track and notify about the chapters generation. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * chapters without re-uploading the entire video. * - *

Related guide: Video chapters + *

Related guide: Video chapters * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -771,7 +771,7 @@ public CompletableFuture updateChapters( *

#### Webhook events * *

- video.media.mp4Support.ready + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediamp4supportready">video.media.mp4Support.ready * – Triggered when the MP4 support setting is successfully updated. * *

#### Example @@ -785,7 +785,7 @@ public CompletableFuture updateChapters( * setting "mp4Support": "audioOnly,capped_4k", both options are enabled. Users can download the MP4 * video and also stream just the audio version of the media. * - *

Related guide: Use MP4 + *

Related guide: Use MP4 * support for offline viewing * * @return The async call builder @@ -823,7 +823,7 @@ public UpdatedMp4SupportRequestBuilder updateMp4Support() { *

#### Webhook events * *

- video.media.mp4Support.ready + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediamp4supportready">video.media.mp4Support.ready * – Triggered when the MP4 support setting is successfully updated. * *

#### Example @@ -837,7 +837,7 @@ public UpdatedMp4SupportRequestBuilder updateMp4Support() { * setting "mp4Support": "audioOnly,capped_4k", both options are enabled. Users can download the MP4 * video and also stream just the audio version of the media. * - *

Related guide: Use MP4 + *

Related guide: Use MP4 * support for offline viewing * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -878,7 +878,7 @@ public CompletableFuture updateMp4Support(@Nonnull St *

#### Webhook events * *

- video.media.mp4Support.ready + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediamp4supportready">video.media.mp4Support.ready * – Triggered when the MP4 support setting is successfully updated. * *

#### Example @@ -892,7 +892,7 @@ public CompletableFuture updateMp4Support(@Nonnull St * setting "mp4Support": "audioOnly,capped_4k", both options are enabled. Users can download the MP4 * video and also stream just the audio version of the media. * - *

Related guide: Use MP4 + *

Related guide: Use MP4 * support for offline viewing * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -1054,7 +1054,7 @@ public CompletableFuture listUploads( * call this API with the sourceMediaId. The response provides a list of all associated clips, allowing * you to manage, edit, or repurpose them as needed. * - *

Related guide: Create clips + *

Related guide: Create clips * from existing media * * @return The async call builder @@ -1089,7 +1089,7 @@ public GetMediaClipsRequestBuilder getMediaClips() { * call this API with the sourceMediaId. The response provides a list of all associated clips, allowing * you to manage, edit, or repurpose them as needed. * - *

Related guide: Create clips + *

Related guide: Create clips * from existing media * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -1127,7 +1127,7 @@ public CompletableFuture getMediaClips(@Nonnull String me * call this API with the sourceMediaId. The response provides a list of all associated clips, allowing * you to manage, edit, or repurpose them as needed. * - *

Related guide: Create clips + *

Related guide: Create clips * from existing media * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. diff --git a/src/main/java/io/fastpix/sdk/AsyncViews.java b/src/main/java/io/fastpix/sdk/AsyncViews.java index 7863f60..6464ddc 100644 --- a/src/main/java/io/fastpix/sdk/AsyncViews.java +++ b/src/main/java/io/fastpix/sdk/AsyncViews.java @@ -81,8 +81,8 @@ public Views sync() { * information helps optimize content for widely used platforms and troubleshoot playback issues on * less common devices. * - *

Related guide: Audience metrics, Views dashboard + *

Related guide: Audience metrics, Views dashboard * * @return The async call builder */ @@ -127,8 +127,8 @@ public ListVideoViewsRequestBuilder list() { * information helps optimize content for widely used platforms and troubleshoot playback issues on * less common devices. * - *

Related guide: Audience metrics, Views dashboard + *

Related guide: Audience metrics, Views dashboard * * @param request The request object containing all the parameters for the API call. * @return {@code CompletableFuture} - The async response @@ -174,8 +174,8 @@ public CompletableFuture list(@Nonnull ListVideoViewsReq * information helps optimize content for widely used platforms and troubleshoot playback issues on * less common devices. * - *

Related guide: Audience metrics, Views dashboard + *

Related guide: Audience metrics, Views dashboard * * @param request The request object containing all the parameters for the API call. * @param options additional options @@ -208,7 +208,7 @@ public CompletableFuture list(@Nonnull ListVideoViewsReq * playback errors, and session length. This data allows the developer to pinpoint issues (such as poor * connectivity or a browser-specific problem) and take steps to improve the user experience. * - *

Related guide: What Video + *

Related guide: What Video * Data do we capture? * * @return The async call builder @@ -234,7 +234,7 @@ public GetVideoViewDetailsRequestBuilder getDetails() { * playback errors, and session length. This data allows the developer to pinpoint issues (such as poor * connectivity or a browser-specific problem) and take steps to improve the user experience. * - *

Related guide: What Video + *

Related guide: What Video * Data do we capture? * * @param viewId Pass View Id @@ -261,7 +261,7 @@ public CompletableFuture getDetails(@Nonnull String * playback errors, and session length. This data allows the developer to pinpoint issues (such as poor * connectivity or a browser-specific problem) and take steps to improve the user experience. * - *

Related guide: What Video + *

Related guide: What Video * Data do we capture? * * @param viewId Pass View Id @@ -300,7 +300,7 @@ public CompletableFuture getDetails(@Nonnull String * *

5. You receive a response containing the list of top video views matching the specified criteria. * - *

Related guide: Get + *

Related guide: Get * top-performing content * * @return The async call builder @@ -330,7 +330,7 @@ public ListByTopContentRequestBuilder listByTopContent() { * *

5. You receive a response containing the list of top video views matching the specified criteria. * - *

Related guide: Get + *

Related guide: Get * top-performing content * * @return {@code CompletableFuture} - The async response @@ -362,7 +362,7 @@ public CompletableFuture listByTopContentDirect() { * *

5. You receive a response containing the list of top video views matching the specified criteria. * - *

Related guide: Get + *

Related guide: Get * top-performing content * * @param timespan This parameter specifies the time span between which the video views list must be retrieved by. You can provide either from and to unix epoch timestamps or time duration. The scope of duration is between 60 minutes to 30 days. diff --git a/src/main/java/io/fastpix/sdk/Dimensions.java b/src/main/java/io/fastpix/sdk/Dimensions.java index 6428c31..41cc343 100644 --- a/src/main/java/io/fastpix/sdk/Dimensions.java +++ b/src/main/java/io/fastpix/sdk/Dimensions.java @@ -51,8 +51,8 @@ public AsyncDimensions async() { * filter results based on specific criteria. For example, you can filter views by `browser_name`, * `os_name`, `device_type`, and more. * - *

Related guides: What Video - * Data do we capture? , Use + *

Related guides: What Video + * Data do we capture? , Use * passable dimensions * * @return The call builder @@ -73,8 +73,8 @@ public ListDimensionsRequestBuilder list() { * filter results based on specific criteria. For example, you can filter views by `browser_name`, * `os_name`, `device_type`, and more. * - *

Related guides: What Video - * Data do we capture? , Use + *

Related guides: What Video + * Data do we capture? , Use * passable dimensions * * @return The response from the API call @@ -96,8 +96,8 @@ public ListDimensionsResponse listDirect() { * filter results based on specific criteria. For example, you can filter views by `browser_name`, * `os_name`, `device_type`, and more. * - *

Related guides: What Video - * Data do we capture? , Use + *

Related guides: What Video + * Data do we capture? , Use * passable dimensions * * @param options additional options @@ -117,7 +117,7 @@ public ListDimensionsResponse list(@Nullable Options options) { * number of video views for each value. For example, it can list all `browser_name` (dimension) and * show how many views occurred for all available browsers like Chrome, Safari (filter values). * - *

In order to use the Custom + *

In order to use the Custom * Dimensions, you must enable them in the dashboard under settings option based on the plan you * have opted for. * @@ -129,7 +129,7 @@ public ListDimensionsResponse list(@Nullable Options options) { * optimizations or troubleshooting is necessary. * *

Related guide: Filters and + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#filters-and-timeframes">Filters and * timespan * * @return The call builder @@ -145,7 +145,7 @@ public ListFilterValuesForDimensionRequestBuilder listFilterValues() { * number of video views for each value. For example, it can list all `browser_name` (dimension) and * show how many views occurred for all available browsers like Chrome, Safari (filter values). * - *

In order to use the Custom + *

In order to use the Custom * Dimensions, you must enable them in the dashboard under settings option based on the plan you * have opted for. * @@ -157,7 +157,7 @@ public ListFilterValuesForDimensionRequestBuilder listFilterValues() { * optimizations or troubleshooting is necessary. * *

Related guide: Filters and + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#filters-and-timeframes">Filters and * timespan * * @param dimensionsId Pass Dimensions Id @@ -177,7 +177,7 @@ public ListFilterValuesForDimensionResponse listFilterValues(@Nonnull Dimensions * number of video views for each value. For example, it can list all `browser_name` (dimension) and * show how many views occurred for all available browsers like Chrome, Safari (filter values). * - *

In order to use the Custom + *

In order to use the Custom * Dimensions, you must enable them in the dashboard under settings option based on the plan you * have opted for. * @@ -189,7 +189,7 @@ public ListFilterValuesForDimensionResponse listFilterValues(@Nonnull Dimensions * optimizations or troubleshooting is necessary. * *

Related guide: Filters and + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#filters-and-timeframes">Filters and * timespan * * @param dimensionsId Pass Dimensions Id diff --git a/src/main/java/io/fastpix/sdk/Errors.java b/src/main/java/io/fastpix/sdk/Errors.java index fcd1530..bf63f91 100644 --- a/src/main/java/io/fastpix/sdk/Errors.java +++ b/src/main/java/io/fastpix/sdk/Errors.java @@ -53,7 +53,7 @@ public AsyncErrors async() { * * **count:** The number of occurrences of the specific error. * * **code:** The error code associated with the specific error. * - *

Related guide: Troubleshoot errors + *

Related guide: Troubleshoot errors * * @return The call builder */ @@ -81,7 +81,7 @@ public ListErrorsRequestBuilder list() { * * **count:** The number of occurrences of the specific error. * * **code:** The error code associated with the specific error. * - *

Related guide: Troubleshoot errors + *

Related guide: Troubleshoot errors * * @return The response from the API call * @throws RuntimeException subclass if the API call fails @@ -111,7 +111,7 @@ public ListErrorsResponse listDirect() { * * **count:** The number of occurrences of the specific error. * * **code:** The error code associated with the specific error. * - *

Related guide: Troubleshoot errors + *

Related guide: Troubleshoot errors * * @param timespan This parameter specifies the time span between which the video views list must be retrieved by. You can provide either from and to unix epoch timestamps or time duration. The scope of duration is between 60 minutes to 30 days. * diff --git a/src/main/java/io/fastpix/sdk/InVideoAiFeatures.java b/src/main/java/io/fastpix/sdk/InVideoAiFeatures.java index da78063..a069911 100644 --- a/src/main/java/io/fastpix/sdk/InVideoAiFeatures.java +++ b/src/main/java/io/fastpix/sdk/InVideoAiFeatures.java @@ -56,13 +56,13 @@ public AsyncInVideoAiFeatures async() { * 3. Receive a response containing the updated media data, confirming the changes made. * *

You can use the video.mediaAI.named-entities.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaainamedentitiesready">video.mediaAI.named-entities.ready * webhook event to track and notify about the named entities extraction. * *

**Use case:** If a user uploads a video and later decides to enable named entity extraction without * re-uploading the entire video. * - *

Related guide: Named entities + *

Related guide: Named entities * * @return The call builder */ @@ -89,13 +89,13 @@ public UpdateMediaNamedEntitiesRequestBuilder generateNamedEntities() { * 3. Receive a response containing the updated media data, confirming the changes made. * *

You can use the video.mediaAI.named-entities.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaainamedentitiesready">video.mediaAI.named-entities.ready * webhook event to track and notify about the named entities extraction. * *

**Use case:** If a user uploads a video and later decides to enable named entity extraction without * re-uploading the entire video. * - *

Related guide: Named entities + *

Related guide: Named entities * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -126,13 +126,13 @@ public UpdateMediaNamedEntitiesResponse generateNamedEntities(@Nonnull String me * 3. Receive a response containing the updated media data, confirming the changes made. * *

You can use the video.mediaAI.named-entities.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaainamedentitiesready">video.mediaAI.named-entities.ready * webhook event to track and notify about the named entities extraction. * *

**Use case:** If a user uploads a video and later decides to enable named entity extraction without * re-uploading the entire video. * - *

Related guide: Named entities + *

Related guide: Named entities * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -164,14 +164,14 @@ public UpdateMediaNamedEntitiesResponse generateNamedEntities( * 4. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.moderation.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaimoderationready">video.mediaAI.moderation.ready * webhook event to track and notify about the detected moderation results. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * moderation detection without the need to re-upload it. * *

Related guide: Moderate + * href="https://fastpix.com/docs/in-video-ai/detect-nsfw-content-and-profanity">Moderate * NSFW & Profanity * * @return The call builder @@ -194,14 +194,14 @@ public UpdateMediaModerationRequestBuilder updateModeration() { * 4. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.moderation.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaimoderationready">video.mediaAI.moderation.ready * webhook event to track and notify about the detected moderation results. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * moderation detection without the need to re-upload it. * *

Related guide: Moderate + * href="https://fastpix.com/docs/in-video-ai/detect-nsfw-content-and-profanity">Moderate * NSFW & Profanity * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -228,14 +228,14 @@ public UpdateMediaModerationResponse updateModeration(@Nonnull String mediaId, @ * 4. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.moderation.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaimoderationready">video.mediaAI.moderation.ready * webhook event to track and notify about the detected moderation results. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * moderation detection without the need to re-upload it. * *

Related guide: Moderate + * href="https://fastpix.com/docs/in-video-ai/detect-nsfw-content-and-profanity">Moderate * NSFW & Profanity * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. diff --git a/src/main/java/io/fastpix/sdk/InputVideos.java b/src/main/java/io/fastpix/sdk/InputVideos.java index 2362870..66f7659 100644 --- a/src/main/java/io/fastpix/sdk/InputVideos.java +++ b/src/main/java/io/fastpix/sdk/InputVideos.java @@ -80,11 +80,11 @@ public AsyncInputVideos async() { *

FastPix uses webhooks to tell your application about things that happen in the background, outside * of the API regular request flow. For instance, after the media file is created (but not yet * processed or encoded), FastPix sends a `POST` request to your specified webhook URL with the event - * video.media.created. + * video.media.created. * *

After processing completes, monitor the events video.media.ready and video.media.failed to track + * href="https://fastpix.com/docs/webhooks/media-events#videomediaready">video.media.ready and video.media.failed to track * the status of the media file. * *

Related guide: Upload videos from @@ -141,11 +141,11 @@ public CreateMediaRequestBuilder create() { *

FastPix uses webhooks to tell your application about things that happen in the background, outside * of the API regular request flow. For instance, after the media file is created (but not yet * processed or encoded), FastPix sends a `POST` request to your specified webhook URL with the event - * video.media.created. + * video.media.created. * *

After processing completes, monitor the events video.media.ready and video.media.failed to track + * href="https://fastpix.com/docs/webhooks/media-events#videomediaready">video.media.ready and video.media.failed to track * the status of the media file. * *

Related guide: Upload videos from @@ -204,11 +204,11 @@ public CreateMediaResponse create(@Nonnull CreateMediaRequest request) { *

FastPix uses webhooks to tell your application about things that happen in the background, outside * of the API regular request flow. For instance, after the media file is created (but not yet * processed or encoded), FastPix sends a `POST` request to your specified webhook URL with the event - * video.media.created. + * video.media.created. * *

After processing completes, monitor the events video.media.ready and video.media.failed to track + * href="https://fastpix.com/docs/webhooks/media-events#videomediaready">video.media.ready and video.media.failed to track * the status of the media file. * *

Related guide: Upload videos from @@ -247,7 +247,7 @@ public CreateMediaResponse create(@Nonnull CreateMediaRequest request, @Nullable * file from your device and uploads it to the FastPix platform. * *

(Refer to Step 3: + * href="https://fastpix.com/docs/upload-videos/upload-videos-from-device#initiate-the-upload-session-web-only">Step 3: * Initiate the upload for complete instructions.) * *

4. Once uploaded, the media undergoes processing and is assigned a unique ID for tracking. Retain @@ -299,7 +299,7 @@ public DirectUploadVideoMediaRequestBuilder upload() { * file from your device and uploads it to the FastPix platform. * *

(Refer to Step 3: + * href="https://fastpix.com/docs/upload-videos/upload-videos-from-device#initiate-the-upload-session-web-only">Step 3: * Initiate the upload for complete instructions.) * *

4. Once uploaded, the media undergoes processing and is assigned a unique ID for tracking. Retain @@ -352,7 +352,7 @@ public DirectUploadVideoMediaResponse uploadDirect() { * file from your device and uploads it to the FastPix platform. * *

(Refer to Step 3: + * href="https://fastpix.com/docs/upload-videos/upload-videos-from-device#initiate-the-upload-session-web-only">Step 3: * Initiate the upload for complete instructions.) * *

4. Once uploaded, the media undergoes processing and is assigned a unique ID for tracking. Retain diff --git a/src/main/java/io/fastpix/sdk/LiveStream.java b/src/main/java/io/fastpix/sdk/LiveStream.java index 8532dae..9131c3c 100644 --- a/src/main/java/io/fastpix/sdk/LiveStream.java +++ b/src/main/java/io/fastpix/sdk/LiveStream.java @@ -52,7 +52,7 @@ public AsyncLiveStream async() { * *

Provide the `streamId` in the request to terminate active connections and remove the stream from the * workspace. You can further look for video.live_stream.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamdeleted">video.live_stream.deleted * webhook to notify your system about the status. * *

#### Example @@ -60,7 +60,7 @@ public AsyncLiveStream async() { *

For an online concert platform, a trial stream was mistakenly made public. The event manager deletes * the stream before the concert begins to avoid confusion among viewers. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @return The call builder */ @@ -77,7 +77,7 @@ public DeleteLiveStreamRequestBuilder delete() { * *

Provide the `streamId` in the request to terminate active connections and remove the stream from the * workspace. You can further look for video.live_stream.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamdeleted">video.live_stream.deleted * webhook to notify your system about the status. * *

#### Example @@ -85,7 +85,7 @@ public DeleteLiveStreamRequestBuilder delete() { *

For an online concert platform, a trial stream was mistakenly made public. The event manager deletes * the stream before the concert begins to avoid confusion among viewers. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @return The response from the API call @@ -104,7 +104,7 @@ public DeleteLiveStreamResponse delete(@Nonnull String streamId) { * *

Provide the `streamId` in the request to terminate active connections and remove the stream from the * workspace. You can further look for video.live_stream.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamdeleted">video.live_stream.deleted * webhook to notify your system about the status. * *

#### Example @@ -112,7 +112,7 @@ public DeleteLiveStreamResponse delete(@Nonnull String streamId) { *

For an online concert platform, a trial stream was mistakenly made public. The event manager deletes * the stream before the concert begins to avoid confusion among viewers. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options @@ -143,7 +143,7 @@ public DeleteLiveStreamResponse delete(@Nonnull String streamId, @Nullable Optio *

A creator disables a livestream to pause it temporarily. Later, they decide to continue the session. * By calling this endpoint with the stream's ID, they can re-enable and restart the same livestream. * - *

Related guide Manage streams + *

Related guide Manage streams * * @return The call builder */ @@ -168,7 +168,7 @@ public EnableLiveStreamRequestBuilder enable() { *

A creator disables a livestream to pause it temporarily. Later, they decide to continue the session. * By calling this endpoint with the stream's ID, they can re-enable and restart the same livestream. * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @return The response from the API call @@ -195,7 +195,7 @@ public EnableLiveStreamResponse enable(@Nonnull String streamId) { *

A creator disables a livestream to pause it temporarily. Later, they decide to continue the session. * By calling this endpoint with the stream's ID, they can re-enable and restart the same livestream. * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options @@ -224,7 +224,7 @@ public EnableLiveStreamResponse enable(@Nonnull String streamId, @Nullable Optio * again. By calling this endpoint, the stream is transitioned to a `disabled` state, ensuring it's * permanently stopped (unless re-enabled on a paid plan). * - *

Related guide Manage streams + *

Related guide Manage streams * * @return The call builder */ @@ -247,7 +247,7 @@ public DisableLiveStreamRequestBuilder disable() { * again. By calling this endpoint, the stream is transitioned to a `disabled` state, ensuring it's * permanently stopped (unless re-enabled on a paid plan). * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @return The response from the API call @@ -272,7 +272,7 @@ public DisableLiveStreamResponse disable(@Nonnull String streamId) { * again. By calling this endpoint, the stream is transitioned to a `disabled` state, ensuring it's * permanently stopped (unless re-enabled on a paid plan). * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options @@ -303,7 +303,7 @@ public DisableLiveStreamResponse disable(@Nonnull String streamId, @Nullable Opt * streaming. This endpoint ensures the livestream status is changed from `active` to `idle`, * indicating it's officially completed. * - *

Related guide Manage streams + *

Related guide Manage streams * * @return The call builder */ @@ -328,7 +328,7 @@ public CompleteLiveStreamRequestBuilder complete() { * streaming. This endpoint ensures the livestream status is changed from `active` to `idle`, * indicating it's officially completed. * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @return The response from the API call @@ -355,7 +355,7 @@ public CompleteLiveStreamResponse complete(@Nonnull String streamId) { * streaming. This endpoint ensures the livestream status is changed from `active` to `idle`, * indicating it's officially completed. * - *

Related guide Manage streams + *

Related guide Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options diff --git a/src/main/java/io/fastpix/sdk/ManageLiveStream.java b/src/main/java/io/fastpix/sdk/ManageLiveStream.java index f39a61f..00510cb 100644 --- a/src/main/java/io/fastpix/sdk/ManageLiveStream.java +++ b/src/main/java/io/fastpix/sdk/ManageLiveStream.java @@ -47,7 +47,7 @@ public AsyncManageLiveStream async() { *

Suppose a news agency is broadcasting a live event and wants to track the configurations set for the * live stream while also checking the stream's status. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @return The call builder */ @@ -66,7 +66,7 @@ public GetLiveStreamByIdRequestBuilder get() { *

Suppose a news agency is broadcasting a live event and wants to track the configurations set for the * live stream while also checking the stream's status. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @return The response from the API call @@ -87,7 +87,7 @@ public GetLiveStreamByIdResponse get(@Nonnull String streamId) { *

Suppose a news agency is broadcasting a live event and wants to track the configurations set for the * live stream while also checking the stream's status. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId Upon creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options @@ -111,7 +111,7 @@ public GetLiveStreamByIdResponse get(@Nonnull String streamId, @Nullable Options * *

The updated stream parameters and the `streamId` needs to be shared in the request, and FastPix * returns the updated stream details. After the update, video.live_stream.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamupdated">video.live_stream.updated * webhook event notifies your system. * *

#### Example @@ -121,7 +121,7 @@ public GetLiveStreamByIdResponse get(@Nonnull String streamId, @Nullable Options * organizers need to update the stream title to reflect the next day"s session while keeping the same * stream ID for continuity. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @return The call builder */ @@ -139,7 +139,7 @@ public UpdateLiveStreamRequestBuilder update() { * *

The updated stream parameters and the `streamId` needs to be shared in the request, and FastPix * returns the updated stream details. After the update, video.live_stream.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamupdated">video.live_stream.updated * webhook event notifies your system. * *

#### Example @@ -149,7 +149,7 @@ public UpdateLiveStreamRequestBuilder update() { * organizers need to update the stream title to reflect the next day"s session while keeping the same * stream ID for continuity. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @param body @@ -170,7 +170,7 @@ public UpdateLiveStreamResponse update(@Nonnull String streamId, @Nonnull PatchL * *

The updated stream parameters and the `streamId` needs to be shared in the request, and FastPix * returns the updated stream details. After the update, video.live_stream.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamupdated">video.live_stream.updated * webhook event notifies your system. * *

#### Example @@ -180,7 +180,7 @@ public UpdateLiveStreamResponse update(@Nonnull String streamId, @Nonnull PatchL * organizers need to update the stream title to reflect the next day"s session while keeping the same * stream ID for continuity. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @param body diff --git a/src/main/java/io/fastpix/sdk/ManageLiveStreams.java b/src/main/java/io/fastpix/sdk/ManageLiveStreams.java index 8f0a560..e2a1c12 100644 --- a/src/main/java/io/fastpix/sdk/ManageLiveStreams.java +++ b/src/main/java/io/fastpix/sdk/ManageLiveStreams.java @@ -47,7 +47,7 @@ public AsyncManageLiveStreams async() { *

Suppose a content creator is hosting a live concert and wants to display the number of live viewers * on their dashboard. This endpoint can be queried to show up-to-date viewer statistics. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @return The call builder */ @@ -71,7 +71,7 @@ public GetLiveStreamViewerCountByIdRequestBuilder getViewerCount() { *

Suppose a content creator is hosting a live concert and wants to display the number of live viewers * on their dashboard. This endpoint can be queried to show up-to-date viewer statistics. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @return The response from the API call @@ -97,7 +97,7 @@ public GetLiveStreamViewerCountByIdResponse getViewerCount(@Nonnull String strea *

Suppose a content creator is hosting a live concert and wants to display the number of live viewers * on their dashboard. This endpoint can be queried to show up-to-date viewer statistics. * - *

Related guide: Manage streams + *

Related guide: Manage streams * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. * @param options additional options diff --git a/src/main/java/io/fastpix/sdk/ManageVideos.java b/src/main/java/io/fastpix/sdk/ManageVideos.java index 62eeb69..295ff42 100644 --- a/src/main/java/io/fastpix/sdk/ManageVideos.java +++ b/src/main/java/io/fastpix/sdk/ManageVideos.java @@ -265,13 +265,13 @@ public GetMediaResponse get(@Nonnull String mediaId, @Nullable Options options) *

#### Webhook events * *

1. After successfully adding a track, your system must receive the webhook event video.media.track.created. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackcreated">video.media.track.created. * *

2. Once the track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Finally, an update event video.media.updated must + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated must * notify your system about the media's updated status. * *

#### Example @@ -281,8 +281,8 @@ public GetMediaResponse get(@Nonnull String mediaId, @Nullable Options options) * in different languages, you can specify type: `subtitle` with the corresponding subtitle `url`, * `languageCode` and `languageName`. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @return The call builder */ @@ -309,13 +309,13 @@ public AddMediaTrackRequestBuilder addTrack() { *

#### Webhook events * *

1. After successfully adding a track, your system must receive the webhook event video.media.track.created. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackcreated">video.media.track.created. * *

2. Once the track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Finally, an update event video.media.updated must + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated must * notify your system about the media's updated status. * *

#### Example @@ -325,8 +325,8 @@ public AddMediaTrackRequestBuilder addTrack() { * in different languages, you can specify type: `subtitle` with the corresponding subtitle `url`, * `languageCode` and `languageName`. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param body @@ -356,13 +356,13 @@ public AddMediaTrackResponse addTrack(@Nonnull String mediaId, @Nonnull AddMedia *

#### Webhook events * *

1. After successfully adding a track, your system must receive the webhook event video.media.track.created. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackcreated">video.media.track.created. * *

2. Once the track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Finally, an update event video.media.updated must + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated must * notify your system about the media's updated status. * *

#### Example @@ -372,8 +372,8 @@ public AddMediaTrackResponse addTrack(@Nonnull String mediaId, @Nonnull AddMedia * in different languages, you can specify type: `subtitle` with the corresponding subtitle `url`, * `languageCode` and `languageName`. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param body @@ -409,7 +409,7 @@ public AddMediaTrackResponse addTrack( * **video.media.track.deleted**. * *

2. Once the media file is updated to reflect the track removal, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -421,8 +421,8 @@ public AddMediaTrackResponse addTrack( * - The content owner requests the removal of a specific subtitle or audio track. * - A new version of the track gets uploaded to replace the existing one. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @return The call builder */ @@ -449,7 +449,7 @@ public DeleteMediaTrackRequestBuilder deleteTrack() { * **video.media.track.deleted**. * *

2. Once the media file is updated to reflect the track removal, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -461,8 +461,8 @@ public DeleteMediaTrackRequestBuilder deleteTrack() { * - The content owner requests the removal of a specific subtitle or audio track. * - A new version of the track gets uploaded to replace the existing one. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param trackId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -492,7 +492,7 @@ public DeleteMediaTrackResponse deleteTrack(@Nonnull String mediaId, @Nonnull St * **video.media.track.deleted**. * *

2. Once the media file is updated to reflect the track removal, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -504,8 +504,8 @@ public DeleteMediaTrackResponse deleteTrack(@Nonnull String mediaId, @Nonnull St * - The content owner requests the removal of a specific subtitle or audio track. * - A new version of the track gets uploaded to replace the existing one. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param trackId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -540,14 +540,14 @@ public DeleteMediaTrackResponse deleteTrack( *

#### Webhook Events * *

1. After the subtitle track is generated and ready, you receive the webhook event video.media.subtitle.generated.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasubtitlegenerated">video.media.subtitle.generated. * *

2. Finally the video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * notifies your system about the media’s updated status. * *

</br> Related guide: Add auto-generated + * href="https://fastpix.com/docs/video-on-demand/generate-subtitles-automatically">Add auto-generated * subtitles * * @return The call builder @@ -574,14 +574,14 @@ public GenerateSubtitleTrackRequestBuilder generateSubtitles() { *

#### Webhook Events * *

1. After the subtitle track is generated and ready, you receive the webhook event video.media.subtitle.generated.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasubtitlegenerated">video.media.subtitle.generated. * *

2. Finally the video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * notifies your system about the media’s updated status. * *

</br> Related guide: Add auto-generated + * href="https://fastpix.com/docs/video-on-demand/generate-subtitles-automatically">Add auto-generated * subtitles * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -615,14 +615,14 @@ public GenerateSubtitleTrackResponse generateSubtitles( *

#### Webhook Events * *

1. After the subtitle track is generated and ready, you receive the webhook event video.media.subtitle.generated.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasubtitlegenerated">video.media.subtitle.generated. * *

2. Finally the video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * notifies your system about the media’s updated status. * *

</br> Related guide: Add auto-generated + * href="https://fastpix.com/docs/video-on-demand/generate-subtitles-automatically">Add auto-generated * subtitles * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -741,9 +741,9 @@ public GetMediaSummaryResponse getSummary(@Nonnull String mediaId, @Nullable Opt * *

3. You receive a response confirming the update to the media’s source access status. * 4. Webhook events: video.media.source.ready, + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourceready">video.media.source.ready, * video.media.source.deleted + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourcedeleted">video.media.source.deleted * * @return The call builder */ @@ -768,9 +768,9 @@ public UpdatedSourceAccessRequestBuilder updateSourceAccess() { * *

3. You receive a response confirming the update to the media’s source access status. * 4. Webhook events: video.media.source.ready, + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourceready">video.media.source.ready, * video.media.source.deleted + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourcedeleted">video.media.source.deleted * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -799,9 +799,9 @@ public UpdatedSourceAccessResponse updateSourceAccess(@Nonnull String mediaId, @ * *

3. You receive a response confirming the update to the media’s source access status. * 4. Webhook events: video.media.source.ready, + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourceready">video.media.source.ready, * video.media.source.deleted + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediasourcedeleted">video.media.source.deleted * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * diff --git a/src/main/java/io/fastpix/sdk/Metrics.java b/src/main/java/io/fastpix/sdk/Metrics.java index 80fb1eb..180dc58 100644 --- a/src/main/java/io/fastpix/sdk/Metrics.java +++ b/src/main/java/io/fastpix/sdk/Metrics.java @@ -91,7 +91,7 @@ public AsyncMetrics async() { *

* **totalPlayTime:** Total time spent playing the video, represented in milliseconds. * * **field:** The grouping field value based on the groupBy parameter. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @return The call builder @@ -139,7 +139,7 @@ public ListBreakdownValuesRequestBuilder listBreakdown() { *

* **totalPlayTime:** Total time spent playing the video, represented in milliseconds. * * **field:** The grouping field value based on the groupBy parameter. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @param request The request object containing all the parameters for the API call. @@ -189,7 +189,7 @@ public ListBreakdownValuesResponse listBreakdown(@Nonnull ListBreakdownValuesReq *

* **totalPlayTime:** Total time spent playing the video, represented in milliseconds. * * **field:** The grouping field value based on the groupBy parameter. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @param request The request object containing all the parameters for the API call. @@ -232,7 +232,7 @@ public ListBreakdownValuesResponse listBreakdown(@Nonnull ListBreakdownValuesReq * metric across the entire dataset for the given timespan. This value is not affected by specific * filters. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @return The call builder @@ -270,7 +270,7 @@ public ListOverallValuesRequestBuilder listOverallValues() { * metric across the entire dataset for the given timespan. This value is not affected by specific * filters. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @param metricId Pass metric Id @@ -312,7 +312,7 @@ public ListOverallValuesResponse listOverallValues(@Nonnull ListOverallValuesMet * metric across the entire dataset for the given timespan. This value is not affected by specific * filters. * - *

Related guide: Understand data + *

Related guide: Understand data * definitions * * @param metricId Pass metric Id @@ -449,7 +449,7 @@ public GetTimeseriesDataResponse getTimeseries(@Nonnull GetTimeseriesDataRequest * selected dimensions. * *

Related guide: Compare metrics in + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#compare-metrics">Compare metrics in * dashboard * * @return The call builder @@ -488,7 +488,7 @@ public ListComparisonValuesRequestBuilder listComparison() { * selected dimensions. * *

Related guide: Compare metrics in + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#compare-metrics">Compare metrics in * dashboard * * @return The response from the API call @@ -529,7 +529,7 @@ public ListComparisonValuesResponse listComparisonDirect() { * selected dimensions. * *

Related guide: Compare metrics in + * href="https://fastpix.com/docs/video-data/explore-the-dashboard#compare-metrics">Compare metrics in * dashboard * * @param timespan This parameter specifies the time span between which the video views list must be retrieved by. You can provide either from and to unix epoch timestamps or time duration. The scope of duration is between 60 minutes to 30 days. diff --git a/src/main/java/io/fastpix/sdk/Playlists.java b/src/main/java/io/fastpix/sdk/Playlists.java index fb1493a..67e0579 100644 --- a/src/main/java/io/fastpix/sdk/Playlists.java +++ b/src/main/java/io/fastpix/sdk/Playlists.java @@ -67,7 +67,7 @@ public AsyncPlaylists async() { * - **Smart:** Auto-populates the playlist at creation time based on the filter criteria (for example, * a video creation date range) that you provide in the request. * - *

For more details, see Create and + *

For more details, see Create and * manage playlist. * *

#### How it works @@ -100,7 +100,7 @@ public CreateAPlaylistRequestBuilder create() { * - **Smart:** Auto-populates the playlist at creation time based on the filter criteria (for example, * a video creation date range) that you provide in the request. * - *

For more details, see Create and + *

For more details, see Create and * manage playlist. * *

#### How it works @@ -135,7 +135,7 @@ public CreateAPlaylistResponse create(@Nonnull CreatePlaylistRequest request) { * - **Smart:** Auto-populates the playlist at creation time based on the filter criteria (for example, * a video creation date range) that you provide in the request. * - *

For more details, see Create and + *

For more details, see Create and * manage playlist. * *

#### How it works diff --git a/src/main/java/io/fastpix/sdk/SDKConfiguration.java b/src/main/java/io/fastpix/sdk/SDKConfiguration.java index d538479..8e844dd 100644 --- a/src/main/java/io/fastpix/sdk/SDKConfiguration.java +++ b/src/main/java/io/fastpix/sdk/SDKConfiguration.java @@ -19,7 +19,7 @@ public class SDKConfiguration { private static final String LANGUAGE = "java"; public static final String OPENAPI_DOC_VERSION = "1.0.1"; - public static final String SDK_VERSION = "1.0.3"; + public static final String SDK_VERSION = "1.0.4"; private static final String BASE_PACKAGE = "io.fastpix.sdk"; public static final String USER_AGENT = String.format("fastpix-sdk/%s %s %s %s", diff --git a/src/main/java/io/fastpix/sdk/SimulcastStream.java b/src/main/java/io/fastpix/sdk/SimulcastStream.java index 5fcc8a7..9d84e12 100644 --- a/src/main/java/io/fastpix/sdk/SimulcastStream.java +++ b/src/main/java/io/fastpix/sdk/SimulcastStream.java @@ -56,7 +56,7 @@ public AsyncSimulcastStream async() { * YouTube and Facebook Live. They first create the primary live stream in FastPix, ensuring it's in * the idle state. Then, they use the API to create a simulcast target for YouTube. * - *

Related guide: Simulcast to + *

Related guide: Simulcast to * 3rd party platforms * * @return The call builder @@ -89,7 +89,7 @@ public CreateSimulcastOfStreamRequestBuilder create() { * YouTube and Facebook Live. They first create the primary live stream in FastPix, ensuring it's in * the idle state. Then, they use the API to create a simulcast target for YouTube. * - *

Related guide: Simulcast to + *

Related guide: Simulcast to * 3rd party platforms * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. @@ -125,7 +125,7 @@ public CreateSimulcastOfStreamResponse create(@Nonnull String streamId, @Nonnull * YouTube and Facebook Live. They first create the primary live stream in FastPix, ensuring it's in * the idle state. Then, they use the API to create a simulcast target for YouTube. * - *

Related guide: Simulcast to + *

Related guide: Simulcast to * 3rd party platforms * * @param streamId After creating a new live stream, FastPix assigns a unique identifier to the stream. diff --git a/src/main/java/io/fastpix/sdk/SimulcastStreams.java b/src/main/java/io/fastpix/sdk/SimulcastStreams.java index 7c1cf0f..3c46753 100644 --- a/src/main/java/io/fastpix/sdk/SimulcastStreams.java +++ b/src/main/java/io/fastpix/sdk/SimulcastStreams.java @@ -44,7 +44,7 @@ public AsyncSimulcastStreams async() { * resume streaming to the same platform. * *

Webhook event: video.live_stream.simulcast_target.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetdeleted">video.live_stream.simulcast_target.deleted * *

#### Example * A broadcaster may need to stop simulcasting to one platform while keeping the stream active on @@ -69,7 +69,7 @@ public DeleteSimulcastOfStreamRequestBuilder delete() { * resume streaming to the same platform. * *

Webhook event: video.live_stream.simulcast_target.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetdeleted">video.live_stream.simulcast_target.deleted * *

#### Example * A broadcaster may need to stop simulcasting to one platform while keeping the stream active on @@ -97,7 +97,7 @@ public DeleteSimulcastOfStreamResponse delete(@Nonnull String streamId, @Nonnull * resume streaming to the same platform. * *

Webhook event: video.live_stream.simulcast_target.deleted + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetdeleted">video.live_stream.simulcast_target.deleted * *

#### Example * A broadcaster may need to stop simulcasting to one platform while keeping the stream active on diff --git a/src/main/java/io/fastpix/sdk/Simulcasts.java b/src/main/java/io/fastpix/sdk/Simulcasts.java index 664db7a..6962f8a 100644 --- a/src/main/java/io/fastpix/sdk/Simulcasts.java +++ b/src/main/java/io/fastpix/sdk/Simulcasts.java @@ -40,7 +40,7 @@ public AsyncSimulcasts async() { * disabled, the simulcast can no longer be modified. * *

Webhook event: video.live_stream.simulcast_target.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetupdated">video.live_stream.simulcast_target.updated * *

#### Example * When a `PATCH` request is made to this endpoint, the API updates the status of the simulcast. This @@ -61,7 +61,7 @@ public UpdateSpecificSimulcastOfStreamRequestBuilder update() { * disabled, the simulcast can no longer be modified. * *

Webhook event: video.live_stream.simulcast_target.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetupdated">video.live_stream.simulcast_target.updated * *

#### Example * When a `PATCH` request is made to this endpoint, the API updates the status of the simulcast. This @@ -89,7 +89,7 @@ public UpdateSpecificSimulcastOfStreamResponse update( * disabled, the simulcast can no longer be modified. * *

Webhook event: video.live_stream.simulcast_target.updated + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamsimulcast_targetupdated">video.live_stream.simulcast_target.updated * *

#### Example * When a `PATCH` request is made to this endpoint, the API updates the status of the simulcast. This diff --git a/src/main/java/io/fastpix/sdk/Streams.java b/src/main/java/io/fastpix/sdk/Streams.java index f91a950..a5c0a36 100644 --- a/src/main/java/io/fastpix/sdk/Streams.java +++ b/src/main/java/io/fastpix/sdk/Streams.java @@ -39,8 +39,8 @@ public AsyncStreams async() { /** * Create a new stream * - *

Creates a new RTMPS or SRT live stream in FastPix. When + *

Creates a new RTMPS or SRT live stream in FastPix. When * you create a stream, FastPix generates a unique `streamKey` and `srtSecret` that you can use with * broadcasting software such as OBS to connect to FastPix RTMPS or SRT servers. Use SRT for live * streaming in unstable network conditions, as it provides error correction and encryption for a more @@ -61,7 +61,7 @@ public AsyncStreams async() { * *

3. After the live stream is created, FastPix sends a `POST` request to your specified webhook * endpoint with the event video.live_stream.created. + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamcreated">video.live_stream.created. * *

**Example:** * @@ -69,7 +69,7 @@ public AsyncStreams async() { * The API creates a new stream, provides the necessary stream key, and sets it to "private" so that * only specific viewers can access it. * - *

Related guide: How to live stream + *

Related guide: How to live stream * * @return The call builder */ @@ -80,8 +80,8 @@ public CreateNewStreamRequestBuilder create() { /** * Create a new stream * - *

Creates a new RTMPS or SRT live stream in FastPix. When + *

Creates a new RTMPS or SRT live stream in FastPix. When * you create a stream, FastPix generates a unique `streamKey` and `srtSecret` that you can use with * broadcasting software such as OBS to connect to FastPix RTMPS or SRT servers. Use SRT for live * streaming in unstable network conditions, as it provides error correction and encryption for a more @@ -102,7 +102,7 @@ public CreateNewStreamRequestBuilder create() { * *

3. After the live stream is created, FastPix sends a `POST` request to your specified webhook * endpoint with the event video.live_stream.created. + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamcreated">video.live_stream.created. * *

**Example:** * @@ -110,7 +110,7 @@ public CreateNewStreamRequestBuilder create() { * The API creates a new stream, provides the necessary stream key, and sets it to "private" so that * only specific viewers can access it. * - *

Related guide: How to live stream + *

Related guide: How to live stream * * @param request The request object containing all the parameters for the API call. * @return The response from the API call @@ -123,8 +123,8 @@ public CreateNewStreamResponse create(@Nonnull CreateLiveStreamRequest request) /** * Create a new stream * - *

Creates a new RTMPS or SRT live stream in FastPix. When + *

Creates a new RTMPS or SRT live stream in FastPix. When * you create a stream, FastPix generates a unique `streamKey` and `srtSecret` that you can use with * broadcasting software such as OBS to connect to FastPix RTMPS or SRT servers. Use SRT for live * streaming in unstable network conditions, as it provides error correction and encryption for a more @@ -145,7 +145,7 @@ public CreateNewStreamResponse create(@Nonnull CreateLiveStreamRequest request) * *

3. After the live stream is created, FastPix sends a `POST` request to your specified webhook * endpoint with the event video.live_stream.created. + * href="https://fastpix.com/docs/webhooks/live-events#videolive_streamcreated">video.live_stream.created. * *

**Example:** * @@ -153,7 +153,7 @@ public CreateNewStreamResponse create(@Nonnull CreateLiveStreamRequest request) * The API creates a new stream, provides the necessary stream key, and sets it to "private" so that * only specific viewers can access it. * - *

Related guide: How to live stream + *

Related guide: How to live stream * * @param request The request object containing all the parameters for the API call. * @param options additional options diff --git a/src/main/java/io/fastpix/sdk/Videos.java b/src/main/java/io/fastpix/sdk/Videos.java index e3875ff..0adaa71 100644 --- a/src/main/java/io/fastpix/sdk/Videos.java +++ b/src/main/java/io/fastpix/sdk/Videos.java @@ -90,7 +90,7 @@ public AsyncVideos async() { * as top plays or final match highlights. You can use this endpoint to fetch all clips generated from * that livestream, display them in your dashboard, or use them for post-event editing and sharing. * - *

Related guide: Instant live + *

Related guide: Instant live * clipping * * @return The call builder @@ -120,7 +120,7 @@ public ListLiveClipsRequestBuilder listLiveClips() { * as top plays or final match highlights. You can use this endpoint to fetch all clips generated from * that livestream, display them in your dashboard, or use them for post-event editing and sharing. * - *

Related guide: Instant live + *

Related guide: Instant live * clipping * * @param livestreamId The stream Id is unique identifier assigned to the live stream. @@ -153,7 +153,7 @@ public ListLiveClipsResponse listLiveClips(@Nonnull String livestreamId) { * as top plays or final match highlights. You can use this endpoint to fetch all clips generated from * that livestream, display them in your dashboard, or use them for post-event editing and sharing. * - *

Related guide: Instant live + *

Related guide: Instant live * clipping * * @param livestreamId The stream Id is unique identifier assigned to the live stream. @@ -193,7 +193,7 @@ public ListLiveClipsResponse listLiveClips( *

3. The response returns the updated media data, confirming the changes. * *

4. Monitor the video.media.updated webhook + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated webhook * event to track the update status in your system. * *

#### Example @@ -223,7 +223,7 @@ public UpdatedMediaRequestBuilder updateMedia() { *

3. The response returns the updated media data, confirming the changes. * *

4. Monitor the video.media.updated webhook + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated webhook * event to track the update status in your system. * *

#### Example @@ -256,7 +256,7 @@ public UpdatedMediaResponse updateMedia(@Nonnull String mediaId, @Nonnull Update *

3. The response returns the updated media data, confirming the changes. * *

4. Monitor the video.media.updated webhook + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated webhook * event to track the update status in your system. * *

#### Example @@ -295,7 +295,7 @@ public UpdatedMediaResponse updateMedia( *

Once deleted, the media can’t be retrieved or played back. * *

3. Monitor the following webhook event: video.media.deleted + * href="https://fastpix.com/docs/webhooks/media-events#videomediadeleted">video.media.deleted * *

#### Example * A user on a video-sharing platform decides to remove an old video from their profile, or suppose @@ -326,7 +326,7 @@ public DeleteMediaRequestBuilder delete() { *

Once deleted, the media can’t be retrieved or played back. * *

3. Monitor the following webhook event: video.media.deleted + * href="https://fastpix.com/docs/webhooks/media-events#videomediadeleted">video.media.deleted * *

#### Example * A user on a video-sharing platform decides to remove an old video from their profile, or suppose @@ -359,7 +359,7 @@ public DeleteMediaResponse delete(@Nonnull String mediaId) { *

Once deleted, the media can’t be retrieved or played back. * *

3. Monitor the following webhook event: video.media.deleted + * href="https://fastpix.com/docs/webhooks/media-events#videomediadeleted">video.media.deleted * *

#### Example * A user on a video-sharing platform decides to remove an old video from their profile, or suppose @@ -395,7 +395,7 @@ public DeleteMediaResponse delete(@Nonnull String mediaId, @Nullable Options opt *

#### Webhook Events * *

Once the upload is cancelled, you must receive the webhook event video.media.upload.cancelled. + * href="https://fastpix.com/docs/webhooks/media-events#videomediauploadcancelled">video.media.upload.cancelled. * *

#### Example * @@ -424,7 +424,7 @@ public CancelUploadRequestBuilder cancelUpload() { *

#### Webhook Events * *

Once the upload is cancelled, you must receive the webhook event video.media.upload.cancelled. + * href="https://fastpix.com/docs/webhooks/media-events#videomediauploadcancelled">video.media.upload.cancelled. * *

#### Example * @@ -455,7 +455,7 @@ public CancelUploadResponse cancelUpload(@Nonnull String uploadId) { *

#### Webhook Events * *

Once the upload is cancelled, you must receive the webhook event video.media.upload.cancelled. + * href="https://fastpix.com/docs/webhooks/media-events#videomediauploadcancelled">video.media.upload.cancelled. * *

#### Example * @@ -478,8 +478,8 @@ public CancelUploadResponse cancelUpload(@Nonnull String uploadId, @Nullable Opt * Update audio / subtitle track * *

This endpoint allows you to update an existing audio or subtitle track associated with a media file. - * When updating a track, you must provide the new track `url`, `languageName`, and `languageCode`, - * ensuring all three parameters are included in the request. + * When updating a track, you must provide the new `languageName` and `languageCode`, ensuring both + * parameters are included in the request. You can optionally provide a `title` for the track. * *

#### How it works * @@ -495,13 +495,13 @@ public CancelUploadResponse cancelUpload(@Nonnull String uploadId, @Nullable Opt *

After updating a track, your system must receive webhook notifications: * *

1. After successfully updating a track, your system must receive the webhook event video.media.track.updated. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackupdated">video.media.track.updated. * *

2. Once the new track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Once the media file is updated with the new track details, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -512,8 +512,8 @@ public CancelUploadResponse cancelUpload(@Nonnull String uploadId, @Nullable Opt *

- The original track file has errors and needs correction. * - You want to improve subtitle translations or replace an audio track with a better-quality version. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @return The call builder */ @@ -525,8 +525,8 @@ public UpdateMediaTrackRequestBuilder updateTrack() { * Update audio / subtitle track * *

This endpoint allows you to update an existing audio or subtitle track associated with a media file. - * When updating a track, you must provide the new track `url`, `languageName`, and `languageCode`, - * ensuring all three parameters are included in the request. + * When updating a track, you must provide the new `languageName` and `languageCode`, ensuring both + * parameters are included in the request. You can optionally provide a `title` for the track. * *

#### How it works * @@ -542,13 +542,13 @@ public UpdateMediaTrackRequestBuilder updateTrack() { *

After updating a track, your system must receive webhook notifications: * *

1. After successfully updating a track, your system must receive the webhook event video.media.track.updated. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackupdated">video.media.track.updated. * *

2. Once the new track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Once the media file is updated with the new track details, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -559,8 +559,8 @@ public UpdateMediaTrackRequestBuilder updateTrack() { *

- The original track file has errors and needs correction. * - You want to improve subtitle translations or replace an audio track with a better-quality version. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param trackId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -579,8 +579,8 @@ public UpdateMediaTrackResponse updateTrack( * Update audio / subtitle track * *

This endpoint allows you to update an existing audio or subtitle track associated with a media file. - * When updating a track, you must provide the new track `url`, `languageName`, and `languageCode`, - * ensuring all three parameters are included in the request. + * When updating a track, you must provide the new `languageName` and `languageCode`, ensuring both + * parameters are included in the request. You can optionally provide a `title` for the track. * *

#### How it works * @@ -596,13 +596,13 @@ public UpdateMediaTrackResponse updateTrack( *

After updating a track, your system must receive webhook notifications: * *

1. After successfully updating a track, your system must receive the webhook event video.media.track.updated. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackupdated">video.media.track.updated. * *

2. Once the new track is processed and ready, you must receive the webhook event video.media.track.ready. + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediatrackready">video.media.track.ready. * *

3. Once the media file is updated with the new track details, a video.media.updated event + * href="https://fastpix.com/docs/webhooks/media-events#videomediaupdated">video.media.updated event * must be triggered. * *

#### Example @@ -613,8 +613,8 @@ public UpdateMediaTrackResponse updateTrack( *

- The original track file has errors and needs correction. * - You want to improve subtitle translations or replace an audio track with a better-quality version. * - *

Related guides: Add own subtitle - * tracks, Add own audio tracks + *

Related guides: Add own subtitle + * tracks, Add own audio tracks * * @param trackId The unique identifier assigned to the media when created. The value must be a valid UUID. * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -644,13 +644,13 @@ public UpdateMediaTrackResponse updateTrack( * 3. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.chapters.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaichaptersready">video.mediaAI.chapters.ready * webhook event to track and notify about the chapters generation. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * chapters without re-uploading the entire video. * - *

Related guide: Video chapters + *

Related guide: Video chapters * * @return The call builder */ @@ -670,13 +670,13 @@ public UpdateMediaChaptersRequestBuilder updateChapters() { * 3. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.chapters.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaichaptersready">video.mediaAI.chapters.ready * webhook event to track and notify about the chapters generation. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * chapters without re-uploading the entire video. * - *

Related guide: Video chapters + *

Related guide: Video chapters * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -700,13 +700,13 @@ public UpdateMediaChaptersResponse updateChapters(@Nonnull String mediaId, @Nonn * 3. The response contains the updated media data, confirming the changes made. * *

You can use the video.mediaAI.chapters.ready + * href="https://fastpix.com/docs/webhooks/in-video-ai-events#videomediaaichaptersready">video.mediaAI.chapters.ready * webhook event to track and notify about the chapters generation. * *

**Use case:** This is particularly useful when a user uploads a video and later decides to enable * chapters without re-uploading the entire video. * - *

Related guide: Video chapters + *

Related guide: Video chapters * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. * @@ -753,7 +753,7 @@ public UpdateMediaChaptersResponse updateChapters( *

#### Webhook events * *

- video.media.mp4Support.ready + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediamp4supportready">video.media.mp4Support.ready * – Triggered when the MP4 support setting is successfully updated. * *

#### Example @@ -767,7 +767,7 @@ public UpdateMediaChaptersResponse updateChapters( * setting "mp4Support": "audioOnly,capped_4k", both options are enabled. Users can download the MP4 * video and also stream just the audio version of the media. * - *

Related guide: Use MP4 + *

Related guide: Use MP4 * support for offline viewing * * @return The call builder @@ -805,7 +805,7 @@ public UpdatedMp4SupportRequestBuilder updateMp4Support() { *

#### Webhook events * *

- video.media.mp4Support.ready + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediamp4supportready">video.media.mp4Support.ready * – Triggered when the MP4 support setting is successfully updated. * *

#### Example @@ -819,7 +819,7 @@ public UpdatedMp4SupportRequestBuilder updateMp4Support() { * setting "mp4Support": "audioOnly,capped_4k", both options are enabled. Users can download the MP4 * video and also stream just the audio version of the media. * - *

Related guide: Use MP4 + *

Related guide: Use MP4 * support for offline viewing * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -861,7 +861,7 @@ public UpdatedMp4SupportResponse updateMp4Support(@Nonnull String mediaId, @Nonn *

#### Webhook events * *

- video.media.mp4Support.ready + * href="https://fastpix.com/docs/webhooks/transform-media-events#videomediamp4supportready">video.media.mp4Support.ready * – Triggered when the MP4 support setting is successfully updated. * *

#### Example @@ -875,7 +875,7 @@ public UpdatedMp4SupportResponse updateMp4Support(@Nonnull String mediaId, @Nonn * setting "mp4Support": "audioOnly,capped_4k", both options are enabled. Users can download the MP4 * video and also stream just the audio version of the media. * - *

Related guide: Use MP4 + *

Related guide: Use MP4 * support for offline viewing * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -1031,7 +1031,7 @@ public ListUploadsResponse listUploads( * call this API with the sourceMediaId. The response provides a list of all associated clips, allowing * you to manage, edit, or repurpose them as needed. * - *

Related guide: Create clips + *

Related guide: Create clips * from existing media * * @return The call builder @@ -1066,7 +1066,7 @@ public GetMediaClipsRequestBuilder getMediaClips() { * call this API with the sourceMediaId. The response provides a list of all associated clips, allowing * you to manage, edit, or repurpose them as needed. * - *

Related guide: Create clips + *

Related guide: Create clips * from existing media * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. @@ -1104,7 +1104,7 @@ public GetMediaClipsResponse getMediaClips(@Nonnull String mediaId) { * call this API with the sourceMediaId. The response provides a list of all associated clips, allowing * you to manage, edit, or repurpose them as needed. * - *

Related guide: Create clips + *

Related guide: Create clips * from existing media * * @param mediaId The unique identifier assigned to the media when created. The value must be a valid UUID. diff --git a/src/main/java/io/fastpix/sdk/Views.java b/src/main/java/io/fastpix/sdk/Views.java index ce44002..30e4b4f 100644 --- a/src/main/java/io/fastpix/sdk/Views.java +++ b/src/main/java/io/fastpix/sdk/Views.java @@ -79,8 +79,8 @@ public AsyncViews async() { * information helps optimize content for widely used platforms and troubleshoot playback issues on * less common devices. * - *

Related guide: Audience metrics, Views dashboard + *

Related guide: Audience metrics, Views dashboard * * @return The call builder */ @@ -125,8 +125,8 @@ public ListVideoViewsRequestBuilder list() { * information helps optimize content for widely used platforms and troubleshoot playback issues on * less common devices. * - *

Related guide: Audience metrics, Views dashboard + *

Related guide: Audience metrics, Views dashboard * * @param request The request object containing all the parameters for the API call. * @return The response from the API call @@ -173,8 +173,8 @@ public ListVideoViewsResponse list(@Nonnull ListVideoViewsRequest request) { * information helps optimize content for widely used platforms and troubleshoot playback issues on * less common devices. * - *

Related guide: Audience metrics, Views dashboard + *

Related guide: Audience metrics, Views dashboard * * @param request The request object containing all the parameters for the API call. * @param options additional options @@ -204,7 +204,7 @@ public ListVideoViewsResponse list(@Nonnull ListVideoViewsRequest request, @Null * playback errors, and session length. This data allows the developer to pinpoint issues (such as poor * connectivity or a browser-specific problem) and take steps to improve the user experience. * - *

Related guide: What Video + *

Related guide: What Video * Data do we capture? * * @return The call builder @@ -230,7 +230,7 @@ public GetVideoViewDetailsRequestBuilder getDetails() { * playback errors, and session length. This data allows the developer to pinpoint issues (such as poor * connectivity or a browser-specific problem) and take steps to improve the user experience. * - *

Related guide: What Video + *

Related guide: What Video * Data do we capture? * * @param viewId Pass View Id @@ -258,7 +258,7 @@ public GetVideoViewDetailsResponse getDetails(@Nonnull String viewId) { * playback errors, and session length. This data allows the developer to pinpoint issues (such as poor * connectivity or a browser-specific problem) and take steps to improve the user experience. * - *

Related guide: What Video + *

Related guide: What Video * Data do we capture? * * @param viewId Pass View Id @@ -294,7 +294,7 @@ public GetVideoViewDetailsResponse getDetails(@Nonnull String viewId, @Nullable * *

5. You receive a response containing the list of top video views matching the specified criteria. * - *

Related guide: Get + *

Related guide: Get * top-performing content * * @return The call builder @@ -324,7 +324,7 @@ public ListByTopContentRequestBuilder listByTopContent() { * *

5. You receive a response containing the list of top video views matching the specified criteria. * - *

Related guide: Get + *

Related guide: Get * top-performing content * * @return The response from the API call @@ -356,7 +356,7 @@ public ListByTopContentResponse listByTopContentDirect() { * *

5. You receive a response containing the list of top video views matching the specified criteria. * - *

Related guide: Get + *

Related guide: Get * top-performing content * * @param timespan This parameter specifies the time span between which the video views list must be retrieved by. You can provide either from and to unix epoch timestamps or time duration. The scope of duration is between 60 minutes to 30 days. diff --git a/src/main/java/io/fastpix/sdk/models/components/AddTrackRequest.java b/src/main/java/io/fastpix/sdk/models/components/AddTrackRequest.java index 30aefa4..2757e6d 100644 --- a/src/main/java/io/fastpix/sdk/models/components/AddTrackRequest.java +++ b/src/main/java/io/fastpix/sdk/models/components/AddTrackRequest.java @@ -44,12 +44,20 @@ public class AddTrackRequest { @JsonProperty("languageName") private String languageName; + /** + * Title of the track. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title") + private String title; + @JsonCreator public AddTrackRequest( @JsonProperty("url") @Nullable String url, @JsonProperty("type") @Nullable AddTrackRequestType type, @JsonProperty("languageCode") @Nullable String languageCode, - @JsonProperty("languageName") @Nullable String languageName) { + @JsonProperty("languageName") @Nullable String languageName, + @JsonProperty("title") @Nullable String title) { this.url = Optional.ofNullable(url) .orElse(Builder._SINGLETON_VALUE_Url.value()); this.type = Optional.ofNullable(type) @@ -58,11 +66,12 @@ public AddTrackRequest( .orElse(Builder._SINGLETON_VALUE_LanguageCode.value()); this.languageName = Optional.ofNullable(languageName) .orElse(Builder._SINGLETON_VALUE_LanguageName.value()); + this.title = title; } - + public AddTrackRequest() { this(null, null, null, - null); + null, null); } /** @@ -93,6 +102,13 @@ public Optional languageName() { return Optional.ofNullable(this.languageName); } + /** + * Title of the track. + */ + public Optional title() { + return Optional.ofNullable(this.title); + } + public static Builder builder() { return new Builder(); } @@ -134,6 +150,15 @@ public AddTrackRequest withLanguageName(@Nullable String languageName) { } + /** + * Title of the track. + */ + public AddTrackRequest withTitle(@Nullable String title) { + this.title = title; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -147,23 +172,25 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.url, other.url) && Utils.enhancedDeepEquals(this.type, other.type) && Utils.enhancedDeepEquals(this.languageCode, other.languageCode) && - Utils.enhancedDeepEquals(this.languageName, other.languageName); + Utils.enhancedDeepEquals(this.languageName, other.languageName) && + Utils.enhancedDeepEquals(this.title, other.title); } - + @Override public int hashCode() { return Utils.enhancedHash( url, type, languageCode, - languageName); + languageName, title); } - + @Override public String toString() { return Utils.toString(AddTrackRequest.class, "url", url, "type", type, "languageCode", languageCode, - "languageName", languageName); + "languageName", languageName, + "title", title); } @SuppressWarnings("UnusedReturnValue") @@ -177,6 +204,8 @@ public static final class Builder { private String languageName; + private String title; + private Builder() { // force use of static builder() method } @@ -213,10 +242,18 @@ public Builder languageName(@Nullable String languageName) { return this; } + /** + * Title of the track. + */ + public Builder title(@Nullable String title) { + this.title = title; + return this; + } + public AddTrackRequest build() { return new AddTrackRequest( url, type, languageCode, - languageName); + languageName, title); } diff --git a/src/main/java/io/fastpix/sdk/models/components/AddTrackResponse.java b/src/main/java/io/fastpix/sdk/models/components/AddTrackResponse.java index b46283b..575fc69 100644 --- a/src/main/java/io/fastpix/sdk/models/components/AddTrackResponse.java +++ b/src/main/java/io/fastpix/sdk/models/components/AddTrackResponse.java @@ -49,23 +49,32 @@ public class AddTrackResponse { @JsonProperty("languageName") private String languageName; + /** + * Title of the track. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title") + private String title; + @JsonCreator public AddTrackResponse( @JsonProperty("id") @Nullable String id, @JsonProperty("type") @Nullable AddTrackResponseType type, @JsonProperty("url") @Nullable String url, @JsonProperty("languageCode") @Nullable String languageCode, - @JsonProperty("languageName") @Nullable String languageName) { + @JsonProperty("languageName") @Nullable String languageName, + @JsonProperty("title") @Nullable String title) { this.id = id; this.type = type; this.url = url; this.languageCode = languageCode; this.languageName = languageName; + this.title = title; } public AddTrackResponse() { this(null, null, null, - null, null); + null, null, null); } /** @@ -103,6 +112,13 @@ public Optional languageName() { return Optional.ofNullable(this.languageName); } + /** + * Title of the track. + */ + public Optional title() { + return Optional.ofNullable(this.title); + } + public static Builder builder() { return new Builder(); } @@ -153,6 +169,15 @@ public AddTrackResponse withLanguageName(@Nullable String languageName) { } + /** + * Title of the track. + */ + public AddTrackResponse withTitle(@Nullable String title) { + this.title = title; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -167,14 +192,15 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.type, other.type) && Utils.enhancedDeepEquals(this.url, other.url) && Utils.enhancedDeepEquals(this.languageCode, other.languageCode) && - Utils.enhancedDeepEquals(this.languageName, other.languageName); + Utils.enhancedDeepEquals(this.languageName, other.languageName) && + Utils.enhancedDeepEquals(this.title, other.title); } @Override public int hashCode() { return Utils.enhancedHash( id, type, url, - languageCode, languageName); + languageCode, languageName, title); } @Override @@ -184,7 +210,8 @@ public String toString() { "type", type, "url", url, "languageCode", languageCode, - "languageName", languageName); + "languageName", languageName, + "title", title); } @SuppressWarnings("UnusedReturnValue") @@ -200,6 +227,8 @@ public static final class Builder { private String languageName; + private String title; + private Builder() { // force use of static builder() method } @@ -244,10 +273,18 @@ public Builder languageName(@Nullable String languageName) { return this; } + /** + * Title of the track. + */ + public Builder title(@Nullable String title) { + this.title = title; + return this; + } + public AddTrackResponse build() { return new AddTrackResponse( id, type, url, - languageCode, languageName); + languageCode, languageName, title); } } diff --git a/src/main/java/io/fastpix/sdk/models/components/AudioTrack.java b/src/main/java/io/fastpix/sdk/models/components/AudioTrack.java index cbe58fd..3888e14 100644 --- a/src/main/java/io/fastpix/sdk/models/components/AudioTrack.java +++ b/src/main/java/io/fastpix/sdk/models/components/AudioTrack.java @@ -52,23 +52,32 @@ public class AudioTrack { @JsonProperty("languageCode") private String languageCode; + /** + * Title of the track. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title") + private String title; + @JsonCreator public AudioTrack( @JsonProperty("id") @Nullable String id, @JsonProperty("type") @Nullable AudioTrackType type, @JsonProperty("status") @Nullable String status, @JsonProperty("languageName") @Nullable String languageName, - @JsonProperty("languageCode") @Nullable String languageCode) { + @JsonProperty("languageCode") @Nullable String languageCode, + @JsonProperty("title") @Nullable String title) { this.id = id; this.type = type; this.status = status; this.languageName = languageName; this.languageCode = languageCode; + this.title = title; } public AudioTrack() { this(null, null, null, - null, null); + null, null, null); } /** @@ -109,6 +118,13 @@ public Optional languageCode() { return Optional.ofNullable(this.languageCode); } + /** + * Title of the track. + */ + public Optional title() { + return Optional.ofNullable(this.title); + } + public static Builder builder() { return new Builder(); } @@ -162,6 +178,15 @@ public AudioTrack withLanguageCode(@Nullable String languageCode) { } + /** + * Title of the track. + */ + public AudioTrack withTitle(@Nullable String title) { + this.title = title; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -176,14 +201,15 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.type, other.type) && Utils.enhancedDeepEquals(this.status, other.status) && Utils.enhancedDeepEquals(this.languageName, other.languageName) && - Utils.enhancedDeepEquals(this.languageCode, other.languageCode); + Utils.enhancedDeepEquals(this.languageCode, other.languageCode) && + Utils.enhancedDeepEquals(this.title, other.title); } @Override public int hashCode() { return Utils.enhancedHash( id, type, status, - languageName, languageCode); + languageName, languageCode, title); } @Override @@ -193,7 +219,8 @@ public String toString() { "type", type, "status", status, "languageName", languageName, - "languageCode", languageCode); + "languageCode", languageCode, + "title", title); } @SuppressWarnings("UnusedReturnValue") @@ -209,6 +236,8 @@ public static final class Builder { private String languageCode; + private String title; + private Builder() { // force use of static builder() method } @@ -256,10 +285,18 @@ public Builder languageCode(@Nullable String languageCode) { return this; } + /** + * Title of the track. + */ + public Builder title(@Nullable String title) { + this.title = title; + return this; + } + public AudioTrack build() { return new AudioTrack( id, type, status, - languageName, languageCode); + languageName, languageCode, title); } } diff --git a/src/main/java/io/fastpix/sdk/models/components/CreateMediaRequest.java b/src/main/java/io/fastpix/sdk/models/components/CreateMediaRequest.java index b5a7bdf..1fc2522 100644 --- a/src/main/java/io/fastpix/sdk/models/components/CreateMediaRequest.java +++ b/src/main/java/io/fastpix/sdk/models/components/CreateMediaRequest.java @@ -24,7 +24,7 @@ public class CreateMediaRequest { * *

Repeat this process for **AudioInput** or **SubtitleInput** as needed. For a complete explanation of * how media uploads from URL and processing work, refer to the - * FastPix Video on Demand + * FastPix Video on Demand * Overview. */ @JsonProperty("inputs") @@ -200,7 +200,7 @@ public CreateMediaRequest( * *

Repeat this process for **AudioInput** or **SubtitleInput** as needed. For a complete explanation of * how media uploads from URL and processing work, refer to the - * FastPix Video on Demand + * FastPix Video on Demand * Overview. */ public List inputs() { @@ -327,7 +327,7 @@ public static Builder builder() { * *

Repeat this process for **AudioInput** or **SubtitleInput** as needed. For a complete explanation of * how media uploads from URL and processing work, refer to the - * FastPix Video on Demand + * FastPix Video on Demand * Overview. */ public CreateMediaRequest withInputs(@Nonnull List inputs) { @@ -586,7 +586,7 @@ private Builder() { * *

Repeat this process for **AudioInput** or **SubtitleInput** as needed. For a complete explanation of * how media uploads from URL and processing work, refer to the - * FastPix Video on Demand + * FastPix Video on Demand * Overview. */ public Builder inputs(@Nonnull List inputs) { diff --git a/src/main/java/io/fastpix/sdk/models/components/GenerateTrackResponse.java b/src/main/java/io/fastpix/sdk/models/components/GenerateTrackResponse.java index 3eff6b0..63a4e97 100644 --- a/src/main/java/io/fastpix/sdk/models/components/GenerateTrackResponse.java +++ b/src/main/java/io/fastpix/sdk/models/components/GenerateTrackResponse.java @@ -52,23 +52,32 @@ public class GenerateTrackResponse { @JsonProperty("metadata") private Map metadata; + /** + * Title of the track. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title") + private String title; + @JsonCreator public GenerateTrackResponse( @JsonProperty("id") @Nullable String id, @JsonProperty("type") @Nullable GenerateTrackResponseType type, @JsonProperty("languageCode") @Nullable GenerateTrackResponseLanguageCode languageCode, @JsonProperty("languageName") @Nullable String languageName, - @JsonProperty("metadata") @Nullable Map metadata) { + @JsonProperty("metadata") @Nullable Map metadata, + @JsonProperty("title") @Nullable String title) { this.id = id; this.type = type; this.languageCode = languageCode; this.languageName = languageName; this.metadata = metadata; + this.title = title; } public GenerateTrackResponse() { this(null, null, null, - null, null); + null, null, null); } /** @@ -108,6 +117,13 @@ public Optional> metadata() { return Optional.ofNullable(this.metadata); } + /** + * Title of the track. + */ + public Optional title() { + return Optional.ofNullable(this.title); + } + public static Builder builder() { return new Builder(); } @@ -160,6 +176,15 @@ public GenerateTrackResponse withMetadata(@Nullable Map metadata } + /** + * Title of the track. + */ + public GenerateTrackResponse withTitle(@Nullable String title) { + this.title = title; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -174,14 +199,15 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.type, other.type) && Utils.enhancedDeepEquals(this.languageCode, other.languageCode) && Utils.enhancedDeepEquals(this.languageName, other.languageName) && - Utils.enhancedDeepEquals(this.metadata, other.metadata); + Utils.enhancedDeepEquals(this.metadata, other.metadata) && + Utils.enhancedDeepEquals(this.title, other.title); } @Override public int hashCode() { return Utils.enhancedHash( id, type, languageCode, - languageName, metadata); + languageName, metadata, title); } @Override @@ -191,7 +217,8 @@ public String toString() { "type", type, "languageCode", languageCode, "languageName", languageName, - "metadata", metadata); + "metadata", metadata, + "title", title); } @SuppressWarnings("UnusedReturnValue") @@ -207,6 +234,8 @@ public static final class Builder { private Map metadata; + private String title; + private Builder() { // force use of static builder() method } @@ -253,10 +282,18 @@ public Builder metadata(@Nullable Map metadata) { return this; } + /** + * Title of the track. + */ + public Builder title(@Nullable String title) { + this.title = title; + return this; + } + public GenerateTrackResponse build() { return new GenerateTrackResponse( id, type, languageCode, - languageName, metadata); + languageName, metadata, title); } } diff --git a/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponse.java b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponse.java index 94205d5..ee439c9 100644 --- a/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponse.java +++ b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponse.java @@ -112,7 +112,7 @@ public class GetAllMediaResponse { */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("mp4Support") - private GetAllMediaResponseMp4Support mp4Support; + private List mp4Support; /** * The sourceAccess parameter determines whether the original media file is accessible. Set to true to @@ -228,6 +228,13 @@ public class GetAllMediaResponse { @JsonProperty("updatedAt") private OffsetDateTime updatedAt; + /** + * Whether the audio track of the media has been volume-normalized. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("optimizeAudio") + private Boolean optimizeAudio; + @JsonCreator public GetAllMediaResponse( @JsonProperty("thumbnail") @Nullable JsonNullable thumbnail, @@ -242,7 +249,7 @@ public GetAllMediaResponse( @JsonProperty("maxResolution") @Nullable GetAllMediaResponseMaxResolution maxResolution, @JsonProperty("sourceResolution") @Nullable GetAllMediaResponseSourceResolution sourceResolution, @JsonProperty("status") @Nullable GetAllMediaResponseStatus status, - @JsonProperty("mp4Support") @Nullable GetAllMediaResponseMp4Support mp4Support, + @JsonProperty("mp4Support") @Nullable List mp4Support, @JsonProperty("sourceAccess") @Nullable JsonNullable sourceAccess, @JsonProperty("playbackIds") @Nullable List playbackIds, @JsonProperty("tracks") @Nullable List tracks, @@ -257,7 +264,8 @@ public GetAllMediaResponse( @JsonProperty("frameRate") @Nullable String frameRate, @JsonProperty("aspectRatio") @Nullable JsonNullable aspectRatio, @JsonProperty("createdAt") @Nullable OffsetDateTime createdAt, - @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt) { + @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt, + @JsonProperty("optimizeAudio") @Nullable Boolean optimizeAudio) { this.thumbnail = Optional.ofNullable(thumbnail) .orElse(JsonNullable.undefined()); this.id = id; @@ -296,6 +304,7 @@ public GetAllMediaResponse( .orElse(JsonNullable.undefined()); this.createdAt = createdAt; this.updatedAt = updatedAt; + this.optimizeAudio = optimizeAudio; } public GetAllMediaResponse() { @@ -308,7 +317,7 @@ public GetAllMediaResponse() { null, null, null, null, null, null, null, null, null, - null); + null, null); } /** @@ -404,7 +413,7 @@ public Optional status() { * - **audioOnly**: Provides an MP4 stream containing only the audio. * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. */ - public Optional mp4Support() { + public Optional> mp4Support() { return Optional.ofNullable(this.mp4Support); } @@ -523,6 +532,13 @@ public Optional updatedAt() { return Optional.ofNullable(this.updatedAt); } + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Optional optimizeAudio() { + return Optional.ofNullable(this.optimizeAudio); + } + public static Builder builder() { return new Builder(); } @@ -645,7 +661,7 @@ public GetAllMediaResponse withStatus(@Nullable GetAllMediaResponseStatus status * - **audioOnly**: Provides an MP4 stream containing only the audio. * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. */ - public GetAllMediaResponse withMp4Support(@Nullable GetAllMediaResponseMp4Support mp4Support) { + public GetAllMediaResponse withMp4Support(@Nullable List mp4Support) { this.mp4Support = mp4Support; return this; } @@ -795,6 +811,15 @@ public GetAllMediaResponse withUpdatedAt(@Nullable OffsetDateTime updatedAt) { } + /** + * Whether the audio track of the media has been volume-normalized. + */ + public GetAllMediaResponse withOptimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -832,7 +857,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.frameRate, other.frameRate) && Utils.enhancedDeepEquals(this.aspectRatio, other.aspectRatio) && Utils.enhancedDeepEquals(this.createdAt, other.createdAt) && - Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt); + Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt) && + Utils.enhancedDeepEquals(this.optimizeAudio, other.optimizeAudio); } @Override @@ -847,7 +873,7 @@ public int hashCode() { chapters, namedEntities, moderation, isAudioOnly, subtitleAvailable, duration, frameRate, aspectRatio, createdAt, - updatedAt); + updatedAt, optimizeAudio); } @Override @@ -880,7 +906,8 @@ public String toString() { "frameRate", frameRate, "aspectRatio", aspectRatio, "createdAt", createdAt, - "updatedAt", updatedAt); + "updatedAt", updatedAt, + "optimizeAudio", optimizeAudio); } @SuppressWarnings("UnusedReturnValue") @@ -910,7 +937,7 @@ public static final class Builder { private GetAllMediaResponseStatus status; - private GetAllMediaResponseMp4Support mp4Support; + private List mp4Support; private JsonNullable sourceAccess; @@ -942,6 +969,8 @@ public static final class Builder { private OffsetDateTime updatedAt; + private Boolean optimizeAudio; + private Builder() { // force use of static builder() method } @@ -1051,7 +1080,7 @@ public Builder status(@Nullable GetAllMediaResponseStatus status) { * - **audioOnly**: Provides an MP4 stream containing only the audio. * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. */ - public Builder mp4Support(@Nullable GetAllMediaResponseMp4Support mp4Support) { + public Builder mp4Support(@Nullable List mp4Support) { this.mp4Support = mp4Support; return this; } @@ -1185,6 +1214,14 @@ public Builder updatedAt(@Nullable OffsetDateTime updatedAt) { return this; } + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Builder optimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + public GetAllMediaResponse build() { return new GetAllMediaResponse( thumbnail, id, sourceMediaId, @@ -1196,7 +1233,7 @@ public GetAllMediaResponse build() { chapters, namedEntities, moderation, isAudioOnly, subtitleAvailable, duration, frameRate, aspectRatio, createdAt, - updatedAt); + updatedAt, optimizeAudio); } diff --git a/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4Support.java b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4Support.java index 779716d..8bae73c 100644 --- a/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4Support.java +++ b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4Support.java @@ -1,143 +1,257 @@ package io.fastpix.sdk.models.components; import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; import java.util.Optional; +import io.fastpix.sdk.utils.Utils; /** * GetAllMediaResponseMp4Support * - *

Determines the type of MP4 support for the media. - * - **none**: Disables MP4 support. - * - **capped_4k**: Enables MP4 downloads with resolutions up to 4K. - * - **audioOnly**: Provides an MP4 stream containing only the audio. - * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. - * - *

Wrapper for an "open" enum that can handle unknown values from API responses - * without runtime errors. Instances are immutable singletons with reference equality. - * Use {@code asEnum()} for switch expressions. + *

One downloadable MP4 rendition generated for the media, along with its generation status. */ public class GetAllMediaResponseMp4Support { + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("type") + private GetAllMediaResponseMp4SupportType type; + + /** + * Generation status of this MP4 rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("status") + private GetAllMediaResponseMp4SupportStatus status; - private static final String NONE_VALUE = "none"; - private static final String CAPPED_4K_VALUE = "capped_4k"; - private static final String AUDIO_ONLY_VALUE = "audioOnly"; - private static final String AUDIO_ONLY_CAPPED_4K_VALUE = "audioOnly,capped_4k"; + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("height") + private Long height; - public static final GetAllMediaResponseMp4Support NONE = new GetAllMediaResponseMp4Support(NONE_VALUE); - public static final GetAllMediaResponseMp4Support CAPPED4K = new GetAllMediaResponseMp4Support(CAPPED_4K_VALUE); - public static final GetAllMediaResponseMp4Support AUDIO_ONLY = new GetAllMediaResponseMp4Support(AUDIO_ONLY_VALUE); - public static final GetAllMediaResponseMp4Support AUDIO_ONLY_CAPPED4K = new GetAllMediaResponseMp4Support(AUDIO_ONLY_CAPPED_4K_VALUE); + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("width") + private Long width; - // This map will grow whenever a Color gets created with a new - // unrecognized value (a potential memory leak if the user is not - // careful). Keep this field lower case to avoid clashing with - // generated member names which will always be upper cased (Java - // convention) - private static final Map values = createValuesMap(); - private static final Map enums = createEnumsMap(); + /** + * File extension of the downloadable rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ext") + private GetAllMediaResponseMp4SupportExt ext; - private final String value; + @JsonCreator + public GetAllMediaResponseMp4Support( + @JsonProperty("type") @Nullable GetAllMediaResponseMp4SupportType type, + @JsonProperty("status") @Nullable GetAllMediaResponseMp4SupportStatus status, + @JsonProperty("height") @Nullable Long height, + @JsonProperty("width") @Nullable Long width, + @JsonProperty("ext") @Nullable GetAllMediaResponseMp4SupportExt ext) { + this.type = type; + this.status = status; + this.height = height; + this.width = width; + this.ext = ext; + } - private GetAllMediaResponseMp4Support(String value) { - this.value = value; + public GetAllMediaResponseMp4Support() { + this(null, null, null, + null, null); } /** - * Returns a GetAllMediaResponseMp4Support with the given value. For a specific value the - * returned object will always be a singleton so reference equality - * is satisfied when the values are the same. - * - * @param value value to be wrapped as GetAllMediaResponseMp4Support - */ - @JsonCreator - public static GetAllMediaResponseMp4Support of(String value) { - synchronized (GetAllMediaResponseMp4Support.class) { - return values.computeIfAbsent(value, GetAllMediaResponseMp4Support::new); - } + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Optional type() { + return Optional.ofNullable(this.type); } - @JsonValue - public String value() { - return value; + /** + * Generation status of this MP4 rendition. + */ + public Optional status() { + return Optional.ofNullable(this.status); } - public Optional asEnum() { - return Optional.ofNullable(enums.getOrDefault(value, null)); + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Optional height() { + return Optional.ofNullable(this.height); } - public boolean isKnown() { - return asEnum().isPresent(); + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Optional width() { + return Optional.ofNullable(this.width); } - @Override - public int hashCode() { - return Objects.hash(value); + /** + * File extension of the downloadable rendition. + */ + public Optional ext() { + return Optional.ofNullable(this.ext); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public GetAllMediaResponseMp4Support withType(@Nullable GetAllMediaResponseMp4SupportType type) { + this.type = type; + return this; + } + + + /** + * Generation status of this MP4 rendition. + */ + public GetAllMediaResponseMp4Support withStatus(@Nullable GetAllMediaResponseMp4SupportStatus status) { + this.status = status; + return this; + } + + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public GetAllMediaResponseMp4Support withHeight(@Nullable Long height) { + this.height = height; + return this; } + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public GetAllMediaResponseMp4Support withWidth(@Nullable Long width) { + this.width = width; + return this; + } + + + /** + * File extension of the downloadable rendition. + */ + public GetAllMediaResponseMp4Support withExt(@Nullable GetAllMediaResponseMp4SupportExt ext) { + this.ext = ext; + return this; + } + + @Override - public boolean equals(java.lang.Object obj) { - if (this == obj) + public boolean equals(java.lang.Object o) { + if (this == o) { return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) + } + if (o == null || getClass() != o.getClass()) { return false; - GetAllMediaResponseMp4Support other = (GetAllMediaResponseMp4Support) obj; - return Objects.equals(value, other.value); + } + GetAllMediaResponseMp4Support other = (GetAllMediaResponseMp4Support) o; + return + Utils.enhancedDeepEquals(this.type, other.type) && + Utils.enhancedDeepEquals(this.status, other.status) && + Utils.enhancedDeepEquals(this.height, other.height) && + Utils.enhancedDeepEquals(this.width, other.width) && + Utils.enhancedDeepEquals(this.ext, other.ext); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + type, status, height, + width, ext); } @Override public String toString() { - return "GetAllMediaResponseMp4Support [value=" + value + "]"; + return Utils.toString(GetAllMediaResponseMp4Support.class, + "type", type, + "status", status, + "height", height, + "width", width, + "ext", ext); } - // return an array just like an enum - public static GetAllMediaResponseMp4Support[] values() { - synchronized (GetAllMediaResponseMp4Support.class) { - return values.values().toArray(new GetAllMediaResponseMp4Support[] {}); + @SuppressWarnings("UnusedReturnValue") + public static final class Builder { + + private GetAllMediaResponseMp4SupportType type; + + private GetAllMediaResponseMp4SupportStatus status; + + private Long height; + + private Long width; + + private GetAllMediaResponseMp4SupportExt ext; + + private Builder() { + // force use of static builder() method } - } - private static final Map createValuesMap() { - Map map = new LinkedHashMap<>(); - map.put(NONE_VALUE, NONE); - map.put(CAPPED_4K_VALUE, CAPPED4K); - map.put(AUDIO_ONLY_VALUE, AUDIO_ONLY); - map.put(AUDIO_ONLY_CAPPED_4K_VALUE, AUDIO_ONLY_CAPPED4K); - return map; - } + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Builder type(@Nullable GetAllMediaResponseMp4SupportType type) { + this.type = type; + return this; + } - private static final Map createEnumsMap() { - Map map = new HashMap<>(); - map.put(NONE_VALUE, GetAllMediaResponseMp4SupportEnum.NONE); - map.put(CAPPED_4K_VALUE, GetAllMediaResponseMp4SupportEnum.CAPPED4K); - map.put(AUDIO_ONLY_VALUE, GetAllMediaResponseMp4SupportEnum.AUDIO_ONLY); - map.put(AUDIO_ONLY_CAPPED_4K_VALUE, GetAllMediaResponseMp4SupportEnum.AUDIO_ONLY_CAPPED4K); - return map; - } - - - public enum GetAllMediaResponseMp4SupportEnum { + /** + * Generation status of this MP4 rendition. + */ + public Builder status(@Nullable GetAllMediaResponseMp4SupportStatus status) { + this.status = status; + return this; + } - NONE(NONE_VALUE), - CAPPED4K(CAPPED_4K_VALUE), - AUDIO_ONLY(AUDIO_ONLY_VALUE), - AUDIO_ONLY_CAPPED4K(AUDIO_ONLY_CAPPED_4K_VALUE),; + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Builder height(@Nullable Long height) { + this.height = height; + return this; + } - private final String value; + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Builder width(@Nullable Long width) { + this.width = width; + return this; + } - private GetAllMediaResponseMp4SupportEnum(String value) { - this.value = value; + /** + * File extension of the downloadable rendition. + */ + public Builder ext(@Nullable GetAllMediaResponseMp4SupportExt ext) { + this.ext = ext; + return this; } - public String value() { - return value; + public GetAllMediaResponseMp4Support build() { + return new GetAllMediaResponseMp4Support( + type, status, height, + width, ext); } } } - diff --git a/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4SupportExt.java b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4SupportExt.java new file mode 100644 index 0000000..d874df6 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4SupportExt.java @@ -0,0 +1,128 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * GetAllMediaResponseMp4SupportExt + * + *

File extension of the downloadable rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class GetAllMediaResponseMp4SupportExt { + + private static final String VALUE_MP4 = "mp4"; + private static final String VALUE_M4A = "m4a"; + + public static final GetAllMediaResponseMp4SupportExt MP4 = new GetAllMediaResponseMp4SupportExt(VALUE_MP4); + public static final GetAllMediaResponseMp4SupportExt M4A = new GetAllMediaResponseMp4SupportExt(VALUE_M4A); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private GetAllMediaResponseMp4SupportExt(String value) { + this.value = value; + } + + /** + * Returns a GetAllMediaResponseMp4SupportExt with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as GetAllMediaResponseMp4SupportExt + */ + @JsonCreator + public static GetAllMediaResponseMp4SupportExt of(String value) { + synchronized (GetAllMediaResponseMp4SupportExt.class) { + return values.computeIfAbsent(value, GetAllMediaResponseMp4SupportExt::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + GetAllMediaResponseMp4SupportExt other = (GetAllMediaResponseMp4SupportExt) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "GetAllMediaResponseMp4SupportExt [value=" + value + "]"; + } + + // return an array just like an enum + public static GetAllMediaResponseMp4SupportExt[] values() { + synchronized (GetAllMediaResponseMp4SupportExt.class) { + return values.values().toArray(new GetAllMediaResponseMp4SupportExt[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_MP4, MP4); + map.put(VALUE_M4A, M4A); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_MP4, GetAllMediaResponseMp4SupportExtEnum.MP4); + map.put(VALUE_M4A, GetAllMediaResponseMp4SupportExtEnum.M4A); + return map; + } + + + public enum GetAllMediaResponseMp4SupportExtEnum { + + MP4(VALUE_MP4), + M4A(VALUE_M4A),; + + private final String value; + + private GetAllMediaResponseMp4SupportExtEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4SupportStatus.java b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4SupportStatus.java new file mode 100644 index 0000000..04cc516 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4SupportStatus.java @@ -0,0 +1,133 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * GetAllMediaResponseMp4SupportStatus + * + *

Generation status of this MP4 rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class GetAllMediaResponseMp4SupportStatus { + + private static final String VALUE_PREPARING = "preparing"; + private static final String VALUE_READY = "ready"; + private static final String VALUE_FAILED = "failed"; + + public static final GetAllMediaResponseMp4SupportStatus PREPARING = new GetAllMediaResponseMp4SupportStatus(VALUE_PREPARING); + public static final GetAllMediaResponseMp4SupportStatus READY = new GetAllMediaResponseMp4SupportStatus(VALUE_READY); + public static final GetAllMediaResponseMp4SupportStatus FAILED = new GetAllMediaResponseMp4SupportStatus(VALUE_FAILED); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private GetAllMediaResponseMp4SupportStatus(String value) { + this.value = value; + } + + /** + * Returns a GetAllMediaResponseMp4SupportStatus with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as GetAllMediaResponseMp4SupportStatus + */ + @JsonCreator + public static GetAllMediaResponseMp4SupportStatus of(String value) { + synchronized (GetAllMediaResponseMp4SupportStatus.class) { + return values.computeIfAbsent(value, GetAllMediaResponseMp4SupportStatus::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + GetAllMediaResponseMp4SupportStatus other = (GetAllMediaResponseMp4SupportStatus) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "GetAllMediaResponseMp4SupportStatus [value=" + value + "]"; + } + + // return an array just like an enum + public static GetAllMediaResponseMp4SupportStatus[] values() { + synchronized (GetAllMediaResponseMp4SupportStatus.class) { + return values.values().toArray(new GetAllMediaResponseMp4SupportStatus[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_PREPARING, PREPARING); + map.put(VALUE_READY, READY); + map.put(VALUE_FAILED, FAILED); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_PREPARING, GetAllMediaResponseMp4SupportStatusEnum.PREPARING); + map.put(VALUE_READY, GetAllMediaResponseMp4SupportStatusEnum.READY); + map.put(VALUE_FAILED, GetAllMediaResponseMp4SupportStatusEnum.FAILED); + return map; + } + + + public enum GetAllMediaResponseMp4SupportStatusEnum { + + PREPARING(VALUE_PREPARING), + READY(VALUE_READY), + FAILED(VALUE_FAILED),; + + private final String value; + + private GetAllMediaResponseMp4SupportStatusEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4SupportType.java b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4SupportType.java new file mode 100644 index 0000000..50f3d8c --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseMp4SupportType.java @@ -0,0 +1,129 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * GetAllMediaResponseMp4SupportType + * + *

The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class GetAllMediaResponseMp4SupportType { + + private static final String VALUE_CAPPED_4K = "capped_4k"; + private static final String VALUE_AUDIO_ONLY = "audioOnly"; + + public static final GetAllMediaResponseMp4SupportType CAPPED4K = new GetAllMediaResponseMp4SupportType(VALUE_CAPPED_4K); + public static final GetAllMediaResponseMp4SupportType AUDIO_ONLY = new GetAllMediaResponseMp4SupportType(VALUE_AUDIO_ONLY); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private GetAllMediaResponseMp4SupportType(String value) { + this.value = value; + } + + /** + * Returns a GetAllMediaResponseMp4SupportType with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as GetAllMediaResponseMp4SupportType + */ + @JsonCreator + public static GetAllMediaResponseMp4SupportType of(String value) { + synchronized (GetAllMediaResponseMp4SupportType.class) { + return values.computeIfAbsent(value, GetAllMediaResponseMp4SupportType::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + GetAllMediaResponseMp4SupportType other = (GetAllMediaResponseMp4SupportType) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "GetAllMediaResponseMp4SupportType [value=" + value + "]"; + } + + // return an array just like an enum + public static GetAllMediaResponseMp4SupportType[] values() { + synchronized (GetAllMediaResponseMp4SupportType.class) { + return values.values().toArray(new GetAllMediaResponseMp4SupportType[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_CAPPED_4K, CAPPED4K); + map.put(VALUE_AUDIO_ONLY, AUDIO_ONLY); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_CAPPED_4K, GetAllMediaResponseMp4SupportTypeEnum.CAPPED4K); + map.put(VALUE_AUDIO_ONLY, GetAllMediaResponseMp4SupportTypeEnum.AUDIO_ONLY); + return map; + } + + + public enum GetAllMediaResponseMp4SupportTypeEnum { + + CAPPED4K(VALUE_CAPPED_4K), + AUDIO_ONLY(VALUE_AUDIO_ONLY),; + + private final String value; + + private GetAllMediaResponseMp4SupportTypeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseSourceResolution.java b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseSourceResolution.java index 9aa8741..1a3e00e 100644 --- a/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseSourceResolution.java +++ b/src/main/java/io/fastpix/sdk/models/components/GetAllMediaResponseSourceResolution.java @@ -29,6 +29,8 @@ public class GetAllMediaResponseSourceResolution { private static final String RESOLUTION_720 = "720"; private static final String RESOLUTION_480P = "480p"; private static final String RESOLUTION_480 = "480"; + private static final String RESOLUTION_360P = "360p"; + private static final String RESOLUTION_360 = "360"; public static final GetAllMediaResponseSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP = new GetAllMediaResponseSourceResolution(RESOLUTION_2160P); public static final GetAllMediaResponseSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY = new GetAllMediaResponseSourceResolution(RESOLUTION_2160); @@ -40,6 +42,8 @@ public class GetAllMediaResponseSourceResolution { public static final GetAllMediaResponseSourceResolution SEVEN_HUNDRED_AND_TWENTY = new GetAllMediaResponseSourceResolution(RESOLUTION_720); public static final GetAllMediaResponseSourceResolution FOUR_HUNDRED_AND_EIGHTYP = new GetAllMediaResponseSourceResolution(RESOLUTION_480P); public static final GetAllMediaResponseSourceResolution FOUR_HUNDRED_AND_EIGHTY = new GetAllMediaResponseSourceResolution(RESOLUTION_480); + public static final GetAllMediaResponseSourceResolution THREE_HUNDRED_AND_SIXTYP = new GetAllMediaResponseSourceResolution(RESOLUTION_360P); + public static final GetAllMediaResponseSourceResolution THREE_HUNDRED_AND_SIXTY = new GetAllMediaResponseSourceResolution(RESOLUTION_360); // This map will grow whenever a Color gets created with a new // unrecognized value (a potential memory leak if the user is not @@ -123,6 +127,8 @@ private static final Map createValu map.put(RESOLUTION_720, SEVEN_HUNDRED_AND_TWENTY); map.put(RESOLUTION_480P, FOUR_HUNDRED_AND_EIGHTYP); map.put(RESOLUTION_480, FOUR_HUNDRED_AND_EIGHTY); + map.put(RESOLUTION_360P, THREE_HUNDRED_AND_SIXTYP); + map.put(RESOLUTION_360, THREE_HUNDRED_AND_SIXTY); return map; } @@ -138,6 +144,8 @@ private static final Map create map.put(RESOLUTION_720, GetAllMediaResponseSourceResolutionEnum.SEVEN_HUNDRED_AND_TWENTY); map.put(RESOLUTION_480P, GetAllMediaResponseSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTYP); map.put(RESOLUTION_480, GetAllMediaResponseSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTY); + map.put(RESOLUTION_360P, GetAllMediaResponseSourceResolutionEnum.THREE_HUNDRED_AND_SIXTYP); + map.put(RESOLUTION_360, GetAllMediaResponseSourceResolutionEnum.THREE_HUNDRED_AND_SIXTY); return map; } @@ -153,7 +161,9 @@ public enum GetAllMediaResponseSourceResolutionEnum { SEVEN_HUNDRED_AND_TWENTYP(RESOLUTION_720P), SEVEN_HUNDRED_AND_TWENTY(RESOLUTION_720), FOUR_HUNDRED_AND_EIGHTYP(RESOLUTION_480P), - FOUR_HUNDRED_AND_EIGHTY(RESOLUTION_480),; + FOUR_HUNDRED_AND_EIGHTY(RESOLUTION_480), + THREE_HUNDRED_AND_SIXTYP(RESOLUTION_360P), + THREE_HUNDRED_AND_SIXTY(RESOLUTION_360),; private final String value; diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponse.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponse.java similarity index 84% rename from src/main/java/io/fastpix/sdk/models/components/GetMediaResponse.java rename to src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponse.java index a0b0e6f..d0caddf 100644 --- a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponse.java +++ b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponse.java @@ -17,7 +17,7 @@ import org.openapitools.jackson.nullable.JsonNullable; -public class GetMediaResponse { +public class GetMediaDetailResponse { /** * A video thumbnail is a still image that acts as the preview image for your video. */ @@ -67,7 +67,7 @@ public class GetMediaResponse { */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("mediaQuality") - private GetMediaResponseMediaQuality mediaQuality; + private GetMediaDetailResponseMediaQuality mediaQuality; /** * The unique identifier of the user who created this media. @@ -88,21 +88,21 @@ public class GetMediaResponse { */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("maxResolution") - private GetMediaResponseMaxResolution maxResolution; + private GetMediaDetailResponseMaxResolution maxResolution; /** * The actual resolution of the uploaded media. This represents the native quality of the source media. */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("sourceResolution") - private GetMediaResponseSourceResolution sourceResolution; + private GetMediaDetailResponseSourceResolution sourceResolution; /** * Determines the media's status, which can be one of the possible values. */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("status") - private GetMediaResponseStatus status; + private GetMediaDetailResponseStatus status; /** * Determines the type of MP4 support for the media. @@ -113,7 +113,7 @@ public class GetMediaResponse { */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("mp4Support") - private GetMediaResponseMp4Support mp4Support; + private List mp4Support; /** * The sourceAccess parameter determines whether the original media file is accessible. Set to true to @@ -135,7 +135,7 @@ public class GetMediaResponse { */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("tracks") - private List tracks; + private List tracks; /** * List of generated subtitle tracks associated with the media. @@ -229,24 +229,31 @@ public class GetMediaResponse { @JsonProperty("updatedAt") private OffsetDateTime updatedAt; + /** + * Whether the audio track of the media has been volume-normalized. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("optimizeAudio") + private Boolean optimizeAudio; + @JsonCreator - public GetMediaResponse( + public GetMediaDetailResponse( @JsonProperty("thumbnail") @Nullable JsonNullable thumbnail, @JsonProperty("id") @Nullable String id, @JsonProperty("sourceMediaId") @Nullable String sourceMediaId, @JsonProperty("workspaceId") @Nullable String workspaceId, @JsonProperty("streamId") @Nullable String streamId, @JsonProperty("metadata") @Nullable JsonNullable> metadata, - @JsonProperty("mediaQuality") @Nullable GetMediaResponseMediaQuality mediaQuality, + @JsonProperty("mediaQuality") @Nullable GetMediaDetailResponseMediaQuality mediaQuality, @JsonProperty("creatorId") @Nullable String creatorId, @JsonProperty("title") @Nullable JsonNullable title, - @JsonProperty("maxResolution") @Nullable GetMediaResponseMaxResolution maxResolution, - @JsonProperty("sourceResolution") @Nullable GetMediaResponseSourceResolution sourceResolution, - @JsonProperty("status") @Nullable GetMediaResponseStatus status, - @JsonProperty("mp4Support") @Nullable GetMediaResponseMp4Support mp4Support, + @JsonProperty("maxResolution") @Nullable GetMediaDetailResponseMaxResolution maxResolution, + @JsonProperty("sourceResolution") @Nullable GetMediaDetailResponseSourceResolution sourceResolution, + @JsonProperty("status") @Nullable GetMediaDetailResponseStatus status, + @JsonProperty("mp4Support") @Nullable List mp4Support, @JsonProperty("sourceAccess") @Nullable JsonNullable sourceAccess, @JsonProperty("playbackIds") @Nullable List playbackIds, - @JsonProperty("tracks") @Nullable List tracks, + @JsonProperty("tracks") @Nullable List tracks, @JsonProperty("generatedSubtitles") @Nullable JsonNullable> generatedSubtitles, @JsonProperty("summary") @Nullable AiSummaryRecord summary, @JsonProperty("chapters") @Nullable AiResponseRecord chapters, @@ -258,7 +265,8 @@ public GetMediaResponse( @JsonProperty("frameRate") @Nullable String frameRate, @JsonProperty("aspectRatio") @Nullable JsonNullable aspectRatio, @JsonProperty("createdAt") @Nullable OffsetDateTime createdAt, - @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt) { + @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt, + @JsonProperty("optimizeAudio") @Nullable Boolean optimizeAudio) { this.thumbnail = Optional.ofNullable(thumbnail) .orElse(JsonNullable.undefined()); this.id = id; @@ -297,9 +305,10 @@ public GetMediaResponse( .orElse(JsonNullable.undefined()); this.createdAt = createdAt; this.updatedAt = updatedAt; + this.optimizeAudio = optimizeAudio; } - public GetMediaResponse() { + public GetMediaDetailResponse() { this(null, null, null, null, null, null, null, null, null, @@ -309,7 +318,7 @@ public GetMediaResponse() { null, null, null, null, null, null, null, null, null, - null); + null, null); } /** @@ -359,7 +368,7 @@ public JsonNullable> metadata() { /** * The quality tier applied to the media. */ - public Optional mediaQuality() { + public Optional mediaQuality() { return Optional.ofNullable(this.mediaQuality); } @@ -380,21 +389,21 @@ public JsonNullable title() { /** * The maximum resolution specified by the user for the media. */ - public Optional maxResolution() { + public Optional maxResolution() { return Optional.ofNullable(this.maxResolution); } /** * The actual resolution of the uploaded media. This represents the native quality of the source media. */ - public Optional sourceResolution() { + public Optional sourceResolution() { return Optional.ofNullable(this.sourceResolution); } /** * Determines the media's status, which can be one of the possible values. */ - public Optional status() { + public Optional status() { return Optional.ofNullable(this.status); } @@ -405,7 +414,7 @@ public Optional status() { * - **audioOnly**: Provides an MP4 stream containing only the audio. * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. */ - public Optional mp4Support() { + public Optional> mp4Support() { return Optional.ofNullable(this.mp4Support); } @@ -427,7 +436,7 @@ public Optional> playbackIds() { /** * A media consists of different media tracks, like video, audio, and subtitle, all combined. */ - public Optional> tracks() { + public Optional> tracks() { return Optional.ofNullable(this.tracks); } @@ -524,6 +533,13 @@ public Optional updatedAt() { return Optional.ofNullable(this.updatedAt); } + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Optional optimizeAudio() { + return Optional.ofNullable(this.optimizeAudio); + } + public static Builder builder() { return new Builder(); } @@ -532,7 +548,7 @@ public static Builder builder() { /** * A video thumbnail is a still image that acts as the preview image for your video. */ - public GetMediaResponse withThumbnail(@Nullable String thumbnail) { + public GetMediaDetailResponse withThumbnail(@Nullable String thumbnail) { this.thumbnail = JsonNullable.of(thumbnail); return this; } @@ -541,7 +557,7 @@ public GetMediaResponse withThumbnail(@Nullable String thumbnail) { /** * The unique identifier assigned to the media when created. The value must be a valid UUID. */ - public GetMediaResponse withId(@Nullable String id) { + public GetMediaDetailResponse withId(@Nullable String id) { this.id = id; return this; } @@ -550,7 +566,7 @@ public GetMediaResponse withId(@Nullable String id) { /** * The source media ID if this media was created from another media (for example, as a clip). */ - public GetMediaResponse withSourceMediaId(@Nullable String sourceMediaId) { + public GetMediaDetailResponse withSourceMediaId(@Nullable String sourceMediaId) { this.sourceMediaId = sourceMediaId; return this; } @@ -559,7 +575,7 @@ public GetMediaResponse withSourceMediaId(@Nullable String sourceMediaId) { /** * A unique identifier is generated by FastPix for the workspace. */ - public GetMediaResponse withWorkspaceId(@Nullable String workspaceId) { + public GetMediaDetailResponse withWorkspaceId(@Nullable String workspaceId) { this.workspaceId = workspaceId; return this; } @@ -568,7 +584,7 @@ public GetMediaResponse withWorkspaceId(@Nullable String workspaceId) { /** * The ID of the livestream for which the clips were created. */ - public GetMediaResponse withStreamId(@Nullable String streamId) { + public GetMediaDetailResponse withStreamId(@Nullable String streamId) { this.streamId = streamId; return this; } @@ -579,7 +595,7 @@ public GetMediaResponse withStreamId(@Nullable String streamId) { * "key" : "value" pairs. Dynamic metadata allows you to define a key that allows any value pair. You * can have maximum of 255 characters and upto 10 entries are allowed. */ - public GetMediaResponse withMetadata(@Nullable Map metadata) { + public GetMediaDetailResponse withMetadata(@Nullable Map metadata) { this.metadata = JsonNullable.of(metadata); return this; } @@ -588,7 +604,7 @@ public GetMediaResponse withMetadata(@Nullable Map metadata) { /** * The quality tier applied to the media. */ - public GetMediaResponse withMediaQuality(@Nullable GetMediaResponseMediaQuality mediaQuality) { + public GetMediaDetailResponse withMediaQuality(@Nullable GetMediaDetailResponseMediaQuality mediaQuality) { this.mediaQuality = mediaQuality; return this; } @@ -597,7 +613,7 @@ public GetMediaResponse withMediaQuality(@Nullable GetMediaResponseMediaQuality /** * The unique identifier of the user who created this media. */ - public GetMediaResponse withCreatorId(@Nullable String creatorId) { + public GetMediaDetailResponse withCreatorId(@Nullable String creatorId) { this.creatorId = creatorId; return this; } @@ -606,7 +622,7 @@ public GetMediaResponse withCreatorId(@Nullable String creatorId) { /** * Title of the media file. */ - public GetMediaResponse withTitle(@Nullable String title) { + public GetMediaDetailResponse withTitle(@Nullable String title) { this.title = JsonNullable.of(title); return this; } @@ -615,7 +631,7 @@ public GetMediaResponse withTitle(@Nullable String title) { /** * The maximum resolution specified by the user for the media. */ - public GetMediaResponse withMaxResolution(@Nullable GetMediaResponseMaxResolution maxResolution) { + public GetMediaDetailResponse withMaxResolution(@Nullable GetMediaDetailResponseMaxResolution maxResolution) { this.maxResolution = maxResolution; return this; } @@ -624,7 +640,7 @@ public GetMediaResponse withMaxResolution(@Nullable GetMediaResponseMaxResolutio /** * The actual resolution of the uploaded media. This represents the native quality of the source media. */ - public GetMediaResponse withSourceResolution(@Nullable GetMediaResponseSourceResolution sourceResolution) { + public GetMediaDetailResponse withSourceResolution(@Nullable GetMediaDetailResponseSourceResolution sourceResolution) { this.sourceResolution = sourceResolution; return this; } @@ -633,7 +649,7 @@ public GetMediaResponse withSourceResolution(@Nullable GetMediaResponseSourceRes /** * Determines the media's status, which can be one of the possible values. */ - public GetMediaResponse withStatus(@Nullable GetMediaResponseStatus status) { + public GetMediaDetailResponse withStatus(@Nullable GetMediaDetailResponseStatus status) { this.status = status; return this; } @@ -646,7 +662,7 @@ public GetMediaResponse withStatus(@Nullable GetMediaResponseStatus status) { * - **audioOnly**: Provides an MP4 stream containing only the audio. * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. */ - public GetMediaResponse withMp4Support(@Nullable GetMediaResponseMp4Support mp4Support) { + public GetMediaDetailResponse withMp4Support(@Nullable List mp4Support) { this.mp4Support = mp4Support; return this; } @@ -656,7 +672,7 @@ public GetMediaResponse withMp4Support(@Nullable GetMediaResponseMp4Support mp4S * The sourceAccess parameter determines whether the original media file is accessible. Set to true to * enable access or false to restrict it. */ - public GetMediaResponse withSourceAccess(@Nullable Boolean sourceAccess) { + public GetMediaDetailResponse withSourceAccess(@Nullable Boolean sourceAccess) { this.sourceAccess = JsonNullable.of(sourceAccess); return this; } @@ -665,7 +681,7 @@ public GetMediaResponse withSourceAccess(@Nullable Boolean sourceAccess) { /** * A collection of Playback ID objects utilized for crafting HLS playback URLs. */ - public GetMediaResponse withPlaybackIds(@Nullable List playbackIds) { + public GetMediaDetailResponse withPlaybackIds(@Nullable List playbackIds) { this.playbackIds = playbackIds; return this; } @@ -674,7 +690,7 @@ public GetMediaResponse withPlaybackIds(@Nullable List playbackIds) /** * A media consists of different media tracks, like video, audio, and subtitle, all combined. */ - public GetMediaResponse withTracks(@Nullable List tracks) { + public GetMediaDetailResponse withTracks(@Nullable List tracks) { this.tracks = tracks; return this; } @@ -683,7 +699,7 @@ public GetMediaResponse withTracks(@Nullable List tracks) /** * List of generated subtitle tracks associated with the media. */ - public GetMediaResponse withGeneratedSubtitles(@Nullable List generatedSubtitles) { + public GetMediaDetailResponse withGeneratedSubtitles(@Nullable List generatedSubtitles) { this.generatedSubtitles = JsonNullable.of(generatedSubtitles); return this; } @@ -693,7 +709,7 @@ public GetMediaResponse withGeneratedSubtitles(@Nullable List g * Represents an AI response record containing status and data for AI-generated features like summary, * chapters, named entities, or moderation. */ - public GetMediaResponse withSummary(@Nullable AiSummaryRecord summary) { + public GetMediaDetailResponse withSummary(@Nullable AiSummaryRecord summary) { this.summary = summary; return this; } @@ -703,7 +719,7 @@ public GetMediaResponse withSummary(@Nullable AiSummaryRecord summary) { * Represents an AI response record containing status and data for AI-generated features like summary, * chapters, named entities, or moderation. */ - public GetMediaResponse withChapters(@Nullable AiResponseRecord chapters) { + public GetMediaDetailResponse withChapters(@Nullable AiResponseRecord chapters) { this.chapters = chapters; return this; } @@ -713,7 +729,7 @@ public GetMediaResponse withChapters(@Nullable AiResponseRecord chapters) { * Represents an AI response record containing status and data for AI-generated features like summary, * chapters, named entities, or moderation. */ - public GetMediaResponse withNamedEntities(@Nullable AiResponseRecord namedEntities) { + public GetMediaDetailResponse withNamedEntities(@Nullable AiResponseRecord namedEntities) { this.namedEntities = namedEntities; return this; } @@ -723,7 +739,7 @@ public GetMediaResponse withNamedEntities(@Nullable AiResponseRecord namedEntiti * Represents an AI response record containing status and data for AI-generated features like summary, * chapters, named entities, or moderation. */ - public GetMediaResponse withModeration(@Nullable AiResponseRecord moderation) { + public GetMediaDetailResponse withModeration(@Nullable AiResponseRecord moderation) { this.moderation = moderation; return this; } @@ -732,7 +748,7 @@ public GetMediaResponse withModeration(@Nullable AiResponseRecord moderation) { /** * Indicates whether the media contains only audio (no video track). */ - public GetMediaResponse withIsAudioOnly(@Nullable Boolean isAudioOnly) { + public GetMediaDetailResponse withIsAudioOnly(@Nullable Boolean isAudioOnly) { this.isAudioOnly = JsonNullable.of(isAudioOnly); return this; } @@ -741,7 +757,7 @@ public GetMediaResponse withIsAudioOnly(@Nullable Boolean isAudioOnly) { /** * Indicates whether subtitles are available for the media. */ - public GetMediaResponse withSubtitleAvailable(@Nullable Boolean subtitleAvailable) { + public GetMediaDetailResponse withSubtitleAvailable(@Nullable Boolean subtitleAvailable) { this.subtitleAvailable = JsonNullable.of(subtitleAvailable); return this; } @@ -751,7 +767,7 @@ public GetMediaResponse withSubtitleAvailable(@Nullable Boolean subtitleAvailabl * The length of the media in seconds, with a maximum allowed duration of 12 hours per individual * media. */ - public GetMediaResponse withDuration(@Nullable String duration) { + public GetMediaDetailResponse withDuration(@Nullable String duration) { this.duration = duration; return this; } @@ -762,7 +778,7 @@ public GetMediaResponse withDuration(@Nullable String duration) { * frames available for a specific track. The indeterminable frame rate of the input file is indicated * by a value of -1. */ - public GetMediaResponse withFrameRate(@Nullable String frameRate) { + public GetMediaDetailResponse withFrameRate(@Nullable String frameRate) { this.frameRate = frameRate; return this; } @@ -772,7 +788,7 @@ public GetMediaResponse withFrameRate(@Nullable String frameRate) { * The aspect ratio of a video is a value that describes the relative shape of a video based on its * width and height. */ - public GetMediaResponse withAspectRatio(@Nullable String aspectRatio) { + public GetMediaDetailResponse withAspectRatio(@Nullable String aspectRatio) { this.aspectRatio = JsonNullable.of(aspectRatio); return this; } @@ -781,7 +797,7 @@ public GetMediaResponse withAspectRatio(@Nullable String aspectRatio) { /** * Time the media was created, defined as a localDateTime (UTC Time). */ - public GetMediaResponse withCreatedAt(@Nullable OffsetDateTime createdAt) { + public GetMediaDetailResponse withCreatedAt(@Nullable OffsetDateTime createdAt) { this.createdAt = createdAt; return this; } @@ -790,12 +806,21 @@ public GetMediaResponse withCreatedAt(@Nullable OffsetDateTime createdAt) { /** * Time the media was updated, defined as a localDateTime (UTC Time). */ - public GetMediaResponse withUpdatedAt(@Nullable OffsetDateTime updatedAt) { + public GetMediaDetailResponse withUpdatedAt(@Nullable OffsetDateTime updatedAt) { this.updatedAt = updatedAt; return this; } + /** + * Whether the audio track of the media has been volume-normalized. + */ + public GetMediaDetailResponse withOptimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -804,7 +829,7 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GetMediaResponse other = (GetMediaResponse) o; + GetMediaDetailResponse other = (GetMediaDetailResponse) o; return Utils.enhancedDeepEquals(this.thumbnail, other.thumbnail) && Utils.enhancedDeepEquals(this.id, other.id) && @@ -833,7 +858,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.frameRate, other.frameRate) && Utils.enhancedDeepEquals(this.aspectRatio, other.aspectRatio) && Utils.enhancedDeepEquals(this.createdAt, other.createdAt) && - Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt); + Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt) && + Utils.enhancedDeepEquals(this.optimizeAudio, other.optimizeAudio); } @Override @@ -848,12 +874,12 @@ public int hashCode() { chapters, namedEntities, moderation, isAudioOnly, subtitleAvailable, duration, frameRate, aspectRatio, createdAt, - updatedAt); + updatedAt, optimizeAudio); } @Override public String toString() { - return Utils.toString(GetMediaResponse.class, + return Utils.toString(GetMediaDetailResponse.class, "thumbnail", thumbnail, "id", id, "sourceMediaId", sourceMediaId, @@ -881,7 +907,8 @@ public String toString() { "frameRate", frameRate, "aspectRatio", aspectRatio, "createdAt", createdAt, - "updatedAt", updatedAt); + "updatedAt", updatedAt, + "optimizeAudio", optimizeAudio); } @SuppressWarnings("UnusedReturnValue") @@ -899,25 +926,25 @@ public static final class Builder { private JsonNullable> metadata; - private GetMediaResponseMediaQuality mediaQuality; + private GetMediaDetailResponseMediaQuality mediaQuality; private String creatorId; private JsonNullable title; - private GetMediaResponseMaxResolution maxResolution; + private GetMediaDetailResponseMaxResolution maxResolution; - private GetMediaResponseSourceResolution sourceResolution; + private GetMediaDetailResponseSourceResolution sourceResolution; - private GetMediaResponseStatus status; + private GetMediaDetailResponseStatus status; - private GetMediaResponseMp4Support mp4Support; + private List mp4Support; private JsonNullable sourceAccess; private List playbackIds; - private List tracks; + private List tracks; private JsonNullable> generatedSubtitles; @@ -943,6 +970,8 @@ public static final class Builder { private OffsetDateTime updatedAt; + private Boolean optimizeAudio; + private Builder() { // force use of static builder() method } @@ -1000,7 +1029,7 @@ public Builder metadata(@Nullable Map metadata) { /** * The quality tier applied to the media. */ - public Builder mediaQuality(@Nullable GetMediaResponseMediaQuality mediaQuality) { + public Builder mediaQuality(@Nullable GetMediaDetailResponseMediaQuality mediaQuality) { this.mediaQuality = mediaQuality; return this; } @@ -1024,7 +1053,7 @@ public Builder title(@Nullable String title) { /** * The maximum resolution specified by the user for the media. */ - public Builder maxResolution(@Nullable GetMediaResponseMaxResolution maxResolution) { + public Builder maxResolution(@Nullable GetMediaDetailResponseMaxResolution maxResolution) { this.maxResolution = maxResolution; return this; } @@ -1032,7 +1061,7 @@ public Builder maxResolution(@Nullable GetMediaResponseMaxResolution maxResoluti /** * The actual resolution of the uploaded media. This represents the native quality of the source media. */ - public Builder sourceResolution(@Nullable GetMediaResponseSourceResolution sourceResolution) { + public Builder sourceResolution(@Nullable GetMediaDetailResponseSourceResolution sourceResolution) { this.sourceResolution = sourceResolution; return this; } @@ -1040,7 +1069,7 @@ public Builder sourceResolution(@Nullable GetMediaResponseSourceResolution sourc /** * Determines the media's status, which can be one of the possible values. */ - public Builder status(@Nullable GetMediaResponseStatus status) { + public Builder status(@Nullable GetMediaDetailResponseStatus status) { this.status = status; return this; } @@ -1052,7 +1081,7 @@ public Builder status(@Nullable GetMediaResponseStatus status) { * - **audioOnly**: Provides an MP4 stream containing only the audio. * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. */ - public Builder mp4Support(@Nullable GetMediaResponseMp4Support mp4Support) { + public Builder mp4Support(@Nullable List mp4Support) { this.mp4Support = mp4Support; return this; } @@ -1077,7 +1106,7 @@ public Builder playbackIds(@Nullable List playbackIds) { /** * A media consists of different media tracks, like video, audio, and subtitle, all combined. */ - public Builder tracks(@Nullable List tracks) { + public Builder tracks(@Nullable List tracks) { this.tracks = tracks; return this; } @@ -1186,8 +1215,16 @@ public Builder updatedAt(@Nullable OffsetDateTime updatedAt) { return this; } - public GetMediaResponse build() { - return new GetMediaResponse( + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Builder optimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + + public GetMediaDetailResponse build() { + return new GetMediaDetailResponse( thumbnail, id, sourceMediaId, workspaceId, streamId, metadata, mediaQuality, creatorId, title, @@ -1197,20 +1234,20 @@ public GetMediaResponse build() { chapters, namedEntities, moderation, isAudioOnly, subtitleAvailable, duration, frameRate, aspectRatio, createdAt, - updatedAt); + updatedAt, optimizeAudio); } - private static final LazySingletonValue _SINGLETON_VALUE_MaxResolution = + private static final LazySingletonValue _SINGLETON_VALUE_MaxResolution = new LazySingletonValue<>( "maxResolution", "\"1080p\"", - new TypeReference() {}); + new TypeReference() {}); - private static final LazySingletonValue _SINGLETON_VALUE_SourceResolution = + private static final LazySingletonValue _SINGLETON_VALUE_SourceResolution = new LazySingletonValue<>( "sourceResolution", "\"1080p\"", - new TypeReference() {}); + new TypeReference() {}); } } diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMaxResolution.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMaxResolution.java new file mode 100644 index 0000000..0a5d61e --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMaxResolution.java @@ -0,0 +1,139 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * GetMediaDetailResponseMaxResolution + * + *

The maximum resolution specified by the user for the media. + */ +public class GetMediaDetailResponseMaxResolution { + + private static final String VALUE_2160P = "2160p"; + private static final String VALUE_1440P = "1440p"; + private static final String VALUE_1080P = "1080p"; + private static final String VALUE_720P = "720p"; + private static final String VALUE_480P = "480p"; + + public static final GetMediaDetailResponseMaxResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP = new GetMediaDetailResponseMaxResolution(VALUE_2160P); + public static final GetMediaDetailResponseMaxResolution ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP = new GetMediaDetailResponseMaxResolution(VALUE_1440P); + public static final GetMediaDetailResponseMaxResolution ONE_THOUSAND_AND_EIGHTYP = new GetMediaDetailResponseMaxResolution(VALUE_1080P); + public static final GetMediaDetailResponseMaxResolution SEVEN_HUNDRED_AND_TWENTYP = new GetMediaDetailResponseMaxResolution(VALUE_720P); + public static final GetMediaDetailResponseMaxResolution FOUR_HUNDRED_AND_EIGHTYP = new GetMediaDetailResponseMaxResolution(VALUE_480P); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private GetMediaDetailResponseMaxResolution(String value) { + this.value = value; + } + + /** + * Returns a GetMediaDetailResponseMaxResolution with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as GetMediaDetailResponseMaxResolution + */ + @JsonCreator + public static GetMediaDetailResponseMaxResolution of(String value) { + synchronized (GetMediaDetailResponseMaxResolution.class) { + return values.computeIfAbsent(value, GetMediaDetailResponseMaxResolution::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + GetMediaDetailResponseMaxResolution other = (GetMediaDetailResponseMaxResolution) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "GetMediaDetailResponseMaxResolution [value=" + value + "]"; + } + + // return an array just like an enum + public static GetMediaDetailResponseMaxResolution[] values() { + synchronized (GetMediaDetailResponseMaxResolution.class) { + return values.values().toArray(new GetMediaDetailResponseMaxResolution[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_2160P, TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP); + map.put(VALUE_1440P, ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP); + map.put(VALUE_1080P, ONE_THOUSAND_AND_EIGHTYP); + map.put(VALUE_720P, SEVEN_HUNDRED_AND_TWENTYP); + map.put(VALUE_480P, FOUR_HUNDRED_AND_EIGHTYP); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_2160P, GetMediaDetailResponseMaxResolutionEnum.TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP); + map.put(VALUE_1440P, GetMediaDetailResponseMaxResolutionEnum.ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP); + map.put(VALUE_1080P, GetMediaDetailResponseMaxResolutionEnum.ONE_THOUSAND_AND_EIGHTYP); + map.put(VALUE_720P, GetMediaDetailResponseMaxResolutionEnum.SEVEN_HUNDRED_AND_TWENTYP); + map.put(VALUE_480P, GetMediaDetailResponseMaxResolutionEnum.FOUR_HUNDRED_AND_EIGHTYP); + return map; + } + + + public enum GetMediaDetailResponseMaxResolutionEnum { + + TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP(VALUE_2160P), + ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP(VALUE_1440P), + ONE_THOUSAND_AND_EIGHTYP(VALUE_1080P), + SEVEN_HUNDRED_AND_TWENTYP(VALUE_720P), + FOUR_HUNDRED_AND_EIGHTYP(VALUE_480P),; + + private final String value; + + private GetMediaDetailResponseMaxResolutionEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseMediaQuality.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMediaQuality.java similarity index 51% rename from src/main/java/io/fastpix/sdk/models/components/GetMediaResponseMediaQuality.java rename to src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMediaQuality.java index b0694fc..aec92aa 100644 --- a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseMediaQuality.java +++ b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMediaQuality.java @@ -9,7 +9,7 @@ import java.util.Optional; /** - * GetMediaResponseMediaQuality + * GetMediaDetailResponseMediaQuality * *

The quality tier applied to the media. * @@ -17,41 +17,41 @@ * without runtime errors. Instances are immutable singletons with reference equality. * Use {@code asEnum()} for switch expressions. */ -public class GetMediaResponseMediaQuality { +public class GetMediaDetailResponseMediaQuality { private static final String STANDARD_VALUE = "standard"; private static final String PRO_VALUE = "pro"; private static final String PREMIUM_VALUE = "premium"; - public static final GetMediaResponseMediaQuality STANDARD = new GetMediaResponseMediaQuality(STANDARD_VALUE); - public static final GetMediaResponseMediaQuality PRO = new GetMediaResponseMediaQuality(PRO_VALUE); - public static final GetMediaResponseMediaQuality PREMIUM = new GetMediaResponseMediaQuality(PREMIUM_VALUE); + public static final GetMediaDetailResponseMediaQuality STANDARD = new GetMediaDetailResponseMediaQuality(STANDARD_VALUE); + public static final GetMediaDetailResponseMediaQuality PRO = new GetMediaDetailResponseMediaQuality(PRO_VALUE); + public static final GetMediaDetailResponseMediaQuality PREMIUM = new GetMediaDetailResponseMediaQuality(PREMIUM_VALUE); // This map will grow whenever a Color gets created with a new // unrecognized value (a potential memory leak if the user is not // careful). Keep this field lower case to avoid clashing with // generated member names which will always be upper cased (Java // convention) - private static final Map values = createValuesMap(); - private static final Map enums = createEnumsMap(); + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); private final String value; - private GetMediaResponseMediaQuality(String value) { + private GetMediaDetailResponseMediaQuality(String value) { this.value = value; } /** - * Returns a GetMediaResponseMediaQuality with the given value. For a specific value the + * Returns a GetMediaDetailResponseMediaQuality with the given value. For a specific value the * returned object will always be a singleton so reference equality * is satisfied when the values are the same. * - * @param value value to be wrapped as GetMediaResponseMediaQuality + * @param value value to be wrapped as GetMediaDetailResponseMediaQuality */ @JsonCreator - public static GetMediaResponseMediaQuality of(String value) { - synchronized (GetMediaResponseMediaQuality.class) { - return values.computeIfAbsent(value, GetMediaResponseMediaQuality::new); + public static GetMediaDetailResponseMediaQuality of(String value) { + synchronized (GetMediaDetailResponseMediaQuality.class) { + return values.computeIfAbsent(value, GetMediaDetailResponseMediaQuality::new); } } @@ -60,7 +60,7 @@ public String value() { return value; } - public Optional asEnum() { + public Optional asEnum() { return Optional.ofNullable(enums.getOrDefault(value, null)); } @@ -81,40 +81,40 @@ public boolean equals(java.lang.Object obj) { return false; if (getClass() != obj.getClass()) return false; - GetMediaResponseMediaQuality other = (GetMediaResponseMediaQuality) obj; + GetMediaDetailResponseMediaQuality other = (GetMediaDetailResponseMediaQuality) obj; return Objects.equals(value, other.value); } @Override public String toString() { - return "GetMediaResponseMediaQuality [value=" + value + "]"; + return "GetMediaDetailResponseMediaQuality [value=" + value + "]"; } // return an array just like an enum - public static GetMediaResponseMediaQuality[] values() { - synchronized (GetMediaResponseMediaQuality.class) { - return values.values().toArray(new GetMediaResponseMediaQuality[] {}); + public static GetMediaDetailResponseMediaQuality[] values() { + synchronized (GetMediaDetailResponseMediaQuality.class) { + return values.values().toArray(new GetMediaDetailResponseMediaQuality[] {}); } } - private static final Map createValuesMap() { - Map map = new LinkedHashMap<>(); + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); map.put(STANDARD_VALUE, STANDARD); map.put(PRO_VALUE, PRO); map.put(PREMIUM_VALUE, PREMIUM); return map; } - private static final Map createEnumsMap() { - Map map = new HashMap<>(); - map.put(STANDARD_VALUE, GetMediaResponseMediaQualityEnum.STANDARD); - map.put(PRO_VALUE, GetMediaResponseMediaQualityEnum.PRO); - map.put(PREMIUM_VALUE, GetMediaResponseMediaQualityEnum.PREMIUM); + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(STANDARD_VALUE, GetMediaDetailResponseMediaQualityEnum.STANDARD); + map.put(PRO_VALUE, GetMediaDetailResponseMediaQualityEnum.PRO); + map.put(PREMIUM_VALUE, GetMediaDetailResponseMediaQualityEnum.PREMIUM); return map; } - public enum GetMediaResponseMediaQualityEnum { + public enum GetMediaDetailResponseMediaQualityEnum { STANDARD(STANDARD_VALUE), PRO(PRO_VALUE), @@ -122,7 +122,7 @@ public enum GetMediaResponseMediaQualityEnum { private final String value; - private GetMediaResponseMediaQualityEnum(String value) { + private GetMediaDetailResponseMediaQualityEnum(String value) { this.value = value; } diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4Support.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4Support.java new file mode 100644 index 0000000..77fa1b3 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4Support.java @@ -0,0 +1,257 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; +import java.util.Optional; +import io.fastpix.sdk.utils.Utils; + +/** + * GetMediaDetailResponseMp4Support + * + *

One downloadable MP4 rendition generated for the media, along with its generation status. + */ +public class GetMediaDetailResponseMp4Support { + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("type") + private GetMediaDetailResponseMp4SupportType type; + + /** + * Generation status of this MP4 rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("status") + private GetMediaDetailResponseMp4SupportStatus status; + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("height") + private Long height; + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("width") + private Long width; + + /** + * File extension of the downloadable rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ext") + private GetMediaDetailResponseMp4SupportExt ext; + + @JsonCreator + public GetMediaDetailResponseMp4Support( + @JsonProperty("type") @Nullable GetMediaDetailResponseMp4SupportType type, + @JsonProperty("status") @Nullable GetMediaDetailResponseMp4SupportStatus status, + @JsonProperty("height") @Nullable Long height, + @JsonProperty("width") @Nullable Long width, + @JsonProperty("ext") @Nullable GetMediaDetailResponseMp4SupportExt ext) { + this.type = type; + this.status = status; + this.height = height; + this.width = width; + this.ext = ext; + } + + public GetMediaDetailResponseMp4Support() { + this(null, null, null, + null, null); + } + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Optional type() { + return Optional.ofNullable(this.type); + } + + /** + * Generation status of this MP4 rendition. + */ + public Optional status() { + return Optional.ofNullable(this.status); + } + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Optional height() { + return Optional.ofNullable(this.height); + } + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Optional width() { + return Optional.ofNullable(this.width); + } + + /** + * File extension of the downloadable rendition. + */ + public Optional ext() { + return Optional.ofNullable(this.ext); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public GetMediaDetailResponseMp4Support withType(@Nullable GetMediaDetailResponseMp4SupportType type) { + this.type = type; + return this; + } + + + /** + * Generation status of this MP4 rendition. + */ + public GetMediaDetailResponseMp4Support withStatus(@Nullable GetMediaDetailResponseMp4SupportStatus status) { + this.status = status; + return this; + } + + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public GetMediaDetailResponseMp4Support withHeight(@Nullable Long height) { + this.height = height; + return this; + } + + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public GetMediaDetailResponseMp4Support withWidth(@Nullable Long width) { + this.width = width; + return this; + } + + + /** + * File extension of the downloadable rendition. + */ + public GetMediaDetailResponseMp4Support withExt(@Nullable GetMediaDetailResponseMp4SupportExt ext) { + this.ext = ext; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + GetMediaDetailResponseMp4Support other = (GetMediaDetailResponseMp4Support) o; + return + Utils.enhancedDeepEquals(this.type, other.type) && + Utils.enhancedDeepEquals(this.status, other.status) && + Utils.enhancedDeepEquals(this.height, other.height) && + Utils.enhancedDeepEquals(this.width, other.width) && + Utils.enhancedDeepEquals(this.ext, other.ext); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + type, status, height, + width, ext); + } + + @Override + public String toString() { + return Utils.toString(GetMediaDetailResponseMp4Support.class, + "type", type, + "status", status, + "height", height, + "width", width, + "ext", ext); + } + + @SuppressWarnings("UnusedReturnValue") + public static final class Builder { + + private GetMediaDetailResponseMp4SupportType type; + + private GetMediaDetailResponseMp4SupportStatus status; + + private Long height; + + private Long width; + + private GetMediaDetailResponseMp4SupportExt ext; + + private Builder() { + // force use of static builder() method + } + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Builder type(@Nullable GetMediaDetailResponseMp4SupportType type) { + this.type = type; + return this; + } + + /** + * Generation status of this MP4 rendition. + */ + public Builder status(@Nullable GetMediaDetailResponseMp4SupportStatus status) { + this.status = status; + return this; + } + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Builder height(@Nullable Long height) { + this.height = height; + return this; + } + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Builder width(@Nullable Long width) { + this.width = width; + return this; + } + + /** + * File extension of the downloadable rendition. + */ + public Builder ext(@Nullable GetMediaDetailResponseMp4SupportExt ext) { + this.ext = ext; + return this; + } + + public GetMediaDetailResponseMp4Support build() { + return new GetMediaDetailResponseMp4Support( + type, status, height, + width, ext); + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4SupportExt.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4SupportExt.java new file mode 100644 index 0000000..512fe07 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4SupportExt.java @@ -0,0 +1,128 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * GetMediaDetailResponseMp4SupportExt + * + *

File extension of the downloadable rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class GetMediaDetailResponseMp4SupportExt { + + private static final String VALUE_MP4 = "mp4"; + private static final String VALUE_M4A = "m4a"; + + public static final GetMediaDetailResponseMp4SupportExt MP4 = new GetMediaDetailResponseMp4SupportExt(VALUE_MP4); + public static final GetMediaDetailResponseMp4SupportExt M4A = new GetMediaDetailResponseMp4SupportExt(VALUE_M4A); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private GetMediaDetailResponseMp4SupportExt(String value) { + this.value = value; + } + + /** + * Returns a GetMediaDetailResponseMp4SupportExt with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as GetMediaDetailResponseMp4SupportExt + */ + @JsonCreator + public static GetMediaDetailResponseMp4SupportExt of(String value) { + synchronized (GetMediaDetailResponseMp4SupportExt.class) { + return values.computeIfAbsent(value, GetMediaDetailResponseMp4SupportExt::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + GetMediaDetailResponseMp4SupportExt other = (GetMediaDetailResponseMp4SupportExt) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "GetMediaDetailResponseMp4SupportExt [value=" + value + "]"; + } + + // return an array just like an enum + public static GetMediaDetailResponseMp4SupportExt[] values() { + synchronized (GetMediaDetailResponseMp4SupportExt.class) { + return values.values().toArray(new GetMediaDetailResponseMp4SupportExt[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_MP4, MP4); + map.put(VALUE_M4A, M4A); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_MP4, GetMediaDetailResponseMp4SupportExtEnum.MP4); + map.put(VALUE_M4A, GetMediaDetailResponseMp4SupportExtEnum.M4A); + return map; + } + + + public enum GetMediaDetailResponseMp4SupportExtEnum { + + MP4(VALUE_MP4), + M4A(VALUE_M4A),; + + private final String value; + + private GetMediaDetailResponseMp4SupportExtEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4SupportStatus.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4SupportStatus.java new file mode 100644 index 0000000..2876d38 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4SupportStatus.java @@ -0,0 +1,133 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * GetMediaDetailResponseMp4SupportStatus + * + *

Generation status of this MP4 rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class GetMediaDetailResponseMp4SupportStatus { + + private static final String VALUE_PREPARING = "preparing"; + private static final String VALUE_READY = "ready"; + private static final String VALUE_FAILED = "failed"; + + public static final GetMediaDetailResponseMp4SupportStatus PREPARING = new GetMediaDetailResponseMp4SupportStatus(VALUE_PREPARING); + public static final GetMediaDetailResponseMp4SupportStatus READY = new GetMediaDetailResponseMp4SupportStatus(VALUE_READY); + public static final GetMediaDetailResponseMp4SupportStatus FAILED = new GetMediaDetailResponseMp4SupportStatus(VALUE_FAILED); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private GetMediaDetailResponseMp4SupportStatus(String value) { + this.value = value; + } + + /** + * Returns a GetMediaDetailResponseMp4SupportStatus with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as GetMediaDetailResponseMp4SupportStatus + */ + @JsonCreator + public static GetMediaDetailResponseMp4SupportStatus of(String value) { + synchronized (GetMediaDetailResponseMp4SupportStatus.class) { + return values.computeIfAbsent(value, GetMediaDetailResponseMp4SupportStatus::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + GetMediaDetailResponseMp4SupportStatus other = (GetMediaDetailResponseMp4SupportStatus) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "GetMediaDetailResponseMp4SupportStatus [value=" + value + "]"; + } + + // return an array just like an enum + public static GetMediaDetailResponseMp4SupportStatus[] values() { + synchronized (GetMediaDetailResponseMp4SupportStatus.class) { + return values.values().toArray(new GetMediaDetailResponseMp4SupportStatus[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_PREPARING, PREPARING); + map.put(VALUE_READY, READY); + map.put(VALUE_FAILED, FAILED); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_PREPARING, GetMediaDetailResponseMp4SupportStatusEnum.PREPARING); + map.put(VALUE_READY, GetMediaDetailResponseMp4SupportStatusEnum.READY); + map.put(VALUE_FAILED, GetMediaDetailResponseMp4SupportStatusEnum.FAILED); + return map; + } + + + public enum GetMediaDetailResponseMp4SupportStatusEnum { + + PREPARING(VALUE_PREPARING), + READY(VALUE_READY), + FAILED(VALUE_FAILED),; + + private final String value; + + private GetMediaDetailResponseMp4SupportStatusEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4SupportType.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4SupportType.java new file mode 100644 index 0000000..855836d --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseMp4SupportType.java @@ -0,0 +1,129 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * GetMediaDetailResponseMp4SupportType + * + *

The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class GetMediaDetailResponseMp4SupportType { + + private static final String VALUE_CAPPED_4K = "capped_4k"; + private static final String VALUE_AUDIO_ONLY = "audioOnly"; + + public static final GetMediaDetailResponseMp4SupportType CAPPED4K = new GetMediaDetailResponseMp4SupportType(VALUE_CAPPED_4K); + public static final GetMediaDetailResponseMp4SupportType AUDIO_ONLY = new GetMediaDetailResponseMp4SupportType(VALUE_AUDIO_ONLY); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private GetMediaDetailResponseMp4SupportType(String value) { + this.value = value; + } + + /** + * Returns a GetMediaDetailResponseMp4SupportType with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as GetMediaDetailResponseMp4SupportType + */ + @JsonCreator + public static GetMediaDetailResponseMp4SupportType of(String value) { + synchronized (GetMediaDetailResponseMp4SupportType.class) { + return values.computeIfAbsent(value, GetMediaDetailResponseMp4SupportType::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + GetMediaDetailResponseMp4SupportType other = (GetMediaDetailResponseMp4SupportType) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "GetMediaDetailResponseMp4SupportType [value=" + value + "]"; + } + + // return an array just like an enum + public static GetMediaDetailResponseMp4SupportType[] values() { + synchronized (GetMediaDetailResponseMp4SupportType.class) { + return values.values().toArray(new GetMediaDetailResponseMp4SupportType[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_CAPPED_4K, CAPPED4K); + map.put(VALUE_AUDIO_ONLY, AUDIO_ONLY); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_CAPPED_4K, GetMediaDetailResponseMp4SupportTypeEnum.CAPPED4K); + map.put(VALUE_AUDIO_ONLY, GetMediaDetailResponseMp4SupportTypeEnum.AUDIO_ONLY); + return map; + } + + + public enum GetMediaDetailResponseMp4SupportTypeEnum { + + CAPPED4K(VALUE_CAPPED_4K), + AUDIO_ONLY(VALUE_AUDIO_ONLY),; + + private final String value; + + private GetMediaDetailResponseMp4SupportTypeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseSourceResolution.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseSourceResolution.java new file mode 100644 index 0000000..dae2157 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseSourceResolution.java @@ -0,0 +1,179 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * GetMediaDetailResponseSourceResolution + * + *

The actual resolution of the uploaded media. This represents the native quality of the source media. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class GetMediaDetailResponseSourceResolution { + + private static final String RESOLUTION_2160P = "2160p"; + private static final String RESOLUTION_2160 = "2160"; + private static final String RESOLUTION_1440P = "1440p"; + private static final String RESOLUTION_1440 = "1440"; + private static final String RESOLUTION_1080P = "1080p"; + private static final String RESOLUTION_1080 = "1080"; + private static final String RESOLUTION_720P = "720p"; + private static final String RESOLUTION_720 = "720"; + private static final String RESOLUTION_480P = "480p"; + private static final String RESOLUTION_480 = "480"; + private static final String RESOLUTION_360P = "360p"; + private static final String RESOLUTION_360 = "360"; + + public static final GetMediaDetailResponseSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP = new GetMediaDetailResponseSourceResolution(RESOLUTION_2160P); + public static final GetMediaDetailResponseSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY = new GetMediaDetailResponseSourceResolution(RESOLUTION_2160); + public static final GetMediaDetailResponseSourceResolution ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP = new GetMediaDetailResponseSourceResolution(RESOLUTION_1440P); + public static final GetMediaDetailResponseSourceResolution ONE_THOUSAND_FOUR_HUNDRED_AND_FORTY = new GetMediaDetailResponseSourceResolution(RESOLUTION_1440); + public static final GetMediaDetailResponseSourceResolution ONE_THOUSAND_AND_EIGHTYP = new GetMediaDetailResponseSourceResolution(RESOLUTION_1080P); + public static final GetMediaDetailResponseSourceResolution ONE_THOUSAND_AND_EIGHTY = new GetMediaDetailResponseSourceResolution(RESOLUTION_1080); + public static final GetMediaDetailResponseSourceResolution SEVEN_HUNDRED_AND_TWENTYP = new GetMediaDetailResponseSourceResolution(RESOLUTION_720P); + public static final GetMediaDetailResponseSourceResolution SEVEN_HUNDRED_AND_TWENTY = new GetMediaDetailResponseSourceResolution(RESOLUTION_720); + public static final GetMediaDetailResponseSourceResolution FOUR_HUNDRED_AND_EIGHTYP = new GetMediaDetailResponseSourceResolution(RESOLUTION_480P); + public static final GetMediaDetailResponseSourceResolution FOUR_HUNDRED_AND_EIGHTY = new GetMediaDetailResponseSourceResolution(RESOLUTION_480); + public static final GetMediaDetailResponseSourceResolution THREE_HUNDRED_AND_SIXTYP = new GetMediaDetailResponseSourceResolution(RESOLUTION_360P); + public static final GetMediaDetailResponseSourceResolution THREE_HUNDRED_AND_SIXTY = new GetMediaDetailResponseSourceResolution(RESOLUTION_360); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private GetMediaDetailResponseSourceResolution(String value) { + this.value = value; + } + + /** + * Returns a GetMediaDetailResponseSourceResolution with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as GetMediaDetailResponseSourceResolution + */ + @JsonCreator + public static GetMediaDetailResponseSourceResolution of(String value) { + synchronized (GetMediaDetailResponseSourceResolution.class) { + return values.computeIfAbsent(value, GetMediaDetailResponseSourceResolution::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + GetMediaDetailResponseSourceResolution other = (GetMediaDetailResponseSourceResolution) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "GetMediaDetailResponseSourceResolution [value=" + value + "]"; + } + + // return an array just like an enum + public static GetMediaDetailResponseSourceResolution[] values() { + synchronized (GetMediaDetailResponseSourceResolution.class) { + return values.values().toArray(new GetMediaDetailResponseSourceResolution[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(RESOLUTION_2160P, TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP); + map.put(RESOLUTION_2160, TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY); + map.put(RESOLUTION_1440P, ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP); + map.put(RESOLUTION_1440, ONE_THOUSAND_FOUR_HUNDRED_AND_FORTY); + map.put(RESOLUTION_1080P, ONE_THOUSAND_AND_EIGHTYP); + map.put(RESOLUTION_1080, ONE_THOUSAND_AND_EIGHTY); + map.put(RESOLUTION_720P, SEVEN_HUNDRED_AND_TWENTYP); + map.put(RESOLUTION_720, SEVEN_HUNDRED_AND_TWENTY); + map.put(RESOLUTION_480P, FOUR_HUNDRED_AND_EIGHTYP); + map.put(RESOLUTION_480, FOUR_HUNDRED_AND_EIGHTY); + map.put(RESOLUTION_360P, THREE_HUNDRED_AND_SIXTYP); + map.put(RESOLUTION_360, THREE_HUNDRED_AND_SIXTY); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(RESOLUTION_2160P, GetMediaDetailResponseSourceResolutionEnum.TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP); + map.put(RESOLUTION_2160, GetMediaDetailResponseSourceResolutionEnum.TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY); + map.put(RESOLUTION_1440P, GetMediaDetailResponseSourceResolutionEnum.ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP); + map.put(RESOLUTION_1440, GetMediaDetailResponseSourceResolutionEnum.ONE_THOUSAND_FOUR_HUNDRED_AND_FORTY); + map.put(RESOLUTION_1080P, GetMediaDetailResponseSourceResolutionEnum.ONE_THOUSAND_AND_EIGHTYP); + map.put(RESOLUTION_1080, GetMediaDetailResponseSourceResolutionEnum.ONE_THOUSAND_AND_EIGHTY); + map.put(RESOLUTION_720P, GetMediaDetailResponseSourceResolutionEnum.SEVEN_HUNDRED_AND_TWENTYP); + map.put(RESOLUTION_720, GetMediaDetailResponseSourceResolutionEnum.SEVEN_HUNDRED_AND_TWENTY); + map.put(RESOLUTION_480P, GetMediaDetailResponseSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTYP); + map.put(RESOLUTION_480, GetMediaDetailResponseSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTY); + map.put(RESOLUTION_360P, GetMediaDetailResponseSourceResolutionEnum.THREE_HUNDRED_AND_SIXTYP); + map.put(RESOLUTION_360, GetMediaDetailResponseSourceResolutionEnum.THREE_HUNDRED_AND_SIXTY); + return map; + } + + + public enum GetMediaDetailResponseSourceResolutionEnum { + + TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP(RESOLUTION_2160P), + TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY(RESOLUTION_2160), + ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP(RESOLUTION_1440P), + ONE_THOUSAND_FOUR_HUNDRED_AND_FORTY(RESOLUTION_1440), + ONE_THOUSAND_AND_EIGHTYP(RESOLUTION_1080P), + ONE_THOUSAND_AND_EIGHTY(RESOLUTION_1080), + SEVEN_HUNDRED_AND_TWENTYP(RESOLUTION_720P), + SEVEN_HUNDRED_AND_TWENTY(RESOLUTION_720), + FOUR_HUNDRED_AND_EIGHTYP(RESOLUTION_480P), + FOUR_HUNDRED_AND_EIGHTY(RESOLUTION_480), + THREE_HUNDRED_AND_SIXTYP(RESOLUTION_360P), + THREE_HUNDRED_AND_SIXTY(RESOLUTION_360),; + + private final String value; + + private GetMediaDetailResponseSourceResolutionEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} + diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseStatus.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseStatus.java similarity index 51% rename from src/main/java/io/fastpix/sdk/models/components/GetMediaResponseStatus.java rename to src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseStatus.java index b118171..0a6a4f2 100644 --- a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseStatus.java +++ b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseStatus.java @@ -9,7 +9,7 @@ import java.util.Optional; /** - * GetMediaResponseStatus + * GetMediaDetailResponseStatus * *

Determines the media's status, which can be one of the possible values. * @@ -17,7 +17,7 @@ * without runtime errors. Instances are immutable singletons with reference equality. * Use {@code asEnum()} for switch expressions. */ -public class GetMediaResponseStatus { +public class GetMediaDetailResponseStatus { private static final String CREATED_VALUE = "Created"; private static final String DOWNLOADING_VALUE = "Downloading"; @@ -28,40 +28,40 @@ public class GetMediaResponseStatus { private static final String READY_VALUE = "Ready"; private static final String FAILED_VALUE = "Failed"; - public static final GetMediaResponseStatus CREATED = new GetMediaResponseStatus(CREATED_VALUE); - public static final GetMediaResponseStatus DOWNLOADING = new GetMediaResponseStatus(DOWNLOADING_VALUE); - public static final GetMediaResponseStatus DOWNLOADED = new GetMediaResponseStatus(DOWNLOADED_VALUE); - public static final GetMediaResponseStatus VALIDATING = new GetMediaResponseStatus(VALIDATING_VALUE); - public static final GetMediaResponseStatus IN_QUEUE = new GetMediaResponseStatus(IN_QUEUE_VALUE); - public static final GetMediaResponseStatus PROCESSING = new GetMediaResponseStatus(PROCESSING_VALUE); - public static final GetMediaResponseStatus READY = new GetMediaResponseStatus(READY_VALUE); - public static final GetMediaResponseStatus FAILED = new GetMediaResponseStatus(FAILED_VALUE); + public static final GetMediaDetailResponseStatus CREATED = new GetMediaDetailResponseStatus(CREATED_VALUE); + public static final GetMediaDetailResponseStatus DOWNLOADING = new GetMediaDetailResponseStatus(DOWNLOADING_VALUE); + public static final GetMediaDetailResponseStatus DOWNLOADED = new GetMediaDetailResponseStatus(DOWNLOADED_VALUE); + public static final GetMediaDetailResponseStatus VALIDATING = new GetMediaDetailResponseStatus(VALIDATING_VALUE); + public static final GetMediaDetailResponseStatus IN_QUEUE = new GetMediaDetailResponseStatus(IN_QUEUE_VALUE); + public static final GetMediaDetailResponseStatus PROCESSING = new GetMediaDetailResponseStatus(PROCESSING_VALUE); + public static final GetMediaDetailResponseStatus READY = new GetMediaDetailResponseStatus(READY_VALUE); + public static final GetMediaDetailResponseStatus FAILED = new GetMediaDetailResponseStatus(FAILED_VALUE); // This map will grow whenever a Color gets created with a new // unrecognized value (a potential memory leak if the user is not // careful). Keep this field lower case to avoid clashing with // generated member names which will always be upper cased (Java // convention) - private static final Map values = createValuesMap(); - private static final Map enums = createEnumsMap(); + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); private final String value; - private GetMediaResponseStatus(String value) { + private GetMediaDetailResponseStatus(String value) { this.value = value; } /** - * Returns a GetMediaResponseStatus with the given value. For a specific value the + * Returns a GetMediaDetailResponseStatus with the given value. For a specific value the * returned object will always be a singleton so reference equality * is satisfied when the values are the same. * - * @param value value to be wrapped as GetMediaResponseStatus + * @param value value to be wrapped as GetMediaDetailResponseStatus */ @JsonCreator - public static GetMediaResponseStatus of(String value) { - synchronized (GetMediaResponseStatus.class) { - return values.computeIfAbsent(value, GetMediaResponseStatus::new); + public static GetMediaDetailResponseStatus of(String value) { + synchronized (GetMediaDetailResponseStatus.class) { + return values.computeIfAbsent(value, GetMediaDetailResponseStatus::new); } } @@ -70,7 +70,7 @@ public String value() { return value; } - public Optional asEnum() { + public Optional asEnum() { return Optional.ofNullable(enums.getOrDefault(value, null)); } @@ -91,24 +91,24 @@ public boolean equals(java.lang.Object obj) { return false; if (getClass() != obj.getClass()) return false; - GetMediaResponseStatus other = (GetMediaResponseStatus) obj; + GetMediaDetailResponseStatus other = (GetMediaDetailResponseStatus) obj; return Objects.equals(value, other.value); } @Override public String toString() { - return "GetMediaResponseStatus [value=" + value + "]"; + return "GetMediaDetailResponseStatus [value=" + value + "]"; } // return an array just like an enum - public static GetMediaResponseStatus[] values() { - synchronized (GetMediaResponseStatus.class) { - return values.values().toArray(new GetMediaResponseStatus[] {}); + public static GetMediaDetailResponseStatus[] values() { + synchronized (GetMediaDetailResponseStatus.class) { + return values.values().toArray(new GetMediaDetailResponseStatus[] {}); } } - private static final Map createValuesMap() { - Map map = new LinkedHashMap<>(); + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); map.put(CREATED_VALUE, CREATED); map.put(DOWNLOADING_VALUE, DOWNLOADING); map.put(DOWNLOADED_VALUE, DOWNLOADED); @@ -120,21 +120,21 @@ private static final Map createValuesMap() { return map; } - private static final Map createEnumsMap() { - Map map = new HashMap<>(); - map.put(CREATED_VALUE, GetMediaResponseStatusEnum.CREATED); - map.put(DOWNLOADING_VALUE, GetMediaResponseStatusEnum.DOWNLOADING); - map.put(DOWNLOADED_VALUE, GetMediaResponseStatusEnum.DOWNLOADED); - map.put(VALIDATING_VALUE, GetMediaResponseStatusEnum.VALIDATING); - map.put(IN_QUEUE_VALUE, GetMediaResponseStatusEnum.IN_QUEUE); - map.put(PROCESSING_VALUE, GetMediaResponseStatusEnum.PROCESSING); - map.put(READY_VALUE, GetMediaResponseStatusEnum.READY); - map.put(FAILED_VALUE, GetMediaResponseStatusEnum.FAILED); + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(CREATED_VALUE, GetMediaDetailResponseStatusEnum.CREATED); + map.put(DOWNLOADING_VALUE, GetMediaDetailResponseStatusEnum.DOWNLOADING); + map.put(DOWNLOADED_VALUE, GetMediaDetailResponseStatusEnum.DOWNLOADED); + map.put(VALIDATING_VALUE, GetMediaDetailResponseStatusEnum.VALIDATING); + map.put(IN_QUEUE_VALUE, GetMediaDetailResponseStatusEnum.IN_QUEUE); + map.put(PROCESSING_VALUE, GetMediaDetailResponseStatusEnum.PROCESSING); + map.put(READY_VALUE, GetMediaDetailResponseStatusEnum.READY); + map.put(FAILED_VALUE, GetMediaDetailResponseStatusEnum.FAILED); return map; } - public enum GetMediaResponseStatusEnum { + public enum GetMediaDetailResponseStatusEnum { CREATED(CREATED_VALUE), DOWNLOADING(DOWNLOADING_VALUE), @@ -147,7 +147,7 @@ public enum GetMediaResponseStatusEnum { private final String value; - private GetMediaResponseStatusEnum(String value) { + private GetMediaDetailResponseStatusEnum(String value) { this.value = value; } diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseTrack.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseTrack.java similarity index 79% rename from src/main/java/io/fastpix/sdk/models/components/GetMediaResponseTrack.java rename to src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseTrack.java index 9c44451..c520f32 100644 --- a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseTrack.java +++ b/src/main/java/io/fastpix/sdk/models/components/GetMediaDetailResponseTrack.java @@ -11,31 +11,31 @@ import io.fastpix.sdk.utils.Utils.TypeReferenceWithShape; import io.fastpix.sdk.utils.Utils; -@JsonDeserialize(using = GetMediaResponseTrack.TrackDeserializer.class) -public class GetMediaResponseTrack { +@JsonDeserialize(using = GetMediaDetailResponseTrack.TrackDeserializer.class) +public class GetMediaDetailResponseTrack { private static final String VALUE_NAME = "value"; @JsonValue private final TypedObject value; - private GetMediaResponseTrack(TypedObject value) { + private GetMediaDetailResponseTrack(TypedObject value) { this.value = value; } - public static GetMediaResponseTrack of(VideoTrack value) { + public static GetMediaDetailResponseTrack of(VideoTrack value) { Utils.checkNotNull(value, VALUE_NAME); - return new GetMediaResponseTrack(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference<>(){})); + return new GetMediaDetailResponseTrack(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference<>(){})); } - public static GetMediaResponseTrack of(AudioTrack value) { + public static GetMediaDetailResponseTrack of(AudioTrack value) { Utils.checkNotNull(value, VALUE_NAME); - return new GetMediaResponseTrack(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference<>(){})); + return new GetMediaDetailResponseTrack(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference<>(){})); } - public static GetMediaResponseTrack of(SubtitleTrack value) { + public static GetMediaDetailResponseTrack of(SubtitleTrack value) { Utils.checkNotNull(value, VALUE_NAME); - return new GetMediaResponseTrack(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference<>(){})); + return new GetMediaDetailResponseTrack(TypedObject.of(value, JsonShape.DEFAULT, new TypeReference<>(){})); } /** @@ -97,7 +97,7 @@ public boolean equals(java.lang.Object o) { if (o == null || getClass() != o.getClass()) { return false; } - GetMediaResponseTrack other = (GetMediaResponseTrack) o; + GetMediaDetailResponseTrack other = (GetMediaDetailResponseTrack) o; return Utils.enhancedDeepEquals(this.value.value(), other.value.value()); } @@ -107,10 +107,10 @@ public int hashCode() { } @SuppressWarnings("serial") - public static final class TrackDeserializer extends OneOfDeserializer { + public static final class TrackDeserializer extends OneOfDeserializer { public TrackDeserializer() { - super(GetMediaResponseTrack.class, false, + super(GetMediaDetailResponseTrack.class, false, TypeReferenceWithShape.of(new TypeReference() {}, JsonShape.DEFAULT), TypeReferenceWithShape.of(new TypeReference() {}, JsonShape.DEFAULT), TypeReferenceWithShape.of(new TypeReference() {}, JsonShape.DEFAULT)); @@ -119,7 +119,7 @@ public TrackDeserializer() { @Override public String toString() { - return Utils.toString(GetMediaResponseTrack.class, + return Utils.toString(GetMediaDetailResponseTrack.class, VALUE_NAME, value); } diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseMaxResolution.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseMaxResolution.java deleted file mode 100644 index e30f7bc..0000000 --- a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseMaxResolution.java +++ /dev/null @@ -1,139 +0,0 @@ -package io.fastpix.sdk.models.components; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; - -/** - * GetMediaResponseMaxResolution - * - *

The maximum resolution specified by the user for the media. - */ -public class GetMediaResponseMaxResolution { - - private static final String VALUE_2160P = "2160p"; - private static final String VALUE_1440P = "1440p"; - private static final String VALUE_1080P = "1080p"; - private static final String VALUE_720P = "720p"; - private static final String VALUE_480P = "480p"; - - public static final GetMediaResponseMaxResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP = new GetMediaResponseMaxResolution(VALUE_2160P); - public static final GetMediaResponseMaxResolution ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP = new GetMediaResponseMaxResolution(VALUE_1440P); - public static final GetMediaResponseMaxResolution ONE_THOUSAND_AND_EIGHTYP = new GetMediaResponseMaxResolution(VALUE_1080P); - public static final GetMediaResponseMaxResolution SEVEN_HUNDRED_AND_TWENTYP = new GetMediaResponseMaxResolution(VALUE_720P); - public static final GetMediaResponseMaxResolution FOUR_HUNDRED_AND_EIGHTYP = new GetMediaResponseMaxResolution(VALUE_480P); - - // This map will grow whenever a Color gets created with a new - // unrecognized value (a potential memory leak if the user is not - // careful). Keep this field lower case to avoid clashing with - // generated member names which will always be upper cased (Java - // convention) - private static final Map values = createValuesMap(); - private static final Map enums = createEnumsMap(); - - private final String value; - - private GetMediaResponseMaxResolution(String value) { - this.value = value; - } - - /** - * Returns a GetMediaResponseMaxResolution with the given value. For a specific value the - * returned object will always be a singleton so reference equality - * is satisfied when the values are the same. - * - * @param value value to be wrapped as GetMediaResponseMaxResolution - */ - @JsonCreator - public static GetMediaResponseMaxResolution of(String value) { - synchronized (GetMediaResponseMaxResolution.class) { - return values.computeIfAbsent(value, GetMediaResponseMaxResolution::new); - } - } - - @JsonValue - public String value() { - return value; - } - - public Optional asEnum() { - return Optional.ofNullable(enums.getOrDefault(value, null)); - } - - public boolean isKnown() { - return asEnum().isPresent(); - } - - @Override - public int hashCode() { - return Objects.hash(value); - } - - @Override - public boolean equals(java.lang.Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - GetMediaResponseMaxResolution other = (GetMediaResponseMaxResolution) obj; - return Objects.equals(value, other.value); - } - - @Override - public String toString() { - return "GetMediaResponseMaxResolution [value=" + value + "]"; - } - - // return an array just like an enum - public static GetMediaResponseMaxResolution[] values() { - synchronized (GetMediaResponseMaxResolution.class) { - return values.values().toArray(new GetMediaResponseMaxResolution[] {}); - } - } - - private static final Map createValuesMap() { - Map map = new LinkedHashMap<>(); - map.put(VALUE_2160P, TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP); - map.put(VALUE_1440P, ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP); - map.put(VALUE_1080P, ONE_THOUSAND_AND_EIGHTYP); - map.put(VALUE_720P, SEVEN_HUNDRED_AND_TWENTYP); - map.put(VALUE_480P, FOUR_HUNDRED_AND_EIGHTYP); - return map; - } - - private static final Map createEnumsMap() { - Map map = new HashMap<>(); - map.put(VALUE_2160P, GetMediaResponseMaxResolutionEnum.TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP); - map.put(VALUE_1440P, GetMediaResponseMaxResolutionEnum.ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP); - map.put(VALUE_1080P, GetMediaResponseMaxResolutionEnum.ONE_THOUSAND_AND_EIGHTYP); - map.put(VALUE_720P, GetMediaResponseMaxResolutionEnum.SEVEN_HUNDRED_AND_TWENTYP); - map.put(VALUE_480P, GetMediaResponseMaxResolutionEnum.FOUR_HUNDRED_AND_EIGHTYP); - return map; - } - - - public enum GetMediaResponseMaxResolutionEnum { - - TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP(VALUE_2160P), - ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP(VALUE_1440P), - ONE_THOUSAND_AND_EIGHTYP(VALUE_1080P), - SEVEN_HUNDRED_AND_TWENTYP(VALUE_720P), - FOUR_HUNDRED_AND_EIGHTYP(VALUE_480P),; - - private final String value; - - private GetMediaResponseMaxResolutionEnum(String value) { - this.value = value; - } - - public String value() { - return value; - } - } -} diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseMp4Support.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseMp4Support.java deleted file mode 100644 index 6d52915..0000000 --- a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseMp4Support.java +++ /dev/null @@ -1,138 +0,0 @@ -package io.fastpix.sdk.models.components; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; - -/** - * GetMediaResponseMp4Support - * - *

Determines the type of MP4 support for the media. - * - **none**: Disables MP4 support. - * - **capped_4k**: Enables MP4 downloads with resolutions up to 4K. - * - **audioOnly**: Provides an MP4 stream containing only the audio. - * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. - */ -public class GetMediaResponseMp4Support { - - private static final String VALUE_NONE = "none"; - private static final String VALUE_CAPPED_4K = "capped_4k"; - private static final String VALUE_AUDIO_ONLY = "audioOnly"; - private static final String VALUE_AUDIO_ONLY_CAPPED_4K = "audioOnly,capped_4k"; - - public static final GetMediaResponseMp4Support NONE = new GetMediaResponseMp4Support(VALUE_NONE); - public static final GetMediaResponseMp4Support CAPPED4K = new GetMediaResponseMp4Support(VALUE_CAPPED_4K); - public static final GetMediaResponseMp4Support AUDIO_ONLY = new GetMediaResponseMp4Support(VALUE_AUDIO_ONLY); - public static final GetMediaResponseMp4Support AUDIO_ONLY_CAPPED4K = new GetMediaResponseMp4Support(VALUE_AUDIO_ONLY_CAPPED_4K); - - // This map will grow whenever a Color gets created with a new - // unrecognized value (a potential memory leak if the user is not - // careful). Keep this field lower case to avoid clashing with - // generated member names which will always be upper cased (Java - // convention) - private static final Map values = createValuesMap(); - private static final Map enums = createEnumsMap(); - - private final String value; - - private GetMediaResponseMp4Support(String value) { - this.value = value; - } - - /** - * Returns a GetMediaResponseMp4Support with the given value. For a specific value the - * returned object will always be a singleton so reference equality - * is satisfied when the values are the same. - * - * @param value value to be wrapped as GetMediaResponseMp4Support - */ - @JsonCreator - public static GetMediaResponseMp4Support of(String value) { - synchronized (GetMediaResponseMp4Support.class) { - return values.computeIfAbsent(value, GetMediaResponseMp4Support::new); - } - } - - @JsonValue - public String value() { - return value; - } - - public Optional asEnum() { - return Optional.ofNullable(enums.getOrDefault(value, null)); - } - - public boolean isKnown() { - return asEnum().isPresent(); - } - - @Override - public int hashCode() { - return Objects.hash(value); - } - - @Override - public boolean equals(java.lang.Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - GetMediaResponseMp4Support other = (GetMediaResponseMp4Support) obj; - return Objects.equals(value, other.value); - } - - @Override - public String toString() { - return "GetMediaResponseMp4Support [value=" + value + "]"; - } - - // return an array just like an enum - public static GetMediaResponseMp4Support[] values() { - synchronized (GetMediaResponseMp4Support.class) { - return values.values().toArray(new GetMediaResponseMp4Support[] {}); - } - } - - private static final Map createValuesMap() { - Map map = new LinkedHashMap<>(); - map.put(VALUE_NONE, NONE); - map.put(VALUE_CAPPED_4K, CAPPED4K); - map.put(VALUE_AUDIO_ONLY, AUDIO_ONLY); - map.put(VALUE_AUDIO_ONLY_CAPPED_4K, AUDIO_ONLY_CAPPED4K); - return map; - } - - private static final Map createEnumsMap() { - Map map = new HashMap<>(); - map.put(VALUE_NONE, GetMediaResponseMp4SupportEnum.NONE); - map.put(VALUE_CAPPED_4K, GetMediaResponseMp4SupportEnum.CAPPED4K); - map.put(VALUE_AUDIO_ONLY, GetMediaResponseMp4SupportEnum.AUDIO_ONLY); - map.put(VALUE_AUDIO_ONLY_CAPPED_4K, GetMediaResponseMp4SupportEnum.AUDIO_ONLY_CAPPED4K); - return map; - } - - - public enum GetMediaResponseMp4SupportEnum { - - NONE(VALUE_NONE), - CAPPED4K(VALUE_CAPPED_4K), - AUDIO_ONLY(VALUE_AUDIO_ONLY), - AUDIO_ONLY_CAPPED4K(VALUE_AUDIO_ONLY_CAPPED_4K),; - - private final String value; - - private GetMediaResponseMp4SupportEnum(String value) { - this.value = value; - } - - public String value() { - return value; - } - } -} diff --git a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseSourceResolution.java b/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseSourceResolution.java deleted file mode 100644 index 574424e..0000000 --- a/src/main/java/io/fastpix/sdk/models/components/GetMediaResponseSourceResolution.java +++ /dev/null @@ -1,169 +0,0 @@ -package io.fastpix.sdk.models.components; - -import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; - -/** - * GetMediaResponseSourceResolution - * - *

The actual resolution of the uploaded media. This represents the native quality of the source media. - * - *

Wrapper for an "open" enum that can handle unknown values from API responses - * without runtime errors. Instances are immutable singletons with reference equality. - * Use {@code asEnum()} for switch expressions. - */ -public class GetMediaResponseSourceResolution { - - private static final String RESOLUTION_2160P = "2160p"; - private static final String RESOLUTION_2160 = "2160"; - private static final String RESOLUTION_1440P = "1440p"; - private static final String RESOLUTION_1440 = "1440"; - private static final String RESOLUTION_1080P = "1080p"; - private static final String RESOLUTION_1080 = "1080"; - private static final String RESOLUTION_720P = "720p"; - private static final String RESOLUTION_720 = "720"; - private static final String RESOLUTION_480P = "480p"; - private static final String RESOLUTION_480 = "480"; - - public static final GetMediaResponseSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP = new GetMediaResponseSourceResolution(RESOLUTION_2160P); - public static final GetMediaResponseSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY = new GetMediaResponseSourceResolution(RESOLUTION_2160); - public static final GetMediaResponseSourceResolution ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP = new GetMediaResponseSourceResolution(RESOLUTION_1440P); - public static final GetMediaResponseSourceResolution ONE_THOUSAND_FOUR_HUNDRED_AND_FORTY = new GetMediaResponseSourceResolution(RESOLUTION_1440); - public static final GetMediaResponseSourceResolution ONE_THOUSAND_AND_EIGHTYP = new GetMediaResponseSourceResolution(RESOLUTION_1080P); - public static final GetMediaResponseSourceResolution ONE_THOUSAND_AND_EIGHTY = new GetMediaResponseSourceResolution(RESOLUTION_1080); - public static final GetMediaResponseSourceResolution SEVEN_HUNDRED_AND_TWENTYP = new GetMediaResponseSourceResolution(RESOLUTION_720P); - public static final GetMediaResponseSourceResolution SEVEN_HUNDRED_AND_TWENTY = new GetMediaResponseSourceResolution(RESOLUTION_720); - public static final GetMediaResponseSourceResolution FOUR_HUNDRED_AND_EIGHTYP = new GetMediaResponseSourceResolution(RESOLUTION_480P); - public static final GetMediaResponseSourceResolution FOUR_HUNDRED_AND_EIGHTY = new GetMediaResponseSourceResolution(RESOLUTION_480); - - // This map will grow whenever a Color gets created with a new - // unrecognized value (a potential memory leak if the user is not - // careful). Keep this field lower case to avoid clashing with - // generated member names which will always be upper cased (Java - // convention) - private static final Map values = createValuesMap(); - private static final Map enums = createEnumsMap(); - - private final String value; - - private GetMediaResponseSourceResolution(String value) { - this.value = value; - } - - /** - * Returns a GetMediaResponseSourceResolution with the given value. For a specific value the - * returned object will always be a singleton so reference equality - * is satisfied when the values are the same. - * - * @param value value to be wrapped as GetMediaResponseSourceResolution - */ - @JsonCreator - public static GetMediaResponseSourceResolution of(String value) { - synchronized (GetMediaResponseSourceResolution.class) { - return values.computeIfAbsent(value, GetMediaResponseSourceResolution::new); - } - } - - @JsonValue - public String value() { - return value; - } - - public Optional asEnum() { - return Optional.ofNullable(enums.getOrDefault(value, null)); - } - - public boolean isKnown() { - return asEnum().isPresent(); - } - - @Override - public int hashCode() { - return Objects.hash(value); - } - - @Override - public boolean equals(java.lang.Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - GetMediaResponseSourceResolution other = (GetMediaResponseSourceResolution) obj; - return Objects.equals(value, other.value); - } - - @Override - public String toString() { - return "GetMediaResponseSourceResolution [value=" + value + "]"; - } - - // return an array just like an enum - public static GetMediaResponseSourceResolution[] values() { - synchronized (GetMediaResponseSourceResolution.class) { - return values.values().toArray(new GetMediaResponseSourceResolution[] {}); - } - } - - private static final Map createValuesMap() { - Map map = new LinkedHashMap<>(); - map.put(RESOLUTION_2160P, TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP); - map.put(RESOLUTION_2160, TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY); - map.put(RESOLUTION_1440P, ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP); - map.put(RESOLUTION_1440, ONE_THOUSAND_FOUR_HUNDRED_AND_FORTY); - map.put(RESOLUTION_1080P, ONE_THOUSAND_AND_EIGHTYP); - map.put(RESOLUTION_1080, ONE_THOUSAND_AND_EIGHTY); - map.put(RESOLUTION_720P, SEVEN_HUNDRED_AND_TWENTYP); - map.put(RESOLUTION_720, SEVEN_HUNDRED_AND_TWENTY); - map.put(RESOLUTION_480P, FOUR_HUNDRED_AND_EIGHTYP); - map.put(RESOLUTION_480, FOUR_HUNDRED_AND_EIGHTY); - return map; - } - - private static final Map createEnumsMap() { - Map map = new HashMap<>(); - map.put(RESOLUTION_2160P, GetMediaResponseSourceResolutionEnum.TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP); - map.put(RESOLUTION_2160, GetMediaResponseSourceResolutionEnum.TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY); - map.put(RESOLUTION_1440P, GetMediaResponseSourceResolutionEnum.ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP); - map.put(RESOLUTION_1440, GetMediaResponseSourceResolutionEnum.ONE_THOUSAND_FOUR_HUNDRED_AND_FORTY); - map.put(RESOLUTION_1080P, GetMediaResponseSourceResolutionEnum.ONE_THOUSAND_AND_EIGHTYP); - map.put(RESOLUTION_1080, GetMediaResponseSourceResolutionEnum.ONE_THOUSAND_AND_EIGHTY); - map.put(RESOLUTION_720P, GetMediaResponseSourceResolutionEnum.SEVEN_HUNDRED_AND_TWENTYP); - map.put(RESOLUTION_720, GetMediaResponseSourceResolutionEnum.SEVEN_HUNDRED_AND_TWENTY); - map.put(RESOLUTION_480P, GetMediaResponseSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTYP); - map.put(RESOLUTION_480, GetMediaResponseSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTY); - return map; - } - - - public enum GetMediaResponseSourceResolutionEnum { - - TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP(RESOLUTION_2160P), - TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY(RESOLUTION_2160), - ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP(RESOLUTION_1440P), - ONE_THOUSAND_FOUR_HUNDRED_AND_FORTY(RESOLUTION_1440), - ONE_THOUSAND_AND_EIGHTYP(RESOLUTION_1080P), - ONE_THOUSAND_AND_EIGHTY(RESOLUTION_1080), - SEVEN_HUNDRED_AND_TWENTYP(RESOLUTION_720P), - SEVEN_HUNDRED_AND_TWENTY(RESOLUTION_720), - FOUR_HUNDRED_AND_EIGHTYP(RESOLUTION_480P), - FOUR_HUNDRED_AND_EIGHTY(RESOLUTION_480),; - - private final String value; - - private GetMediaResponseSourceResolutionEnum(String value) { - this.value = value; - } - - public String value() { - return value; - } - } -} - diff --git a/src/main/java/io/fastpix/sdk/models/components/LiveMediaClips.java b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClips.java index df5c084..7e40c30 100644 --- a/src/main/java/io/fastpix/sdk/models/components/LiveMediaClips.java +++ b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClips.java @@ -101,6 +101,13 @@ public class LiveMediaClips { @JsonProperty("tracks") private List tracks; + /** + * List of generated subtitle tracks associated with the media. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("generatedSubtitles") + private JsonNullable> generatedSubtitles; + /** * Indicates whether the media contains only audio (no video track). */ @@ -145,6 +152,20 @@ public class LiveMediaClips { @JsonProperty("updatedAt") private OffsetDateTime updatedAt; + /** + * Whether the audio track of the media has been volume-normalized. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("optimizeAudio") + private Boolean optimizeAudio; + + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mp4Support") + private List mp4Support; + @JsonCreator public LiveMediaClips( @JsonProperty("thumbnail") @Nullable JsonNullable thumbnail, @@ -159,12 +180,15 @@ public LiveMediaClips( @JsonProperty("sourceAccess") @Nullable Boolean sourceAccess, @JsonProperty("playbackIds") @Nullable List playbackIds, @JsonProperty("tracks") @Nullable List tracks, + @JsonProperty("generatedSubtitles") @Nullable JsonNullable> generatedSubtitles, @JsonProperty("isAudioOnly") @Nullable JsonNullable isAudioOnly, @JsonProperty("subtitleAvailable") @Nullable JsonNullable subtitleAvailable, @JsonProperty("duration") @Nullable String duration, @JsonProperty("aspectRatio") @Nullable JsonNullable aspectRatio, @JsonProperty("createdAt") @Nullable OffsetDateTime createdAt, - @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt) { + @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt, + @JsonProperty("optimizeAudio") @Nullable Boolean optimizeAudio, + @JsonProperty("mp4Support") @Nullable List mp4Support) { this.thumbnail = Optional.ofNullable(thumbnail) .orElse(JsonNullable.undefined()); this.id = id; @@ -181,6 +205,8 @@ public LiveMediaClips( this.sourceAccess = sourceAccess; this.playbackIds = playbackIds; this.tracks = tracks; + this.generatedSubtitles = Optional.ofNullable(generatedSubtitles) + .orElse(JsonNullable.undefined()); this.isAudioOnly = Optional.ofNullable(isAudioOnly) .orElse(JsonNullable.undefined()); this.subtitleAvailable = Optional.ofNullable(subtitleAvailable) @@ -190,6 +216,8 @@ public LiveMediaClips( .orElse(JsonNullable.undefined()); this.createdAt = createdAt; this.updatedAt = updatedAt; + this.optimizeAudio = optimizeAudio; + this.mp4Support = mp4Support; } public LiveMediaClips() { @@ -198,7 +226,8 @@ public LiveMediaClips() { null, null, null, null, null, null, null, null, null, - null, null, null); + null, null, null, null, null, + null); } /** @@ -286,6 +315,13 @@ public Optional> tracks() { return Optional.ofNullable(this.tracks); } + /** + * List of generated subtitle tracks associated with the media. + */ + public JsonNullable> generatedSubtitles() { + return this.generatedSubtitles; + } + /** * Indicates whether the media contains only audio (no video track). */ @@ -331,6 +367,20 @@ public Optional updatedAt() { return Optional.ofNullable(this.updatedAt); } + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Optional optimizeAudio() { + return Optional.ofNullable(this.optimizeAudio); + } + + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + public Optional> mp4Support() { + return Optional.ofNullable(this.mp4Support); + } + public static Builder builder() { return new Builder(); } @@ -445,6 +495,15 @@ public LiveMediaClips withTracks(@Nullable List tracks) { } + /** + * List of generated subtitle tracks associated with the media. + */ + public LiveMediaClips withGeneratedSubtitles(@Nullable List generatedSubtitles) { + this.generatedSubtitles = JsonNullable.of(generatedSubtitles); + return this; + } + + /** * Indicates whether the media contains only audio (no video track). */ @@ -501,6 +560,24 @@ public LiveMediaClips withUpdatedAt(@Nullable OffsetDateTime updatedAt) { } + /** + * Whether the audio track of the media has been volume-normalized. + */ + public LiveMediaClips withOptimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + + + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + public LiveMediaClips withMp4Support(@Nullable List mp4Support) { + this.mp4Support = mp4Support; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -523,12 +600,15 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.sourceAccess, other.sourceAccess) && Utils.enhancedDeepEquals(this.playbackIds, other.playbackIds) && Utils.enhancedDeepEquals(this.tracks, other.tracks) && + Utils.enhancedDeepEquals(this.generatedSubtitles, other.generatedSubtitles) && Utils.enhancedDeepEquals(this.isAudioOnly, other.isAudioOnly) && Utils.enhancedDeepEquals(this.subtitleAvailable, other.subtitleAvailable) && Utils.enhancedDeepEquals(this.duration, other.duration) && Utils.enhancedDeepEquals(this.aspectRatio, other.aspectRatio) && Utils.enhancedDeepEquals(this.createdAt, other.createdAt) && - Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt); + Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt) && + Utils.enhancedDeepEquals(this.optimizeAudio, other.optimizeAudio) && + Utils.enhancedDeepEquals(this.mp4Support, other.mp4Support); } @Override @@ -538,8 +618,9 @@ public int hashCode() { streamId, creatorId, title, maxResolution, sourceResolution, status, sourceAccess, playbackIds, tracks, - isAudioOnly, subtitleAvailable, duration, - aspectRatio, createdAt, updatedAt); + generatedSubtitles, isAudioOnly, subtitleAvailable, + duration, aspectRatio, createdAt, + updatedAt, optimizeAudio, mp4Support); } @Override @@ -557,12 +638,15 @@ public String toString() { "sourceAccess", sourceAccess, "playbackIds", playbackIds, "tracks", tracks, + "generatedSubtitles", generatedSubtitles, "isAudioOnly", isAudioOnly, "subtitleAvailable", subtitleAvailable, "duration", duration, "aspectRatio", aspectRatio, "createdAt", createdAt, - "updatedAt", updatedAt); + "updatedAt", updatedAt, + "optimizeAudio", optimizeAudio, + "mp4Support", mp4Support); } @SuppressWarnings("UnusedReturnValue") @@ -592,6 +676,8 @@ public static final class Builder { private List tracks; + private JsonNullable> generatedSubtitles; + private JsonNullable isAudioOnly; private JsonNullable subtitleAvailable; @@ -604,6 +690,10 @@ public static final class Builder { private OffsetDateTime updatedAt; + private Boolean optimizeAudio; + + private List mp4Support; + private Builder() { // force use of static builder() method } @@ -705,6 +795,14 @@ public Builder tracks(@Nullable List tracks) { return this; } + /** + * List of generated subtitle tracks associated with the media. + */ + public Builder generatedSubtitles(@Nullable List generatedSubtitles) { + this.generatedSubtitles = JsonNullable.of(generatedSubtitles); + return this; + } + /** * Indicates whether the media contains only audio (no video track). */ @@ -755,14 +853,31 @@ public Builder updatedAt(@Nullable OffsetDateTime updatedAt) { return this; } + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Builder optimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + public Builder mp4Support(@Nullable List mp4Support) { + this.mp4Support = mp4Support; + return this; + } + public LiveMediaClips build() { return new LiveMediaClips( thumbnail, id, workspaceId, streamId, creatorId, title, maxResolution, sourceResolution, status, sourceAccess, playbackIds, tracks, - isAudioOnly, subtitleAvailable, duration, - aspectRatio, createdAt, updatedAt); + generatedSubtitles, isAudioOnly, subtitleAvailable, + duration, aspectRatio, createdAt, + updatedAt, optimizeAudio, mp4Support); } diff --git a/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4Support.java b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4Support.java new file mode 100644 index 0000000..747e0fe --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4Support.java @@ -0,0 +1,257 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; +import java.util.Optional; +import io.fastpix.sdk.utils.Utils; + +/** + * LiveMediaClipsMp4Support + * + *

One downloadable MP4 rendition generated for the media, along with its generation status. + */ +public class LiveMediaClipsMp4Support { + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("type") + private LiveMediaClipsMp4SupportType type; + + /** + * Generation status of this MP4 rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("status") + private LiveMediaClipsMp4SupportStatus status; + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("height") + private Long height; + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("width") + private Long width; + + /** + * File extension of the downloadable rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ext") + private LiveMediaClipsMp4SupportExt ext; + + @JsonCreator + public LiveMediaClipsMp4Support( + @JsonProperty("type") @Nullable LiveMediaClipsMp4SupportType type, + @JsonProperty("status") @Nullable LiveMediaClipsMp4SupportStatus status, + @JsonProperty("height") @Nullable Long height, + @JsonProperty("width") @Nullable Long width, + @JsonProperty("ext") @Nullable LiveMediaClipsMp4SupportExt ext) { + this.type = type; + this.status = status; + this.height = height; + this.width = width; + this.ext = ext; + } + + public LiveMediaClipsMp4Support() { + this(null, null, null, + null, null); + } + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Optional type() { + return Optional.ofNullable(this.type); + } + + /** + * Generation status of this MP4 rendition. + */ + public Optional status() { + return Optional.ofNullable(this.status); + } + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Optional height() { + return Optional.ofNullable(this.height); + } + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Optional width() { + return Optional.ofNullable(this.width); + } + + /** + * File extension of the downloadable rendition. + */ + public Optional ext() { + return Optional.ofNullable(this.ext); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public LiveMediaClipsMp4Support withType(@Nullable LiveMediaClipsMp4SupportType type) { + this.type = type; + return this; + } + + + /** + * Generation status of this MP4 rendition. + */ + public LiveMediaClipsMp4Support withStatus(@Nullable LiveMediaClipsMp4SupportStatus status) { + this.status = status; + return this; + } + + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public LiveMediaClipsMp4Support withHeight(@Nullable Long height) { + this.height = height; + return this; + } + + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public LiveMediaClipsMp4Support withWidth(@Nullable Long width) { + this.width = width; + return this; + } + + + /** + * File extension of the downloadable rendition. + */ + public LiveMediaClipsMp4Support withExt(@Nullable LiveMediaClipsMp4SupportExt ext) { + this.ext = ext; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + LiveMediaClipsMp4Support other = (LiveMediaClipsMp4Support) o; + return + Utils.enhancedDeepEquals(this.type, other.type) && + Utils.enhancedDeepEquals(this.status, other.status) && + Utils.enhancedDeepEquals(this.height, other.height) && + Utils.enhancedDeepEquals(this.width, other.width) && + Utils.enhancedDeepEquals(this.ext, other.ext); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + type, status, height, + width, ext); + } + + @Override + public String toString() { + return Utils.toString(LiveMediaClipsMp4Support.class, + "type", type, + "status", status, + "height", height, + "width", width, + "ext", ext); + } + + @SuppressWarnings("UnusedReturnValue") + public static final class Builder { + + private LiveMediaClipsMp4SupportType type; + + private LiveMediaClipsMp4SupportStatus status; + + private Long height; + + private Long width; + + private LiveMediaClipsMp4SupportExt ext; + + private Builder() { + // force use of static builder() method + } + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Builder type(@Nullable LiveMediaClipsMp4SupportType type) { + this.type = type; + return this; + } + + /** + * Generation status of this MP4 rendition. + */ + public Builder status(@Nullable LiveMediaClipsMp4SupportStatus status) { + this.status = status; + return this; + } + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Builder height(@Nullable Long height) { + this.height = height; + return this; + } + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Builder width(@Nullable Long width) { + this.width = width; + return this; + } + + /** + * File extension of the downloadable rendition. + */ + public Builder ext(@Nullable LiveMediaClipsMp4SupportExt ext) { + this.ext = ext; + return this; + } + + public LiveMediaClipsMp4Support build() { + return new LiveMediaClipsMp4Support( + type, status, height, + width, ext); + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4SupportExt.java b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4SupportExt.java new file mode 100644 index 0000000..bdf9b78 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4SupportExt.java @@ -0,0 +1,128 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * LiveMediaClipsMp4SupportExt + * + *

File extension of the downloadable rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class LiveMediaClipsMp4SupportExt { + + private static final String VALUE_MP4 = "mp4"; + private static final String VALUE_M4A = "m4a"; + + public static final LiveMediaClipsMp4SupportExt MP4 = new LiveMediaClipsMp4SupportExt(VALUE_MP4); + public static final LiveMediaClipsMp4SupportExt M4A = new LiveMediaClipsMp4SupportExt(VALUE_M4A); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private LiveMediaClipsMp4SupportExt(String value) { + this.value = value; + } + + /** + * Returns a LiveMediaClipsMp4SupportExt with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as LiveMediaClipsMp4SupportExt + */ + @JsonCreator + public static LiveMediaClipsMp4SupportExt of(String value) { + synchronized (LiveMediaClipsMp4SupportExt.class) { + return values.computeIfAbsent(value, LiveMediaClipsMp4SupportExt::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + LiveMediaClipsMp4SupportExt other = (LiveMediaClipsMp4SupportExt) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "LiveMediaClipsMp4SupportExt [value=" + value + "]"; + } + + // return an array just like an enum + public static LiveMediaClipsMp4SupportExt[] values() { + synchronized (LiveMediaClipsMp4SupportExt.class) { + return values.values().toArray(new LiveMediaClipsMp4SupportExt[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_MP4, MP4); + map.put(VALUE_M4A, M4A); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_MP4, LiveMediaClipsMp4SupportExtEnum.MP4); + map.put(VALUE_M4A, LiveMediaClipsMp4SupportExtEnum.M4A); + return map; + } + + + public enum LiveMediaClipsMp4SupportExtEnum { + + MP4(VALUE_MP4), + M4A(VALUE_M4A),; + + private final String value; + + private LiveMediaClipsMp4SupportExtEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4SupportStatus.java b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4SupportStatus.java new file mode 100644 index 0000000..82db204 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4SupportStatus.java @@ -0,0 +1,133 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * LiveMediaClipsMp4SupportStatus + * + *

Generation status of this MP4 rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class LiveMediaClipsMp4SupportStatus { + + private static final String VALUE_PREPARING = "preparing"; + private static final String VALUE_READY = "ready"; + private static final String VALUE_FAILED = "failed"; + + public static final LiveMediaClipsMp4SupportStatus PREPARING = new LiveMediaClipsMp4SupportStatus(VALUE_PREPARING); + public static final LiveMediaClipsMp4SupportStatus READY = new LiveMediaClipsMp4SupportStatus(VALUE_READY); + public static final LiveMediaClipsMp4SupportStatus FAILED = new LiveMediaClipsMp4SupportStatus(VALUE_FAILED); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private LiveMediaClipsMp4SupportStatus(String value) { + this.value = value; + } + + /** + * Returns a LiveMediaClipsMp4SupportStatus with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as LiveMediaClipsMp4SupportStatus + */ + @JsonCreator + public static LiveMediaClipsMp4SupportStatus of(String value) { + synchronized (LiveMediaClipsMp4SupportStatus.class) { + return values.computeIfAbsent(value, LiveMediaClipsMp4SupportStatus::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + LiveMediaClipsMp4SupportStatus other = (LiveMediaClipsMp4SupportStatus) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "LiveMediaClipsMp4SupportStatus [value=" + value + "]"; + } + + // return an array just like an enum + public static LiveMediaClipsMp4SupportStatus[] values() { + synchronized (LiveMediaClipsMp4SupportStatus.class) { + return values.values().toArray(new LiveMediaClipsMp4SupportStatus[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_PREPARING, PREPARING); + map.put(VALUE_READY, READY); + map.put(VALUE_FAILED, FAILED); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_PREPARING, LiveMediaClipsMp4SupportStatusEnum.PREPARING); + map.put(VALUE_READY, LiveMediaClipsMp4SupportStatusEnum.READY); + map.put(VALUE_FAILED, LiveMediaClipsMp4SupportStatusEnum.FAILED); + return map; + } + + + public enum LiveMediaClipsMp4SupportStatusEnum { + + PREPARING(VALUE_PREPARING), + READY(VALUE_READY), + FAILED(VALUE_FAILED),; + + private final String value; + + private LiveMediaClipsMp4SupportStatusEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4SupportType.java b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4SupportType.java new file mode 100644 index 0000000..ddabd2f --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsMp4SupportType.java @@ -0,0 +1,129 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * LiveMediaClipsMp4SupportType + * + *

The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class LiveMediaClipsMp4SupportType { + + private static final String VALUE_CAPPED_4K = "capped_4k"; + private static final String VALUE_AUDIO_ONLY = "audioOnly"; + + public static final LiveMediaClipsMp4SupportType CAPPED4K = new LiveMediaClipsMp4SupportType(VALUE_CAPPED_4K); + public static final LiveMediaClipsMp4SupportType AUDIO_ONLY = new LiveMediaClipsMp4SupportType(VALUE_AUDIO_ONLY); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private LiveMediaClipsMp4SupportType(String value) { + this.value = value; + } + + /** + * Returns a LiveMediaClipsMp4SupportType with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as LiveMediaClipsMp4SupportType + */ + @JsonCreator + public static LiveMediaClipsMp4SupportType of(String value) { + synchronized (LiveMediaClipsMp4SupportType.class) { + return values.computeIfAbsent(value, LiveMediaClipsMp4SupportType::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + LiveMediaClipsMp4SupportType other = (LiveMediaClipsMp4SupportType) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "LiveMediaClipsMp4SupportType [value=" + value + "]"; + } + + // return an array just like an enum + public static LiveMediaClipsMp4SupportType[] values() { + synchronized (LiveMediaClipsMp4SupportType.class) { + return values.values().toArray(new LiveMediaClipsMp4SupportType[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_CAPPED_4K, CAPPED4K); + map.put(VALUE_AUDIO_ONLY, AUDIO_ONLY); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_CAPPED_4K, LiveMediaClipsMp4SupportTypeEnum.CAPPED4K); + map.put(VALUE_AUDIO_ONLY, LiveMediaClipsMp4SupportTypeEnum.AUDIO_ONLY); + return map; + } + + + public enum LiveMediaClipsMp4SupportTypeEnum { + + CAPPED4K(VALUE_CAPPED_4K), + AUDIO_ONLY(VALUE_AUDIO_ONLY),; + + private final String value; + + private LiveMediaClipsMp4SupportTypeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsSourceResolution.java b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsSourceResolution.java index ff3d152..228bd84 100644 --- a/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsSourceResolution.java +++ b/src/main/java/io/fastpix/sdk/models/components/LiveMediaClipsSourceResolution.java @@ -29,6 +29,8 @@ public class LiveMediaClipsSourceResolution { private static final String RESOLUTION_720 = "720"; private static final String RESOLUTION_480P = "480p"; private static final String RESOLUTION_480 = "480"; + private static final String RESOLUTION_360P = "360p"; + private static final String RESOLUTION_360 = "360"; public static final LiveMediaClipsSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP = new LiveMediaClipsSourceResolution(RESOLUTION_2160P); public static final LiveMediaClipsSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY = new LiveMediaClipsSourceResolution(RESOLUTION_2160); @@ -40,6 +42,8 @@ public class LiveMediaClipsSourceResolution { public static final LiveMediaClipsSourceResolution SEVEN_HUNDRED_AND_TWENTY = new LiveMediaClipsSourceResolution(RESOLUTION_720); public static final LiveMediaClipsSourceResolution FOUR_HUNDRED_AND_EIGHTYP = new LiveMediaClipsSourceResolution(RESOLUTION_480P); public static final LiveMediaClipsSourceResolution FOUR_HUNDRED_AND_EIGHTY = new LiveMediaClipsSourceResolution(RESOLUTION_480); + public static final LiveMediaClipsSourceResolution THREE_HUNDRED_AND_SIXTYP = new LiveMediaClipsSourceResolution(RESOLUTION_360P); + public static final LiveMediaClipsSourceResolution THREE_HUNDRED_AND_SIXTY = new LiveMediaClipsSourceResolution(RESOLUTION_360); // This map will grow whenever a Color gets created with a new // unrecognized value (a potential memory leak if the user is not @@ -123,6 +127,8 @@ private static final Map createValuesMap map.put(RESOLUTION_720, SEVEN_HUNDRED_AND_TWENTY); map.put(RESOLUTION_480P, FOUR_HUNDRED_AND_EIGHTYP); map.put(RESOLUTION_480, FOUR_HUNDRED_AND_EIGHTY); + map.put(RESOLUTION_360P, THREE_HUNDRED_AND_SIXTYP); + map.put(RESOLUTION_360, THREE_HUNDRED_AND_SIXTY); return map; } @@ -138,6 +144,8 @@ private static final Map createEnums map.put(RESOLUTION_720, LiveMediaClipsSourceResolutionEnum.SEVEN_HUNDRED_AND_TWENTY); map.put(RESOLUTION_480P, LiveMediaClipsSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTYP); map.put(RESOLUTION_480, LiveMediaClipsSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTY); + map.put(RESOLUTION_360P, LiveMediaClipsSourceResolutionEnum.THREE_HUNDRED_AND_SIXTYP); + map.put(RESOLUTION_360, LiveMediaClipsSourceResolutionEnum.THREE_HUNDRED_AND_SIXTY); return map; } @@ -153,7 +161,9 @@ public enum LiveMediaClipsSourceResolutionEnum { SEVEN_HUNDRED_AND_TWENTYP(RESOLUTION_720P), SEVEN_HUNDRED_AND_TWENTY(RESOLUTION_720), FOUR_HUNDRED_AND_EIGHTYP(RESOLUTION_480P), - FOUR_HUNDRED_AND_EIGHTY(RESOLUTION_480),; + FOUR_HUNDRED_AND_EIGHTY(RESOLUTION_480), + THREE_HUNDRED_AND_SIXTYP(RESOLUTION_360P), + THREE_HUNDRED_AND_SIXTY(RESOLUTION_360),; private final String value; diff --git a/src/main/java/io/fastpix/sdk/models/components/Media.java b/src/main/java/io/fastpix/sdk/models/components/Media.java index 6d697e0..bc6ac65 100644 --- a/src/main/java/io/fastpix/sdk/models/components/Media.java +++ b/src/main/java/io/fastpix/sdk/models/components/Media.java @@ -98,7 +98,7 @@ public class Media { */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("mp4Support") - private MediaMp4Support mp4Support; + private List mp4Support; /** * The sourceAccess parameter determines whether the original media file is accessible. Set to true to @@ -205,6 +205,13 @@ public class Media { @JsonProperty("updatedAt") private OffsetDateTime updatedAt; + /** + * Whether the audio track of the media has been volume-normalized. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("optimizeAudio") + private Boolean optimizeAudio; + @JsonCreator public Media( @JsonProperty("thumbnail") @Nullable JsonNullable thumbnail, @@ -217,7 +224,7 @@ public Media( @JsonProperty("maxResolution") @Nullable MediaMaxResolution maxResolution, @JsonProperty("sourceResolution") @Nullable MediaSourceResolution sourceResolution, @JsonProperty("status") @Nullable MediaStatus status, - @JsonProperty("mp4Support") @Nullable MediaMp4Support mp4Support, + @JsonProperty("mp4Support") @Nullable List mp4Support, @JsonProperty("sourceAccess") @Nullable JsonNullable sourceAccess, @JsonProperty("playbackIds") @Nullable List playbackIds, @JsonProperty("tracks") @Nullable List tracks, @@ -231,7 +238,8 @@ public Media( @JsonProperty("duration") @Nullable String duration, @JsonProperty("aspectRatio") @Nullable JsonNullable aspectRatio, @JsonProperty("createdAt") @Nullable OffsetDateTime createdAt, - @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt) { + @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt, + @JsonProperty("optimizeAudio") @Nullable Boolean optimizeAudio) { this.thumbnail = Optional.ofNullable(thumbnail) .orElse(JsonNullable.undefined()); this.id = id; @@ -267,6 +275,7 @@ public Media( .orElse(JsonNullable.undefined()); this.createdAt = createdAt; this.updatedAt = updatedAt; + this.optimizeAudio = optimizeAudio; } public Media() { @@ -278,7 +287,7 @@ public Media() { null, null, null, null, null, null, null, null, null, - null); + null, null); } /** @@ -360,7 +369,7 @@ public Optional status() { * - **audioOnly**: Provides an MP4 stream containing only the audio. * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. */ - public Optional mp4Support() { + public Optional> mp4Support() { return Optional.ofNullable(this.mp4Support); } @@ -470,6 +479,13 @@ public Optional updatedAt() { return Optional.ofNullable(this.updatedAt); } + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Optional optimizeAudio() { + return Optional.ofNullable(this.optimizeAudio); + } + public static Builder builder() { return new Builder(); } @@ -574,7 +590,7 @@ public Media withStatus(@Nullable MediaStatus status) { * - **audioOnly**: Provides an MP4 stream containing only the audio. * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. */ - public Media withMp4Support(@Nullable MediaMp4Support mp4Support) { + public Media withMp4Support(@Nullable List mp4Support) { this.mp4Support = mp4Support; return this; } @@ -713,6 +729,15 @@ public Media withUpdatedAt(@Nullable OffsetDateTime updatedAt) { } + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Media withOptimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -747,7 +772,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.duration, other.duration) && Utils.enhancedDeepEquals(this.aspectRatio, other.aspectRatio) && Utils.enhancedDeepEquals(this.createdAt, other.createdAt) && - Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt); + Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt) && + Utils.enhancedDeepEquals(this.optimizeAudio, other.optimizeAudio); } @Override @@ -761,7 +787,7 @@ public int hashCode() { summary, chapters, namedEntities, moderation, isAudioOnly, subtitleAvailable, duration, aspectRatio, createdAt, - updatedAt); + updatedAt, optimizeAudio); } @Override @@ -791,7 +817,8 @@ public String toString() { "duration", duration, "aspectRatio", aspectRatio, "createdAt", createdAt, - "updatedAt", updatedAt); + "updatedAt", updatedAt, + "optimizeAudio", optimizeAudio); } @SuppressWarnings("UnusedReturnValue") @@ -817,7 +844,7 @@ public static final class Builder { private MediaStatus status; - private MediaMp4Support mp4Support; + private List mp4Support; private JsonNullable sourceAccess; @@ -847,6 +874,8 @@ public static final class Builder { private OffsetDateTime updatedAt; + private Boolean optimizeAudio; + private Builder() { // force use of static builder() method } @@ -940,7 +969,7 @@ public Builder status(@Nullable MediaStatus status) { * - **audioOnly**: Provides an MP4 stream containing only the audio. * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. */ - public Builder mp4Support(@Nullable MediaMp4Support mp4Support) { + public Builder mp4Support(@Nullable List mp4Support) { this.mp4Support = mp4Support; return this; } @@ -1064,6 +1093,14 @@ public Builder updatedAt(@Nullable OffsetDateTime updatedAt) { return this; } + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Builder optimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + public Media build() { return new Media( thumbnail, id, workspaceId, @@ -1074,7 +1111,7 @@ public Media build() { summary, chapters, namedEntities, moderation, isAudioOnly, subtitleAvailable, duration, aspectRatio, createdAt, - updatedAt); + updatedAt, optimizeAudio); } diff --git a/src/main/java/io/fastpix/sdk/models/components/MediaMp4Support.java b/src/main/java/io/fastpix/sdk/models/components/MediaMp4Support.java index abf6466..a3530ff 100644 --- a/src/main/java/io/fastpix/sdk/models/components/MediaMp4Support.java +++ b/src/main/java/io/fastpix/sdk/models/components/MediaMp4Support.java @@ -1,143 +1,257 @@ package io.fastpix.sdk.models.components; import com.fasterxml.jackson.annotation.JsonCreator; -import com.fasterxml.jackson.annotation.JsonValue; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.Map; -import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; import java.util.Optional; +import io.fastpix.sdk.utils.Utils; /** * MediaMp4Support * - *

Determines the type of MP4 support for the media. - * - **none**: Disables MP4 support. - * - **capped_4k**: Enables MP4 downloads with resolutions up to 4K. - * - **audioOnly**: Provides an MP4 stream containing only the audio. - * - **audioOnly,capped_4k**: Enables both MP4 video downloads (up to 4K) and an audio-only stream. - * - *

Wrapper for an "open" enum that can handle unknown values from API responses - * without runtime errors. Instances are immutable singletons with reference equality. - * Use {@code asEnum()} for switch expressions. + *

One downloadable MP4 rendition generated for the media, along with its generation status. */ public class MediaMp4Support { + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("type") + private MediaMp4SupportType type; + + /** + * Generation status of this MP4 rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("status") + private MediaMp4SupportStatus status; - private static final String NONE_VALUE = "none"; - private static final String CAPPED_4K_VALUE = "capped_4k"; - private static final String AUDIO_ONLY_VALUE = "audioOnly"; - private static final String AUDIO_ONLY_CAPPED_4K_VALUE = "audioOnly,capped_4k"; + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("height") + private Long height; - public static final MediaMp4Support NONE = new MediaMp4Support(NONE_VALUE); - public static final MediaMp4Support CAPPED4K = new MediaMp4Support(CAPPED_4K_VALUE); - public static final MediaMp4Support AUDIO_ONLY = new MediaMp4Support(AUDIO_ONLY_VALUE); - public static final MediaMp4Support AUDIO_ONLY_CAPPED4K = new MediaMp4Support(AUDIO_ONLY_CAPPED_4K_VALUE); + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("width") + private Long width; - // This map will grow whenever a Color gets created with a new - // unrecognized value (a potential memory leak if the user is not - // careful). Keep this field lower case to avoid clashing with - // generated member names which will always be upper cased (Java - // convention) - private static final Map values = createValuesMap(); - private static final Map enums = createEnumsMap(); + /** + * File extension of the downloadable rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ext") + private MediaMp4SupportExt ext; - private final String value; + @JsonCreator + public MediaMp4Support( + @JsonProperty("type") @Nullable MediaMp4SupportType type, + @JsonProperty("status") @Nullable MediaMp4SupportStatus status, + @JsonProperty("height") @Nullable Long height, + @JsonProperty("width") @Nullable Long width, + @JsonProperty("ext") @Nullable MediaMp4SupportExt ext) { + this.type = type; + this.status = status; + this.height = height; + this.width = width; + this.ext = ext; + } - private MediaMp4Support(String value) { - this.value = value; + public MediaMp4Support() { + this(null, null, null, + null, null); } /** - * Returns a MediaMp4Support with the given value. For a specific value the - * returned object will always be a singleton so reference equality - * is satisfied when the values are the same. - * - * @param value value to be wrapped as MediaMp4Support - */ - @JsonCreator - public static MediaMp4Support of(String value) { - synchronized (MediaMp4Support.class) { - return values.computeIfAbsent(value, MediaMp4Support::new); - } + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Optional type() { + return Optional.ofNullable(this.type); } - @JsonValue - public String value() { - return value; + /** + * Generation status of this MP4 rendition. + */ + public Optional status() { + return Optional.ofNullable(this.status); } - public Optional asEnum() { - return Optional.ofNullable(enums.getOrDefault(value, null)); + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Optional height() { + return Optional.ofNullable(this.height); } - public boolean isKnown() { - return asEnum().isPresent(); + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Optional width() { + return Optional.ofNullable(this.width); } - @Override - public int hashCode() { - return Objects.hash(value); + /** + * File extension of the downloadable rendition. + */ + public Optional ext() { + return Optional.ofNullable(this.ext); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public MediaMp4Support withType(@Nullable MediaMp4SupportType type) { + this.type = type; + return this; + } + + + /** + * Generation status of this MP4 rendition. + */ + public MediaMp4Support withStatus(@Nullable MediaMp4SupportStatus status) { + this.status = status; + return this; + } + + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public MediaMp4Support withHeight(@Nullable Long height) { + this.height = height; + return this; } + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public MediaMp4Support withWidth(@Nullable Long width) { + this.width = width; + return this; + } + + + /** + * File extension of the downloadable rendition. + */ + public MediaMp4Support withExt(@Nullable MediaMp4SupportExt ext) { + this.ext = ext; + return this; + } + + @Override - public boolean equals(java.lang.Object obj) { - if (this == obj) + public boolean equals(java.lang.Object o) { + if (this == o) { return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) + } + if (o == null || getClass() != o.getClass()) { return false; - MediaMp4Support other = (MediaMp4Support) obj; - return Objects.equals(value, other.value); + } + MediaMp4Support other = (MediaMp4Support) o; + return + Utils.enhancedDeepEquals(this.type, other.type) && + Utils.enhancedDeepEquals(this.status, other.status) && + Utils.enhancedDeepEquals(this.height, other.height) && + Utils.enhancedDeepEquals(this.width, other.width) && + Utils.enhancedDeepEquals(this.ext, other.ext); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + type, status, height, + width, ext); } @Override public String toString() { - return "MediaMp4Support [value=" + value + "]"; + return Utils.toString(MediaMp4Support.class, + "type", type, + "status", status, + "height", height, + "width", width, + "ext", ext); } - // return an array just like an enum - public static MediaMp4Support[] values() { - synchronized (MediaMp4Support.class) { - return values.values().toArray(new MediaMp4Support[] {}); + @SuppressWarnings("UnusedReturnValue") + public static final class Builder { + + private MediaMp4SupportType type; + + private MediaMp4SupportStatus status; + + private Long height; + + private Long width; + + private MediaMp4SupportExt ext; + + private Builder() { + // force use of static builder() method } - } - private static final Map createValuesMap() { - Map map = new LinkedHashMap<>(); - map.put(NONE_VALUE, NONE); - map.put(CAPPED_4K_VALUE, CAPPED4K); - map.put(AUDIO_ONLY_VALUE, AUDIO_ONLY); - map.put(AUDIO_ONLY_CAPPED_4K_VALUE, AUDIO_ONLY_CAPPED4K); - return map; - } + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Builder type(@Nullable MediaMp4SupportType type) { + this.type = type; + return this; + } - private static final Map createEnumsMap() { - Map map = new HashMap<>(); - map.put(NONE_VALUE, MediaMp4SupportEnum.NONE); - map.put(CAPPED_4K_VALUE, MediaMp4SupportEnum.CAPPED4K); - map.put(AUDIO_ONLY_VALUE, MediaMp4SupportEnum.AUDIO_ONLY); - map.put(AUDIO_ONLY_CAPPED_4K_VALUE, MediaMp4SupportEnum.AUDIO_ONLY_CAPPED4K); - return map; - } - - - public enum MediaMp4SupportEnum { + /** + * Generation status of this MP4 rendition. + */ + public Builder status(@Nullable MediaMp4SupportStatus status) { + this.status = status; + return this; + } - NONE(NONE_VALUE), - CAPPED4K(CAPPED_4K_VALUE), - AUDIO_ONLY(AUDIO_ONLY_VALUE), - AUDIO_ONLY_CAPPED4K(AUDIO_ONLY_CAPPED_4K_VALUE),; + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Builder height(@Nullable Long height) { + this.height = height; + return this; + } - private final String value; + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Builder width(@Nullable Long width) { + this.width = width; + return this; + } - private MediaMp4SupportEnum(String value) { - this.value = value; + /** + * File extension of the downloadable rendition. + */ + public Builder ext(@Nullable MediaMp4SupportExt ext) { + this.ext = ext; + return this; } - public String value() { - return value; + public MediaMp4Support build() { + return new MediaMp4Support( + type, status, height, + width, ext); } } } - diff --git a/src/main/java/io/fastpix/sdk/models/components/MediaMp4SupportExt.java b/src/main/java/io/fastpix/sdk/models/components/MediaMp4SupportExt.java new file mode 100644 index 0000000..b2eafb6 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/MediaMp4SupportExt.java @@ -0,0 +1,128 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * MediaMp4SupportExt + * + *

File extension of the downloadable rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class MediaMp4SupportExt { + + private static final String VALUE_MP4 = "mp4"; + private static final String VALUE_M4A = "m4a"; + + public static final MediaMp4SupportExt MP4 = new MediaMp4SupportExt(VALUE_MP4); + public static final MediaMp4SupportExt M4A = new MediaMp4SupportExt(VALUE_M4A); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private MediaMp4SupportExt(String value) { + this.value = value; + } + + /** + * Returns a MediaMp4SupportExt with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as MediaMp4SupportExt + */ + @JsonCreator + public static MediaMp4SupportExt of(String value) { + synchronized (MediaMp4SupportExt.class) { + return values.computeIfAbsent(value, MediaMp4SupportExt::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + MediaMp4SupportExt other = (MediaMp4SupportExt) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "MediaMp4SupportExt [value=" + value + "]"; + } + + // return an array just like an enum + public static MediaMp4SupportExt[] values() { + synchronized (MediaMp4SupportExt.class) { + return values.values().toArray(new MediaMp4SupportExt[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_MP4, MP4); + map.put(VALUE_M4A, M4A); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_MP4, MediaMp4SupportExtEnum.MP4); + map.put(VALUE_M4A, MediaMp4SupportExtEnum.M4A); + return map; + } + + + public enum MediaMp4SupportExtEnum { + + MP4(VALUE_MP4), + M4A(VALUE_M4A),; + + private final String value; + + private MediaMp4SupportExtEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/MediaMp4SupportStatus.java b/src/main/java/io/fastpix/sdk/models/components/MediaMp4SupportStatus.java new file mode 100644 index 0000000..08bad26 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/MediaMp4SupportStatus.java @@ -0,0 +1,133 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * MediaMp4SupportStatus + * + *

Generation status of this MP4 rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class MediaMp4SupportStatus { + + private static final String VALUE_PREPARING = "preparing"; + private static final String VALUE_READY = "ready"; + private static final String VALUE_FAILED = "failed"; + + public static final MediaMp4SupportStatus PREPARING = new MediaMp4SupportStatus(VALUE_PREPARING); + public static final MediaMp4SupportStatus READY = new MediaMp4SupportStatus(VALUE_READY); + public static final MediaMp4SupportStatus FAILED = new MediaMp4SupportStatus(VALUE_FAILED); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private MediaMp4SupportStatus(String value) { + this.value = value; + } + + /** + * Returns a MediaMp4SupportStatus with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as MediaMp4SupportStatus + */ + @JsonCreator + public static MediaMp4SupportStatus of(String value) { + synchronized (MediaMp4SupportStatus.class) { + return values.computeIfAbsent(value, MediaMp4SupportStatus::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + MediaMp4SupportStatus other = (MediaMp4SupportStatus) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "MediaMp4SupportStatus [value=" + value + "]"; + } + + // return an array just like an enum + public static MediaMp4SupportStatus[] values() { + synchronized (MediaMp4SupportStatus.class) { + return values.values().toArray(new MediaMp4SupportStatus[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_PREPARING, PREPARING); + map.put(VALUE_READY, READY); + map.put(VALUE_FAILED, FAILED); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_PREPARING, MediaMp4SupportStatusEnum.PREPARING); + map.put(VALUE_READY, MediaMp4SupportStatusEnum.READY); + map.put(VALUE_FAILED, MediaMp4SupportStatusEnum.FAILED); + return map; + } + + + public enum MediaMp4SupportStatusEnum { + + PREPARING(VALUE_PREPARING), + READY(VALUE_READY), + FAILED(VALUE_FAILED),; + + private final String value; + + private MediaMp4SupportStatusEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/MediaMp4SupportType.java b/src/main/java/io/fastpix/sdk/models/components/MediaMp4SupportType.java new file mode 100644 index 0000000..436cc47 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/MediaMp4SupportType.java @@ -0,0 +1,129 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * MediaMp4SupportType + * + *

The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class MediaMp4SupportType { + + private static final String VALUE_CAPPED_4K = "capped_4k"; + private static final String VALUE_AUDIO_ONLY = "audioOnly"; + + public static final MediaMp4SupportType CAPPED4K = new MediaMp4SupportType(VALUE_CAPPED_4K); + public static final MediaMp4SupportType AUDIO_ONLY = new MediaMp4SupportType(VALUE_AUDIO_ONLY); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private MediaMp4SupportType(String value) { + this.value = value; + } + + /** + * Returns a MediaMp4SupportType with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as MediaMp4SupportType + */ + @JsonCreator + public static MediaMp4SupportType of(String value) { + synchronized (MediaMp4SupportType.class) { + return values.computeIfAbsent(value, MediaMp4SupportType::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + MediaMp4SupportType other = (MediaMp4SupportType) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "MediaMp4SupportType [value=" + value + "]"; + } + + // return an array just like an enum + public static MediaMp4SupportType[] values() { + synchronized (MediaMp4SupportType.class) { + return values.values().toArray(new MediaMp4SupportType[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_CAPPED_4K, CAPPED4K); + map.put(VALUE_AUDIO_ONLY, AUDIO_ONLY); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_CAPPED_4K, MediaMp4SupportTypeEnum.CAPPED4K); + map.put(VALUE_AUDIO_ONLY, MediaMp4SupportTypeEnum.AUDIO_ONLY); + return map; + } + + + public enum MediaMp4SupportTypeEnum { + + CAPPED4K(VALUE_CAPPED_4K), + AUDIO_ONLY(VALUE_AUDIO_ONLY),; + + private final String value; + + private MediaMp4SupportTypeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/MediaSourceResolution.java b/src/main/java/io/fastpix/sdk/models/components/MediaSourceResolution.java index f8ebd27..75f1913 100644 --- a/src/main/java/io/fastpix/sdk/models/components/MediaSourceResolution.java +++ b/src/main/java/io/fastpix/sdk/models/components/MediaSourceResolution.java @@ -29,6 +29,8 @@ public class MediaSourceResolution { private static final String RESOLUTION_720 = "720"; private static final String RESOLUTION_480P = "480p"; private static final String RESOLUTION_480 = "480"; + private static final String RESOLUTION_360P = "360p"; + private static final String RESOLUTION_360 = "360"; public static final MediaSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP = new MediaSourceResolution(RESOLUTION_2160P); public static final MediaSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY = new MediaSourceResolution(RESOLUTION_2160); @@ -40,6 +42,8 @@ public class MediaSourceResolution { public static final MediaSourceResolution SEVEN_HUNDRED_AND_TWENTY = new MediaSourceResolution(RESOLUTION_720); public static final MediaSourceResolution FOUR_HUNDRED_AND_EIGHTYP = new MediaSourceResolution(RESOLUTION_480P); public static final MediaSourceResolution FOUR_HUNDRED_AND_EIGHTY = new MediaSourceResolution(RESOLUTION_480); + public static final MediaSourceResolution THREE_HUNDRED_AND_SIXTYP = new MediaSourceResolution(RESOLUTION_360P); + public static final MediaSourceResolution THREE_HUNDRED_AND_SIXTY = new MediaSourceResolution(RESOLUTION_360); // This map will grow whenever a Color gets created with a new // unrecognized value (a potential memory leak if the user is not @@ -123,6 +127,8 @@ private static final Map createValuesMap() { map.put(RESOLUTION_720, SEVEN_HUNDRED_AND_TWENTY); map.put(RESOLUTION_480P, FOUR_HUNDRED_AND_EIGHTYP); map.put(RESOLUTION_480, FOUR_HUNDRED_AND_EIGHTY); + map.put(RESOLUTION_360P, THREE_HUNDRED_AND_SIXTYP); + map.put(RESOLUTION_360, THREE_HUNDRED_AND_SIXTY); return map; } @@ -138,6 +144,8 @@ private static final Map createEnumsMap() { map.put(RESOLUTION_720, MediaSourceResolutionEnum.SEVEN_HUNDRED_AND_TWENTY); map.put(RESOLUTION_480P, MediaSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTYP); map.put(RESOLUTION_480, MediaSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTY); + map.put(RESOLUTION_360P, MediaSourceResolutionEnum.THREE_HUNDRED_AND_SIXTYP); + map.put(RESOLUTION_360, MediaSourceResolutionEnum.THREE_HUNDRED_AND_SIXTY); return map; } @@ -153,7 +161,9 @@ public enum MediaSourceResolutionEnum { SEVEN_HUNDRED_AND_TWENTYP(RESOLUTION_720P), SEVEN_HUNDRED_AND_TWENTY(RESOLUTION_720), FOUR_HUNDRED_AND_EIGHTYP(RESOLUTION_480P), - FOUR_HUNDRED_AND_EIGHTY(RESOLUTION_480),; + FOUR_HUNDRED_AND_EIGHTY(RESOLUTION_480), + THREE_HUNDRED_AND_SIXTYP(RESOLUTION_360P), + THREE_HUNDRED_AND_SIXTY(RESOLUTION_360),; private final String value; diff --git a/src/main/java/io/fastpix/sdk/models/components/SourceAccessMedia.java b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMedia.java index 23f57ad..6104a37 100644 --- a/src/main/java/io/fastpix/sdk/models/components/SourceAccessMedia.java +++ b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMedia.java @@ -194,6 +194,20 @@ public class SourceAccessMedia { @JsonProperty("updatedAt") private OffsetDateTime updatedAt; + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mp4Support") + private List mp4Support; + + /** + * Whether the audio track of the media has been volume-normalized. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("optimizeAudio") + private Boolean optimizeAudio; + @JsonCreator public SourceAccessMedia( @JsonProperty("thumbnail") @Nullable JsonNullable thumbnail, @@ -219,7 +233,9 @@ public SourceAccessMedia( @JsonProperty("duration") @Nullable String duration, @JsonProperty("aspectRatio") @Nullable JsonNullable aspectRatio, @JsonProperty("createdAt") @Nullable OffsetDateTime createdAt, - @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt) { + @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt, + @JsonProperty("mp4Support") @Nullable List mp4Support, + @JsonProperty("optimizeAudio") @Nullable Boolean optimizeAudio) { this.thumbnail = Optional.ofNullable(thumbnail) .orElse(JsonNullable.undefined()); this.id = id; @@ -254,6 +270,8 @@ public SourceAccessMedia( .orElse(JsonNullable.undefined()); this.createdAt = createdAt; this.updatedAt = updatedAt; + this.mp4Support = mp4Support; + this.optimizeAudio = optimizeAudio; } public SourceAccessMedia() { @@ -264,7 +282,7 @@ public SourceAccessMedia() { null, null, null, null, null, null, null, null, null, - null, null, null); + null, null, null, null, null); } /** @@ -445,6 +463,20 @@ public Optional updatedAt() { return Optional.ofNullable(this.updatedAt); } + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + public Optional> mp4Support() { + return Optional.ofNullable(this.mp4Support); + } + + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Optional optimizeAudio() { + return Optional.ofNullable(this.optimizeAudio); + } + public static Builder builder() { return new Builder(); } @@ -675,6 +707,24 @@ public SourceAccessMedia withUpdatedAt(@Nullable OffsetDateTime updatedAt) { } + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + public SourceAccessMedia withMp4Support(@Nullable List mp4Support) { + this.mp4Support = mp4Support; + return this; + } + + + /** + * Whether the audio track of the media has been volume-normalized. + */ + public SourceAccessMedia withOptimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -708,7 +758,9 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.duration, other.duration) && Utils.enhancedDeepEquals(this.aspectRatio, other.aspectRatio) && Utils.enhancedDeepEquals(this.createdAt, other.createdAt) && - Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt); + Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt) && + Utils.enhancedDeepEquals(this.mp4Support, other.mp4Support) && + Utils.enhancedDeepEquals(this.optimizeAudio, other.optimizeAudio); } @Override @@ -721,7 +773,7 @@ public int hashCode() { tracks, generatedSubtitles, summary, chapters, namedEntities, moderation, isAudioOnly, subtitleAvailable, duration, - aspectRatio, createdAt, updatedAt); + aspectRatio, createdAt, updatedAt, mp4Support, optimizeAudio); } @Override @@ -750,7 +802,9 @@ public String toString() { "duration", duration, "aspectRatio", aspectRatio, "createdAt", createdAt, - "updatedAt", updatedAt); + "updatedAt", updatedAt, + "mp4Support", mp4Support, + "optimizeAudio", optimizeAudio); } @SuppressWarnings("UnusedReturnValue") @@ -804,6 +858,10 @@ public static final class Builder { private OffsetDateTime updatedAt; + private List mp4Support; + + private Boolean optimizeAudio; + private Builder() { // force use of static builder() method } @@ -1009,6 +1067,22 @@ public Builder updatedAt(@Nullable OffsetDateTime updatedAt) { return this; } + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + public Builder mp4Support(@Nullable List mp4Support) { + this.mp4Support = mp4Support; + return this; + } + + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Builder optimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + public SourceAccessMedia build() { return new SourceAccessMedia( thumbnail, id, workspaceId, @@ -1018,7 +1092,7 @@ public SourceAccessMedia build() { tracks, generatedSubtitles, summary, chapters, namedEntities, moderation, isAudioOnly, subtitleAvailable, duration, - aspectRatio, createdAt, updatedAt); + aspectRatio, createdAt, updatedAt, mp4Support, optimizeAudio); } diff --git a/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4Support.java b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4Support.java new file mode 100644 index 0000000..52a5e77 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4Support.java @@ -0,0 +1,257 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; +import java.util.Optional; +import io.fastpix.sdk.utils.Utils; + +/** + * SourceAccessMediaMp4Support + * + *

One downloadable MP4 rendition generated for the media, along with its generation status. + */ +public class SourceAccessMediaMp4Support { + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("type") + private SourceAccessMediaMp4SupportType type; + + /** + * Generation status of this MP4 rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("status") + private SourceAccessMediaMp4SupportStatus status; + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("height") + private Long height; + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("width") + private Long width; + + /** + * File extension of the downloadable rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ext") + private SourceAccessMediaMp4SupportExt ext; + + @JsonCreator + public SourceAccessMediaMp4Support( + @JsonProperty("type") @Nullable SourceAccessMediaMp4SupportType type, + @JsonProperty("status") @Nullable SourceAccessMediaMp4SupportStatus status, + @JsonProperty("height") @Nullable Long height, + @JsonProperty("width") @Nullable Long width, + @JsonProperty("ext") @Nullable SourceAccessMediaMp4SupportExt ext) { + this.type = type; + this.status = status; + this.height = height; + this.width = width; + this.ext = ext; + } + + public SourceAccessMediaMp4Support() { + this(null, null, null, + null, null); + } + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Optional type() { + return Optional.ofNullable(this.type); + } + + /** + * Generation status of this MP4 rendition. + */ + public Optional status() { + return Optional.ofNullable(this.status); + } + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Optional height() { + return Optional.ofNullable(this.height); + } + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Optional width() { + return Optional.ofNullable(this.width); + } + + /** + * File extension of the downloadable rendition. + */ + public Optional ext() { + return Optional.ofNullable(this.ext); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public SourceAccessMediaMp4Support withType(@Nullable SourceAccessMediaMp4SupportType type) { + this.type = type; + return this; + } + + + /** + * Generation status of this MP4 rendition. + */ + public SourceAccessMediaMp4Support withStatus(@Nullable SourceAccessMediaMp4SupportStatus status) { + this.status = status; + return this; + } + + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public SourceAccessMediaMp4Support withHeight(@Nullable Long height) { + this.height = height; + return this; + } + + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public SourceAccessMediaMp4Support withWidth(@Nullable Long width) { + this.width = width; + return this; + } + + + /** + * File extension of the downloadable rendition. + */ + public SourceAccessMediaMp4Support withExt(@Nullable SourceAccessMediaMp4SupportExt ext) { + this.ext = ext; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + SourceAccessMediaMp4Support other = (SourceAccessMediaMp4Support) o; + return + Utils.enhancedDeepEquals(this.type, other.type) && + Utils.enhancedDeepEquals(this.status, other.status) && + Utils.enhancedDeepEquals(this.height, other.height) && + Utils.enhancedDeepEquals(this.width, other.width) && + Utils.enhancedDeepEquals(this.ext, other.ext); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + type, status, height, + width, ext); + } + + @Override + public String toString() { + return Utils.toString(SourceAccessMediaMp4Support.class, + "type", type, + "status", status, + "height", height, + "width", width, + "ext", ext); + } + + @SuppressWarnings("UnusedReturnValue") + public static final class Builder { + + private SourceAccessMediaMp4SupportType type; + + private SourceAccessMediaMp4SupportStatus status; + + private Long height; + + private Long width; + + private SourceAccessMediaMp4SupportExt ext; + + private Builder() { + // force use of static builder() method + } + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Builder type(@Nullable SourceAccessMediaMp4SupportType type) { + this.type = type; + return this; + } + + /** + * Generation status of this MP4 rendition. + */ + public Builder status(@Nullable SourceAccessMediaMp4SupportStatus status) { + this.status = status; + return this; + } + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Builder height(@Nullable Long height) { + this.height = height; + return this; + } + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Builder width(@Nullable Long width) { + this.width = width; + return this; + } + + /** + * File extension of the downloadable rendition. + */ + public Builder ext(@Nullable SourceAccessMediaMp4SupportExt ext) { + this.ext = ext; + return this; + } + + public SourceAccessMediaMp4Support build() { + return new SourceAccessMediaMp4Support( + type, status, height, + width, ext); + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4SupportExt.java b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4SupportExt.java new file mode 100644 index 0000000..1f27b4c --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4SupportExt.java @@ -0,0 +1,128 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * SourceAccessMediaMp4SupportExt + * + *

File extension of the downloadable rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class SourceAccessMediaMp4SupportExt { + + private static final String VALUE_MP4 = "mp4"; + private static final String VALUE_M4A = "m4a"; + + public static final SourceAccessMediaMp4SupportExt MP4 = new SourceAccessMediaMp4SupportExt(VALUE_MP4); + public static final SourceAccessMediaMp4SupportExt M4A = new SourceAccessMediaMp4SupportExt(VALUE_M4A); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private SourceAccessMediaMp4SupportExt(String value) { + this.value = value; + } + + /** + * Returns a SourceAccessMediaMp4SupportExt with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as SourceAccessMediaMp4SupportExt + */ + @JsonCreator + public static SourceAccessMediaMp4SupportExt of(String value) { + synchronized (SourceAccessMediaMp4SupportExt.class) { + return values.computeIfAbsent(value, SourceAccessMediaMp4SupportExt::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + SourceAccessMediaMp4SupportExt other = (SourceAccessMediaMp4SupportExt) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "SourceAccessMediaMp4SupportExt [value=" + value + "]"; + } + + // return an array just like an enum + public static SourceAccessMediaMp4SupportExt[] values() { + synchronized (SourceAccessMediaMp4SupportExt.class) { + return values.values().toArray(new SourceAccessMediaMp4SupportExt[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_MP4, MP4); + map.put(VALUE_M4A, M4A); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_MP4, SourceAccessMediaMp4SupportExtEnum.MP4); + map.put(VALUE_M4A, SourceAccessMediaMp4SupportExtEnum.M4A); + return map; + } + + + public enum SourceAccessMediaMp4SupportExtEnum { + + MP4(VALUE_MP4), + M4A(VALUE_M4A),; + + private final String value; + + private SourceAccessMediaMp4SupportExtEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4SupportStatus.java b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4SupportStatus.java new file mode 100644 index 0000000..0c03603 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4SupportStatus.java @@ -0,0 +1,133 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * SourceAccessMediaMp4SupportStatus + * + *

Generation status of this MP4 rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class SourceAccessMediaMp4SupportStatus { + + private static final String VALUE_PREPARING = "preparing"; + private static final String VALUE_READY = "ready"; + private static final String VALUE_FAILED = "failed"; + + public static final SourceAccessMediaMp4SupportStatus PREPARING = new SourceAccessMediaMp4SupportStatus(VALUE_PREPARING); + public static final SourceAccessMediaMp4SupportStatus READY = new SourceAccessMediaMp4SupportStatus(VALUE_READY); + public static final SourceAccessMediaMp4SupportStatus FAILED = new SourceAccessMediaMp4SupportStatus(VALUE_FAILED); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private SourceAccessMediaMp4SupportStatus(String value) { + this.value = value; + } + + /** + * Returns a SourceAccessMediaMp4SupportStatus with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as SourceAccessMediaMp4SupportStatus + */ + @JsonCreator + public static SourceAccessMediaMp4SupportStatus of(String value) { + synchronized (SourceAccessMediaMp4SupportStatus.class) { + return values.computeIfAbsent(value, SourceAccessMediaMp4SupportStatus::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + SourceAccessMediaMp4SupportStatus other = (SourceAccessMediaMp4SupportStatus) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "SourceAccessMediaMp4SupportStatus [value=" + value + "]"; + } + + // return an array just like an enum + public static SourceAccessMediaMp4SupportStatus[] values() { + synchronized (SourceAccessMediaMp4SupportStatus.class) { + return values.values().toArray(new SourceAccessMediaMp4SupportStatus[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_PREPARING, PREPARING); + map.put(VALUE_READY, READY); + map.put(VALUE_FAILED, FAILED); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_PREPARING, SourceAccessMediaMp4SupportStatusEnum.PREPARING); + map.put(VALUE_READY, SourceAccessMediaMp4SupportStatusEnum.READY); + map.put(VALUE_FAILED, SourceAccessMediaMp4SupportStatusEnum.FAILED); + return map; + } + + + public enum SourceAccessMediaMp4SupportStatusEnum { + + PREPARING(VALUE_PREPARING), + READY(VALUE_READY), + FAILED(VALUE_FAILED),; + + private final String value; + + private SourceAccessMediaMp4SupportStatusEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4SupportType.java b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4SupportType.java new file mode 100644 index 0000000..c498976 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaMp4SupportType.java @@ -0,0 +1,129 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * SourceAccessMediaMp4SupportType + * + *

The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class SourceAccessMediaMp4SupportType { + + private static final String VALUE_CAPPED_4K = "capped_4k"; + private static final String VALUE_AUDIO_ONLY = "audioOnly"; + + public static final SourceAccessMediaMp4SupportType CAPPED4K = new SourceAccessMediaMp4SupportType(VALUE_CAPPED_4K); + public static final SourceAccessMediaMp4SupportType AUDIO_ONLY = new SourceAccessMediaMp4SupportType(VALUE_AUDIO_ONLY); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private SourceAccessMediaMp4SupportType(String value) { + this.value = value; + } + + /** + * Returns a SourceAccessMediaMp4SupportType with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as SourceAccessMediaMp4SupportType + */ + @JsonCreator + public static SourceAccessMediaMp4SupportType of(String value) { + synchronized (SourceAccessMediaMp4SupportType.class) { + return values.computeIfAbsent(value, SourceAccessMediaMp4SupportType::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + SourceAccessMediaMp4SupportType other = (SourceAccessMediaMp4SupportType) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "SourceAccessMediaMp4SupportType [value=" + value + "]"; + } + + // return an array just like an enum + public static SourceAccessMediaMp4SupportType[] values() { + synchronized (SourceAccessMediaMp4SupportType.class) { + return values.values().toArray(new SourceAccessMediaMp4SupportType[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_CAPPED_4K, CAPPED4K); + map.put(VALUE_AUDIO_ONLY, AUDIO_ONLY); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_CAPPED_4K, SourceAccessMediaMp4SupportTypeEnum.CAPPED4K); + map.put(VALUE_AUDIO_ONLY, SourceAccessMediaMp4SupportTypeEnum.AUDIO_ONLY); + return map; + } + + + public enum SourceAccessMediaMp4SupportTypeEnum { + + CAPPED4K(VALUE_CAPPED_4K), + AUDIO_ONLY(VALUE_AUDIO_ONLY),; + + private final String value; + + private SourceAccessMediaMp4SupportTypeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaSourceResolution.java b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaSourceResolution.java index e3ab6b6..711ad8f 100644 --- a/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaSourceResolution.java +++ b/src/main/java/io/fastpix/sdk/models/components/SourceAccessMediaSourceResolution.java @@ -25,6 +25,8 @@ public class SourceAccessMediaSourceResolution { private static final String VALUE_720 = "720"; private static final String VALUE_480P = "480p"; private static final String VALUE_480 = "480"; + private static final String VALUE_360P = "360p"; + private static final String VALUE_360 = "360"; public static final SourceAccessMediaSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP = new SourceAccessMediaSourceResolution(VALUE_2160P); public static final SourceAccessMediaSourceResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTY = new SourceAccessMediaSourceResolution(VALUE_2160); @@ -36,6 +38,8 @@ public class SourceAccessMediaSourceResolution { public static final SourceAccessMediaSourceResolution SEVEN_HUNDRED_AND_TWENTY = new SourceAccessMediaSourceResolution(VALUE_720); public static final SourceAccessMediaSourceResolution FOUR_HUNDRED_AND_EIGHTYP = new SourceAccessMediaSourceResolution(VALUE_480P); public static final SourceAccessMediaSourceResolution FOUR_HUNDRED_AND_EIGHTY = new SourceAccessMediaSourceResolution(VALUE_480); + public static final SourceAccessMediaSourceResolution THREE_HUNDRED_AND_SIXTYP = new SourceAccessMediaSourceResolution(VALUE_360P); + public static final SourceAccessMediaSourceResolution THREE_HUNDRED_AND_SIXTY = new SourceAccessMediaSourceResolution(VALUE_360); // This map will grow whenever a Color gets created with a new // unrecognized value (a potential memory leak if the user is not @@ -119,6 +123,8 @@ private static final Map createValues map.put(VALUE_720, SEVEN_HUNDRED_AND_TWENTY); map.put(VALUE_480P, FOUR_HUNDRED_AND_EIGHTYP); map.put(VALUE_480, FOUR_HUNDRED_AND_EIGHTY); + map.put(VALUE_360P, THREE_HUNDRED_AND_SIXTYP); + map.put(VALUE_360, THREE_HUNDRED_AND_SIXTY); return map; } @@ -134,6 +140,8 @@ private static final Map createEn map.put(VALUE_720, SourceAccessMediaSourceResolutionEnum.SEVEN_HUNDRED_AND_TWENTY); map.put(VALUE_480P, SourceAccessMediaSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTYP); map.put(VALUE_480, SourceAccessMediaSourceResolutionEnum.FOUR_HUNDRED_AND_EIGHTY); + map.put(VALUE_360P, SourceAccessMediaSourceResolutionEnum.THREE_HUNDRED_AND_SIXTYP); + map.put(VALUE_360, SourceAccessMediaSourceResolutionEnum.THREE_HUNDRED_AND_SIXTY); return map; } @@ -149,7 +157,9 @@ public enum SourceAccessMediaSourceResolutionEnum { SEVEN_HUNDRED_AND_TWENTYP(VALUE_720P), SEVEN_HUNDRED_AND_TWENTY(VALUE_720), FOUR_HUNDRED_AND_EIGHTYP(VALUE_480P), - FOUR_HUNDRED_AND_EIGHTY(VALUE_480),; + FOUR_HUNDRED_AND_EIGHTY(VALUE_480), + THREE_HUNDRED_AND_SIXTYP(VALUE_360P), + THREE_HUNDRED_AND_SIXTY(VALUE_360),; private final String value; diff --git a/src/main/java/io/fastpix/sdk/models/components/SubtitleTrack.java b/src/main/java/io/fastpix/sdk/models/components/SubtitleTrack.java index 9bea808..e0fc2ab 100644 --- a/src/main/java/io/fastpix/sdk/models/components/SubtitleTrack.java +++ b/src/main/java/io/fastpix/sdk/models/components/SubtitleTrack.java @@ -52,23 +52,32 @@ public class SubtitleTrack { @JsonProperty("languageCode") private String languageCode; + /** + * Title of the track. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title") + private String title; + @JsonCreator public SubtitleTrack( @JsonProperty("id") @Nullable String id, @JsonProperty("type") @Nullable SubtitleTrackType type, @JsonProperty("status") @Nullable String status, @JsonProperty("languageName") @Nullable String languageName, - @JsonProperty("languageCode") @Nullable String languageCode) { + @JsonProperty("languageCode") @Nullable String languageCode, + @JsonProperty("title") @Nullable String title) { this.id = id; this.type = type; this.status = status; this.languageName = languageName; this.languageCode = languageCode; + this.title = title; } public SubtitleTrack() { this(null, null, null, - null, null); + null, null, null); } /** @@ -109,6 +118,13 @@ public Optional languageCode() { return Optional.ofNullable(this.languageCode); } + /** + * Title of the track. + */ + public Optional title() { + return Optional.ofNullable(this.title); + } + public static Builder builder() { return new Builder(); } @@ -162,6 +178,15 @@ public SubtitleTrack withLanguageCode(@Nullable String languageCode) { } + /** + * Title of the track. + */ + public SubtitleTrack withTitle(@Nullable String title) { + this.title = title; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -176,14 +201,15 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.type, other.type) && Utils.enhancedDeepEquals(this.status, other.status) && Utils.enhancedDeepEquals(this.languageName, other.languageName) && - Utils.enhancedDeepEquals(this.languageCode, other.languageCode); + Utils.enhancedDeepEquals(this.languageCode, other.languageCode) && + Utils.enhancedDeepEquals(this.title, other.title); } @Override public int hashCode() { return Utils.enhancedHash( id, type, status, - languageName, languageCode); + languageName, languageCode, title); } @Override @@ -193,7 +219,8 @@ public String toString() { "type", type, "status", status, "languageName", languageName, - "languageCode", languageCode); + "languageCode", languageCode, + "title", title); } @SuppressWarnings("UnusedReturnValue") @@ -209,6 +236,8 @@ public static final class Builder { private String languageCode; + private String title; + private Builder() { // force use of static builder() method } @@ -256,10 +285,18 @@ public Builder languageCode(@Nullable String languageCode) { return this; } + /** + * Title of the track. + */ + public Builder title(@Nullable String title) { + this.title = title; + return this; + } + public SubtitleTrack build() { return new SubtitleTrack( id, type, status, - languageName, languageCode); + languageName, languageCode, title); } } diff --git a/src/main/java/io/fastpix/sdk/models/components/TrackSubtitlesGenerateRequest.java b/src/main/java/io/fastpix/sdk/models/components/TrackSubtitlesGenerateRequest.java index ce00a14..5c5fcb4 100644 --- a/src/main/java/io/fastpix/sdk/models/components/TrackSubtitlesGenerateRequest.java +++ b/src/main/java/io/fastpix/sdk/models/components/TrackSubtitlesGenerateRequest.java @@ -40,20 +40,29 @@ public class TrackSubtitlesGenerateRequest { @JsonProperty("languageCode") private LanguageCode languageCode; + /** + * Title of the track. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title") + private String title; + @JsonCreator public TrackSubtitlesGenerateRequest( @JsonProperty("languageName") @Nullable String languageName, @JsonProperty("metadata") @Nullable Map metadata, - @JsonProperty("languageCode") @Nullable LanguageCode languageCode) { + @JsonProperty("languageCode") @Nullable LanguageCode languageCode, + @JsonProperty("title") @Nullable String title) { this.languageName = Optional.ofNullable(languageName) .orElse(Builder._SINGLETON_VALUE_LanguageName.value()); this.metadata = metadata; this.languageCode = Optional.ofNullable(languageCode) .orElse(Builder._SINGLETON_VALUE_LanguageCode.value()); + this.title = title; } public TrackSubtitlesGenerateRequest() { - this(null, null, null); + this(null, null, null, null); } /** @@ -79,6 +88,13 @@ public Optional languageCode() { return Optional.ofNullable(this.languageCode); } + /** + * Title of the track. + */ + public Optional title() { + return Optional.ofNullable(this.title); + } + public static Builder builder() { return new Builder(); } @@ -113,6 +129,15 @@ public TrackSubtitlesGenerateRequest withLanguageCode(@Nullable LanguageCode lan } + /** + * Title of the track. + */ + public TrackSubtitlesGenerateRequest withTitle(@Nullable String title) { + this.title = title; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -125,13 +150,14 @@ public boolean equals(java.lang.Object o) { return Utils.enhancedDeepEquals(this.languageName, other.languageName) && Utils.enhancedDeepEquals(this.metadata, other.metadata) && - Utils.enhancedDeepEquals(this.languageCode, other.languageCode); + Utils.enhancedDeepEquals(this.languageCode, other.languageCode) && + Utils.enhancedDeepEquals(this.title, other.title); } @Override public int hashCode() { return Utils.enhancedHash( - languageName, metadata, languageCode); + languageName, metadata, languageCode, title); } @Override @@ -139,7 +165,8 @@ public String toString() { return Utils.toString(TrackSubtitlesGenerateRequest.class, "languageName", languageName, "metadata", metadata, - "languageCode", languageCode); + "languageCode", languageCode, + "title", title); } @SuppressWarnings("UnusedReturnValue") @@ -151,6 +178,8 @@ public static final class Builder { private LanguageCode languageCode; + private String title; + private Builder() { // force use of static builder() method } @@ -181,9 +210,17 @@ public Builder languageCode(@Nullable LanguageCode languageCode) { return this; } + /** + * Title of the track. + */ + public Builder title(@Nullable String title) { + this.title = title; + return this; + } + public TrackSubtitlesGenerateRequest build() { return new TrackSubtitlesGenerateRequest( - languageName, metadata, languageCode); + languageName, metadata, languageCode, title); } diff --git a/src/main/java/io/fastpix/sdk/models/components/UpdateMedia.java b/src/main/java/io/fastpix/sdk/models/components/UpdateMedia.java index 2fbb9f1..7770c44 100644 --- a/src/main/java/io/fastpix/sdk/models/components/UpdateMedia.java +++ b/src/main/java/io/fastpix/sdk/models/components/UpdateMedia.java @@ -194,6 +194,20 @@ public class UpdateMedia { @JsonProperty("updatedAt") private OffsetDateTime updatedAt; + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("mp4Support") + private List mp4Support; + + /** + * Whether the audio track of the media has been volume-normalized. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("optimizeAudio") + private Boolean optimizeAudio; + @JsonCreator public UpdateMedia( @JsonProperty("thumbnail") @Nullable String thumbnail, @@ -219,7 +233,9 @@ public UpdateMedia( @JsonProperty("duration") @Nullable String duration, @JsonProperty("aspectRatio") @Nullable String aspectRatio, @JsonProperty("createdAt") @Nullable OffsetDateTime createdAt, - @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt) { + @JsonProperty("updatedAt") @Nullable OffsetDateTime updatedAt, + @JsonProperty("mp4Support") @Nullable List mp4Support, + @JsonProperty("optimizeAudio") @Nullable Boolean optimizeAudio) { this.thumbnail = thumbnail; this.id = id; this.workspaceId = workspaceId; @@ -251,6 +267,8 @@ public UpdateMedia( this.aspectRatio = aspectRatio; this.createdAt = createdAt; this.updatedAt = updatedAt; + this.mp4Support = mp4Support; + this.optimizeAudio = optimizeAudio; } public UpdateMedia() { @@ -261,7 +279,7 @@ public UpdateMedia() { null, null, null, null, null, null, null, null, null, - null, null, null); + null, null, null, null, null); } /** @@ -442,6 +460,20 @@ public Optional updatedAt() { return Optional.ofNullable(this.updatedAt); } + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + public Optional> mp4Support() { + return Optional.ofNullable(this.mp4Support); + } + + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Optional optimizeAudio() { + return Optional.ofNullable(this.optimizeAudio); + } + public static Builder builder() { return new Builder(); } @@ -672,6 +704,24 @@ public UpdateMedia withUpdatedAt(@Nullable OffsetDateTime updatedAt) { } + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + public UpdateMedia withMp4Support(@Nullable List mp4Support) { + this.mp4Support = mp4Support; + return this; + } + + + /** + * Whether the audio track of the media has been volume-normalized. + */ + public UpdateMedia withOptimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -705,7 +755,9 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.duration, other.duration) && Utils.enhancedDeepEquals(this.aspectRatio, other.aspectRatio) && Utils.enhancedDeepEquals(this.createdAt, other.createdAt) && - Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt); + Utils.enhancedDeepEquals(this.updatedAt, other.updatedAt) && + Utils.enhancedDeepEquals(this.mp4Support, other.mp4Support) && + Utils.enhancedDeepEquals(this.optimizeAudio, other.optimizeAudio); } @Override @@ -718,7 +770,7 @@ public int hashCode() { tracks, generatedSubtitles, summary, chapters, namedEntities, moderation, isAudioOnly, subtitleAvailable, duration, - aspectRatio, createdAt, updatedAt); + aspectRatio, createdAt, updatedAt, mp4Support, optimizeAudio); } @Override @@ -747,7 +799,9 @@ public String toString() { "duration", duration, "aspectRatio", aspectRatio, "createdAt", createdAt, - "updatedAt", updatedAt); + "updatedAt", updatedAt, + "mp4Support", mp4Support, + "optimizeAudio", optimizeAudio); } @SuppressWarnings("UnusedReturnValue") @@ -801,6 +855,10 @@ public static final class Builder { private OffsetDateTime updatedAt; + private List mp4Support; + + private Boolean optimizeAudio; + private Builder() { // force use of static builder() method } @@ -1006,6 +1064,22 @@ public Builder updatedAt(@Nullable OffsetDateTime updatedAt) { return this; } + /** + * A list of MP4 renditions generated for the media when MP4 support is requested. Each entry represents one downloadable rendition (for example, a capped-4K video file or an audio-only m4a file) along with its generation status. Omitted when no MP4 support has been requested. + */ + public Builder mp4Support(@Nullable List mp4Support) { + this.mp4Support = mp4Support; + return this; + } + + /** + * Whether the audio track of the media has been volume-normalized. + */ + public Builder optimizeAudio(@Nullable Boolean optimizeAudio) { + this.optimizeAudio = optimizeAudio; + return this; + } + public UpdateMedia build() { return new UpdateMedia( thumbnail, id, workspaceId, @@ -1015,7 +1089,7 @@ public UpdateMedia build() { tracks, generatedSubtitles, summary, chapters, namedEntities, moderation, isAudioOnly, subtitleAvailable, duration, - aspectRatio, createdAt, updatedAt); + aspectRatio, createdAt, updatedAt, mp4Support, optimizeAudio); } diff --git a/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMaxResolution.java b/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMaxResolution.java index bc79322..0622784 100644 --- a/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMaxResolution.java +++ b/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMaxResolution.java @@ -24,14 +24,12 @@ public class UpdateMediaMaxResolution { private static final String RESOLUTION_1080P = "1080p"; private static final String RESOLUTION_720P = "720p"; private static final String RESOLUTION_480P = "480p"; - private static final String RESOLUTION_360P = "360p"; public static final UpdateMediaMaxResolution TWO_THOUSAND_ONE_HUNDRED_AND_SIXTYP = new UpdateMediaMaxResolution(RESOLUTION_2160P); public static final UpdateMediaMaxResolution ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP = new UpdateMediaMaxResolution(RESOLUTION_1440P); public static final UpdateMediaMaxResolution ONE_THOUSAND_AND_EIGHTYP = new UpdateMediaMaxResolution(RESOLUTION_1080P); public static final UpdateMediaMaxResolution SEVEN_HUNDRED_AND_TWENTYP = new UpdateMediaMaxResolution(RESOLUTION_720P); public static final UpdateMediaMaxResolution FOUR_HUNDRED_AND_EIGHTYP = new UpdateMediaMaxResolution(RESOLUTION_480P); - public static final UpdateMediaMaxResolution THREE_HUNDRED_AND_SIXTYP = new UpdateMediaMaxResolution(RESOLUTION_360P); // This map will grow whenever a Color gets created with a new // unrecognized value (a potential memory leak if the user is not @@ -110,7 +108,6 @@ private static final Map createValuesMap() { map.put(RESOLUTION_1080P, ONE_THOUSAND_AND_EIGHTYP); map.put(RESOLUTION_720P, SEVEN_HUNDRED_AND_TWENTYP); map.put(RESOLUTION_480P, FOUR_HUNDRED_AND_EIGHTYP); - map.put(RESOLUTION_360P, THREE_HUNDRED_AND_SIXTYP); return map; } @@ -121,7 +118,6 @@ private static final Map createEnumsMap() map.put(RESOLUTION_1080P, UpdateMediaMaxResolutionEnum.ONE_THOUSAND_AND_EIGHTYP); map.put(RESOLUTION_720P, UpdateMediaMaxResolutionEnum.SEVEN_HUNDRED_AND_TWENTYP); map.put(RESOLUTION_480P, UpdateMediaMaxResolutionEnum.FOUR_HUNDRED_AND_EIGHTYP); - map.put(RESOLUTION_360P, UpdateMediaMaxResolutionEnum.THREE_HUNDRED_AND_SIXTYP); return map; } @@ -132,8 +128,7 @@ public enum UpdateMediaMaxResolutionEnum { ONE_THOUSAND_FOUR_HUNDRED_AND_FORTYP(RESOLUTION_1440P), ONE_THOUSAND_AND_EIGHTYP(RESOLUTION_1080P), SEVEN_HUNDRED_AND_TWENTYP(RESOLUTION_720P), - FOUR_HUNDRED_AND_EIGHTYP(RESOLUTION_480P), - THREE_HUNDRED_AND_SIXTYP(RESOLUTION_360P),; + FOUR_HUNDRED_AND_EIGHTYP(RESOLUTION_480P),; private final String value; diff --git a/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4Support.java b/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4Support.java new file mode 100644 index 0000000..20f5114 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4Support.java @@ -0,0 +1,257 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonInclude.Include; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import jakarta.annotation.Nullable; +import java.util.Optional; +import io.fastpix.sdk.utils.Utils; + +/** + * UpdateMediaMp4Support + * + *

One downloadable MP4 rendition generated for the media, along with its generation status. + */ +public class UpdateMediaMp4Support { + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("type") + private UpdateMediaMp4SupportType type; + + /** + * Generation status of this MP4 rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("status") + private UpdateMediaMp4SupportStatus status; + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("height") + private Long height; + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("width") + private Long width; + + /** + * File extension of the downloadable rendition. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("ext") + private UpdateMediaMp4SupportExt ext; + + @JsonCreator + public UpdateMediaMp4Support( + @JsonProperty("type") @Nullable UpdateMediaMp4SupportType type, + @JsonProperty("status") @Nullable UpdateMediaMp4SupportStatus status, + @JsonProperty("height") @Nullable Long height, + @JsonProperty("width") @Nullable Long width, + @JsonProperty("ext") @Nullable UpdateMediaMp4SupportExt ext) { + this.type = type; + this.status = status; + this.height = height; + this.width = width; + this.ext = ext; + } + + public UpdateMediaMp4Support() { + this(null, null, null, + null, null); + } + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Optional type() { + return Optional.ofNullable(this.type); + } + + /** + * Generation status of this MP4 rendition. + */ + public Optional status() { + return Optional.ofNullable(this.status); + } + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Optional height() { + return Optional.ofNullable(this.height); + } + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Optional width() { + return Optional.ofNullable(this.width); + } + + /** + * File extension of the downloadable rendition. + */ + public Optional ext() { + return Optional.ofNullable(this.ext); + } + + public static Builder builder() { + return new Builder(); + } + + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public UpdateMediaMp4Support withType(@Nullable UpdateMediaMp4SupportType type) { + this.type = type; + return this; + } + + + /** + * Generation status of this MP4 rendition. + */ + public UpdateMediaMp4Support withStatus(@Nullable UpdateMediaMp4SupportStatus status) { + this.status = status; + return this; + } + + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public UpdateMediaMp4Support withHeight(@Nullable Long height) { + this.height = height; + return this; + } + + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public UpdateMediaMp4Support withWidth(@Nullable Long width) { + this.width = width; + return this; + } + + + /** + * File extension of the downloadable rendition. + */ + public UpdateMediaMp4Support withExt(@Nullable UpdateMediaMp4SupportExt ext) { + this.ext = ext; + return this; + } + + + @Override + public boolean equals(java.lang.Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + UpdateMediaMp4Support other = (UpdateMediaMp4Support) o; + return + Utils.enhancedDeepEquals(this.type, other.type) && + Utils.enhancedDeepEquals(this.status, other.status) && + Utils.enhancedDeepEquals(this.height, other.height) && + Utils.enhancedDeepEquals(this.width, other.width) && + Utils.enhancedDeepEquals(this.ext, other.ext); + } + + @Override + public int hashCode() { + return Utils.enhancedHash( + type, status, height, + width, ext); + } + + @Override + public String toString() { + return Utils.toString(UpdateMediaMp4Support.class, + "type", type, + "status", status, + "height", height, + "width", width, + "ext", ext); + } + + @SuppressWarnings("UnusedReturnValue") + public static final class Builder { + + private UpdateMediaMp4SupportType type; + + private UpdateMediaMp4SupportStatus status; + + private Long height; + + private Long width; + + private UpdateMediaMp4SupportExt ext; + + private Builder() { + // force use of static builder() method + } + + /** + * The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + */ + public Builder type(@Nullable UpdateMediaMp4SupportType type) { + this.type = type; + return this; + } + + /** + * Generation status of this MP4 rendition. + */ + public Builder status(@Nullable UpdateMediaMp4SupportStatus status) { + this.status = status; + return this; + } + + /** + * Pixel height of the rendition. Omitted for the `audioOnly` type. + */ + public Builder height(@Nullable Long height) { + this.height = height; + return this; + } + + /** + * Pixel width of the rendition. Omitted for the `audioOnly` type. + */ + public Builder width(@Nullable Long width) { + this.width = width; + return this; + } + + /** + * File extension of the downloadable rendition. + */ + public Builder ext(@Nullable UpdateMediaMp4SupportExt ext) { + this.ext = ext; + return this; + } + + public UpdateMediaMp4Support build() { + return new UpdateMediaMp4Support( + type, status, height, + width, ext); + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4SupportExt.java b/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4SupportExt.java new file mode 100644 index 0000000..64cc0c2 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4SupportExt.java @@ -0,0 +1,128 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * UpdateMediaMp4SupportExt + * + *

File extension of the downloadable rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class UpdateMediaMp4SupportExt { + + private static final String VALUE_MP4 = "mp4"; + private static final String VALUE_M4A = "m4a"; + + public static final UpdateMediaMp4SupportExt MP4 = new UpdateMediaMp4SupportExt(VALUE_MP4); + public static final UpdateMediaMp4SupportExt M4A = new UpdateMediaMp4SupportExt(VALUE_M4A); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private UpdateMediaMp4SupportExt(String value) { + this.value = value; + } + + /** + * Returns a UpdateMediaMp4SupportExt with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as UpdateMediaMp4SupportExt + */ + @JsonCreator + public static UpdateMediaMp4SupportExt of(String value) { + synchronized (UpdateMediaMp4SupportExt.class) { + return values.computeIfAbsent(value, UpdateMediaMp4SupportExt::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + UpdateMediaMp4SupportExt other = (UpdateMediaMp4SupportExt) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "UpdateMediaMp4SupportExt [value=" + value + "]"; + } + + // return an array just like an enum + public static UpdateMediaMp4SupportExt[] values() { + synchronized (UpdateMediaMp4SupportExt.class) { + return values.values().toArray(new UpdateMediaMp4SupportExt[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_MP4, MP4); + map.put(VALUE_M4A, M4A); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_MP4, UpdateMediaMp4SupportExtEnum.MP4); + map.put(VALUE_M4A, UpdateMediaMp4SupportExtEnum.M4A); + return map; + } + + + public enum UpdateMediaMp4SupportExtEnum { + + MP4(VALUE_MP4), + M4A(VALUE_M4A),; + + private final String value; + + private UpdateMediaMp4SupportExtEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4SupportStatus.java b/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4SupportStatus.java new file mode 100644 index 0000000..18249ed --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4SupportStatus.java @@ -0,0 +1,133 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * UpdateMediaMp4SupportStatus + * + *

Generation status of this MP4 rendition. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class UpdateMediaMp4SupportStatus { + + private static final String VALUE_PREPARING = "preparing"; + private static final String VALUE_READY = "ready"; + private static final String VALUE_FAILED = "failed"; + + public static final UpdateMediaMp4SupportStatus PREPARING = new UpdateMediaMp4SupportStatus(VALUE_PREPARING); + public static final UpdateMediaMp4SupportStatus READY = new UpdateMediaMp4SupportStatus(VALUE_READY); + public static final UpdateMediaMp4SupportStatus FAILED = new UpdateMediaMp4SupportStatus(VALUE_FAILED); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private UpdateMediaMp4SupportStatus(String value) { + this.value = value; + } + + /** + * Returns a UpdateMediaMp4SupportStatus with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as UpdateMediaMp4SupportStatus + */ + @JsonCreator + public static UpdateMediaMp4SupportStatus of(String value) { + synchronized (UpdateMediaMp4SupportStatus.class) { + return values.computeIfAbsent(value, UpdateMediaMp4SupportStatus::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + UpdateMediaMp4SupportStatus other = (UpdateMediaMp4SupportStatus) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "UpdateMediaMp4SupportStatus [value=" + value + "]"; + } + + // return an array just like an enum + public static UpdateMediaMp4SupportStatus[] values() { + synchronized (UpdateMediaMp4SupportStatus.class) { + return values.values().toArray(new UpdateMediaMp4SupportStatus[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_PREPARING, PREPARING); + map.put(VALUE_READY, READY); + map.put(VALUE_FAILED, FAILED); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_PREPARING, UpdateMediaMp4SupportStatusEnum.PREPARING); + map.put(VALUE_READY, UpdateMediaMp4SupportStatusEnum.READY); + map.put(VALUE_FAILED, UpdateMediaMp4SupportStatusEnum.FAILED); + return map; + } + + + public enum UpdateMediaMp4SupportStatusEnum { + + PREPARING(VALUE_PREPARING), + READY(VALUE_READY), + FAILED(VALUE_FAILED),; + + private final String value; + + private UpdateMediaMp4SupportStatusEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4SupportType.java b/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4SupportType.java new file mode 100644 index 0000000..2719262 --- /dev/null +++ b/src/main/java/io/fastpix/sdk/models/components/UpdateMediaMp4SupportType.java @@ -0,0 +1,129 @@ +package io.fastpix.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * UpdateMediaMp4SupportType + * + *

The MP4 rendition type. `capped_4k` is a downloadable MP4 video capped at 4K resolution, + * `audioOnly` is a downloadable m4a audio-only file. + * + *

Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class UpdateMediaMp4SupportType { + + private static final String VALUE_CAPPED_4K = "capped_4k"; + private static final String VALUE_AUDIO_ONLY = "audioOnly"; + + public static final UpdateMediaMp4SupportType CAPPED4K = new UpdateMediaMp4SupportType(VALUE_CAPPED_4K); + public static final UpdateMediaMp4SupportType AUDIO_ONLY = new UpdateMediaMp4SupportType(VALUE_AUDIO_ONLY); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private UpdateMediaMp4SupportType(String value) { + this.value = value; + } + + /** + * Returns a UpdateMediaMp4SupportType with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as UpdateMediaMp4SupportType + */ + @JsonCreator + public static UpdateMediaMp4SupportType of(String value) { + synchronized (UpdateMediaMp4SupportType.class) { + return values.computeIfAbsent(value, UpdateMediaMp4SupportType::new); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + UpdateMediaMp4SupportType other = (UpdateMediaMp4SupportType) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "UpdateMediaMp4SupportType [value=" + value + "]"; + } + + // return an array just like an enum + public static UpdateMediaMp4SupportType[] values() { + synchronized (UpdateMediaMp4SupportType.class) { + return values.values().toArray(new UpdateMediaMp4SupportType[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put(VALUE_CAPPED_4K, CAPPED4K); + map.put(VALUE_AUDIO_ONLY, AUDIO_ONLY); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put(VALUE_CAPPED_4K, UpdateMediaMp4SupportTypeEnum.CAPPED4K); + map.put(VALUE_AUDIO_ONLY, UpdateMediaMp4SupportTypeEnum.AUDIO_ONLY); + return map; + } + + + public enum UpdateMediaMp4SupportTypeEnum { + + CAPPED4K(VALUE_CAPPED_4K), + AUDIO_ONLY(VALUE_AUDIO_ONLY),; + + private final String value; + + private UpdateMediaMp4SupportTypeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} diff --git a/src/main/java/io/fastpix/sdk/models/components/UpdateTrackRequest.java b/src/main/java/io/fastpix/sdk/models/components/UpdateTrackRequest.java index c88aac3..9e43ddd 100644 --- a/src/main/java/io/fastpix/sdk/models/components/UpdateTrackRequest.java +++ b/src/main/java/io/fastpix/sdk/models/components/UpdateTrackRequest.java @@ -12,17 +12,11 @@ /** * UpdateTrackRequest - * - *

Contains details about the track being added to the media file. + * + *

Contains details about the track being updated. The track's file ({@code url}) cannot be changed + * — only its language and title. */ public class UpdateTrackRequest { - /** - * The direct URL of the track file. It must point to a valid audio or subtitle file. - */ - @JsonInclude(Include.NON_ABSENT) - @JsonProperty("url") - private String url; - /** * The BCP 47 language code representing the track’s language. */ @@ -37,30 +31,29 @@ public class UpdateTrackRequest { @JsonProperty("languageName") private String languageName; + /** + * Title of the track. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title") + private String title; + @JsonCreator public UpdateTrackRequest( - @JsonProperty("url") @Nullable String url, @JsonProperty("languageCode") @Nullable String languageCode, - @JsonProperty("languageName") @Nullable String languageName) { - this.url = Optional.ofNullable(url) - .orElse(Builder._SINGLETON_VALUE_Url.value()); + @JsonProperty("languageName") @Nullable String languageName, + @JsonProperty("title") @Nullable String title) { this.languageCode = Optional.ofNullable(languageCode) .orElse(Builder._SINGLETON_VALUE_LanguageCode.value()); this.languageName = Optional.ofNullable(languageName) .orElse(Builder._SINGLETON_VALUE_LanguageName.value()); + this.title = title; } - + public UpdateTrackRequest() { this(null, null, null); } - /** - * The direct URL of the track file. It must point to a valid audio or subtitle file. - */ - public Optional url() { - return Optional.ofNullable(this.url); - } - /** * The BCP 47 language code representing the track’s language. */ @@ -75,17 +68,15 @@ public Optional languageName() { return Optional.ofNullable(this.languageName); } - public static Builder builder() { - return new Builder(); - } - - /** - * The direct URL of the track file. It must point to a valid audio or subtitle file. + * Title of the track. */ - public UpdateTrackRequest withUrl(@Nullable String url) { - this.url = url; - return this; + public Optional title() { + return Optional.ofNullable(this.title); + } + + public static Builder builder() { + return new Builder(); } @@ -107,6 +98,15 @@ public UpdateTrackRequest withLanguageName(@Nullable String languageName) { } + /** + * Title of the track. + */ + public UpdateTrackRequest withTitle(@Nullable String title) { + this.title = title; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -116,47 +116,39 @@ public boolean equals(java.lang.Object o) { return false; } UpdateTrackRequest other = (UpdateTrackRequest) o; - return - Utils.enhancedDeepEquals(this.url, other.url) && + return Utils.enhancedDeepEquals(this.languageCode, other.languageCode) && - Utils.enhancedDeepEquals(this.languageName, other.languageName); + Utils.enhancedDeepEquals(this.languageName, other.languageName) && + Utils.enhancedDeepEquals(this.title, other.title); } - + @Override public int hashCode() { return Utils.enhancedHash( - url, languageCode, languageName); + languageCode, languageName, title); } - + @Override public String toString() { return Utils.toString(UpdateTrackRequest.class, - "url", url, "languageCode", languageCode, - "languageName", languageName); + "languageName", languageName, + "title", title); } @SuppressWarnings("UnusedReturnValue") public static final class Builder { - private String url; - private String languageCode; private String languageName; + private String title; + private Builder() { // force use of static builder() method } - /** - * The direct URL of the track file. It must point to a valid audio or subtitle file. - */ - public Builder url(@Nullable String url) { - this.url = url; - return this; - } - /** * The BCP 47 language code representing the track’s language. */ @@ -173,18 +165,20 @@ public Builder languageName(@Nullable String languageName) { return this; } + /** + * Title of the track. + */ + public Builder title(@Nullable String title) { + this.title = title; + return this; + } + public UpdateTrackRequest build() { return new UpdateTrackRequest( - url, languageCode, languageName); + languageCode, languageName, title); } - private static final LazySingletonValue _SINGLETON_VALUE_Url = - new LazySingletonValue<>( - "url", - "\"http://commondatastorage.googleapis.com/codeskulptor-assets/sounddogs/thrust.vtt\"", - new TypeReference() {}); - private static final LazySingletonValue _SINGLETON_VALUE_LanguageCode = new LazySingletonValue<>( "languageCode", diff --git a/src/main/java/io/fastpix/sdk/models/components/UpdateTrackResponse.java b/src/main/java/io/fastpix/sdk/models/components/UpdateTrackResponse.java index 8e909f5..40b82ab 100644 --- a/src/main/java/io/fastpix/sdk/models/components/UpdateTrackResponse.java +++ b/src/main/java/io/fastpix/sdk/models/components/UpdateTrackResponse.java @@ -49,23 +49,32 @@ public class UpdateTrackResponse { @JsonProperty("languageName") private String languageName; + /** + * Title of the track. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title") + private String title; + @JsonCreator public UpdateTrackResponse( @JsonProperty("id") @Nullable String id, @JsonProperty("type") @Nullable UpdateTrackResponseType type, @JsonProperty("url") @Nullable String url, @JsonProperty("languageCode") @Nullable String languageCode, - @JsonProperty("languageName") @Nullable String languageName) { + @JsonProperty("languageName") @Nullable String languageName, + @JsonProperty("title") @Nullable String title) { this.id = id; this.type = type; this.url = url; this.languageCode = languageCode; this.languageName = languageName; + this.title = title; } public UpdateTrackResponse() { this(null, null, null, - null, null); + null, null, null); } /** @@ -103,6 +112,13 @@ public Optional languageName() { return Optional.ofNullable(this.languageName); } + /** + * Title of the track. + */ + public Optional title() { + return Optional.ofNullable(this.title); + } + public static Builder builder() { return new Builder(); } @@ -153,6 +169,15 @@ public UpdateTrackResponse withLanguageName(@Nullable String languageName) { } + /** + * Title of the track. + */ + public UpdateTrackResponse withTitle(@Nullable String title) { + this.title = title; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -167,14 +192,15 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.type, other.type) && Utils.enhancedDeepEquals(this.url, other.url) && Utils.enhancedDeepEquals(this.languageCode, other.languageCode) && - Utils.enhancedDeepEquals(this.languageName, other.languageName); + Utils.enhancedDeepEquals(this.languageName, other.languageName) && + Utils.enhancedDeepEquals(this.title, other.title); } @Override public int hashCode() { return Utils.enhancedHash( id, type, url, - languageCode, languageName); + languageCode, languageName, title); } @Override @@ -184,7 +210,8 @@ public String toString() { "type", type, "url", url, "languageCode", languageCode, - "languageName", languageName); + "languageName", languageName, + "title", title); } @SuppressWarnings("UnusedReturnValue") @@ -200,6 +227,8 @@ public static final class Builder { private String languageName; + private String title; + private Builder() { // force use of static builder() method } @@ -244,10 +273,18 @@ public Builder languageName(@Nullable String languageName) { return this; } + /** + * Title of the track. + */ + public Builder title(@Nullable String title) { + this.title = title; + return this; + } + public UpdateTrackResponse build() { return new UpdateTrackResponse( id, type, url, - languageCode, languageName); + languageCode, languageName, title); } } diff --git a/src/main/java/io/fastpix/sdk/models/components/VideoTrack.java b/src/main/java/io/fastpix/sdk/models/components/VideoTrack.java index 41cf5c3..4345732 100644 --- a/src/main/java/io/fastpix/sdk/models/components/VideoTrack.java +++ b/src/main/java/io/fastpix/sdk/models/components/VideoTrack.java @@ -34,7 +34,7 @@ public class VideoTrack { */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("width") - private Double width; + private Long width; /** * Track height denotes the range of height applicable to a specific track. Currently, this setting can @@ -42,7 +42,7 @@ public class VideoTrack { */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("height") - private Double height; + private Long height; /** * Frame rate quantifies the speed at which frames are displayed per second. It represents the range of @@ -61,25 +61,34 @@ public class VideoTrack { @JsonProperty("status") private String status; + /** + * Title of the track. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title") + private String title; + @JsonCreator public VideoTrack( @JsonProperty("id") @Nullable String id, @JsonProperty("type") @Nullable String type, - @JsonProperty("width") @Nullable Double width, - @JsonProperty("height") @Nullable Double height, + @JsonProperty("width") @Nullable Long width, + @JsonProperty("height") @Nullable Long height, @JsonProperty("frameRate") @Nullable String frameRate, - @JsonProperty("status") @Nullable String status) { + @JsonProperty("status") @Nullable String status, + @JsonProperty("title") @Nullable String title) { this.id = id; this.type = type; this.width = width; this.height = height; this.frameRate = frameRate; this.status = status; + this.title = title; } public VideoTrack() { this(null, null, null, - null, null, null); + null, null, null, null); } /** @@ -100,7 +109,7 @@ public Optional type() { * Track width denotes the range of widths applicable to a specific track. Currently, this setting can * be modified only for video tracks */ - public Optional width() { + public Optional width() { return Optional.ofNullable(this.width); } @@ -108,7 +117,7 @@ public Optional width() { * Track height denotes the range of height applicable to a specific track. Currently, this setting can * be modified only for video tracks. */ - public Optional height() { + public Optional height() { return Optional.ofNullable(this.height); } @@ -129,6 +138,13 @@ public Optional status() { return Optional.ofNullable(this.status); } + /** + * Title of the track. + */ + public Optional title() { + return Optional.ofNullable(this.title); + } + public static Builder builder() { return new Builder(); } @@ -156,7 +172,7 @@ public VideoTrack withType(@Nullable String type) { * Track width denotes the range of widths applicable to a specific track. Currently, this setting can * be modified only for video tracks */ - public VideoTrack withWidth(@Nullable Double width) { + public VideoTrack withWidth(@Nullable Long width) { this.width = width; return this; } @@ -166,7 +182,7 @@ public VideoTrack withWidth(@Nullable Double width) { * Track height denotes the range of height applicable to a specific track. Currently, this setting can * be modified only for video tracks. */ - public VideoTrack withHeight(@Nullable Double height) { + public VideoTrack withHeight(@Nullable Long height) { this.height = height; return this; } @@ -193,6 +209,15 @@ public VideoTrack withStatus(@Nullable String status) { } + /** + * Title of the track. + */ + public VideoTrack withTitle(@Nullable String title) { + this.title = title; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -208,14 +233,15 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.width, other.width) && Utils.enhancedDeepEquals(this.height, other.height) && Utils.enhancedDeepEquals(this.frameRate, other.frameRate) && - Utils.enhancedDeepEquals(this.status, other.status); + Utils.enhancedDeepEquals(this.status, other.status) && + Utils.enhancedDeepEquals(this.title, other.title); } @Override public int hashCode() { return Utils.enhancedHash( id, type, width, - height, frameRate, status); + height, frameRate, status, title); } @Override @@ -226,7 +252,8 @@ public String toString() { "width", width, "height", height, "frameRate", frameRate, - "status", status); + "status", status, + "title", title); } @SuppressWarnings("UnusedReturnValue") @@ -236,14 +263,16 @@ public static final class Builder { private String type; - private Double width; + private Long width; - private Double height; + private Long height; private String frameRate; private String status; + private String title; + private Builder() { // force use of static builder() method } @@ -268,7 +297,7 @@ public Builder type(@Nullable String type) { * Track width denotes the range of widths applicable to a specific track. Currently, this setting can * be modified only for video tracks */ - public Builder width(@Nullable Double width) { + public Builder width(@Nullable Long width) { this.width = width; return this; } @@ -277,7 +306,7 @@ public Builder width(@Nullable Double width) { * Track height denotes the range of height applicable to a specific track. Currently, this setting can * be modified only for video tracks. */ - public Builder height(@Nullable Double height) { + public Builder height(@Nullable Long height) { this.height = height; return this; } @@ -301,10 +330,18 @@ public Builder status(@Nullable String status) { return this; } + /** + * Title of the track. + */ + public Builder title(@Nullable String title) { + this.title = title; + return this; + } + public VideoTrack build() { return new VideoTrack( id, type, width, - height, frameRate, status); + height, frameRate, status, title); } } diff --git a/src/main/java/io/fastpix/sdk/models/components/VideoTrackForGetAll.java b/src/main/java/io/fastpix/sdk/models/components/VideoTrackForGetAll.java index bf2c80b..8c6245a 100644 --- a/src/main/java/io/fastpix/sdk/models/components/VideoTrackForGetAll.java +++ b/src/main/java/io/fastpix/sdk/models/components/VideoTrackForGetAll.java @@ -34,7 +34,7 @@ public class VideoTrackForGetAll { */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("width") - private Double width; + private Long width; /** * Track height denotes the range of height applicable to a specific track. Currently, this setting can @@ -42,10 +42,12 @@ public class VideoTrackForGetAll { */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("height") - private Double height; + private Long height; /** - * The frame rate (frames per second) of the video track. + * Frame rate quantifies the speed at which frames are displayed per second. It represents the range of + * frames available for a specific track. The indeterminable frame rate of the input file is indicated + * by a value of -1. */ @JsonInclude(Include.NON_ABSENT) @JsonProperty("frameRate") @@ -59,25 +61,34 @@ public class VideoTrackForGetAll { @JsonProperty("status") private String status; + /** + * Title of the track. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("title") + private String title; + @JsonCreator public VideoTrackForGetAll( @JsonProperty("id") @Nullable String id, @JsonProperty("type") @Nullable String type, - @JsonProperty("width") @Nullable Double width, - @JsonProperty("height") @Nullable Double height, + @JsonProperty("width") @Nullable Long width, + @JsonProperty("height") @Nullable Long height, @JsonProperty("frameRate") @Nullable String frameRate, - @JsonProperty("status") @Nullable String status) { + @JsonProperty("status") @Nullable String status, + @JsonProperty("title") @Nullable String title) { this.id = id; this.type = type; this.width = width; this.height = height; this.frameRate = frameRate; this.status = status; + this.title = title; } - + public VideoTrackForGetAll() { this(null, null, null, - null, null, null); + null, null, null, null); } /** @@ -98,7 +109,7 @@ public Optional type() { * Track width denotes the range of widths applicable to a specific track. Currently, this setting can * be modified only for video tracks */ - public Optional width() { + public Optional width() { return Optional.ofNullable(this.width); } @@ -106,12 +117,14 @@ public Optional width() { * Track height denotes the range of height applicable to a specific track. Currently, this setting can * be modified only for video tracks. */ - public Optional height() { + public Optional height() { return Optional.ofNullable(this.height); } /** - * The frame rate (frames per second) of the video track. + * Frame rate quantifies the speed at which frames are displayed per second. It represents the range of + * frames available for a specific track. The indeterminable frame rate of the input file is indicated + * by a value of -1. */ public Optional frameRate() { return Optional.ofNullable(this.frameRate); @@ -125,6 +138,13 @@ public Optional status() { return Optional.ofNullable(this.status); } + /** + * Title of the track. + */ + public Optional title() { + return Optional.ofNullable(this.title); + } + public static Builder builder() { return new Builder(); } @@ -152,7 +172,7 @@ public VideoTrackForGetAll withType(@Nullable String type) { * Track width denotes the range of widths applicable to a specific track. Currently, this setting can * be modified only for video tracks */ - public VideoTrackForGetAll withWidth(@Nullable Double width) { + public VideoTrackForGetAll withWidth(@Nullable Long width) { this.width = width; return this; } @@ -162,14 +182,16 @@ public VideoTrackForGetAll withWidth(@Nullable Double width) { * Track height denotes the range of height applicable to a specific track. Currently, this setting can * be modified only for video tracks. */ - public VideoTrackForGetAll withHeight(@Nullable Double height) { + public VideoTrackForGetAll withHeight(@Nullable Long height) { this.height = height; return this; } /** - * The frame rate (frames per second) of the video track. + * Frame rate quantifies the speed at which frames are displayed per second. It represents the range of + * frames available for a specific track. The indeterminable frame rate of the input file is indicated + * by a value of -1. */ public VideoTrackForGetAll withFrameRate(@Nullable String frameRate) { this.frameRate = frameRate; @@ -187,6 +209,15 @@ public VideoTrackForGetAll withStatus(@Nullable String status) { } + /** + * Title of the track. + */ + public VideoTrackForGetAll withTitle(@Nullable String title) { + this.title = title; + return this; + } + + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -202,16 +233,17 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.width, other.width) && Utils.enhancedDeepEquals(this.height, other.height) && Utils.enhancedDeepEquals(this.frameRate, other.frameRate) && - Utils.enhancedDeepEquals(this.status, other.status); + Utils.enhancedDeepEquals(this.status, other.status) && + Utils.enhancedDeepEquals(this.title, other.title); } - + @Override public int hashCode() { return Utils.enhancedHash( id, type, width, - height, frameRate, status); + height, frameRate, status, title); } - + @Override public String toString() { return Utils.toString(VideoTrackForGetAll.class, @@ -220,7 +252,8 @@ public String toString() { "width", width, "height", height, "frameRate", frameRate, - "status", status); + "status", status, + "title", title); } @SuppressWarnings("UnusedReturnValue") @@ -230,14 +263,16 @@ public static final class Builder { private String type; - private Double width; + private Long width; - private Double height; + private Long height; private String frameRate; private String status; + private String title; + private Builder() { // force use of static builder() method } @@ -262,7 +297,7 @@ public Builder type(@Nullable String type) { * Track width denotes the range of widths applicable to a specific track. Currently, this setting can * be modified only for video tracks */ - public Builder width(@Nullable Double width) { + public Builder width(@Nullable Long width) { this.width = width; return this; } @@ -271,13 +306,15 @@ public Builder width(@Nullable Double width) { * Track height denotes the range of height applicable to a specific track. Currently, this setting can * be modified only for video tracks. */ - public Builder height(@Nullable Double height) { + public Builder height(@Nullable Long height) { this.height = height; return this; } /** - * The frame rate (frames per second) of the video track. + * Frame rate quantifies the speed at which frames are displayed per second. It represents the range of + * frames available for a specific track. The indeterminable frame rate of the input file is indicated + * by a value of -1. */ public Builder frameRate(@Nullable String frameRate) { this.frameRate = frameRate; @@ -293,10 +330,18 @@ public Builder status(@Nullable String status) { return this; } + /** + * Title of the track. + */ + public Builder title(@Nullable String title) { + this.title = title; + return this; + } + public VideoTrackForGetAll build() { return new VideoTrackForGetAll( id, type, width, - height, frameRate, status); + height, frameRate, status, title); } } diff --git a/src/main/java/io/fastpix/sdk/models/components/WatermarkInput.java b/src/main/java/io/fastpix/sdk/models/components/WatermarkInput.java index 0554908..e291afc 100644 --- a/src/main/java/io/fastpix/sdk/models/components/WatermarkInput.java +++ b/src/main/java/io/fastpix/sdk/models/components/WatermarkInput.java @@ -15,7 +15,7 @@ *

Contains configuration details for applying a watermark overlay to a video. * The watermark is placed over the media content during processing. * For detailed setup steps and customization options, refer to the - * FastPix Watermark Guide. + * FastPix Watermark Guide. */ public class WatermarkInput { /** diff --git a/src/main/java/io/fastpix/sdk/models/operations/DirectUploadVideoMediaRequest.java b/src/main/java/io/fastpix/sdk/models/operations/DirectUploadVideoMediaRequest.java index b79a1e6..cac09df 100644 --- a/src/main/java/io/fastpix/sdk/models/operations/DirectUploadVideoMediaRequest.java +++ b/src/main/java/io/fastpix/sdk/models/operations/DirectUploadVideoMediaRequest.java @@ -31,7 +31,7 @@ public class DirectUploadVideoMediaRequest { * These settings define how the uploaded video is handled, including access control, resolution, DRM, * and optional metadata. * For a complete explanation of how media uploads and processing work, refer to the - * FastPix Video on Demand + * FastPix Video on Demand * Overview. */ @JsonInclude(Include.NON_ABSENT) @@ -63,7 +63,7 @@ public Optional corsOrigin() { * These settings define how the uploaded video is handled, including access control, resolution, DRM, * and optional metadata. * For a complete explanation of how media uploads and processing work, refer to the - * FastPix Video on Demand + * FastPix Video on Demand * Overview. */ public Optional pushMediaSettings() { @@ -89,7 +89,7 @@ public DirectUploadVideoMediaRequest withCorsOrigin(@Nullable String corsOrigin) * These settings define how the uploaded video is handled, including access control, resolution, DRM, * and optional metadata. * For a complete explanation of how media uploads and processing work, refer to the - * FastPix Video on Demand + * FastPix Video on Demand * Overview. */ public DirectUploadVideoMediaRequest withPushMediaSettings(@Nullable PushMediaSettings pushMediaSettings) { @@ -149,7 +149,7 @@ public Builder corsOrigin(@Nullable String corsOrigin) { * These settings define how the uploaded video is handled, including access control, resolution, DRM, * and optional metadata. * For a complete explanation of how media uploads and processing work, refer to the - * FastPix Video on Demand + * FastPix Video on Demand * Overview. */ public Builder pushMediaSettings(@Nullable PushMediaSettings pushMediaSettings) { diff --git a/src/main/java/io/fastpix/sdk/models/operations/GetMediaResponseBody.java b/src/main/java/io/fastpix/sdk/models/operations/GetMediaResponseBody.java index 412bd3c..467674a 100644 --- a/src/main/java/io/fastpix/sdk/models/operations/GetMediaResponseBody.java +++ b/src/main/java/io/fastpix/sdk/models/operations/GetMediaResponseBody.java @@ -6,7 +6,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; import jakarta.annotation.Nullable; import java.util.Optional; -import io.fastpix.sdk.models.components.GetMediaResponse; +import io.fastpix.sdk.models.components.GetMediaDetailResponse; import io.fastpix.sdk.utils.Utils; /** @@ -25,12 +25,12 @@ public class GetMediaResponseBody { @JsonInclude(Include.NON_ABSENT) @JsonProperty("data") - private GetMediaResponse data; + private GetMediaDetailResponse data; @JsonCreator public GetMediaResponseBody( @JsonProperty("success") @Nullable Boolean success, - @JsonProperty("data") @Nullable GetMediaResponse data) { + @JsonProperty("data") @Nullable GetMediaDetailResponse data) { this.success = success; this.data = data; } @@ -46,7 +46,7 @@ public Optional success() { return Optional.ofNullable(this.success); } - public Optional data() { + public Optional data() { return Optional.ofNullable(this.data); } @@ -64,7 +64,7 @@ public GetMediaResponseBody withSuccess(@Nullable Boolean success) { } - public GetMediaResponseBody withData(@Nullable GetMediaResponse data) { + public GetMediaResponseBody withData(@Nullable GetMediaDetailResponse data) { this.data = data; return this; } @@ -102,7 +102,7 @@ public static final class Builder { private Boolean success; - private GetMediaResponse data; + private GetMediaDetailResponse data; private Builder() { // force use of static builder() method @@ -116,7 +116,7 @@ public Builder success(@Nullable Boolean success) { return this; } - public Builder data(@Nullable GetMediaResponse data) { + public Builder data(@Nullable GetMediaDetailResponse data) { this.data = data; return this; } diff --git a/src/main/java/io/fastpix/sdk/models/operations/PushMediaSettings.java b/src/main/java/io/fastpix/sdk/models/operations/PushMediaSettings.java index 50574c2..3164175 100644 --- a/src/main/java/io/fastpix/sdk/models/operations/PushMediaSettings.java +++ b/src/main/java/io/fastpix/sdk/models/operations/PushMediaSettings.java @@ -19,7 +19,7 @@ * These settings define how the uploaded video is handled, including access control, resolution, DRM, * and optional metadata. * For a complete explanation of how media uploads and processing work, refer to the - * FastPix Video on Demand + * FastPix Video on Demand * Overview. */ public class PushMediaSettings { diff --git a/test-example/README.md b/test-example/README.md index c6bd924..acbeeb7 100644 --- a/test-example/README.md +++ b/test-example/README.md @@ -59,9 +59,9 @@ You can now use this media ID for other operations: ## Troubleshooting ### SDK Not Found -If you get "Could not resolve: io.fastpix:sdk:1.0.3", make sure: +If you get "Could not resolve: io.fastpix:sdk:1.0.4", make sure: - You've run `./gradlew publishToMavenLocal` in the parent directory -- The version matches (1.0.3) +- The version matches (1.0.4) ### Authentication Error If you get authentication errors: diff --git a/test-example/build.gradle b/test-example/build.gradle index 91fc0a5..332362a 100644 --- a/test-example/build.gradle +++ b/test-example/build.gradle @@ -4,7 +4,7 @@ plugins { } group = 'com.fastpix' -version = '1.0.3' +version = '1.0.4' java { sourceCompatibility = JavaVersion.VERSION_11 @@ -18,7 +18,7 @@ repositories { dependencies { // Use the locally published SDK - implementation 'io.fastpix:sdk:1.0.3' + implementation 'io.fastpix:sdk:1.0.4' // Jackson for JSON serialization implementation 'com.fasterxml.jackson.core:jackson-databind:2.18.2' diff --git a/tests/README.md b/tests/README.md index 3cb1449..d9071ed 100644 --- a/tests/README.md +++ b/tests/README.md @@ -103,11 +103,11 @@ accurate testing. If a fixture is missing, the GET driver falls back to a placeholder UUID, which typically yields a 404. -Last generated: 2026-06-19T16:29:28.236Z +Last generated: 2026-08-03T09:43:48.587Z - **Total GET endpoints**: 30 -- **PASS**: 26 -- **FAIL**: 4 +- **PASS**: 27 +- **FAIL**: 3 - **SKIP**: 0 | Endpoint | OperationId | OpenAPI valid | SDK parse | Missing in SDK (present in API) | Missing in API (present in SDK) | Empty arrays omitted by SDK | Status | @@ -126,7 +126,7 @@ Last generated: 2026-06-19T16:29:28.236Z | `/on-demand/drm-configurations` | `getDrmConfiguration` | ✅ | ❌ | None | None | None | ❌ FAIL | | `/on-demand/drm-configurations/{drmConfigurationId}` | `getDrmConfigurationById` | ✅ | ❌ | None | None | None | ❌ FAIL | | `/live/streams` | `get-all-streams` | ✅ | ✅ | None | None | None | ✅ PASS | -| `/live/streams/{streamId}/viewer-count` | `get-live-stream-viewer-count-by-id` | ✅ | ❌ | None | None | None | ❌ FAIL | +| `/live/streams/{streamId}/viewer-count` | `get-live-stream-viewer-count-by-id` | ✅ | ✅ | None | None | None | ✅ PASS | | `/live/streams/{streamId}` | `get-live-stream-by-id` | ✅ | ✅ | None | None | None | ✅ PASS | | `/live/streams/{streamId}/playback-ids/{playbackId}` | `get-live-stream-playback-id` | ✅ | ✅ | None | None | None | ✅ PASS | | `/live/streams/{streamId}/simulcast/{simulcastId}` | `get-specific-simulcast-of-stream` | ✅ | ✅ | None | None | None | ✅ PASS | diff --git a/tests/examples/AddMediaToPlaylist.java b/tests/examples/AddMediaToPlaylist.java deleted file mode 100644 index 3374267..0000000 --- a/tests/examples/AddMediaToPlaylist.java +++ /dev/null @@ -1,41 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.List; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.MediaIdsRequest; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.AddMediaToPlaylistResponse; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.utils.JSON; - -public class AddMediaToPlaylist { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - AddMediaToPlaylistResponse res = sdk.playlists().addMedia() - .playlistId("e2cc08cf-5a01-452d-9f45-0df331aaeaf2") - .body(MediaIdsRequest.builder() - .mediaIds(List.of( - "a377377e-4c5c-4f05-9f47-0c5beebfe7b3", - "46e7a91c-bd1a-4291-88a8-8f44fcbc8c92", - "1b92e705-a48d-4503-b5cf-3880770a941f")) - .build()) - .call(); - - if (res.playlistByIdResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.playlistByIdResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/AddTrack.java b/tests/examples/AddTrack.java deleted file mode 100644 index 062aef0..0000000 --- a/tests/examples/AddTrack.java +++ /dev/null @@ -1,39 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.AddTrackRequest; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.AddMediaTrackRequestBody; -import io.fastpix.sdk.models.operations.AddMediaTrackResponse; -import io.fastpix.sdk.utils.JSON; - -public class AddTrack { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - AddMediaTrackResponse res = sdk.manageVideos().addTrack() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .body(AddMediaTrackRequestBody.builder() - .tracks(AddTrackRequest.builder() - .build()) - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/CancelUpload.java b/tests/examples/CancelUpload.java deleted file mode 100644 index 8b18693..0000000 --- a/tests/examples/CancelUpload.java +++ /dev/null @@ -1,33 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.CancelUploadResponse; -import io.fastpix.sdk.utils.JSON; - -public class CancelUpload { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - CancelUploadResponse res = sdk.videos().cancelUpload() - .uploadId("87559435-7903-4601-930c-3b874e74044b") - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/CompleteLiveStream.java b/tests/examples/CompleteLiveStream.java deleted file mode 100644 index f715161..0000000 --- a/tests/examples/CompleteLiveStream.java +++ /dev/null @@ -1,33 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.CompleteLiveStreamResponse; -import io.fastpix.sdk.utils.JSON; - -public class CompleteLiveStream { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - CompleteLiveStreamResponse res = sdk.liveStream().complete() - .streamId("181dcf5c1a6c0c0f0cdfec668be2861f") - .call(); - - if (res.liveStreamDeleteResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.liveStreamDeleteResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/CreateLivePlaybackId.java b/tests/examples/CreateLivePlaybackId.java deleted file mode 100644 index d1dd908..0000000 --- a/tests/examples/CreateLivePlaybackId.java +++ /dev/null @@ -1,36 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.PlaybackIdRequest; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.CreatePlaybackIdOfStreamResponse; -import io.fastpix.sdk.utils.JSON; - -public class CreateLivePlaybackId { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - CreatePlaybackIdOfStreamResponse res = sdk.livePlayback().createPlaybackId() - .streamId("181dcf5c1a6c0c0f0cdfec668be2861f") - .body(PlaybackIdRequest.builder() - .build()) - .call(); - - if (res.playbackIdSuccessResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.playbackIdSuccessResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/CreateLiveStream.java b/tests/examples/CreateLiveStream.java deleted file mode 100644 index 82360de..0000000 --- a/tests/examples/CreateLiveStream.java +++ /dev/null @@ -1,43 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.Map; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.*; -import io.fastpix.sdk.models.operations.CreateNewStreamResponse; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.utils.JSON; - -public class CreateLiveStream { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - CreateLiveStreamRequest req = CreateLiveStreamRequest.builder() - .playbackSettings(PlaybackSettings.builder() - .build()) - .inputMediaSettings(InputMediaSettings.builder() - .metadata(Map.ofEntries( - Map.entry("livestream_name", "fastpix_livestream"))) - .build()) - .build(); - - CreateNewStreamResponse res = sdk.streams().create() - .request(req) - .call(); - - if (res.liveStreamResponseDTO().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.liveStreamResponseDTO().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/CreateMedia.java b/tests/examples/CreateMedia.java deleted file mode 100644 index ce11c8e..0000000 --- a/tests/examples/CreateMedia.java +++ /dev/null @@ -1,43 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.List; -import java.util.Map; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.*; -import io.fastpix.sdk.models.operations.CreateMediaResponse; -import io.fastpix.sdk.utils.JSON; - -public class CreateMedia { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - CreateMediaRequest req = CreateMediaRequest.builder() - .inputs(List.of( - Input.of(PullVideoInput.builder() - .build()))) - .metadata(Map.ofEntries( - Map.entry("key1", "value1"))) - .build(); - - CreateMediaResponse res = sdk.inputVideos().create() - .request(req) - .call(); - - if (res.createMediaSuccessResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.createMediaSuccessResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/CreatePlaybackId.java b/tests/examples/CreatePlaybackId.java deleted file mode 100644 index 6525c3e..0000000 --- a/tests/examples/CreatePlaybackId.java +++ /dev/null @@ -1,37 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.AccessPolicy; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.*; -import io.fastpix.sdk.utils.JSON; - -public class CreatePlaybackId { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - CreateMediaPlaybackIdResponse res = sdk.playback().createId() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .body(CreateMediaPlaybackIdRequestBody.builder() - .accessPolicy(AccessPolicy.PUBLIC) - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/CreatePlaylist.java b/tests/examples/CreatePlaylist.java deleted file mode 100644 index a48970d..0000000 --- a/tests/examples/CreatePlaylist.java +++ /dev/null @@ -1,52 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.*; -import io.fastpix.sdk.models.operations.CreateAPlaylistResponse; -import io.fastpix.sdk.utils.JSON; - -public class CreatePlaylist { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - CreatePlaylistRequest req = CreatePlaylistRequestSmart.builder() - .name("playlist name") - .referenceId("a7") - .type(CreatePlaylistRequestSmartType.SMART) - .playOrder(PlaylistOrder.CREATED_DATE_ASC) - .metadata(Metadata.builder() - .createdDate(DateRange.builder() - .startDate("2026-06-23") // Example 2024-11-11 - .endDate("2026-06-24") // Example 2024-11-11 - .build()) - .updatedDate(DateRange.builder() - .startDate("2026-06-23") //Example 2024-11-11 - .endDate("2026-06-24") //Example 2024-12-12 - .build()) - .build()) - .description("your-playlist-description") - .limit(20L) - .build(); - - CreateAPlaylistResponse res = sdk.playlists().create() - .request(req) - .call(); - - if (res.playlistCreatedResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.playlistCreatedResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/CreateSigningKey.java b/tests/examples/CreateSigningKey.java deleted file mode 100644 index 284bd5d..0000000 --- a/tests/examples/CreateSigningKey.java +++ /dev/null @@ -1,32 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.CreateSigningKeyResponse; -import io.fastpix.sdk.utils.JSON; - -public class CreateSigningKey { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - CreateSigningKeyResponse res = sdk.signingKeys().create() - .call(); - - if (res.createResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.createResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/CreateSimulcast.java b/tests/examples/CreateSimulcast.java deleted file mode 100644 index 37a12d2..0000000 --- a/tests/examples/CreateSimulcast.java +++ /dev/null @@ -1,41 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.Map; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.components.SimulcastRequest; -import io.fastpix.sdk.models.operations.CreateSimulcastOfStreamResponse; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.utils.JSON; - -public class CreateSimulcast { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - CreateSimulcastOfStreamResponse res = sdk.simulcastStream().create() - .streamId("181dcf5c1a6c0c0f0cdfec668be2861f") - .body(SimulcastRequest.builder() - .url("rtmp://hyd01.contribute.live-video.net/app/") - .streamKey("live_1012464221_DuM8W004MoZYNxQEZ0czODgfHCFBhk") - .metadata(Map.ofEntries( - Map.entry("livestream_name", "Tech-Connect Summit"))) - .build()) - .call(); - - if (res.simulcastResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.simulcastResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/DeleteLivePlaybackId.java b/tests/examples/DeleteLivePlaybackId.java deleted file mode 100644 index 0828f79..0000000 --- a/tests/examples/DeleteLivePlaybackId.java +++ /dev/null @@ -1,34 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.DeletePlaybackIdOfStreamResponse; -import io.fastpix.sdk.utils.JSON; - -public class DeleteLivePlaybackId { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - DeletePlaybackIdOfStreamResponse res = sdk.livePlayback().deletePlaybackId() - .streamId("181dcf5c1a6c0c0f0cdfec668be2861f") - .playbackId("eca9d2f3-6ba9-4db3-b2c8-e41353a3f258") - .call(); - - if (res.liveStreamDeleteResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.liveStreamDeleteResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/DeleteLiveStream.java b/tests/examples/DeleteLiveStream.java deleted file mode 100644 index 30c5834..0000000 --- a/tests/examples/DeleteLiveStream.java +++ /dev/null @@ -1,33 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.DeleteLiveStreamResponse; -import io.fastpix.sdk.utils.JSON; - -public class DeleteLiveStream { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - DeleteLiveStreamResponse res = sdk.liveStream().delete() - .streamId("181dcf5c1a6c0c0f0cdfec668be2861f") - .call(); - - if (res.liveStreamDeleteResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.liveStreamDeleteResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/DeleteMedia.java b/tests/examples/DeleteMedia.java deleted file mode 100644 index f1de0e3..0000000 --- a/tests/examples/DeleteMedia.java +++ /dev/null @@ -1,33 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.DeleteMediaResponse; -import io.fastpix.sdk.utils.JSON; - -public class DeleteMedia { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - DeleteMediaResponse res = sdk.videos().delete() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/DeletePlaybackId.java b/tests/examples/DeletePlaybackId.java deleted file mode 100644 index be2f076..0000000 --- a/tests/examples/DeletePlaybackId.java +++ /dev/null @@ -1,34 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.DeleteMediaPlaybackIdResponse; -import io.fastpix.sdk.utils.JSON; - -public class DeletePlaybackId { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - DeleteMediaPlaybackIdResponse res = sdk.playback().deleteId() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .playbackId("f4b42253-c205-4c1d-b9f3-3a38df9d5d7f") - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/DeletePlaylist.java b/tests/examples/DeletePlaylist.java deleted file mode 100644 index 90c0b5d..0000000 --- a/tests/examples/DeletePlaylist.java +++ /dev/null @@ -1,33 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.DeleteAPlaylistResponse; -import io.fastpix.sdk.utils.JSON; - -public class DeletePlaylist { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - DeleteAPlaylistResponse res = sdk.playlists().delete() - .playlistId("e2cc08cf-5a01-452d-9f45-0df331aaeaf2") - .call(); - - if (res.playlistDeleteResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.playlistDeleteResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/DeleteSigningKey.java b/tests/examples/DeleteSigningKey.java deleted file mode 100644 index f6d0a48..0000000 --- a/tests/examples/DeleteSigningKey.java +++ /dev/null @@ -1,33 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.DeleteSigningKeyResponse; -import io.fastpix.sdk.utils.JSON; - -public class DeleteSigningKey { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - DeleteSigningKeyResponse res = sdk.signingKeys().delete() - .signingKeyId("654703fa-cc4a-45d0-acfe-3be36372fd4e") - .call(); - - if (res.deleteSigningKeyResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.deleteSigningKeyResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/DeleteSimulcast.java b/tests/examples/DeleteSimulcast.java deleted file mode 100644 index 99f54de..0000000 --- a/tests/examples/DeleteSimulcast.java +++ /dev/null @@ -1,34 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.DeleteSimulcastOfStreamResponse; -import io.fastpix.sdk.utils.JSON; - -public class DeleteSimulcast { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - DeleteSimulcastOfStreamResponse res = sdk.simulcastStreams().delete() - .streamId("181dcf5c1a6c0c0f0cdfec668be2861f") - .simulcastId("70e6cf47b157f13129db74b0d21b50b5") - .call(); - - if (res.simulcastdeleteResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.simulcastdeleteResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/DeleteTrack.java b/tests/examples/DeleteTrack.java deleted file mode 100644 index c11f86a..0000000 --- a/tests/examples/DeleteTrack.java +++ /dev/null @@ -1,34 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.DeleteMediaTrackResponse; -import io.fastpix.sdk.utils.JSON; - -public class DeleteTrack { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - DeleteMediaTrackResponse res = sdk.manageVideos().deleteTrack() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .trackId("3cfb10ff-f882-4fc2-bd1b-f11d8c0f296a") - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/DisableLiveStream.java b/tests/examples/DisableLiveStream.java deleted file mode 100644 index ddcc956..0000000 --- a/tests/examples/DisableLiveStream.java +++ /dev/null @@ -1,33 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.DisableLiveStreamResponse; -import io.fastpix.sdk.utils.JSON; - -public class DisableLiveStream { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - DisableLiveStreamResponse res = sdk.liveStream().disable() - .streamId("181dcf5c1a6c0c0f0cdfec668be2861f") - .call(); - - if (res.liveStreamDeleteResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.liveStreamDeleteResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/EnableLiveStream.java b/tests/examples/EnableLiveStream.java deleted file mode 100644 index a6c6b44..0000000 --- a/tests/examples/EnableLiveStream.java +++ /dev/null @@ -1,33 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.EnableLiveStreamResponse; -import io.fastpix.sdk.utils.JSON; - -public class EnableLiveStream { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - EnableLiveStreamResponse res = sdk.liveStream().enable() - .streamId("181dcf5c1a6c0c0f0cdfec668be2861f") - .call(); - - if (res.liveStreamDeleteResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.liveStreamDeleteResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/GenerateNamedEntities.java b/tests/examples/GenerateNamedEntities.java deleted file mode 100644 index 610fa5d..0000000 --- a/tests/examples/GenerateNamedEntities.java +++ /dev/null @@ -1,37 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.UpdateMediaNamedEntitiesRequestBody; -import io.fastpix.sdk.models.operations.UpdateMediaNamedEntitiesResponse; -import io.fastpix.sdk.utils.JSON; - -public class GenerateNamedEntities { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdateMediaNamedEntitiesResponse res = sdk.inVideoAiFeatures().generateNamedEntities() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .body(UpdateMediaNamedEntitiesRequestBody.builder() - .namedEntities(true) - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/GenerateSubtitles.java b/tests/examples/GenerateSubtitles.java deleted file mode 100644 index d6b201c..0000000 --- a/tests/examples/GenerateSubtitles.java +++ /dev/null @@ -1,38 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.components.TrackSubtitlesGenerateRequest; -import io.fastpix.sdk.models.operations.GenerateSubtitleTrackResponse; -import io.fastpix.sdk.utils.JSON; - -public class GenerateSubtitles { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - GenerateSubtitleTrackResponse res = sdk.manageVideos().generateSubtitles() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .trackId("3cfb10ff-f882-4fc2-bd1b-f11d8c0f296a") - .body(TrackSubtitlesGenerateRequest.builder() - .languageName("Italian") - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/RemoveMediaFromPlaylist.java b/tests/examples/RemoveMediaFromPlaylist.java deleted file mode 100644 index 8ca9f0e..0000000 --- a/tests/examples/RemoveMediaFromPlaylist.java +++ /dev/null @@ -1,41 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.List; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.MediaIdsRequest; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.DeleteMediaFromPlaylistResponse; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.utils.JSON; - -public class RemoveMediaFromPlaylist { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - DeleteMediaFromPlaylistResponse res = sdk.playlist().removeMedia() - .playlistId("e2cc08cf-5a01-452d-9f45-0df331aaeaf2") - .body(MediaIdsRequest.builder() - .mediaIds(List.of( - "a377377e-4c5c-4f05-9f47-0c5beebfe7b3", - "46e7a91c-bd1a-4291-88a8-8f44fcbc8c92", - "1b92e705-a48d-4503-b5cf-3880770a941f")) - .build()) - .call(); - - if (res.playlistByIdResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.playlistByIdResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdateChapters.java b/tests/examples/UpdateChapters.java deleted file mode 100644 index 03210de..0000000 --- a/tests/examples/UpdateChapters.java +++ /dev/null @@ -1,36 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.UpdateMediaChaptersRequestBody; -import io.fastpix.sdk.models.operations.UpdateMediaChaptersResponse; -import io.fastpix.sdk.utils.JSON; - -public class UpdateChapters { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdateMediaChaptersResponse res = sdk.videos().updateChapters() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .body(UpdateMediaChaptersRequestBody.builder() - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdateDomainRestrictions.java b/tests/examples/UpdateDomainRestrictions.java deleted file mode 100644 index ae4b31e..0000000 --- a/tests/examples/UpdateDomainRestrictions.java +++ /dev/null @@ -1,43 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.List; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.UpdateDomainRestrictionsRequestBody; -import io.fastpix.sdk.models.operations.UpdateDomainRestrictionsResponse; -import io.fastpix.sdk.utils.JSON; - -public class UpdateDomainRestrictions { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdateDomainRestrictionsResponse res = sdk.playback().updateDomainRestrictions() - .mediaId("7f2964fc-e3ca-4567-867f-cacd242e2fce") - .playbackId("92baf72f-350e-4fb7-8dee-2223cce906f1") - .body(UpdateDomainRestrictionsRequestBody.builder() - .allow(List.of( - "yourdomain.com", - "sampledomain.com")) - .deny(List.of( - "yourworkdomain.com")) - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdateLiveStream.java b/tests/examples/UpdateLiveStream.java deleted file mode 100644 index 5982664..0000000 --- a/tests/examples/UpdateLiveStream.java +++ /dev/null @@ -1,40 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.Map; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.PatchLiveStreamRequest; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.UpdateLiveStreamResponse; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.utils.JSON; - -public class UpdateLiveStream { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdateLiveStreamResponse res = sdk.manageLiveStream().update() - .streamId("181dcf5c1a6c0c0f0cdfec668be2861f") - .body(PatchLiveStreamRequest.builder() - .metadata(Map.ofEntries( - Map.entry("livestream_name", "Gaming_stream"))) - .reconnectWindow(100L) - .build()) - .call(); - - if (res.patchResponseDTO().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.patchResponseDTO().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdateMedia.java b/tests/examples/UpdateMedia.java deleted file mode 100644 index 58ad278..0000000 --- a/tests/examples/UpdateMedia.java +++ /dev/null @@ -1,40 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.Map; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.UpdatedMediaRequestBody; -import io.fastpix.sdk.models.operations.UpdatedMediaResponse; -import io.fastpix.sdk.utils.JSON; - -public class UpdateMedia { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdatedMediaResponse res = sdk.videos().updateMedia() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .body(UpdatedMediaRequestBody.builder() - .metadata(Map.ofEntries( - Map.entry("user", "fastpix_admin"))) - .title("test title") - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdateMediaSummary.java b/tests/examples/UpdateMediaSummary.java deleted file mode 100644 index cbdc2fd..0000000 --- a/tests/examples/UpdateMediaSummary.java +++ /dev/null @@ -1,37 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.UpdateMediaSummaryRequestBody; -import io.fastpix.sdk.models.operations.UpdateMediaSummaryResponse; -import io.fastpix.sdk.utils.JSON; - -public class UpdateMediaSummary { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdateMediaSummaryResponse res = sdk.aiFeatures().updateMediaSummary() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .body(UpdateMediaSummaryRequestBody.builder() - .generate(true) - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdateModeration.java b/tests/examples/UpdateModeration.java deleted file mode 100644 index c8f5173..0000000 --- a/tests/examples/UpdateModeration.java +++ /dev/null @@ -1,39 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.MediaType; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.*; -import io.fastpix.sdk.utils.JSON; - -public class UpdateModeration { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdateMediaModerationResponse res = sdk.inVideoAiFeatures().updateModeration() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .body(UpdateMediaModerationRequestBody.builder() - .moderation(UpdateMediaModerationModeration.builder() - .type(MediaType.VIDEO) - .build()) - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdateMp4Support.java b/tests/examples/UpdateMp4Support.java deleted file mode 100644 index 3ed961b..0000000 --- a/tests/examples/UpdateMp4Support.java +++ /dev/null @@ -1,36 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.UpdatedMp4SupportRequestBody; -import io.fastpix.sdk.models.operations.UpdatedMp4SupportResponse; -import io.fastpix.sdk.utils.JSON; - -public class UpdateMp4Support { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdatedMp4SupportResponse res = sdk.videos().updateMp4Support() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .body(UpdatedMp4SupportRequestBody.builder() - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdatePlaylist.java b/tests/examples/UpdatePlaylist.java deleted file mode 100644 index 303d853..0000000 --- a/tests/examples/UpdatePlaylist.java +++ /dev/null @@ -1,38 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.components.UpdatePlaylistRequest; -import io.fastpix.sdk.models.operations.UpdateAPlaylistResponse; -import io.fastpix.sdk.utils.JSON; - -public class UpdatePlaylist { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdateAPlaylistResponse res = sdk.playlists().update() - .playlistId("e2cc08cf-5a01-452d-9f45-0df331aaeaf2") - .body(UpdatePlaylistRequest.builder() - .name("updated name") - .description("updated description") - .build()) - .call(); - - if (res.playlistCreatedResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.playlistCreatedResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdatePlaylistOrder.java b/tests/examples/UpdatePlaylistOrder.java deleted file mode 100644 index 4c9d251..0000000 --- a/tests/examples/UpdatePlaylistOrder.java +++ /dev/null @@ -1,41 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.List; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.MediaIdsRequest; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.ChangeMediaOrderInPlaylistResponse; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.utils.JSON; - -public class UpdatePlaylistOrder { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - ChangeMediaOrderInPlaylistResponse res = sdk.playlist().updateMediaOrder() - .playlistId("e2cc08cf-5a01-452d-9f45-0df331aaeaf2") - .body(MediaIdsRequest.builder() - .mediaIds(List.of( - "a377377e-4c5c-4f05-9f47-0c5beebfe7b3", - "46e7a91c-bd1a-4291-88a8-8f44fcbc8c92", - "1b92e705-a48d-4503-b5cf-3880770a941f")) - .build()) - .call(); - - if (res.playlistByIdResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.playlistByIdResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdateSimulcast.java b/tests/examples/UpdateSimulcast.java deleted file mode 100644 index b262ebd..0000000 --- a/tests/examples/UpdateSimulcast.java +++ /dev/null @@ -1,40 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.Map; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.components.SimulcastUpdateRequest; -import io.fastpix.sdk.models.operations.UpdateSpecificSimulcastOfStreamResponse; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.utils.JSON; - -public class UpdateSimulcast { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdateSpecificSimulcastOfStreamResponse res = sdk.simulcasts().update() - .streamId("181dcf5c1a6c0c0f0cdfec668be2861f") - .simulcastId("70e6cf47b157f13129db74b0d21b50b5") - .body(SimulcastUpdateRequest.builder() - .metadata(Map.ofEntries( - Map.entry("simulcast_name", "Tech today"))) - .build()) - .call(); - - if (res.simulcastUpdateResponse().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.simulcastUpdateResponse().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdateSourceAccess.java b/tests/examples/UpdateSourceAccess.java deleted file mode 100644 index 8238f83..0000000 --- a/tests/examples/UpdateSourceAccess.java +++ /dev/null @@ -1,37 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.UpdatedSourceAccessRequestBody; -import io.fastpix.sdk.models.operations.UpdatedSourceAccessResponse; -import io.fastpix.sdk.utils.JSON; - -public class UpdateSourceAccess { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdatedSourceAccessResponse res = sdk.manageVideos().updateSourceAccess() - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .body(UpdatedSourceAccessRequestBody.builder() - .sourceAccess(true) - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdateTrack.java b/tests/examples/UpdateTrack.java deleted file mode 100644 index 3edd84a..0000000 --- a/tests/examples/UpdateTrack.java +++ /dev/null @@ -1,38 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.components.UpdateTrackRequest; -import io.fastpix.sdk.models.operations.UpdateMediaTrackResponse; -import io.fastpix.sdk.utils.JSON; - -public class UpdateTrack { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdateMediaTrackResponse res = sdk.videos().updateTrack() - .trackId("3cfb10ff-f882-4fc2-bd1b-f11d8c0f296a") - .mediaId("1b92e705-a48d-4503-b5cf-3880770a941f") - .body(UpdateTrackRequest.builder() - .languageName("french") - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UpdateUserAgentRestrictions.java b/tests/examples/UpdateUserAgentRestrictions.java deleted file mode 100644 index 6ae6544..0000000 --- a/tests/examples/UpdateUserAgentRestrictions.java +++ /dev/null @@ -1,42 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.List; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.UpdateUserAgentRestrictionsRequestBody; -import io.fastpix.sdk.models.operations.UpdateUserAgentRestrictionsResponse; -import io.fastpix.sdk.utils.JSON; - -public class UpdateUserAgentRestrictions { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - UpdateUserAgentRestrictionsResponse res = sdk.playback().updateUserAgentRestrictions() - .mediaId("7f2964fc-e3ca-4567-867f-cacd242e2fce") - .playbackId("92baf72f-350e-4fb7-8dee-2223cce906f1") - .body(UpdateUserAgentRestrictionsRequestBody.builder() - .allow(List.of( - "Mozilla/55.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36")) - .deny(List.of( - "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/53745.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36")) - .build()) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file diff --git a/tests/examples/UploadMedia.java b/tests/examples/UploadMedia.java deleted file mode 100644 index 71e49d0..0000000 --- a/tests/examples/UploadMedia.java +++ /dev/null @@ -1,41 +0,0 @@ -// Package declaration - adjust to match your project's directory structure -package hello.world; - -// Import required classes from the FastPix SDK -import java.lang.Exception; -import java.util.Map; -import com.fasterxml.jackson.databind.SerializationFeature; -import io.fastpix.sdk.FastPixSDK; -import io.fastpix.sdk.models.components.Security; -import io.fastpix.sdk.models.operations.*; -import io.fastpix.sdk.utils.JSON; - -public class UploadMedia { - - public static void main(String[] args) throws Exception { - - FastPixSDK sdk = FastPixSDK.builder() - .security(Security.builder() - .username("1b92c0d6-5548-4642-b13e-4bb7d77dbaf4") - .password("ff32012b-ec02-40ca-b0d4-711d81537e73") - .build()) - .build(); - - DirectUploadVideoMediaRequest req = DirectUploadVideoMediaRequest.builder() - .pushMediaSettings(PushMediaSettings.builder() - .metadata(Map.ofEntries( - Map.entry("key1", "value1"))) - .build()) - .build(); - - DirectUploadVideoMediaResponse res = sdk.inputVideos().upload() - .request(req) - .call(); - - if (res.object().isPresent()) { - var mapper = JSON.getMapper(); - mapper.enable(SerializationFeature.INDENT_OUTPUT); - System.out.println(mapper.writeValueAsString(res.object().get())); - } - } -} \ No newline at end of file