Skip to content
Roblox API Reference

CaptureService

A service which provides control over screenshot and video capture features.
  • Not creatable
  • Service
Memory category
Instances
Own members
66
Inherited members
75
Subclasses
0
Siblings
608

Properties23

Inherited fromObject2

Property categoryData

Inherited fromInstance21

Property categoryBehavior

Property categoryData

Property categoryPermissions

Methods94

Inherited fromObject3
  • Get an event that fires when a given property of the object changes.
    Parameters
    ParameterDescription
    property: string
    The property to connect to.
    Returns
    TypeDescription
    RBXScriptSignal
    A signal that fires whenever the property changes.
  • Object:IsA(className: string): boolean
    Returns true if an object's class matches or inherits from a given class.
    • Custom Lua state
    • Thread safe
    Parameters
    ParameterDescription
    className: string
    The class against which the Object's class will be checked. Case-sensitive.
    Returns
    TypeDescription
    boolean
    Describes whether the Object's class matched or is a subclass of the given class.
  • Object:isA(className: string): boolean
    Deprecated: This deprecated function is a variant of Object:IsA() which should be used instead.
    • Deprecated
    • Custom Lua state
    Parameters
    Parameter
    className: string
    Returns
    Type
    boolean

    Use IsA instead.

Inherited fromInstance39
Defined byCaptureService52
  • CaptureService:CanCaptureVideo(): boolean
    • Roblox script security
    • Capabilities: Capture
    Returns
    Type
    boolean
  • CaptureService:CaptureScreenshot(onCaptureReady: (...any) -> ...any)
    Takes a screenshot and provides a temporary contentId to identify it.
    • Capabilities: Capture
    Parameters
    ParameterDescription
    onCaptureReady: (...any) -> ...any
    A callback function that is called with the contentId of the new capture once it is ready.
  • CaptureService:CheckMomentTextStatusAsync(token: string): ...any
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    token: string
    Returns
    Type
    ...any
  • CaptureService:CheckUploadCaptureStatusAsync(token: string): ...any
    Polls the status of an in-progress capture upload started by StartUploadCaptureAsync().
    • Yields
    • Capabilities: Capture
    Parameters
    ParameterDescription
    token: string
    The token returned by StartUploadCaptureAsync() that identifies the in-progress upload.
    Returns
    TypeDescription
    ...any
    Tuple of (result: UploadCaptureResult, assetId: number)
  • CaptureService:CheckUploadCaptureStatusForSupportTicketAsync(operationId: string): ...any
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    operationId: string
    Returns
    Type
    ...any
  • CaptureService:CreatePostAsync(pathArr: { any },caption: string,): { [string]: any }
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    pathArr: { any }
    caption: string
  • CaptureService:DeleteCapture(capturePath: string)
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capturePath: string
  • CaptureService:DeleteCapturesAsync(pathArr: { any }): number
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    pathArr: { any }
    Returns
    Type
    number
  • CaptureService:DeleteVideoCapture(videoCapture: VideoCapture)
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    videoCapture: VideoCapture
  • CaptureService:DeleteVideoCaptureAsync(videoCapture: VideoCapture): boolean
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    videoCapture: VideoCapture
    Returns
    Type
    boolean
  • CaptureService:GenerateMomentTextAsync(capture: Capture,tone: string? = "",): ...any
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capture: Capture
    tone: string? = ""
    Returns
    Type
    ...any
  • CaptureService:GetCaptureFilePathAsync(captureContent: Content): string
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    captureContent: Content
    Returns
    Type
    string
  • CaptureService:GetCaptureSizeAsync(captureContent: Content): Vector2
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    captureContent: Content
    Returns
    Type
    Vector2
  • CaptureService:GetCaptureStorageSizeAsync(pathArr: { any }): number
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    pathArr: { any }
    Returns
    Type
    number
  • CaptureService:GetCaptureUploadDataAsync(capturePath: string): { [string]: any }
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capturePath: string
  • CaptureService:GetDeviceInfo(): { [string]: any }
    • Capabilities: Capture + InternalTest
  • CaptureService:GetScreenshotCaptureObject(capturePath: string): Capture
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capturePath: string
    Returns
    Type
    Capture
  • CaptureService:InternalCheckPlayabilityAsync(universeId: number): boolean
    • Yields
    • Capabilities: Capture + InternalTest
    Parameters
    Parameter
    universeId: number
    Returns
    Type
    boolean
  • CaptureService:InternalGetStartPlaceIdAsync(universeId: number): number
    • Yields
    • Capabilities: Capture + InternalTest
    Parameters
    Parameter
    universeId: number
    Returns
    Type
    number
  • CaptureService:IsCapturingVideo(): boolean
    • Roblox script security
    • Capabilities: Capture
    Returns
    Type
    boolean
  • CaptureService:OnCaptureBegan()
    • Roblox script security
    • Capabilities: Capture
  • CaptureService:OnCaptureEnded()
    • Roblox script security
    • Capabilities: Capture
  • CaptureService:OnCaptureObjectShared(capture: Capture)
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capture: Capture
  • CaptureService:OnCapturePermissionsPromptFinished(promptId: number,wasAccepted: boolean,)
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    promptId: number
    wasAccepted: boolean
  • CaptureService:OnCaptureShared(capturePath: string)
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capturePath: string
  • CaptureService:OnSavePromptFinished(promptId: number,results: { [string]: any },)
    • Custom Lua state
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    promptId: number
    results: { [string]: any }
  • CaptureService:OnSharePromptFinished(promptId: number, accepted: boolean)
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    promptId: number
    accepted: boolean
  • CaptureService:OnVideoCaptureShared(videoCapture: VideoCapture)
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    videoCapture: VideoCapture
  • CaptureService:PreCaptureShared(capture: Capture): string
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capture: Capture
    Returns
    Type
    string
  • CaptureService:PreVideoCaptureShared(videoCapture: VideoCapture): string
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    videoCapture: VideoCapture
    Returns
    Type
    string
  • CaptureService:PromptCaptureGalleryPermissionAsync(captureGalleryPermission: Enum.CaptureGalleryPermission): boolean
    Prompts the user for permission to access their local capture gallery.
    • Yields
    • Capabilities: Capture
    Parameters
    ParameterDescription
    captureGalleryPermission: Enum.CaptureGalleryPermission
    An CaptureGalleryPermission representing the type of access for which the user will be prompted.
    Returns
    TypeDescription
    boolean
    A boolean representing whether or not the user has allowed access to their captures.
  • CaptureService:PromptSaveCapturesToGallery(captures: { any },resultCallback: (...any) -> ...any,)
    Prompts the user to save specified captures to their gallery.
    • Capabilities: Capture
    Parameters
    ParameterDescription
    captures: { any }
    An array of content IDs and/or Capture objects.
    resultCallback: (...any) -> ...any
    A callback function that will be invoked with a dictionary mapping each contentId and/or Capture object to a boolean indicating if the user accepted saving that capture.
  • CaptureService:PromptShareCapture(captureContent: Content,launchData: string,onAcceptedCallback: (...any) -> ...any,onDeniedCallback: (...any) -> ...any,)
    Prompts the user to share a specified capture.
    • Capabilities: Capture
    Parameters
    ParameterDescription
    captureContent: Content
    A Content containing a contentId or Capture object.
    launchData: string
    An optional string to include as launch data in the invite link.
    onAcceptedCallback: (...any) -> ...any
    An optional callback function invoked if the user accepts sharing.
    onDeniedCallback: (...any) -> ...any
    An optional callback function invoked if the user denies sharing.
  • CaptureService:ReadCapturesFromGalleryAsync(captureTypeFilters: { any }? = {},readFromAllEligibleExperiences: boolean? = false,): ...any
    Returns a paginated list of captures from the user's gallery.
    • Yields
    • Capabilities: Capture
    Parameters
    ParameterDescription
    captureTypeFilters: { any }? = {}
    An array of CaptureType.
    readFromAllEligibleExperiences: boolean? = false
    A boolean; default is false.
    Returns
    TypeDescription
    ...any
    Tuple of (result: ReadCapturesFromGalleryResult, capturesPages: CapturesPages)
  • CaptureService:RetrieveCaptures(): { any }
    • Roblox script security
    • Capabilities: Capture
    Returns
    Type
    { any }
  • CaptureService:SaveCaptureObjectToExternalStorage(capture: Capture)
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capture: Capture
  • CaptureService:SaveCapturesToExternalStorageAsync(pathArr: { any }): number
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    pathArr: { any }
    Returns
    Type
    number
  • CaptureService:SaveCaptureToExternalStorage(capturePath: string)
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capturePath: string
  • CaptureService:SaveScreenshotCapture(additionalInfo: string? = "")
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    additionalInfo: string? = ""
  • CaptureService:SaveVideoCaptureToExternalStorage(videoCapture: VideoCapture)
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    videoCapture: VideoCapture
  • CaptureService:StartUploadCaptureAsync(capture: Capture): ...any
    Begins uploading a capture to the asset system and returns a token used to poll the upload's status.
    • Yields
    • Capabilities: Capture
    Parameters
    ParameterDescription
    capture: Capture
    The Capture to upload.
    Returns
    TypeDescription
    ...any
    Tuple of (result: UploadCaptureResult, token: string)
  • CaptureService:StartUploadCaptureForSupportTicketAsync(capture: Capture): ...any
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capture: Capture
    Returns
    Type
    ...any
  • CaptureService:StartVideoCaptureAsync(onCaptureReady: (...any) -> ...any,captureParams: { [string]: any }? = nil,): Enum.VideoCaptureStartedResult
    Initiates a video capture recording.
    • Yields
    • Capabilities: Capture
    Parameters
    ParameterDescription
    onCaptureReady: (...any) -> ...any
    A callback function that is called on video capture completion with a VideoCaptureResult and, if successful, a VideoCapture.
    captureParams: { [string]: any }? = nil
    A dictionary of optional parameters that modify capture behavior. Currently non-operational.
    Returns
    TypeDescription
    Enum.VideoCaptureStartedResult
    A VideoCaptureStartedResult indicating whether the video recording started successfully.
  • CaptureService:StartVideoCaptureForMCPAsync(onCaptureReady: (...any) -> ...any): Enum.VideoCaptureStartedResult
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    onCaptureReady: (...any) -> ...any
  • CaptureService:StartVideoCaptureInternalAsync(): Enum.VideoCaptureStartedResult
    • Yields
    • Roblox script security
    • Capabilities: Capture
  • CaptureService:StopVideoCapture()
    Ends a video capture initiated by StartVideoCaptureAsync().
    • Capabilities: Capture
  • CaptureService:StopVideoCaptureForMCP()
    • Roblox script security
    • Capabilities: Capture
  • CaptureService:StopVideoCaptureInternal()
    • Roblox script security
    • Capabilities: Capture
  • CaptureService:TakeScreenshotCaptureAsync(onCaptureReady: (...any) -> ...any,captureParams: { [string]: any }? = nil,)
    Initiates a screenshot capture.
    • Capabilities: Capture
    Parameters
    ParameterDescription
    onCaptureReady: (...any) -> ...any
    A callback function that is called on screenshot capture completion with a ScreenshotCaptureResult and, if successful, a ScreenshotCapture.
    captureParams: { [string]: any }? = nil
    A dictionary that modifies capture behavior.
  • CaptureService:UploadCaptureAndPostMoment(capture: Capture,momentMetadata: { [string]: any }? = nil,feedRegistrationInfo: { [string]: any }? = nil,)
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capture: Capture
    momentMetadata: { [string]: any }? = nil
    feedRegistrationInfo: { [string]: any }? = nil
  • CaptureService:UploadCaptureAsync(capture: Capture): ...any
    Uploads a capture to the asset system and returns the result and asset ID.
    • Yields
    • Capabilities: Capture
    Parameters
    ParameterDescription
    capture: Capture
    The Capture to upload.
    Returns
    TypeDescription
    ...any
    Tuple of (result: UploadCaptureResult, assetId: number)
  • CaptureService:UploadPostAsync(capture: Capture,postMetadata: { [string]: any }? = nil,): { [string]: any }
    • Yields
    • Roblox script security
    • Capabilities: Capture
    Parameters
    Parameter
    capture: Capture
    postMetadata: { [string]: any }? = nil

Events24

Inherited fromObject1
Inherited fromInstance9
Defined byCaptureService14