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

# Get published item image variant

> A generated aspect-preserving image variant for the currently active Item publication.



## OpenAPI

````yaml scripts/reference/sources/openapi/player.json GET /v1/games/{gameId}/store/items/{itemId}/publications/{publicationId}/images/{assetId}/variants/{size}
openapi: 3.1.0
info:
  title: Summer Player Game Platform API
  version: summer.player.games/v1
  description: >-
    Public Summer Games store reads, the connected-app OAuth endpoints, and the
    signed-in player's profile and preferences.
servers:
  - url: https://api.summer.games
security:
  - playerBearer: []
paths:
  /v1/games/{gameId}/store/items/{itemId}/publications/{publicationId}/images/{assetId}/variants/{size}:
    parameters:
      - name: size
        in: path
        required: true
        schema:
          type: integer
          enum:
            - 128
            - 256
            - 512
            - 1920
      - name: gameId
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 128
      - name: itemId
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 128
      - name: publicationId
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 128
      - name: assetId
        in: path
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 128
      - name: If-None-Match
        in: header
        schema:
          type: string
        description: >-
          Compare the immutable image SHA-256 ETag only after current
          publication visibility and image scope have been checked.
    get:
      description: >-
        A generated aspect-preserving image variant for the currently active
        Item publication. Bearer credentials do not grant additional access.
        Current public visibility and exact Game/Item, publication and IMAGE
        asset membership are checked before either 200 or 304. Draft, prepared,
        withdrawn, superseded, mismatched, private and model references are
        unavailable. Only PNG or JPEG up to 32 MiB is served. Sizes 128, 256 and
        512 target the shorter edge with a four-times-size longer-edge cap; size
        1920 remains a maximum-edge rendition. The requested size must exist;
        otherwise returns 404. The stable URL has no signature or expiry query
        parameters; no redirects are returned and query parameters are rejected.
        HEAD returns the same status and headers without a body. Successful
        responses allow shared caching for at most 600 seconds and require
        revalidation afterward; errors use no-store. After withdrawal, origin
        requests fail immediately and conforming caches stop reuse within ten
        minutes.
      operationId: getPublishedItemImageVariant
      responses:
        '200':
          $ref: '#/components/responses/PublicImage'
        '304':
          $ref: '#/components/responses/PublicImageNotModified'
        '400':
          description: >-
            Invalid identifiers or unexpected query parameters. Cache-Control is
            no-store.
          headers:
            Cache-Control:
              schema:
                type: string
                const: no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: >-
            No currently public image exists in the requested publication and
            owner scope. Cache-Control is no-store.
          headers:
            Cache-Control:
              schema:
                type: string
                const: no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: The current publication is inconsistent. Cache-Control is no-store.
          headers:
            Cache-Control:
              schema:
                type: string
                const: no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: Catalog or image storage is unavailable. Cache-Control is no-store.
          headers:
            Cache-Control:
              schema:
                type: string
                const: no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security: []
components:
  responses:
    PublicImage:
      description: Current public PNG, JPEG or WebP image, no larger than 32 MiB.
      headers:
        Cache-Control:
          $ref: '#/components/headers/PublicImageCacheControl'
        ETag:
          $ref: '#/components/headers/PublicImageETag'
        Content-Length:
          $ref: '#/components/headers/PublicImageLength'
        X-Content-Type-Options:
          schema:
            type: string
            const: nosniff
      content:
        image/png:
          schema:
            type: string
            format: binary
        image/jpeg:
          schema:
            type: string
            format: binary
        image/webp:
          schema:
            type: string
            format: binary
    PublicImageNotModified:
      description: >-
        ETag matches after checking current public visibility and exact image
        scope; no body. A withdrawn or superseded publication never returns 304.
      headers:
        Cache-Control:
          $ref: '#/components/headers/PublicImageCacheControl'
        ETag:
          $ref: '#/components/headers/PublicImageETag'
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            retryable:
              type: boolean
            requestId:
              type: string
            correlationId:
              type: string
          required:
            - code
            - message
            - retryable
            - requestId
      required:
        - error
  headers:
    PublicImageCacheControl:
      description: >-
        Revalidate after at most ten minutes; stale reuse is forbidden after
        expiry.
      schema:
        type: string
        const: public, max-age=600, must-revalidate
    PublicImageETag:
      description: >-
        Strong quoted hexadecimal SHA-256 of the immutable publication image
        bytes.
      schema:
        type: string
    PublicImageLength:
      description: Image representation size in bytes, including on HEAD responses.
      schema:
        type: integer
        minimum: 1
        maximum: 33554432
  securitySchemes:
    playerBearer:
      type: http
      scheme: bearer
      description: >-
        A player access token. Store reads need no token. Other apps get a token
        through connected-app OAuth: register the client, let the player approve
        it on summer.games, then exchange the code at the token endpoint.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.