# `ExGram.Model.InputMediaAudio`
[🔗](https://github.com/rockneurotiko/ex_gram/blob/0.64.0/lib/ex_gram.ex#L6058)

Represents an audio file to be treated as music to be sent.

Check the [documentation of this model on Telegram Bot API](https://core.telegram.org/bots/api#inputmediaaudio)

- `type`: Type of the result, must be audio
- `media`: File to send. Pass a file_id to send a file that exists on the Telegram servers (recommended), pass an HTTP URL for Telegram to get a file from the Internet, or pass "attach://<file_attach_name>” to upload a new one using multipart/form-data under <file_attach_name> name. More information on Sending Files »
- `thumbnail (optional)`: Optional. Thumbnail of the file sent; can be ignored if thumbnail generation for the file is supported server-side. The thumbnail should be in JPEG format and less than 200 kB in size. A thumbnail's width and height should not exceed 320. Ignored if the file is not uploaded using multipart/form-data. Thumbnails can't be reused and can be only uploaded as a new file, so you can pass "attach://<file_attach_name>” if the thumbnail was uploaded using multipart/form-data under <file_attach_name>. More information on Sending Files »
- `caption (optional)`: Optional. Caption of the audio to be sent, 0-1024 characters after entities parsing
- `parse_mode (optional)`: Optional. Mode for parsing entities in the audio caption. See formatting options for more details.
- `caption_entities (optional)`: Optional. List of special entities that appear in the caption, which can be specified instead of parse_mode
- `duration (optional)`: Optional. Duration of the audio in seconds
- `performer (optional)`: Optional. Performer of the audio
- `title (optional)`: Optional. Title of the audio

# `t`

```elixir
@type t() :: %ExGram.Model.InputMediaAudio{
  caption: String.t() | nil,
  caption_entities: [ExGram.Model.MessageEntity.t()] | nil,
  duration: integer() | nil,
  media:
    String.t()
    | {:file, String.t()}
    | {:file_content, iodata() | Enum.t(), String.t()},
  parse_mode: String.t() | nil,
  performer: String.t() | nil,
  thumbnail:
    (String.t()
     | {:file, String.t()}
     | {:file_content, iodata() | Enum.t(), String.t()})
    | nil,
  title: String.t() | nil,
  type: String.t()
}
```

# `decode_as`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
