# InputMediaDocument

> Represents a general file to be sent

**Category:** Telegram Bot API — Types (A-Z)  
**URL:** https://docs.botlify.cloud/inputmediadocument  
**Platform:** Botlify Cloud (https://botlify.cloud)  

---

Represents a general file to be sent.

## Fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| type | String | Always | Type of the media, must be document |
| media | String | Always | 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 | String | 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 | String | Optional | Caption of the document to be sent, 0-1024 characters after entities parsing |
| parse_mode | String | Optional | Mode for parsing entities in the document caption. See formatting options for more details. |
| caption_entities | Array of MessageEntity | Optional | List of special entities that appear in the caption, which can be specified instead of parse_mode |
| disable_content_type_detection | Boolean | Optional | Disables automatic server-side content type detection for files uploaded using multipart/form-data. Always True, if the document is sent as part of an album. |

> [!TIP]
> **Botlify Cloud Runtime**
> Credentials are auto-injected in .env — always load them with getenv(): BOT_TOKEN, ADMIN_CHAT_ID, BOT_USERNAME. Main database: database.db (SQLite, WAL mode). Runtime errors: error.log. Quick test: send to $ADMIN_CHAT_ID. Full details: Runtime Reference.
