Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.2.2"
".": "1.3.0"
}
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,18 @@
# Changelog

## [1.3.0](https://github.com/gumlet/python-sdk/compare/v1.2.2...v1.3.0) (2026-10-22)


### Features

* **api:** update SDK surface (2 changes) ([6961ef9](https://github.com/gumlet/python-sdk/commit/6961ef96b644410a435993e13b0d6e93a111d850))


### Chores

* **api:** regenerate SDK ([1a8da58](https://github.com/gumlet/python-sdk/commit/1a8da58196105bce858d99c114fd22dac65a25d2))
* **api:** update generated SDK content ([9a8ed30](https://github.com/gumlet/python-sdk/commit/9a8ed3037ae51f25fa0b56702a16591e0c98a3e2))

## [1.2.2](https://github.com/gumlet/python-sdk/compare/v1.2.1...v1.2.2) (2026-10-15)


Expand Down
9 changes: 5 additions & 4 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -429,8 +429,7 @@ audio_upload = client.audio_upload.upload(

### Complete Audio Upload

This API must be called after adding audio(s); The add audio call gives you URLs to upload, and you complete a `PUT` request to those URLs.
Once that is done, calling this initiates the process to actually add the subtitle to the video.
Finish adding audio tracks to an existing video asset. Call this only after the audio files have been PUT to the upload URLs from the add-audio call. This attaches those tracks to the asset.

| Direction | Type |
| --- | --- |
Expand Down Expand Up @@ -566,6 +565,7 @@ Gumlet provides the functionality of creating multiple video assets using the sa
video_profile = client.video_profiles.create(
name="Gumlet-Profile-1",
format="ABR",
transcribe=False,
)
```

Expand Down Expand Up @@ -596,6 +596,7 @@ video_profile = client.video_profiles.update(
path_profile_id="profileId",
body_profile_id="",
format="ABR",
transcribe=False,
vc=["libx264"],
)
```
Expand Down Expand Up @@ -916,7 +917,7 @@ image_source = client.image_sources.retrieve(

### Update Source

This endpoint allows users to update image source that has previously been created.
Update settings on an image source that already exists. This does not create a source or purge cached images.

| Direction | Type |
| --- | --- |
Expand Down Expand Up @@ -1453,7 +1454,7 @@ video_analytic = client.video_analytics.chart_data(

### Breakdown Data

This endpoint retrieves breakdown data of the given metrics by given breakdown field
Read viewer metrics for one workspace, grouped by a breakdown field, for a date range of at most 60 days. This does not change assets or delivery.

| Direction | Type |
| --- | --- |
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "gumlet"
version = "1.2.2" # x-release-please-version
version = "1.3.0" # x-release-please-version
description = "Gumlet helps developers deliver online video and images. This API encompasses Gumlet Video, Image and Video Analytics functionality to help you build your products better and faster than ever before."
readme = "README.md"
license = "Apache-2.0"
Expand Down
14 changes: 13 additions & 1 deletion scalar-sdk.manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "Gumlet",
"slug": "gumlet",
"generatorVersion": "0.36.5",
"generatorVersion": "0.36.8",
"servers": [
"https://api.gumlet.com/v1"
],
Expand Down Expand Up @@ -4722,6 +4722,7 @@
"text_overlay",
"animated_gif",
"generate_subtitles",
"transcribe",
"mp4_access",
"per_title_encoding",
"process_low_resolution_input",
Expand All @@ -4741,6 +4742,7 @@
"text_overlay",
"animated_gif",
"generate_subtitles",
"transcribe",
"mp4_access",
"per_title_encoding",
"process_low_resolution_input",
Expand Down Expand Up @@ -4796,6 +4798,10 @@
"name": "generate_subtitles",
"required": false
},
{
"name": "transcribe",
"required": false
},
{
"name": "mp4_access",
"required": false
Expand Down Expand Up @@ -5062,6 +5068,7 @@
"text_overlay",
"animated_gif",
"generate_subtitles",
"transcribe",
"mp4_access",
"per_title_encoding",
"process_low_resolution_input",
Expand All @@ -5085,6 +5092,7 @@
"text_overlay",
"animated_gif",
"generate_subtitles",
"transcribe",
"mp4_access",
"per_title_encoding",
"process_low_resolution_input",
Expand Down Expand Up @@ -5147,6 +5155,10 @@
"name": "generate_subtitles",
"required": false
},
{
"name": "transcribe",
"required": false
},
{
"name": "mp4_access",
"required": false
Expand Down
2 changes: 1 addition & 1 deletion src/gumlet/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Scalar. See README.md for details.

__title__ = "gumlet"
__version__ = "1.2.2" # x-release-please-version
__version__ = "1.3.0" # x-release-please-version
6 changes: 2 additions & 4 deletions src/gumlet/resources/audio_upload.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,7 @@ def complete(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AudioUploadCompleteResponse:
"""
This API must be called after adding audio(s); The add audio call gives you URLs to upload, and you complete a `PUT` request to those URLs.
Once that is done, calling this initiates the process to actually add the subtitle to the video.
Finish adding audio tracks to an existing video asset. Call this only after the audio files have been PUT to the upload URLs from the add-audio call. This attaches those tracks to the asset.

Args:
asset_id: An asset id for the previously created asset.
Expand Down Expand Up @@ -204,8 +203,7 @@ async def complete(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> AudioUploadCompleteResponse:
"""
This API must be called after adding audio(s); The add audio call gives you URLs to upload, and you complete a `PUT` request to those URLs.
Once that is done, calling this initiates the process to actually add the subtitle to the video.
Finish adding audio tracks to an existing video asset. Call this only after the audio files have been PUT to the upload URLs from the add-audio call. This attaches those tracks to the asset.

Args:
asset_id: An asset id for the previously created asset.
Expand Down
4 changes: 2 additions & 2 deletions src/gumlet/resources/image_sources.py
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ def update(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ImageSourceUpdateResponse:
"""
This endpoint allows users to update image source that has previously been created.
Update settings on an image source that already exists. This does not create a source or purge cached images.

Args:
image_source_id: image source id which you want to update
Expand Down Expand Up @@ -754,7 +754,7 @@ async def update(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> ImageSourceUpdateResponse:
"""
This endpoint allows users to update image source that has previously been created.
Update settings on an image source that already exists. This does not create a source or purge cached images.

Args:
image_source_id: image source id which you want to update
Expand Down
4 changes: 2 additions & 2 deletions src/gumlet/resources/video_analytics.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ def breakdown_data(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> VideoAnalyticBreakdownDataResponse:
"""
This endpoint retrieves breakdown data of the given metrics by given breakdown field
Read viewer metrics for one workspace, grouped by a breakdown field, for a date range of at most 60 days. This does not change assets or delivery.

Args:
date_range: The timeframe to get the data for. The maximum range between start_at and end_at is 60 days.
Expand Down Expand Up @@ -332,7 +332,7 @@ async def breakdown_data(
timeout: float | httpx.Timeout | None | NotGiven = not_given,
) -> VideoAnalyticBreakdownDataResponse:
"""
This endpoint retrieves breakdown data of the given metrics by given breakdown field
Read viewer metrics for one workspace, grouped by a breakdown field, for a date range of at most 60 days. This does not change assets or delivery.

Args:
date_range: The timeframe to get the data for. The maximum range between start_at and end_at is 60 days.
Expand Down
16 changes: 16 additions & 0 deletions src/gumlet/resources/video_profiles.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ def create(
text_overlay: video_profile_create_params.TextOverlay | Omit = omit,
animated_gif: video_profile_create_params.AnimatedGif | Omit = omit,
generate_subtitles: video_profile_create_params.GenerateSubtitles | Omit = omit,
transcribe: bool | Omit = omit,
mp4_access: bool | Omit = omit,
per_title_encoding: bool | Omit = omit,
process_low_resolution_input: bool | Omit = omit,
Expand Down Expand Up @@ -80,6 +81,7 @@ def create(
text_overlay: Text overlay can be used to brand a video or add a label in the form of text.
animated_gif: Create an animated GIF from a video.
generate_subtitles: Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes). Remove this object if you do not want to generate AI subtitles.
transcribe: This will generate the subtitles in the native audio.
mp4_access: Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**
per_title_encoding: Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**
process_low_resolution_input: Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**
Expand All @@ -98,6 +100,7 @@ def create(
video_profile = client.video_profiles.create(
name="Gumlet-Profile-1",
format="ABR",
transcribe=False,
)
```
"""
Expand All @@ -117,6 +120,7 @@ def create(
"text_overlay": text_overlay,
"animated_gif": animated_gif,
"generate_subtitles": generate_subtitles,
"transcribe": transcribe,
"mp4_access": mp4_access,
"per_title_encoding": per_title_encoding,
"process_low_resolution_input": process_low_resolution_input,
Expand Down Expand Up @@ -193,6 +197,7 @@ def update(
text_overlay: video_profile_update_params.TextOverlay | Omit = omit,
animated_gif: video_profile_update_params.AnimatedGif | Omit = omit,
generate_subtitles: video_profile_update_params.GenerateSubtitles | Omit = omit,
transcribe: bool | Omit = omit,
mp4_access: bool | Omit = omit,
per_title_encoding: bool | Omit = omit,
process_low_resolution_input: bool | Omit = omit,
Expand Down Expand Up @@ -226,6 +231,7 @@ def update(
text_overlay: Text overlay can be used to brand a video or add a label in the form of text.
animated_gif: Create an animated GIF from a video.
generate_subtitles: Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes). You can remove this object if you don't want to generate AI subtitles.
transcribe: To generate the subtitles in the native audio.
mp4_access: Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**
per_title_encoding: Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**
process_low_resolution_input: Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**
Expand All @@ -248,6 +254,7 @@ def update(
path_profile_id="profileId",
body_profile_id="",
format="ABR",
transcribe=False,
vc=["libx264"],
)
```
Expand All @@ -271,6 +278,7 @@ def update(
"text_overlay": text_overlay,
"animated_gif": animated_gif,
"generate_subtitles": generate_subtitles,
"transcribe": transcribe,
"mp4_access": mp4_access,
"per_title_encoding": per_title_encoding,
"process_low_resolution_input": process_low_resolution_input,
Expand Down Expand Up @@ -395,6 +403,7 @@ async def create(
text_overlay: video_profile_create_params.TextOverlay | Omit = omit,
animated_gif: video_profile_create_params.AnimatedGif | Omit = omit,
generate_subtitles: video_profile_create_params.GenerateSubtitles | Omit = omit,
transcribe: bool | Omit = omit,
mp4_access: bool | Omit = omit,
per_title_encoding: bool | Omit = omit,
process_low_resolution_input: bool | Omit = omit,
Expand Down Expand Up @@ -423,6 +432,7 @@ async def create(
text_overlay: Text overlay can be used to brand a video or add a label in the form of text.
animated_gif: Create an animated GIF from a video.
generate_subtitles: Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes). Remove this object if you do not want to generate AI subtitles.
transcribe: This will generate the subtitles in the native audio.
mp4_access: Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**
per_title_encoding: Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**
process_low_resolution_input: Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**
Expand All @@ -441,6 +451,7 @@ async def create(
video_profile = await client.video_profiles.create(
name="Gumlet-Profile-1",
format="ABR",
transcribe=False,
)
```
"""
Expand All @@ -460,6 +471,7 @@ async def create(
"text_overlay": text_overlay,
"animated_gif": animated_gif,
"generate_subtitles": generate_subtitles,
"transcribe": transcribe,
"mp4_access": mp4_access,
"per_title_encoding": per_title_encoding,
"process_low_resolution_input": process_low_resolution_input,
Expand Down Expand Up @@ -536,6 +548,7 @@ async def update(
text_overlay: video_profile_update_params.TextOverlay | Omit = omit,
animated_gif: video_profile_update_params.AnimatedGif | Omit = omit,
generate_subtitles: video_profile_update_params.GenerateSubtitles | Omit = omit,
transcribe: bool | Omit = omit,
mp4_access: bool | Omit = omit,
per_title_encoding: bool | Omit = omit,
process_low_resolution_input: bool | Omit = omit,
Expand Down Expand Up @@ -569,6 +582,7 @@ async def update(
text_overlay: Text overlay can be used to brand a video or add a label in the form of text.
animated_gif: Create an animated GIF from a video.
generate_subtitles: Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes). You can remove this object if you don't want to generate AI subtitles.
transcribe: To generate the subtitles in the native audio.
mp4_access: Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**
per_title_encoding: Gumlet analyzes each input video on a wide range of visual aspects. Based on the analysis, it chooses a unique set of transcoding options for processing the video. This ensures that the output video is of optimal size and best quality. **Default: `true`**
process_low_resolution_input: Currently, the minimum supported frame size is `57600` (`240x240`) pixels for `HLS/DASH` and `21025` (`145x145`) pixels for `MP4` format. However, enabling this flag will allow Gumlet to simply put your video asset into the specified delivery format without transcoding and optimization. Enabling this flag will cause any kind of specified video transformation to be ignored if you input video asset frame size is lower than the minimum supported frame size for the specified format. **Default: `false`**
Expand All @@ -591,6 +605,7 @@ async def update(
path_profile_id="profileId",
body_profile_id="",
format="ABR",
transcribe=False,
vc=["libx264"],
)
```
Expand All @@ -614,6 +629,7 @@ async def update(
"text_overlay": text_overlay,
"animated_gif": animated_gif,
"generate_subtitles": generate_subtitles,
"transcribe": transcribe,
"mp4_access": mp4_access,
"per_title_encoding": per_title_encoding,
"process_low_resolution_input": process_low_resolution_input,
Expand Down
6 changes: 3 additions & 3 deletions src/gumlet/types/video_profile_create_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ class VideoProfileCreateParams(TypedDict, total=False):
generate_subtitles: GenerateSubtitles
"""Gumlet allows you to generate subtitles from the audio stream (use <a href='https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes'> ISO 639-1 </a> Language Codes). Remove this object if you do not want to generate AI subtitles."""

transcribe: bool
"""This will generate the subtitles in the native audio."""

mp4_access: bool
"""Creates `mp4` version for download purpose in case of `MPEG-DASH` or `HLS` delivery format. **Default: `false`**"""

Expand All @@ -70,9 +73,6 @@ class VideoProfileCreateParams(TypedDict, total=False):


class GenerateSubtitles(TypedDict, total=False):
transcribe: bool
"""This will generate the subtitles in the native audio."""

subtitle_languages: str
"""Array of string of language codes for which subtitle needs to be generated. Maximum four language codes are allowed."""

Expand Down
Loading
Loading