# Baileys Media Messaging API Documentation > Documentación auto-generada para el desarrollo de mensajes multimedia en WhatsApp Nucleo > Fuente: https://baileys.wiki > Generado: 2025-12-03T17:18:54.553Z Esta documentación contiene la API de Baileys relevante para enviar diferentes tipos de mensajes multimedia: - Imágenes y Videos - Documentos - Audio y Notas de Voz - Contactos - Ubicación - Encuestas (Polls) - Eventos ## Tabla de Contenidos ### Type Aliases - [AnyMediaMessageContent](#typeAliase-anymediamessagecontent) - [AnyMessageContent](#typeAliase-anymessagecontent) - [AnyRegularMessageContent](#typeAliase-anyregularmessagecontent) - [WAContactMessage](#typeAliase-wacontactmessage) - [WAContactsArrayMessage](#typeAliase-wacontactsarraymessage) - [WALocationMessage](#typeAliase-walocationmessage) - [WAGenericMediaMessage](#typeAliase-wagenericmediamessage) - [PollMessageOptions](#typeAliase-pollmessageoptions) - [EventMessageOptions](#typeAliase-eventmessageoptions) - [MediaType](#typeAliase-mediatype) - [MediaGenerationOptions](#typeAliase-mediagenerationoptions) - [MiscMessageGenerationOptions](#typeAliase-miscmessagegenerationoptions) - [MessageGenerationOptions](#typeAliase-messagegenerationoptions) - [MessageContentGenerationOptions](#typeAliase-messagecontentgenerationoptions) - [WAMediaUpload](#typeAliase-wamediaupload) - [DownloadableMessage](#typeAliase-downloadablemessage) - [WAContextInfo](#typeAliase-wacontextinfo) - [MessageWithContextInfo](#typeAliase-messagewithcontextinfo) ### Funciones - [prepareWAMessageMedia](#function-preparewamessagemedia) - [generateWAMessage](#function-generatewamessage) - [generateWAMessageContent](#function-generatewamessagecontent) - [generateWAMessageFromContent](#function-generatewamessagefromcontent) - [getContentType](#function-getcontenttype) - [extensionForMediaMessage](#function-extensionformediamessage) - [downloadMediaMessage](#function-downloadmediamessage) - [downloadContentFromMessage](#function-downloadcontentfrommessage) - [encryptedStream](#function-encryptedstream) - [getMediaKeys](#function-getmediakeys) ### Variables - [MEDIA_KEYS](#variable-media_keys) - [MEDIA_PATH_MAP](#variable-media_path_map) - [MEDIA_HKDF_KEY_MAPPING](#variable-media_hkdf_key_mapping) ### Interfaces - [WAUrlInfo](#interface-waurlinfo) --- # Type Aliases --- ## type Aliase: AnyMediaMessageContent **Fuente:** https://baileys.wiki/docs/api/type-aliases/AnyMediaMessageContent On this page **AnyMediaMessageContent**: `object` & `Mentionable` & `Contextable` & `WithDimensions` | `object` & `Mentionable` & `Contextable` & `WithDimensions` | { `audio`: [`WAMediaUpload`](/docs/api/type-aliases/WAMediaUpload); `ptt`: `boolean`; `seconds`: `number`; } | `object` & `WithDimensions` | `object` & `Contextable` & `object` & `Editable` Defined in: [src/Types/Message.ts:163](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L163) ## Type declaration[​](#type-declaration) ### mimetype?[​](#mimetype) `optional` **mimetype**: `string` --- ## type Aliase: AnyMessageContent **Fuente:** https://baileys.wiki/docs/api/type-aliases/AnyMessageContent On this page **AnyMessageContent**: [`AnyRegularMessageContent`](/docs/api/type-aliases/AnyRegularMessageContent) | { `force`: `boolean`; `forward`: [`WAMessage`](/docs/api/type-aliases/WAMessage); } | { `delete`: [`WAMessageKey`](/docs/api/type-aliases/WAMessageKey); } | { `disappearingMessagesInChat`: `boolean` | `number`; } | { `limitSharing`: `boolean`; } Defined in: [src/Types/Message.ts:271](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L271) ## Type declaration[​](#type-declaration) [`AnyRegularMessageContent`](/docs/api/type-aliases/AnyRegularMessageContent) { `force`: `boolean`; `forward`: [`WAMessage`](/docs/api/type-aliases/WAMessage); } ### force?[​](#force) `optional` **force**: `boolean` ### forward[​](#forward) **forward**: [`WAMessage`](/docs/api/type-aliases/WAMessage) { `delete`: [`WAMessageKey`](/docs/api/type-aliases/WAMessageKey); } ### delete[​](#delete) **delete**: [`WAMessageKey`](/docs/api/type-aliases/WAMessageKey) Delete your message or anyone's message in a group (admin required) { `disappearingMessagesInChat`: `boolean` | `number`; } ### disappearingMessagesInChat[​](#disappearingmessagesinchat) **disappearingMessagesInChat**: `boolean` | `number` { `limitSharing`: `boolean`; } ### limitSharing[​](#limitsharing) **limitSharing**: `boolean` --- ## type Aliase: AnyRegularMessageContent **Fuente:** https://baileys.wiki/docs/api/type-aliases/AnyRegularMessageContent **AnyRegularMessageContent**: `object` & `Mentionable` & `Contextable` & `Editable` | [`AnyMediaMessageContent`](/docs/api/type-aliases/AnyMediaMessageContent) | { `event`: [`EventMessageOptions`](/docs/api/type-aliases/EventMessageOptions); } | `object` & `Mentionable` & `Contextable` & `Editable` | { `contacts`: { `contacts`: [`IContactMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/IContactMessage)[]; `displayName`: `string`; }; } | { `location`: [`WALocationMessage`](/docs/api/type-aliases/WALocationMessage); } | { `react`: [`IReactionMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/IReactionMessage); } | { `buttonReply`: [`ButtonReplyInfo`](/docs/api/type-aliases/ButtonReplyInfo); `type`: `"template"` | `"plain"`; } | { `groupInvite`: [`GroupInviteInfo`](/docs/api/type-aliases/GroupInviteInfo); } | { `listReply`: `Omit`<[`IListResponseMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/IListResponseMessage), `"contextInfo"`>; } | { `pin`: [`WAMessageKey`](/docs/api/type-aliases/WAMessageKey); `time`: `86400` | `604800` | `2592000`; `type`: [`Type`](/docs/api/namespaces/proto/namespaces/PinInChat/enumerations/Type); } | { `body`: `string`; `businessOwnerJid`: `string`; `footer`: `string`; `product`: [`WASendableProduct`](/docs/api/type-aliases/WASendableProduct); } | `SharePhoneNumber` | `RequestPhoneNumber` & `ViewOnce` Defined in: [src/Types/Message.ts:218](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L218) --- ## type Aliase: WAContactMessage **Fuente:** https://baileys.wiki/docs/api/type-aliases/WAContactMessage **WAContactMessage**: [`IContactMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/IContactMessage) Defined in: [src/Types/Message.ts:18](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L18) --- ## type Aliase: WAContactsArrayMessage **Fuente:** https://baileys.wiki/docs/api/type-aliases/WAContactsArrayMessage **WAContactsArrayMessage**: [`IContactsArrayMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/IContactsArrayMessage) Defined in: [src/Types/Message.ts:19](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L19) --- ## type Aliase: WALocationMessage **Fuente:** https://baileys.wiki/docs/api/type-aliases/WALocationMessage **WALocationMessage**: [`ILocationMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/ILocationMessage) Defined in: [src/Types/Message.ts:29](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L29) --- ## type Aliase: WAGenericMediaMessage **Fuente:** https://baileys.wiki/docs/api/type-aliases/WAGenericMediaMessage **WAGenericMediaMessage**: [`IVideoMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/IVideoMessage) | [`IImageMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/IImageMessage) | [`IAudioMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/IAudioMessage) | [`IDocumentMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/IDocumentMessage) | [`IStickerMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/IStickerMessage) Defined in: [src/Types/Message.ts:30](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L30) --- ## type Aliase: PollMessageOptions **Fuente:** https://baileys.wiki/docs/api/type-aliases/PollMessageOptions On this page **PollMessageOptions**: `object` Defined in: [src/Types/Message.ts:133](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L133) ## Type declaration[​](#type-declaration) ### messageSecret?[​](#messagesecret) `optional` **messageSecret**: `Uint8Array` 32 byte message secret to encrypt poll selections ### name[​](#name) **name**: `string` ### selectableCount?[​](#selectablecount) `optional` **selectableCount**: `number` ### toAnnouncementGroup?[​](#toannouncementgroup) `optional` **toAnnouncementGroup**: `boolean` ### values[​](#values) **values**: `string`[] --- ## type Aliase: EventMessageOptions **Fuente:** https://baileys.wiki/docs/api/type-aliases/EventMessageOptions On this page **EventMessageOptions**: `object` Defined in: [src/Types/Message.ts:142](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L142) ## Type declaration[​](#type-declaration) ### call?[​](#call) `optional` **call**: `"audio"` | `"video"` ### description?[​](#description) `optional` **description**: `string` ### endDate?[​](#enddate) `optional` **endDate**: `Date` ### extraGuestsAllowed?[​](#extraguestsallowed) `optional` **extraGuestsAllowed**: `boolean` ### isCancelled?[​](#iscancelled) `optional` **isCancelled**: `boolean` ### isScheduleCall?[​](#isschedulecall) `optional` **isScheduleCall**: `boolean` ### location?[​](#location) `optional` **location**: [`WALocationMessage`](/docs/api/type-aliases/WALocationMessage) ### messageSecret?[​](#messagesecret) `optional` **messageSecret**: `Uint8Array`<`ArrayBufferLike`> ### name[​](#name) **name**: `string` ### startDate[​](#startdate) **startDate**: `Date` --- ## type Aliase: MediaType **Fuente:** https://baileys.wiki/docs/api/type-aliases/MediaType **MediaType**: keyof *typeof* [`MEDIA_HKDF_KEY_MAPPING`](/docs/api/variables/MEDIA_HKDF_KEY_MAPPING) Defined in: [src/Defaults/index.ts:117](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Defaults/index.ts#L117) --- ## type Aliase: MediaGenerationOptions **Fuente:** https://baileys.wiki/docs/api/type-aliases/MediaGenerationOptions On this page **MediaGenerationOptions**: `object` Defined in: [src/Types/Message.ts:336](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L336) ## Type declaration[​](#type-declaration) ### backgroundColor?[​](#backgroundcolor) `optional` **backgroundColor**: `string` ### font?[​](#font) `optional` **font**: `number` ### logger?[​](#logger) `optional` **logger**: `ILogger` ### mediaCache?[​](#mediacache) `optional` **mediaCache**: [`CacheStore`](/docs/api/type-aliases/CacheStore) cache media so it does not have to be uploaded again ### mediaTypeOverride?[​](#mediatypeoverride) `optional` **mediaTypeOverride**: [`MediaType`](/docs/api/type-aliases/MediaType) ### mediaUploadTimeoutMs?[​](#mediauploadtimeoutms) `optional` **mediaUploadTimeoutMs**: `number` ### options?[​](#options) `optional` **options**: `RequestInit` ### upload[​](#upload) **upload**: [`WAMediaUploadFunction`](/docs/api/type-aliases/WAMediaUploadFunction) --- ## type Aliase: MiscMessageGenerationOptions **Fuente:** https://baileys.wiki/docs/api/type-aliases/MiscMessageGenerationOptions On this page **MiscMessageGenerationOptions**: `MinimalRelayOptions` & `object` Defined in: [src/Types/Message.ts:309](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L309) ## Type declaration[​](#type-declaration) ### backgroundColor?[​](#backgroundcolor) `optional` **backgroundColor**: `string` backgroundcolor for status ### broadcast?[​](#broadcast) `optional` **broadcast**: `boolean` if it is broadcast ### ephemeralExpiration?[​](#ephemeralexpiration) `optional` **ephemeralExpiration**: `number` | `string` disappearing messages settings ### font?[​](#font) `optional` **font**: `number` font type for status ### mediaUploadTimeoutMs?[​](#mediauploadtimeoutms) `optional` **mediaUploadTimeoutMs**: `number` timeout for media upload to WA server ### quoted?[​](#quoted) `optional` **quoted**: [`WAMessage`](/docs/api/type-aliases/WAMessage) the message you want to quote ### statusJidList?[​](#statusjidlist) `optional` **statusJidList**: `string`[] jid list of participants for status@broadcast ### timestamp?[​](#timestamp) `optional` **timestamp**: `Date` optional, if you want to manually set the timestamp of the message --- ## type Aliase: MessageGenerationOptions **Fuente:** https://baileys.wiki/docs/api/type-aliases/MessageGenerationOptions **MessageGenerationOptions**: [`MessageContentGenerationOptions`](/docs/api/type-aliases/MessageContentGenerationOptions) & [`MessageGenerationOptionsFromContent`](/docs/api/type-aliases/MessageGenerationOptionsFromContent) Defined in: [src/Types/Message.ts:357](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L357) --- ## type Aliase: MessageContentGenerationOptions **Fuente:** https://baileys.wiki/docs/api/type-aliases/MessageContentGenerationOptions On this page **MessageContentGenerationOptions**: [`MediaGenerationOptions`](/docs/api/type-aliases/MediaGenerationOptions) & `object` Defined in: [src/Types/Message.ts:351](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L351) ## Type declaration[​](#type-declaration) ### getCallLink()?[​](#getcalllink) `optional` **getCallLink**: (`type`, `event`?) => `Promise`<`string` | `undefined`> #### Parameters[​](#parameters) type[​](#type) `"audio"` | `"video"` event?[​](#event) startTime[​](#starttime) `number` #### Returns[​](#returns) `Promise`<`string` | `undefined`> ### getProfilePicUrl()?[​](#getprofilepicurl) `optional` **getProfilePicUrl**: (`jid`, `type`) => `Promise`<`string` | `undefined`> #### Parameters[​](#parameters-1) jid[​](#jid) `string` type[​](#type-1) `"image"` | `"preview"` #### Returns[​](#returns-1) `Promise`<`string` | `undefined`> ### getUrlInfo()?[​](#geturlinfo) `optional` **getUrlInfo**: (`text`) => `Promise`<[`WAUrlInfo`](/docs/api/interfaces/WAUrlInfo) | `undefined`> #### Parameters[​](#parameters-2) text[​](#text) `string` #### Returns[​](#returns-2) `Promise`<[`WAUrlInfo`](/docs/api/interfaces/WAUrlInfo) | `undefined`> ### jid?[​](#jid-1) `optional` **jid**: `string` --- ## type Aliase: WAMediaUpload **Fuente:** https://baileys.wiki/docs/api/type-aliases/WAMediaUpload **WAMediaUpload**: `Buffer` | [`WAMediaPayloadStream`](/docs/api/type-aliases/WAMediaPayloadStream) | [`WAMediaPayloadURL`](/docs/api/type-aliases/WAMediaPayloadURL) Defined in: [src/Types/Message.ts:41](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L41) --- ## type Aliase: DownloadableMessage **Fuente:** https://baileys.wiki/docs/api/type-aliases/DownloadableMessage On this page **DownloadableMessage**: `object` Defined in: [src/Types/Message.ts:83](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L83) ## Type declaration[​](#type-declaration) ### directPath?[​](#directpath) `optional` **directPath**: `string` | `null` ### mediaKey?[​](#mediakey) `optional` **mediaKey**: `Uint8Array` | `null` ### url?[​](#url) `optional` **url**: `string` | `null` --- ## type Aliase: WAContextInfo **Fuente:** https://baileys.wiki/docs/api/type-aliases/WAContextInfo **WAContextInfo**: [`IContextInfo`](/docs/api/namespaces/proto/interfaces/IContextInfo) Defined in: [src/Types/Message.ts:28](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L28) --- ## type Aliase: MessageWithContextInfo **Fuente:** https://baileys.wiki/docs/api/type-aliases/MessageWithContextInfo **MessageWithContextInfo**: `"imageMessage"` | `"contactMessage"` | `"locationMessage"` | `"extendedTextMessage"` | `"documentMessage"` | `"audioMessage"` | `"videoMessage"` | `"call"` | `"contactsArrayMessage"` | `"liveLocationMessage"` | `"templateMessage"` | `"stickerMessage"` | `"groupInviteMessage"` | `"templateButtonReplyMessage"` | `"productMessage"` | `"listMessage"` | `"orderMessage"` | `"listResponseMessage"` | `"buttonsMessage"` | `"buttonsResponseMessage"` | `"interactiveMessage"` | `"interactiveResponseMessage"` | `"pollCreationMessage"` | `"requestPhoneNumberMessage"` | `"messageHistoryBundle"` | `"eventMessage"` | `"newsletterAdminInviteMessage"` | `"albumMessage"` | `"stickerPackMessage"` | `"pollResultSnapshotMessage"` | `"messageHistoryNotice"` Defined in: [src/Types/Message.ts:50](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L50) --- # Funciones --- ## function: prepareWAMessageMedia **Fuente:** https://baileys.wiki/docs/api/functions/prepareWAMessageMedia On this page **prepareWAMessageMedia**(`message`, `options`): `Promise`<[`Message`](/docs/api/namespaces/proto/classes/Message)> Defined in: [src/Utils/messages.ts:116](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Utils/messages.ts#L116) ## Parameters[​](#parameters) ### message[​](#message) [`AnyMediaMessageContent`](/docs/api/type-aliases/AnyMediaMessageContent) ### options[​](#options) [`MessageContentGenerationOptions`](/docs/api/type-aliases/MessageContentGenerationOptions) ## Returns[​](#returns) `Promise`<[`Message`](/docs/api/namespaces/proto/classes/Message)> --- ## function: generateWAMessage **Fuente:** https://baileys.wiki/docs/api/functions/generateWAMessage On this page **generateWAMessage**(`jid`, `content`, `options`): `Promise`<[`WAMessage`](/docs/api/type-aliases/WAMessage)> Defined in: [src/Utils/messages.ts:707](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Utils/messages.ts#L707) ## Parameters[​](#parameters) ### jid[​](#jid) `string` ### content[​](#content) [`AnyMessageContent`](/docs/api/type-aliases/AnyMessageContent) ### options[​](#options) [`MessageGenerationOptions`](/docs/api/type-aliases/MessageGenerationOptions) ## Returns[​](#returns) `Promise`<[`WAMessage`](/docs/api/type-aliases/WAMessage)> --- ## function: generateWAMessageContent **Fuente:** https://baileys.wiki/docs/api/functions/generateWAMessageContent On this page **generateWAMessageContent**(`message`, `options`): `Promise`<[`Message`](/docs/api/namespaces/proto/classes/Message)> Defined in: [src/Utils/messages.ts:369](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Utils/messages.ts#L369) ## Parameters[​](#parameters) ### message[​](#message) [`AnyMessageContent`](/docs/api/type-aliases/AnyMessageContent) ### options[​](#options) [`MessageContentGenerationOptions`](/docs/api/type-aliases/MessageContentGenerationOptions) ## Returns[​](#returns) `Promise`<[`Message`](/docs/api/namespaces/proto/classes/Message)> --- ## function: generateWAMessageFromContent **Fuente:** https://baileys.wiki/docs/api/functions/generateWAMessageFromContent On this page **generateWAMessageFromContent**(`jid`, `message`, `options`): [`WAMessage`](/docs/api/type-aliases/WAMessage) Defined in: [src/Utils/messages.ts:623](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Utils/messages.ts#L623) ## Parameters[​](#parameters) ### jid[​](#jid) `string` ### message[​](#message) [`IMessage`](/docs/api/namespaces/proto/interfaces/IMessage) ### options[​](#options) [`MessageGenerationOptionsFromContent`](/docs/api/type-aliases/MessageGenerationOptionsFromContent) ## Returns[​](#returns) [`WAMessage`](/docs/api/type-aliases/WAMessage) --- ## function: getContentType **Fuente:** https://baileys.wiki/docs/api/functions/getContentType On this page **getContentType**(`content`): `undefined` | keyof IMessage Defined in: [src/Utils/messages.ts:715](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Utils/messages.ts#L715) Get the key to access the true type of content ## Parameters[​](#parameters) ### content[​](#content) `undefined` | [`IMessage`](/docs/api/namespaces/proto/interfaces/IMessage) ## Returns[​](#returns) `undefined` | keyof IMessage --- ## function: extensionForMediaMessage **Fuente:** https://baileys.wiki/docs/api/functions/extensionForMediaMessage On this page **extensionForMediaMessage**(`message`): `string` Defined in: [src/Utils/messages-media.ts:628](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Utils/messages-media.ts#L628) ## Parameters[​](#parameters) ### message[​](#message) [`IMessage`](/docs/api/namespaces/proto/interfaces/IMessage) ## Returns[​](#returns) `string` --- ## function: downloadMediaMessage **Fuente:** https://baileys.wiki/docs/api/functions/downloadMediaMessage On this page **downloadMediaMessage**<`Type`>(`message`, `type`, `options`, `ctx`?): `Promise`<`Type` *extends* `"buffer"` ? `Buffer`<`ArrayBufferLike`> : `Transform`> Defined in: [src/Utils/messages.ts:985](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Utils/messages.ts#L985) Downloads the given message. Throws an error if it's not a media message ## Type Parameters[​](#type-parameters) • **Type** *extends* `"buffer"` | `"stream"` ## Parameters[​](#parameters) ### message[​](#message) [`WAMessage`](/docs/api/type-aliases/WAMessage) ### type[​](#type) `Type` ### options[​](#options) [`MediaDownloadOptions`](/docs/api/type-aliases/MediaDownloadOptions) ### ctx?[​](#ctx) `DownloadMediaMessageContext` ## Returns[​](#returns) `Promise`<`Type` *extends* `"buffer"` ? `Buffer`<`ArrayBufferLike`> : `Transform`> --- ## function: downloadContentFromMessage **Fuente:** https://baileys.wiki/docs/api/functions/downloadContentFromMessage On this page **downloadContentFromMessage**(`__namedParameters`, `type`, `opts`): `Promise`<`Transform`> Defined in: [src/Utils/messages-media.ts:506](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Utils/messages-media.ts#L506) ## Parameters[​](#parameters) ### __namedParameters[​](#__namedparameters) [`DownloadableMessage`](/docs/api/type-aliases/DownloadableMessage) ### type[​](#type) `"ppic"` | `"product"` | `"image"` | `"video"` | `"sticker"` | `"thumbnail-document"` | `"audio"` | `"thumbnail-image"` | `"biz-cover-photo"` | `"thumbnail-video"` | `"thumbnail-link"` | `"gif"` | `"md-app-state"` | `"md-msg-hist"` | `"document"` | `"ptt"` | `"product-catalog-image"` | `"payment-bg-image"` | `"ptv"` ### opts[​](#opts) [`MediaDownloadOptions`](/docs/api/type-aliases/MediaDownloadOptions) = `{}` ## Returns[​](#returns) `Promise`<`Transform`> --- ## function: encryptedStream **Fuente:** https://baileys.wiki/docs/api/functions/encryptedStream On this page **encryptedStream**(`media`, `mediaType`, `__namedParameters`): `Promise`<{ `encFilePath`: `string`; `fileEncSha256`: `Buffer`<`ArrayBufferLike`>; `fileLength`: `number`; `fileSha256`: `Buffer`<`ArrayBufferLike`>; `mac`: `Buffer`<`ArrayBuffer`>; `mediaKey`: `Buffer`<`ArrayBufferLike`>; `originalFilePath`: `undefined` | `string`; }> Defined in: [src/Utils/messages-media.ts:384](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Utils/messages-media.ts#L384) ## Parameters[​](#parameters) ### media[​](#media) [`WAMediaUpload`](/docs/api/type-aliases/WAMediaUpload) ### mediaType[​](#mediatype) `"ppic"` | `"product"` | `"image"` | `"video"` | `"sticker"` | `"thumbnail-document"` | `"audio"` | `"thumbnail-image"` | `"biz-cover-photo"` | `"thumbnail-video"` | `"thumbnail-link"` | `"gif"` | `"md-app-state"` | `"md-msg-hist"` | `"document"` | `"ptt"` | `"product-catalog-image"` | `"payment-bg-image"` | `"ptv"` ### __namedParameters[​](#__namedparameters) `EncryptedStreamOptions` = `{}` ## Returns[​](#returns) `Promise`<{ `encFilePath`: `string`; `fileEncSha256`: `Buffer`<`ArrayBufferLike`>; `fileLength`: `number`; `fileSha256`: `Buffer`<`ArrayBufferLike`>; `mac`: `Buffer`<`ArrayBuffer`>; `mediaKey`: `Buffer`<`ArrayBufferLike`>; `originalFilePath`: `undefined` | `string`; }> --- ## function: getMediaKeys **Fuente:** https://baileys.wiki/docs/api/functions/getMediaKeys On this page **getMediaKeys**(`buffer`, `mediaType`): `Promise`<[`MediaDecryptionKeyInfo`](/docs/api/type-aliases/MediaDecryptionKeyInfo)> Defined in: [src/Utils/messages-media.ts:95](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Utils/messages-media.ts#L95) generates all the keys required to encrypt/decrypt & sign a media message ## Parameters[​](#parameters) ### buffer[​](#buffer) `undefined` | `null` | `string` | `Uint8Array`<`ArrayBufferLike`> ### mediaType[​](#mediatype) `"ppic"` | `"product"` | `"image"` | `"video"` | `"sticker"` | `"thumbnail-document"` | `"audio"` | `"thumbnail-image"` | `"biz-cover-photo"` | `"thumbnail-video"` | `"thumbnail-link"` | `"gif"` | `"md-app-state"` | `"md-msg-hist"` | `"document"` | `"ptt"` | `"product-catalog-image"` | `"payment-bg-image"` | `"ptv"` ## Returns[​](#returns) `Promise`<[`MediaDecryptionKeyInfo`](/docs/api/type-aliases/MediaDecryptionKeyInfo)> --- # Variables --- ## variable: MEDIA_KEYS **Fuente:** https://baileys.wiki/docs/api/variables/MEDIA_KEYS `const` **MEDIA_KEYS**: (`"ppic"` | `"product"` | `"image"` | `"video"` | `"sticker"` | `"thumbnail-document"` | `"audio"` | `"thumbnail-image"` | `"biz-cover-photo"` | `"thumbnail-video"` | `"thumbnail-link"` | `"gif"` | `"md-app-state"` | `"md-msg-hist"` | `"document"` | `"ptt"` | `"product-catalog-image"` | `"payment-bg-image"` | `"ptv"`)[] Defined in: [src/Defaults/index.ts:119](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Defaults/index.ts#L119) --- ## variable: MEDIA_PATH_MAP **Fuente:** https://baileys.wiki/docs/api/variables/MEDIA_PATH_MAP `const` **MEDIA_PATH_MAP**: `{ [T in MediaType]?: string }` Defined in: [src/Defaults/index.ts:82](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Defaults/index.ts#L82) --- ## variable: MEDIA_HKDF_KEY_MAPPING **Fuente:** https://baileys.wiki/docs/api/variables/MEDIA_HKDF_KEY_MAPPING On this page `const` **MEDIA_HKDF_KEY_MAPPING**: `object` Defined in: [src/Defaults/index.ts:95](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Defaults/index.ts#L95) ## Type declaration[​](#type-declaration) ### audio[​](#audio) **audio**: `string` = `'Audio'` ### biz-cover-photo[​](#biz-cover-photo) **biz-cover-photo**: `string` = `'Image'` ### document[​](#document) **document**: `string` = `'Document'` ### gif[​](#gif) **gif**: `string` = `'Video'` ### image[​](#image) **image**: `string` = `'Image'` ### md-app-state[​](#md-app-state) **md-app-state**: `string` = `'App State'` ### md-msg-hist[​](#md-msg-hist) **md-msg-hist**: `string` = `'History'` ### payment-bg-image[​](#payment-bg-image) **payment-bg-image**: `string` = `'Payment Background'` ### ppic[​](#ppic) **ppic**: `string` = `''` ### product[​](#product) **product**: `string` = `'Image'` ### product-catalog-image[​](#product-catalog-image) **product-catalog-image**: `string` = `''` ### ptt[​](#ptt) **ptt**: `string` = `'Audio'` ### ptv[​](#ptv) **ptv**: `string` = `'Video'` ### sticker[​](#sticker) **sticker**: `string` = `'Image'` ### thumbnail-document[​](#thumbnail-document) **thumbnail-document**: `string` = `'Document Thumbnail'` ### thumbnail-image[​](#thumbnail-image) **thumbnail-image**: `string` = `'Image Thumbnail'` ### thumbnail-link[​](#thumbnail-link) **thumbnail-link**: `string` = `'Link Thumbnail'` ### thumbnail-video[​](#thumbnail-video) **thumbnail-video**: `string` = `'Video Thumbnail'` ### video[​](#video) **video**: `string` = `'Video'` --- # Interfaces --- ## interface: WAUrlInfo **Fuente:** https://baileys.wiki/docs/api/interfaces/WAUrlInfo On this page Defined in: [src/Types/Message.ts:102](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L102) ## Properties[​](#properties) ### canonical-url[​](#canonical-url) **canonical-url**: `string` Defined in: [src/Types/Message.ts:103](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L103) ### description?[​](#description) `optional` **description**: `string` Defined in: [src/Types/Message.ts:106](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L106) ### highQualityThumbnail?[​](#highqualitythumbnail) `optional` **highQualityThumbnail**: [`IImageMessage`](/docs/api/namespaces/proto/namespaces/Message/interfaces/IImageMessage) Defined in: [src/Types/Message.ts:108](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L108) ### jpegThumbnail?[​](#jpegthumbnail) `optional` **jpegThumbnail**: `Buffer`<`ArrayBufferLike`> Defined in: [src/Types/Message.ts:107](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L107) ### matched-text[​](#matched-text) **matched-text**: `string` Defined in: [src/Types/Message.ts:104](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L104) ### originalThumbnailUrl?[​](#originalthumbnailurl) `optional` **originalThumbnailUrl**: `string` Defined in: [src/Types/Message.ts:109](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L109) ### title[​](#title) **title**: `string` Defined in: [src/Types/Message.ts:105](https://github.com/WhiskeySockets/Baileys/blob/cb8b3717aaede47460ba700651ee936f268c0ce4/src/Types/Message.ts#L105) --- # Ejemplos de Uso Comunes ## Enviar Imagen ```typescript import { prepareWAMessageMedia, generateWAMessageFromContent } from '@whiskeysockets/baileys' // Opción 1: Usando sendMessage directamente await sock.sendMessage(jid, { image: { url: './image.jpg' }, // o Buffer caption: 'Descripción de la imagen', mimetype: 'image/jpeg' }) // Opción 2: Con prepareWAMessageMedia const media = await prepareWAMessageMedia( { image: { url: './image.jpg' } }, { upload: sock.waUploadToServer } ) ``` ## Enviar Video ```typescript await sock.sendMessage(jid, { video: { url: './video.mp4' }, caption: 'Mi video', mimetype: 'video/mp4', gifPlayback: false // true para GIFs }) ``` ## Enviar Documento ```typescript await sock.sendMessage(jid, { document: { url: './document.pdf' }, mimetype: 'application/pdf', fileName: 'documento.pdf', caption: 'Documento importante' }) ``` ## Enviar Audio ```typescript // Audio normal await sock.sendMessage(jid, { audio: { url: './audio.mp3' }, mimetype: 'audio/mp4' }) // Nota de voz (PTT) await sock.sendMessage(jid, { audio: { url: './voice.ogg' }, mimetype: 'audio/ogg; codecs=opus', ptt: true // Push To Talk = nota de voz }) ``` ## Enviar Contacto ```typescript // Un contacto await sock.sendMessage(jid, { contacts: { displayName: 'Juan Pérez', contacts: [{ vcard: `BEGIN:VCARD VERSION:3.0 FN:Juan Pérez TEL;type=CELL;waid=1234567890:+1234567890 END:VCARD` }] } }) // Múltiples contactos await sock.sendMessage(jid, { contacts: { displayName: 'Mis Contactos', contacts: [ { vcard: '...' }, { vcard: '...' } ] } }) ``` ## Enviar Ubicación ```typescript await sock.sendMessage(jid, { location: { degreesLatitude: 24.121231, degreesLongitude: 55.1121221 } }) ``` ## Enviar Encuesta (Poll) ```typescript await sock.sendMessage(jid, { poll: { name: '¿Cuál es tu color favorito?', values: ['Rojo', 'Azul', 'Verde', 'Amarillo'], selectableCount: 1 // Cantidad de opciones seleccionables } }) ``` ## Enviar con Quoted (Respuesta) ```typescript // El 'quoted' debe ser el mensaje original completo await sock.sendMessage(jid, { text: 'Esta es una respuesta' }, { quoted: originalMessage } ) // También funciona con media await sock.sendMessage(jid, { image: { url: './image.jpg' }, caption: 'Respuesta con imagen' }, { quoted: originalMessage } ) ```