# Method Image.WebP.encode()

Method encode

  `string encode(Image.Image image, mapping(string:int|float|Image.Image)|void options)`

Description

  Encode an image using the WebP format.

  The image to encode has to be at most 16384 pixels in any direction.

  Commonly used options:

  `"alpha" : Image.Image` | If present, the alpha channel for the image will be the green component of this image. Has to be the same size as the image
  `"preset" : int` | Initialization for the encoding options. One of PRESET_DEFAULT, PRESET_PICTURE, PRESET_PHOTO PRESET_DRAWING, PRESET_ICON and PRESET_TEXT
  `"lossless" : bool` | If set, do lossless encoding.
  `"quality" : float` | Between 0 and 99. If quality is 100+, lossless encoding with quality 70 will be used.

  Additionally these advanced options are also supported:

  `"image_hint" : int` | One of HINT_DEFAULT, HINT_PICTURE, HINT_PHOTO and HINT_GRAPH. Only used in lossless mode
  `"target_size" : int` | If non zero, sets the desired filesize, in bytes. Takes precedence over quality.
  `"target_PSNR" : int` | if non-zero, specifies the minimal distortion to try to achieve. Takes precedence over target_size.
  `"segments" : int(1..4)` | maximum number of segments to use.
  `"sns_strength" : int(0..100)` | Spatial Noise Shaping. 0=off, 100=maximum.
  `"filter_strength" : int(0..100)` | 0=off
  `"filter_sharpness" : int(3bit)` | 0=off
  `"filter_type" : bool` | For the type, 0=simple, 1=strong.
  `autofilter : bool` | If true, automatically adjust the filter strengths
  `"alpha_compression" : bool` | Select alpha channel encoding format. Currently supported are 0: No alpha and 1: WebP lossless
  `"alpha_filtering" : int(0..2)` | Select alpha filtering method. 0: none, 1: fast, 2: best. Default if 1.
  `"alpha_quality" : int(0..100)` | Select the base image quality for the alpha channel.
  `"pass" : int(1..10)` | The number of entropy analysis passes. Defaults to 1.
  `"show_compressed" : bool` |
  `"preprocessing" : bool` | If true, do preprocessing (segment-smooth)
  `"partitions" : int(2bit)` | log2(number of token partitions). Default is set to 0 for easier progressive decoding.
  `"partition_limit" : int(0..100)` | quality degradation allowed to fit the 512k limit on prediction modes coding (0: no degradation, 100: maximum possible degradation).
  `"emulate_jpeg_size" : bool` | If true, try to map the quality setting to generate similar sizes when compared to jpeg.
  `"thread_level" : int` | The maximum number of extra threads to use. Defaults to 0
  `"low_memory" : bool` | Decrease memory usage at the cost of encoding speed

Returns

  Always returns the encoded image as a string or throws an error.