compressImageBufferWithTokenLimit method

Future<CompressedImageResult> compressImageBufferWithTokenLimit(
  1. Uint8List imageBuffer,
  2. int maxTokens, {
  3. String? originalMediaType,
})

Compresses an image buffer to fit within a token limit.

Implementation

Future<CompressedImageResult> compressImageBufferWithTokenLimit(
  Uint8List imageBuffer,
  int maxTokens, {
  String? originalMediaType,
}) async {
  final maxBase64Chars = (maxTokens / 0.125).floor();
  final maxBytes = (maxBase64Chars * 0.75).floor();
  return compressImageBuffer(
    imageBuffer,
    maxBytes: maxBytes,
    originalMediaType: originalMediaType,
  );
}