> ## Documentation Index
> Fetch the complete documentation index at: https://gcore.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get all quality sets

> Method returns a list of all custom quality sets.

  


Transcoding is designed to minimize video file size while maintaining maximum visual quality. This is done so that the video can be delivered and viewed on any device, on any Internet connection, anywhere in the world. It's always a compromise between video/audio quality and delivery+viewing quality (QoE).

  


Our experts have selected the optimal parameters for transcoding, to ensure maximum video/audio quality with the best compression. Default quality sets are described in the [documentation](/docs/streaming-platform/live-streams-and-videos-protocols-and-codecs/output-parameters-and-codecs#custom-quality-sets). These values are the default for everyone. There is no need to configure anything additional.


Read more about qiality in our blog [How we lowered the bitrate for live and VOD streaming by 32.5% without sacrificing quality](https://gcore.com/blog/how-we-lowered-the-bitrate-for-live-and-vod-streaming-by-32-5-without-sacrificing-quality).

![Quality ladder](https://demo-files.gvideo.io/apidocs/encoding_ladder.png)


Only for those cases when, in addition to the main parameters, it is necessary to use your own, then it is necessary to use custom quality sets.

How to use:
1) By default custom quality set is empty – ``` { "live":[],"vod":[] } ```
2) Request the use of custom quality sets from your manager or the Support Team.
3) Please forward your requirements to us, since the parameters are set not by you, but by our engineers. (We are working to ensure that later you can create qualities by yourself.)
4) Use the created quality sets through the these specified API methods.


Here are some common parameters of quality settings:
- Resolution: Determines the size of the video frame. I.e. 720p, 1080p, 4K, etc.
- Bitrate: Refers to the amount of data processed per unit of time.
- Codec: Codec used for transcoding can significantly affect quality. By default, H.264 (AVC) is available from SD to 4K. As a premium encoding feature, more advanced codecs like HEVC (H.265), AV1, and VP9 are also available.
- Frame Rate: Determines how many frames per second are displayed. Common frame rates include 24fps, 30fps, and 60fps.
- Color Depth and Chroma Subsampling: These settings determine the accuracy of color representation in the video.
- Audio Bitrate and Codec: Don't forget about the audio :) Bitrate and codec used for audio can also affect the overall quality.
Note: Custom quality set is a paid feature.



## OpenAPI

````yaml /api-reference/services_documented/streaming_api.yaml get /streaming/quality_sets
openapi: 3.1.0
info:
  title: Gcore OpenAPI – Streaming API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: '2026-05-07T20:33:46.548242+00:00'
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: AI
    x-displayName: AI
  - name: Broadcasts
    x-displayName: Broadcasts
  - name: Directories
    x-displayName: Directories
  - name: Overlays
    x-displayName: Overlays
  - name: Players
    x-displayName: Players
  - name: Playlists
    x-displayName: Playlists
  - name: QualitySets
    x-displayName: QualitySets
  - name: Restreams
    x-displayName: Restreams
  - name: Streaming Statistics
    x-displayName: Statistics
  - name: Streams
    x-displayName: Streams
  - name: Subtitles
    x-displayName: Subtitles
  - name: Videos
    x-displayName: Videos
paths:
  /streaming/quality_sets:
    get:
      tags:
        - QualitySets
      summary: Get all quality sets
      description: >-
        Method returns a list of all custom quality sets.

          


        Transcoding is designed to minimize video file size while maintaining
        maximum visual quality. This is done so that the video can be delivered
        and viewed on any device, on any Internet connection, anywhere in the
        world. It's always a compromise between video/audio quality and
        delivery+viewing quality (QoE).

          


        Our experts have selected the optimal parameters for transcoding, to
        ensure maximum video/audio quality with the best compression. Default
        quality sets are described in the
        [documentation](/docs/streaming-platform/live-streams-and-videos-protocols-and-codecs/output-parameters-and-codecs#custom-quality-sets).
        These values are the default for everyone. There is no need to configure
        anything additional.



        Read more about qiality in our blog [How we lowered the bitrate for live
        and VOD streaming by 32.5% without sacrificing
        quality](https://gcore.com/blog/how-we-lowered-the-bitrate-for-live-and-vod-streaming-by-32-5-without-sacrificing-quality).


        ![Quality
        ladder](https://demo-files.gvideo.io/apidocs/encoding_ladder.png)



        Only for those cases when, in addition to the main parameters, it is
        necessary to use your own, then it is necessary to use custom quality
        sets.


        How to use:

        1) By default custom quality set is empty – ``` { "live":[],"vod":[] }
        ```

        2) Request the use of custom quality sets from your manager or the
        Support Team.

        3) Please forward your requirements to us, since the parameters are set
        not by you, but by our engineers. (We are working to ensure that later
        you can create qualities by yourself.)

        4) Use the created quality sets through the these specified API methods.



        Here are some common parameters of quality settings:

        - Resolution: Determines the size of the video frame. I.e. 720p, 1080p,
        4K, etc.

        - Bitrate: Refers to the amount of data processed per unit of time.

        - Codec: Codec used for transcoding can significantly affect quality. By
        default, H.264 (AVC) is available from SD to 4K. As a premium encoding
        feature, more advanced codecs like HEVC (H.265), AV1, and VP9 are also
        available.

        - Frame Rate: Determines how many frames per second are displayed.
        Common frame rates include 24fps, 30fps, and 60fps.

        - Color Depth and Chroma Subsampling: These settings determine the
        accuracy of color representation in the video.

        - Audio Bitrate and Codec: Don't forget about the audio :) Bitrate and
        codec used for audio can also affect the overall quality.

        Note: Custom quality set is a paid feature.
      operationId: get_qualitysets
      responses:
        '200':
          description: Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/qualitysets'
        '400':
          description: One or more parameters were specified incorrectly, check the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/badrequest'
      x-codeSamples:
        - lang: Python
          source: |-
            import os
            from gcore import Gcore

            client = Gcore(
                api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
            )
            quality_sets = client.streaming.quality_sets.list()
            print(quality_sets.live)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/G-Core/gcore-go\"\n\t\"github.com/G-Core/gcore-go/option\"\n)\n\nfunc main() {\n\tclient := gcore.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tqualitySets, err := client.Streaming.QualitySets.List(context.TODO())\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", qualitySets.Live)\n}\n"
components:
  schemas:
    qualitysets:
      type: object
      properties:
        live:
          type: array
          items:
            $ref: '#/components/schemas/qualityset1'
        vod:
          type: array
          items:
            $ref: '#/components/schemas/qualityset1'
      example:
        live:
          - id: 77
            name: Live 4K UHD 60fps AV1 (custom)
            default: true
            qualities:
              - id: 1
                name: vod2160n
              - id: 2
                name: vod1440n
        vod: []
    badrequest:
      type: object
      properties:
        status:
          type: integer
          description: Error number
        error:
          type: string
          description: Error message
      example:
        status: 400
        error: >-
          Bad Request response status code indicates that the server cannot or
          will not process the request due to something that is perceived to be
          a client error (for example, malformed request syntax, invalid request
          message framing, or deceptive request routing).
    qualityset1:
      type: object
      properties:
        id:
          type: integer
          description: ID of the custom quality set
        name:
          type: string
          description: Human readable name of the quality set
        default:
          type: boolean
          description: States if this preset is default for a client profile
        qualities:
          type: array
          description: Array of associated qualities
          items:
            type: object
            properties:
              id:
                type: integer
                description: ID of the quality
              name:
                type: string
                description: Name of the quality
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234$abcdef`
      type: apiKey
      in: header
      name: Authorization

````