code: func (c *ImageComponent) MarshalJSON() ([]byte, error) {
  	return json.Marshal(&struct {
  		Type            FlexComponentType        `json:"type"`
  		URL             string                   `json:"url"`
  		Flex            *int                     `json:"flex,omitempty"`
  		Margin          FlexComponentMarginType  `json:"margin,omitempty"`
  		Align           FlexComponentAlignType   `json:"align,omitempty"`
  		Gravity         FlexComponentGravityType `json:"gravity,omitempty"`
  		Size            FlexImageSizeType        `json:"size,omitempty"`
  		AspectRatio     FlexImageAspectRatioType `json:"aspectRatio,omitempty"`
  		AspectMode      FlexImageAspectModeType  `json:"aspectMode,omitempty"`
  		BackgroundColor string                   `json:"backgroundColor,omitempty"`
  		Action          TemplateAction           `json:"action,omitempty"`
  	}{
  		Type:            FlexComponentTypeImage,
  		URL:             c.URL,
  		Flex:            c.Flex,
  		Margin:          c.Margin,
  		Align:           c.Align,
  		Gravity:         c.Gravity,
  		Size:            c.Size,
  		AspectRatio:     c.AspectRatio,
  		AspectMode:      c.AspectMode,
  		BackgroundColor: c.BackgroundColor,
  		Action:          c.Action,
  	})
  }
docs: // MarshalJSON method of ImageComponent