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
+26 -1
View File
@@ -53,11 +53,29 @@ enum ConversionResolution {
CONVERSION_RESOLUTION_UHD = 5;
}
// JpegOutputOptions configures JPEG-specific encoding controls.
message JpegOutputOptions {
// JPEG quality from 1..100. 0 means server default.
int32 quality = 1;
}
// SlideRasterOptions defines rendering settings for a raster output tier.
message SlideRasterOptions {
// Output resolution preset. UNSPECIFIED means server default for the tier.
ConversionResolution resolution = 1;
oneof format {
JpegOutputOptions jpeg = 2;
}
}
// Slide contains extracted notes and the rendered image URL for one slide.
message Slide {
int32 index = 1;
string notes_plain = 2;
// Full-size rendered image URL.
string image_url = 3;
// Thumbnail rendered image URL.
string thumbnail_image_url = 4;
}
// SlideDeck is the final structured conversion artifact.
@@ -67,14 +85,21 @@ message SlideDeck {
string source_filename = 2;
repeated Slide slides = 3;
google.protobuf.Timestamp created_at = 4;
// Full-size raster width in pixels.
int32 width = 5;
// Full-size raster height in pixels.
int32 height = 6;
// Thumbnail raster width in pixels.
int32 thumbnail_width = 7;
// Thumbnail raster height in pixels.
int32 thumbnail_height = 8;
}
// CreateConversionRequest starts a conversion session.
message CreateConversionRequest {
string source_filename = 1;
ConversionResolution resolution = 2;
SlideRasterOptions full = 2;
SlideRasterOptions thumbnail = 3;
}
// CreateConversionResponse returns upload details for the session.