photos.uploadProfilePhoto
photos.uploadProfilePhoto
Section titled “photos.uploadProfilePhoto”No description provided by the pinned schema.
Signature
Section titled “Signature”photos.uploadProfilePhoto#0388a3b5 flags:# fallback:flags.3?true bot:flags.5?InputUser file:flags.0?InputFile video:flags.1?InputFile video_start_ts:flags.2?double video_emoji_markup:flags.4?VideoSize = photos.Photo;Result type
Section titled “Result type”photos.Photo
Parameters
Section titled “Parameters”| Name | Type | Flag | Default | Description |
|---|---|---|---|---|
| flags | # | flag word | — | No description provided by the pinned schema. |
| fallback | flags.3?true | flags.3 | — | No description provided by the pinned schema. |
| bot | flags.5?InputUser | flags.5 | — | No description provided by the pinned schema. |
| file | flags.0?InputFile | flags.0 | — | No description provided by the pinned schema. |
| video | flags.1?InputFile | flags.1 | — | No description provided by the pinned schema. |
| video_start_ts | flags.2?double | flags.2 | — | No description provided by the pinned schema. |
| video_emoji_markup | flags.4?VideoSize | flags.4 | — | No description provided by the pinned schema. |
| Parameter | Bit | Meaning |
|---|---|---|
| fallback | 3 | Controlled by flags; present when this bit is set. |
| bot | 5 | Controlled by flags; present when this bit is set. |
| file | 0 | Controlled by flags; present when this bit is set. |
| video | 1 | Controlled by flags; present when this bit is set. |
| video_start_ts | 2 | Controlled by flags; present when this bit is set. |
| video_emoji_markup | 4 | Controlled by flags; present when this bit is set. |
Python binding
Section titled “Python binding”from miniproto.raw.functions import PhotosUploadProfilePhotoPublic access: miniproto.raw.functions.PhotosUploadProfilePhoto.
Safe usage shape
Section titled “Safe usage shape”from miniproto.raw.functions import PhotosUploadProfilePhoto
# Naming the raw request class is local only; it performs no I/O or network request.request_type = PhotosUploadProfilePhotoResult family
Section titled “Result family”RPC errors
Section titled “RPC errors”| Code | Error | Description |
|---|---|---|
| 400 | ALBUM_PHOTOS_TOO_MANY | You have uploaded too many profile photos, delete some before retrying. |
| 400 | BOT_INVALID | This is not a valid bot. |
| 400 | EMOJI_MARKUP_INVALID | The specified video_emoji_markup was invalid. |
| 400 | FILE_PARTS_INVALID | The number of file parts is invalid. |
| 400 | IMAGE_PROCESS_FAILED | Failure while processing image. |
| 400 | PHOTO_CROP_FILE_MISSING | Photo crop file missing. |
| 400 | PHOTO_CROP_SIZE_SMALL | Photo is too small. |
| 400 | PHOTO_EXT_INVALID | The extension of the photo is invalid. |
| 400 | PHOTO_FILE_MISSING | Profile photo file missing. |
| 400 | PHOTO_INVALID | Photo invalid. |
| 400 | STICKER_MIME_INVALID | The specified sticker MIME type is invalid. |
| 400 | VIDEO_FILE_INVALID | The specified video file is invalid. |
| 401 | AUTH_KEY_UNREGISTERED | The specified authorization key is not registered in the system (for example, a PFS temporary key has expired). |
Accepted types
Section titled “Accepted types”InputFile, InputUser, VideoSize
Known selected constructors: inputFile, inputFileBig, inputFileStoryDocument, inputUser, inputUserEmpty, inputUserFromMessage, inputUserSelf, videoSize, videoSizeEmojiMarkup, videoSizeStickerMarkup
Returned types
Section titled “Returned types”photos.Photo
Known selected constructors: photos.photo
Related methods
Section titled “Related methods”account.confirmBotConnection, account.getPaidMessagesRevenue, account.toggleNoPaidMessagesException, account.updateConnectedBot, account.uploadRingtone, account.uploadTheme, account.uploadWallPaper, bots.addPreviewMedia, bots.allowSendMessage, bots.canSendMessage, bots.checkDownloadFileParams, bots.createBot, bots.deletePreviewMedia, bots.editAccessSettings, bots.editPreviewMedia, bots.exportBotToken, bots.getAccessSettings, bots.getBotInfo, bots.getBotMenuButton, bots.getBotRecommendations, bots.getPreviewInfo, bots.getPreviewMedias, bots.getRequestedWebViewButton, bots.invokeWebViewCustomMethod, bots.reorderPreviewMedias, bots.reorderUsernames, bots.requestWebViewButton, bots.setBotInfo, bots.setBotMenuButton, bots.setCustomVerification, bots.toggleUserEmojiStatusPermission, bots.toggleUsername, bots.updateStarRefProgram, bots.updateUserEmojiStatus, channels.editAdmin, channels.getAdminLog, channels.inviteToChannel, channels.toggleJoinRequest, contacts.acceptContact, contacts.addContact, contacts.deleteContacts, contacts.updateContactNote, ephemeral.deleteMessage, ephemeral.editMessage, ephemeral.sendMessage, help.editUserInfo, help.getUserInfo, messages.addChatUser, messages.createChat, messages.deleteChatUser, messages.deleteRevokedExportedChatInvites, messages.editChatAdmin, messages.editChatCreator, messages.getAttachMenuBot, messages.getChatInviteImporters, messages.getCommonChats, messages.getExportedChatInvites, messages.getGameHighScores, messages.getInlineBotResults, messages.getInlineGameHighScores, messages.getPersonalChannelHistory, messages.getPreparedInlineMessage, messages.hideChatJoinRequest, messages.initHistoryImport, messages.prolongWebView, messages.requestEncryption, messages.requestMainWebView, messages.requestSimpleWebView, messages.requestWebView, messages.savePreparedInlineMessage, messages.sendWebViewData, messages.setGameScore, messages.setInlineGameScore, messages.startBot, messages.toggleBotInAttachMenu, payments.botCancelStarsSubscription, payments.connectStarRefBot, payments.getConnectedStarRefBot, payments.getStarsGiftOptions, payments.refundStarsCharge, phone.inviteConferenceCallParticipant, phone.inviteToGroupCall, phone.requestCall, phone.saveCallLog, photos.getUserPhotos, photos.updateProfilePhoto, photos.uploadContactProfilePhoto, premium.getUserBoosts, stickers.createStickerSet, users.getFullUser, users.getRequirementsToContact, users.getSavedMusic, users.getSavedMusicByID, users.getUsers, users.setSecureValueErrors, users.suggestBirthday
Provenance
Section titled “Provenance”- layer: 228
- structural source:
tdlib - canonical schema: https://raw.githubusercontent.com/tdlib/td/refs/heads/master/td/generate/scheme/telegram_api.tl
- prose merge precedence: TDLib → Telegram Desktop → Core JSON
- source note: Canonical structure is the pinned TDLib telegram_api.tl; Layer 228 comes only from the matching Telegram Desktop end-of-file marker; core.telegram.org inputs enrich documentation and RPC error metadata without overriding structure.
Source-diff notes
Section titled “Source-diff notes”- tdlib_vs_core: changed_count=68; core_only_count=1; overlap_count=2302; tdlib_only_count=158
- tdlib_vs_tdesktop: changed_count=0; overlap_count=2448; tdesktop_only=null; tdlib_only=accessPointRule, ephemeral.editMessage, help.configSimple, inputPeerPhotoFileLocationLegacy, inputStickerSetThumbLegacy, invokeWithApnsSecretPrefix, invokeWithBusinessConnectionPrefix, invokeWithGooglePlayIntegrityPrefix, invokeWithReCaptchaPrefix, ipPort, ipPortSecret, updateEphemeralBotCallbackQuery