Skip to content

CaptureService

Not yet Class Services NotCreatable Service

A service which provides control over screenshot and video capture features.

Not implemented yet

This class exists in the current Roblox API but is not implemented in Nova yet. Scripts that reference it will fail at runtime.

0 Nova members · 70 modern Roblox members not implemented yet

Description

CaptureService is a client-side service that allows developers to control how the screenshot and video capture feature integrates with their experiences. It can be used to include preset moments where a capture is automatically taken for a user, and that user can then save, share, or delete the capture.

Inheritance

Object → Instance → CaptureService

Methods

Member Signature Summary
CanCaptureVideo CaptureService:CanCaptureVideo(): bool —
CaptureScreenshot CaptureService:CaptureScreenshot(onCaptureReady: Function): null Takes a screenshot and provides a temporary contentId to identify it.
CheckMomentTextStatusAsync CaptureService:CheckMomentTextStatusAsync(token: string): Tuple —
CheckUploadCaptureStatusAsync CaptureService:CheckUploadCaptureStatusAsync(token: string): Tuple Polls the status of an in-progress capture upload started by StartUploadCaptureAsync().
CheckUploadCaptureStatusForSupportTicketAsync CaptureService:CheckUploadCaptureStatusForSupportTicketAsync(operationId: string): Tuple —
CreatePostAsync CaptureService:CreatePostAsync(pathArr: Array, caption: string): Dictionary —
DeleteCapture CaptureService:DeleteCapture(capturePath: string): null —
DeleteCapturesAsync CaptureService:DeleteCapturesAsync(pathArr: Array): int64 —
DeleteVideoCapture CaptureService:DeleteVideoCapture(videoCapture: VideoCapture): null —
DeleteVideoCaptureAsync CaptureService:DeleteVideoCaptureAsync(videoCapture: VideoCapture): bool —
GenerateMomentTextAsync CaptureService:GenerateMomentTextAsync(capture: Capture, tone: string): Tuple —
GetCaptureFilePathAsync CaptureService:GetCaptureFilePathAsync(captureContent: Content): string —
GetCaptureSizeAsync CaptureService:GetCaptureSizeAsync(captureContent: Content): Vector2 —
GetCaptureStorageSizeAsync CaptureService:GetCaptureStorageSizeAsync(pathArr: Array): int64 —
GetCaptureUploadDataAsync CaptureService:GetCaptureUploadDataAsync(capturePath: string): Dictionary —
GetDeviceInfo CaptureService:GetDeviceInfo(): Dictionary —
GetScreenshotCaptureObject CaptureService:GetScreenshotCaptureObject(capturePath: string): Capture —
InternalCheckPlayabilityAsync CaptureService:InternalCheckPlayabilityAsync(universeId: int64): bool —
InternalGetStartPlaceIdAsync CaptureService:InternalGetStartPlaceIdAsync(universeId: int64): int64 —
IsCapturingVideo CaptureService:IsCapturingVideo(): bool —
OnCaptureBegan CaptureService:OnCaptureBegan(): null —
OnCaptureEnded CaptureService:OnCaptureEnded(): null —
OnCaptureObjectShared CaptureService:OnCaptureObjectShared(capture: Capture): null —
OnCapturePermissionsPromptFinished CaptureService:OnCapturePermissionsPromptFinished(promptId: int64, wasAccepted: bool): null —
OnCaptureShared CaptureService:OnCaptureShared(capturePath: string): null —
OnSavePromptFinished CaptureService:OnSavePromptFinished(promptId: int64, results: Dictionary): null —
OnSharePromptFinished CaptureService:OnSharePromptFinished(promptId: int64, accepted: bool): null —
OnVideoCaptureShared CaptureService:OnVideoCaptureShared(videoCapture: VideoCapture): null —
PreCaptureShared CaptureService:PreCaptureShared(capture: Capture): string —
PreVideoCaptureShared CaptureService:PreVideoCaptureShared(videoCapture: VideoCapture): string —
PromptCaptureGalleryPermissionAsync CaptureService:PromptCaptureGalleryPermissionAsync(captureGalleryPermission: CaptureGalleryPermission): bool Prompts the user for permission to access their local capture gallery.
PromptSaveCapturesToGallery CaptureService:PromptSaveCapturesToGallery(captures: Array, resultCallback: Function): null Prompts the user to save specified captures to their gallery.
PromptShareCapture CaptureService:PromptShareCapture(captureContent: Content, launchData: string, onAcceptedCallback: Function, onDeniedCallback: Function): null Prompts the user to share a specified capture.
ReadCapturesFromGalleryAsync CaptureService:ReadCapturesFromGalleryAsync(captureTypeFilters: Array = {}, readFromAllEligibleExperiences: bool = false): Tuple Returns a paginated list of captures from the user's gallery.
RetrieveCaptures CaptureService:RetrieveCaptures(): Array —
SaveCaptureObjectToExternalStorage CaptureService:SaveCaptureObjectToExternalStorage(capture: Capture): null —
SaveCapturesToExternalStorageAsync CaptureService:SaveCapturesToExternalStorageAsync(pathArr: Array): int64 —
SaveCaptureToExternalStorage CaptureService:SaveCaptureToExternalStorage(capturePath: string): null —
SaveScreenshotCapture CaptureService:SaveScreenshotCapture(additionalInfo: string): null —
SaveVideoCaptureToExternalStorage CaptureService:SaveVideoCaptureToExternalStorage(videoCapture: VideoCapture): null —
StartUploadCaptureAsync CaptureService:StartUploadCaptureAsync(capture: Capture): Tuple Begins uploading a capture to the asset system and returns a token used to poll the upload's status.
StartUploadCaptureForSupportTicketAsync CaptureService:StartUploadCaptureForSupportTicketAsync(capture: Capture): Tuple —
StartVideoCaptureAsync CaptureService:StartVideoCaptureAsync(onCaptureReady: Function, captureParams: Dictionary = nil): VideoCaptureStartedResult Initiates a video capture recording.
StartVideoCaptureForMCPAsync CaptureService:StartVideoCaptureForMCPAsync(onCaptureReady: Function): VideoCaptureStartedResult —
StartVideoCaptureInternalAsync CaptureService:StartVideoCaptureInternalAsync(): VideoCaptureStartedResult —
StopVideoCapture CaptureService:StopVideoCapture(): null Ends a video capture initiated by StartVideoCaptureAsync().
StopVideoCaptureForMCP CaptureService:StopVideoCaptureForMCP(): null —
StopVideoCaptureInternal CaptureService:StopVideoCaptureInternal(): null —
TakeScreenshotCaptureAsync CaptureService:TakeScreenshotCaptureAsync(onCaptureReady: Function, captureParams: Dictionary = nil): null Initiates a screenshot capture.
UploadCaptureAndPostMoment CaptureService:UploadCaptureAndPostMoment(capture: Capture, momentMetadata: Dictionary = nil, feedRegistrationInfo: Dictionary = nil): null —
UploadCaptureAsync CaptureService:UploadCaptureAsync(capture: Capture): Tuple Uploads a capture to the asset system and returns the result and asset ID.
UploadPostAsync CaptureService:UploadPostAsync(capture: Capture, postMetadata: Dictionary = nil): Dictionary —

