add detailed jpg quality opts & thumbnail pass
Docker server image / build-and-push (push) Successful in 3m48s

This commit is contained in:
2026-03-30 05:05:27 -07:00
parent 72d4d521e3
commit 30cbfaadad
10 changed files with 644 additions and 190 deletions
@@ -53,39 +53,61 @@ CONVERSION_RESOLUTION_FHD: ConversionResolution
CONVERSION_RESOLUTION_QHD: ConversionResolution
CONVERSION_RESOLUTION_UHD: ConversionResolution
class JpegOutputOptions(_message.Message):
__slots__ = ("quality",)
QUALITY_FIELD_NUMBER: _ClassVar[int]
quality: int
def __init__(self, quality: _Optional[int] = ...) -> None: ...
class SlideRasterOptions(_message.Message):
__slots__ = ("resolution", "jpeg")
RESOLUTION_FIELD_NUMBER: _ClassVar[int]
JPEG_FIELD_NUMBER: _ClassVar[int]
resolution: ConversionResolution
jpeg: JpegOutputOptions
def __init__(self, resolution: _Optional[_Union[ConversionResolution, str]] = ..., jpeg: _Optional[_Union[JpegOutputOptions, _Mapping]] = ...) -> None: ...
class Slide(_message.Message):
__slots__ = ("index", "notes_plain", "image_url")
__slots__ = ("index", "notes_plain", "image_url", "thumbnail_image_url")
INDEX_FIELD_NUMBER: _ClassVar[int]
NOTES_PLAIN_FIELD_NUMBER: _ClassVar[int]
IMAGE_URL_FIELD_NUMBER: _ClassVar[int]
THUMBNAIL_IMAGE_URL_FIELD_NUMBER: _ClassVar[int]
index: int
notes_plain: str
image_url: str
def __init__(self, index: _Optional[int] = ..., notes_plain: _Optional[str] = ..., image_url: _Optional[str] = ...) -> None: ...
thumbnail_image_url: str
def __init__(self, index: _Optional[int] = ..., notes_plain: _Optional[str] = ..., image_url: _Optional[str] = ..., thumbnail_image_url: _Optional[str] = ...) -> None: ...
class SlideDeck(_message.Message):
__slots__ = ("conversion_id", "source_filename", "slides", "created_at", "width", "height")
__slots__ = ("conversion_id", "source_filename", "slides", "created_at", "width", "height", "thumbnail_width", "thumbnail_height")
CONVERSION_ID_FIELD_NUMBER: _ClassVar[int]
SOURCE_FILENAME_FIELD_NUMBER: _ClassVar[int]
SLIDES_FIELD_NUMBER: _ClassVar[int]
CREATED_AT_FIELD_NUMBER: _ClassVar[int]
WIDTH_FIELD_NUMBER: _ClassVar[int]
HEIGHT_FIELD_NUMBER: _ClassVar[int]
THUMBNAIL_WIDTH_FIELD_NUMBER: _ClassVar[int]
THUMBNAIL_HEIGHT_FIELD_NUMBER: _ClassVar[int]
conversion_id: str
source_filename: str
slides: _containers.RepeatedCompositeFieldContainer[Slide]
created_at: _timestamp_pb2.Timestamp
width: int
height: int
def __init__(self, conversion_id: _Optional[str] = ..., source_filename: _Optional[str] = ..., slides: _Optional[_Iterable[_Union[Slide, _Mapping]]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ...) -> None: ...
thumbnail_width: int
thumbnail_height: int
def __init__(self, conversion_id: _Optional[str] = ..., source_filename: _Optional[str] = ..., slides: _Optional[_Iterable[_Union[Slide, _Mapping]]] = ..., created_at: _Optional[_Union[datetime.datetime, _timestamp_pb2.Timestamp, _Mapping]] = ..., width: _Optional[int] = ..., height: _Optional[int] = ..., thumbnail_width: _Optional[int] = ..., thumbnail_height: _Optional[int] = ...) -> None: ...
class CreateConversionRequest(_message.Message):
__slots__ = ("source_filename", "resolution")
__slots__ = ("source_filename", "full", "thumbnail")
SOURCE_FILENAME_FIELD_NUMBER: _ClassVar[int]
RESOLUTION_FIELD_NUMBER: _ClassVar[int]
FULL_FIELD_NUMBER: _ClassVar[int]
THUMBNAIL_FIELD_NUMBER: _ClassVar[int]
source_filename: str
resolution: ConversionResolution
def __init__(self, source_filename: _Optional[str] = ..., resolution: _Optional[_Union[ConversionResolution, str]] = ...) -> None: ...
full: SlideRasterOptions
thumbnail: SlideRasterOptions
def __init__(self, source_filename: _Optional[str] = ..., full: _Optional[_Union[SlideRasterOptions, _Mapping]] = ..., thumbnail: _Optional[_Union[SlideRasterOptions, _Mapping]] = ...) -> None: ...
class CreateConversionResponse(_message.Message):
__slots__ = ("conversion_id", "upload_bucket", "upload_object_key", "upload_url", "expires_at")