Events

Member Signature Summary
CaptureBegan CaptureBegan(captureType: CaptureType) Fires immediately before a capture begins.
CaptureEnded CaptureEnded(captureType: CaptureType) Fires after a capture finishes.
CaptureObjectSavedInternal CaptureObjectSavedInternal(capture: Capture, triggerSource: string) —
CaptureSaved CaptureSaved(captureInfo: Dictionary) Fires when a screenshot capture is saved to the user's gallery.
CaptureSavedInternal CaptureSavedInternal(captureInfo: Dictionary, triggerSource: string) —
OnCaptureAndMetadataSignatureResult OnCaptureAndMetadataSignatureResult(content: string, captureSignature: string, captureSignatureVersion: int, metadataSignature: string, metadataSignatureVersion: int) —
OpenCapturePermissionsPrompt OpenCapturePermissionsPrompt(promptId: int64, captureGalleryPermission: CaptureGalleryPermission) —
OpenSaveCapturesPrompt OpenSaveCapturesPrompt(promptId: int64, captures: Array) —
OpenShareCapturePrompt OpenShareCapturePrompt(promptId: int64, captureContent: Variant, launchData: string) —
RequestCaptureAndMetadataSignature RequestCaptureAndMetadataSignature(content: string, audioAssetIds: string) —
UserCaptureSaved UserCaptureSaved(captureContentId: ContentId) Fires when the user saves a capture.
UserVideoCaptureFailed UserVideoCaptureFailed(result: VideoCaptureResult) —
UserVideoCaptureStartFailed UserVideoCaptureStartFailed(result: VideoCaptureStartedResult) —
VideoCaptureInProgress VideoCaptureInProgress(isInProgress: bool, captureTrigger: string) —

Roblox reference: CaptureService

Generated from Nova's API dump and Roblox creator-docs. Nova-only members come from the engine's reflection metadata.