IP Inlay Platform

Core

7 functions

Inlay_GET_BOOTTIME

Returns a boot-time runtime anchor (Unix seconds).

CoremacOS onlyReturns JSON

Signature

Inlay_GET_BOOTTIME

Parameters

This function takes no parameters.

Returns

JSON string

Returns runtime timing values used as a monotonic anchor for workflow logic.

Script Pattern

Get runtime anchor

Inlay_GET_BOOTTIME

Use Cases

  • Track elapsed runtime between scripted steps without relying on wall-clock drift.

Notes / Caveats

  • macOS only. Calls from unsupported platforms return an error response.

Related Functions

Inlay_GET_PUBLIC_IP

Returns the public WAN (NAT/masqueraded) IP address seen from the internet using a public IP lookup service.

CoreReturns JSON

Signature

Inlay_GET_PUBLIC_IP

Parameters

This function takes no parameters.

Returns

JSON string

Returns WAN IP lookup results in JSON (success/error state plus IP value when available).

Script Pattern

Check WAN IP

Inlay_GET_PUBLIC_IP

Use Cases

  • Display current WAN egress IP in diagnostic/admin layouts.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.

Related Functions

Inlay_CONNECTION_DIAG

Runs a real-time connection diagnostic window (20 probes) for a host/IP and graphs latency.

CoreOpens UIReturns JSON

Signature

Inlay_CONNECTION_DIAG ( IPorDNS )

Parameters

  • IPorDNSRequired

    Hostname or IP address to probe for latency diagnostics.

Returns

Status JSON

Opens a native diagnostic window and returns immediate status JSON for launch state.

Script Pattern

Test latency to host

Inlay_CONNECTION_DIAG ( "db.filemaker.example.com" )

Use Cases

  • Diagnose high-latency conditions when users report slow FileMaker UX.

Notes / Caveats

See example and related functions for usage context.

Related Functions

Inlay_CUSTOM_FUNCTION

Calls a license-bound custom function.

CoreReturns JSON

Signature

Inlay_CUSTOM_FUNCTION ( CustomFunctionName ; PayloadJson )

Parameters

  • CustomFunctionNameRequired

    Entitled custom function name tied to the current licensee.

  • PayloadJsonRequired

    JSON payload string containing inputs required by the custom workflow.

Returns

JSON string

Returns custom-function execution status JSON tied to license entitlements.

Script Pattern

Run entitled custom workflow

Inlay_CUSTOM_FUNCTION ( "color_grade_pipeline" ; "{""jobId"":""J-2049"",""preset"":""broadcast""}" )

Use Cases

  • Execute customer-specific extensions tied to paid entitlement scope.

Notes / Caveats

  • Custom functions are license-bound; calls without matching entitlement are denied.

Related Functions

Inlay_OPEN_LOG

Opens the current Inlay plugin log file in the default system app.

CoreActionOpens UIReturns JSON

Signature

Inlay_OPEN_LOG

Parameters

This function takes no parameters.

Returns

Action status JSON

Attempts to open the active Inlay log file and returns success/error JSON.

Script Pattern

Open active plugin log

Inlay_OPEN_LOG

Use Cases

  • Open the rolling Inlay log quickly during support or QA sessions.

Notes / Caveats

See example and related functions for usage context.

Related Functions

Inlay_VERIFY_CODESIGN

Verifies code-sign trust using codesign + spctl.

CoremacOS onlyUpdatedUnknown

Signature

Inlay_VERIFY_CODESIGN ( { ; PathOrHost } )

Parameters

  • PathOrHostOptional

    Optional argument. Omit to use the default behavior.

Returns

Unknown

Return behavior is not explicitly documented in the registration comment. Availability: macOS only.

Script Pattern

Minimal call

Inlay_VERIFY_CODESIGN

Full call pattern

Inlay_VERIFY_CODESIGN ( "/Users/shared/file.ext" )

Use Cases

  • See example and related functions for usage context.

Notes / Caveats

  • macOS only. Calls from unsupported platforms return an error response.

Related Functions

Inlay_CHECK_FFMPEG

Checks whether FFmpeg, FFprobe, and FFplay are installed and returns their paths and versions.

CoreUpdatedUnknown

Signature

Inlay_CHECK_FFMPEG

Parameters

This function takes no parameters.

Returns

Unknown

Return behavior is not explicitly documented in the registration comment.

Script Pattern

Minimal call

Inlay_CHECK_FFMPEG

Use Cases

  • See example and related functions for usage context.

Notes / Caveats

See example and related functions for usage context.

Related Functions

Media

3 functions

Inlay_INSPECT_CONTAINER

Returns JSON describing a container field's contents: stream type, byte size, and image dimensions when available.

MediaReturns JSON

Signature

Inlay_INSPECT_CONTAINER ( container )

Parameters

  • containerRequired

    FileMaker container field value to inspect.

Returns

JSON string

Returns JSON metadata about the container stream and media properties when available.

Script Pattern

Inspect a container field

Inlay_INSPECT_CONTAINER ( Media::AssetContainer )

Use Cases

  • Branch workflow logic based on detected stream/media type inside a container field.
  • Validate upload candidates before pushing them to object storage.

Notes / Caveats

See example and related functions for usage context.

Related Functions

Inlay_LOAD_IMAGE

Loads a local JPEG, PNG, GIF, BMP, or PDF and returns it as a FileMaker container.

MediaReturns Container

Signature

Inlay_LOAD_IMAGE ( path )

Parameters

  • pathRequired

    Absolute file path to a local image or PDF file that should be loaded into a container.

Returns

FileMaker container

Returns container data for the local file when the path is valid.

Script Pattern

Load local poster image

Inlay_LOAD_IMAGE ( "/Users/shared/posters/titlecard.png" )

Use Cases

  • Inject a local poster, graphic, or PDF into a FileMaker container field.

Notes / Caveats

See example and related functions for usage context.

Related Functions

Inlay_LOAD_REMOTE_IMAGE

Downloads an image from URL and returns it as a FileMaker container.

MediaReturns Container

Signature

Inlay_LOAD_REMOTE_IMAGE ( url { ; TTLHours { ; encryptKey { ; date } } } )

Parameters

  • urlRequired

    HTTPS URL to a remote image source.

  • TTLHoursOptional

    Cache freshness duration in hours.

  • encryptKeyOptional

    Passphrase used for local cache encryption.

  • dateOptional

    Optional argument. Omit to use the default behavior.

Returns

FileMaker container

Returns container data for the downloaded image; cache settings can affect fetch behavior.

Script Pattern

Load CDN image with cache controls

Inlay_LOAD_REMOTE_IMAGE ( "https://cdn.example.com/posters/titlecard.jpg" ; 24 ; "poster-cache-key" ; "2026-03-10" )

Use Cases

  • Render externally hosted poster/key-art in FileMaker without manual download steps.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.
  • TTL/SourceDate settings control cache freshness and when objects are re-fetched.

Related Functions

S3 Storage

14 functions

Inlay_S3_GET

Downloads a private object from S3-compatible storage (AWS S3, Spaces, etc.) and returns a FileMaker container.

S3 StorageReturns Container

Signature

Mode A: ConfigKey

Inlay_S3_GET ( ConfigKey ; SourcePath )

Mode B: Direct credentials

Inlay_S3_GET ( Domain ; Region ; AccessKey ; SecretKey ; Bucket ; SourcePath { ; TTLHours { ; EncryptKey { ; SourceDate } } } )

Parameters

  • ConfigKeyRequired

    Name of an S3 profile previously registered with Inlay_S3_SET_CONFIG. Use this mode for cleaner scripts.

  • SourcePathRequired

    Object key path in the bucket (for example, posters/episode1/keyart.jpg).

  • DomainRequired

    S3-compatible endpoint host when using direct-credentials mode.

  • RegionRequired

    Region identifier used for signing requests (for example, us-east-1).

  • AccessKeyRequired

    Access key ID for direct-credentials mode.

  • SecretKeyRequired

    Secret access key for direct-credentials mode.

  • BucketRequired

    Bucket name that contains SourcePath.

  • TTLHoursOptional

    Cache freshness window in hours for local reuse.

  • EncryptKeyOptional

    Passphrase used to encrypt/decrypt cached object bytes on disk.

  • SourceDateOptional

    Source modified date used to force refresh when object changes.

Returns

FileMaker container

Returns the object body as container data after access and caching checks.

Script Pattern

ConfigKey mode

Use a saved S3 profile so the call stays short inside scripts and calculations.

Set Variable [ $asset ;
    Inlay_S3_GET (
        "prod-media" ;
        "posters/episode1/keyart.jpg"
    )
]

Argument context

  • ConfigKey

    Name of an S3 profile previously registered with Inlay_S3_SET_CONFIG. Use this mode for cleaner scripts.

  • SourcePath

    Object key path in the bucket (for example, posters/episode1/keyart.jpg).

Direct credentials mode

Use the explicit endpoint form when you need to pass domain, region, keys, and bucket in the same call.

Set Variable [ $asset ;
    Inlay_S3_GET (
        "nyc3.digitaloceanspaces.com" ;
        "us-east-1" ;
        "DO_ACCESS_KEY" ;
        "DO_SECRET_KEY" ;
        "inlay-assets" ;
        "posters/episode1/keyart.jpg" ;
        24 ;
        "media-cache-key" ;
        "2026-03-10"
    )
]

Argument context

  • Domain

    S3-compatible endpoint host when using direct-credentials mode.

  • Region

    Region identifier used for signing requests (for example, us-east-1).

  • AccessKey

    Access key ID for direct-credentials mode.

  • SecretKey

    Secret access key for direct-credentials mode.

  • Bucket

    Bucket name that contains SourcePath.

  • SourcePath

    Object key path in the bucket (for example, posters/episode1/keyart.jpg).

  • TTLHours

    Cache freshness window in hours for local reuse.

  • EncryptKey

    Passphrase used to encrypt/decrypt cached object bytes on disk.

  • SourceDate

    Source modified date used to force refresh when object changes.

Use Cases

  • Show private S3 media directly inside container fields.
  • Pull source assets from storage before handing off to transcode workflows.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.
  • TTL/SourceDate settings control cache freshness and when objects are re-fetched.

Related Functions

Inlay_S3_PUT_CONTAINER

Uploads a FileMaker container to S3 using ConfigKey.

S3 StorageActionReturns JSON

Signature

Inlay_S3_PUT_CONTAINER ( ConfigKey ; DestinationFolder ; SourceContainer { ; Metadata { ; DestinationFilename { ; TTLHoursOverride { ; EncryptKeyOverride } } } } )

Parameters

  • ConfigKeyRequired

    Name of the S3 profile previously registered with Inlay_S3_SET_CONFIG.

  • DestinationFolderRequired

    Bucket folder/prefix where uploaded files should be stored.

  • SourceContainerRequired

    FileMaker container field value to upload.

  • MetadataOptional

    JSON object string of metadata key/value pairs to write with the object.

  • DestinationFilenameOptional

    Optional target object filename to override the source name.

  • TTLHoursOverrideOptional

    Cache freshness duration in hours.

  • EncryptKeyOverrideOptional

    Passphrase used for local cache encryption.

Returns

JSON string

Returns JSON upload status/details for the container transfer operation.

Script Pattern

Upload a container field

Push a FileMaker container to object storage while attaching metadata and a stable filename.

Set Variable [ $upload ;
    Inlay_S3_PUT_CONTAINER (
        "prod-media" ;
        "exports/invoices" ;
        Invoices::PdfContainer ;
        "{""customerId"":""C-10042"",""docType"":""invoice""}" ;
        "invoice-10042.pdf"
    )
]

Argument context

  • ConfigKey

    Name of the S3 profile previously registered with Inlay_S3_SET_CONFIG.

  • DestinationFolder

    Bucket folder/prefix where uploaded files should be stored.

  • SourceContainer

    FileMaker container field value to upload.

  • Metadata

    JSON object string of metadata key/value pairs to write with the object.

  • DestinationFilename

    Optional target object filename to override the source name.

Use Cases

  • Upload generated PDFs from container fields into archive buckets.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.
  • Transfer behavior can be synchronous or async based on WaitForCompletion profile settings.

Related Functions

Inlay_S3_PUT_FILE

Opens a native file picker and uploads the selected file to S3 using ConfigKey.

S3 StorageOpens UIActionReturns JSON

Signature

Inlay_S3_PUT_FILE ( ConfigKey ; DestinationFolder { ; Metadata { ; DestinationFilename { ; TTLHoursOverride { ; EncryptKeyOverride } } } } )

Parameters

  • ConfigKeyRequired

    Name of the S3 profile previously registered with Inlay_S3_SET_CONFIG.

  • DestinationFolderRequired

    Bucket folder/prefix where uploaded files should be stored.

  • MetadataOptional

    JSON object string of metadata key/value pairs to write with the object.

  • DestinationFilenameOptional

    Optional target object filename to override the source name.

  • TTLHoursOverrideOptional

    Cache freshness duration in hours.

  • EncryptKeyOverrideOptional

    Passphrase used for local cache encryption.

Returns

Action status JSON

Opens a native file picker and returns JSON describing upload status/result.

Script Pattern

Pick local file and upload

Inlay_S3_PUT_FILE ( "prod-media" ; "uploads/source-footage" ; "{""project"":""episode1""}" ; "fishing.mov" )

Use Cases

  • Let operators pick a local file and push it to the active project bucket.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.
  • Transfer behavior can be synchronous or async based on WaitForCompletion profile settings.

Related Functions

Inlay_S3_VERIFY

Verify an S3 object is reachable with the provided credentials and return basic object details without downloading the body.

S3 StorageReturns JSON

Signature

Mode A: ConfigKey

Inlay_S3_VERIFY ( ConfigKey ; SourcePath )

Mode B: Direct credentials

Inlay_S3_VERIFY ( Domain ; Region ; AccessKey ; SecretKey ; Bucket ; SourcePath )

Parameters

  • ConfigKeyRequired

    Named profile key from Inlay_S3_SET_CONFIG.

  • SourcePathRequired

    Object key path to validate before downloading or rendering.

  • DomainRequired

    Endpoint host for direct-credentials mode.

  • RegionRequired

    Region used for request signing.

  • AccessKeyRequired

    Access key ID for direct-credentials mode.

  • SecretKeyRequired

    Secret access key for direct-credentials mode.

  • BucketRequired

    Bucket containing SourcePath.

Returns

JSON string

Returns object-availability JSON without downloading the full object body.

Script Pattern

Mode A: ConfigKey

Inlay_S3_VERIFY ( "prod-media" ; "trailers/episode1/final.mp4" )

Mode B: Direct credentials

Inlay_S3_VERIFY ( "s3.amazonaws.com" ; "us-east-1" ; "AWS_ACCESS_KEY" ; "AWS_SECRET_KEY" ; "media-prod" ; "trailers/episode1/final.mp4" )

Use Cases

  • Confirm object availability before attempting download/render.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.
  • Verification functions validate object state and do not return container file bodies.

Related Functions

Inlay_S3_VERIFY_HASH

Validates an S3 object against an expected SHA-256 value and returns whether it matches, plus object size and returned hash details.

S3 StorageReturns JSON

Signature

Inlay_S3_VERIFY_HASH ( ConfigKey ; SourcePath ; ExpectedHash )

Parameters

  • ConfigKeyRequired

    Name of the S3 profile previously registered with Inlay_S3_SET_CONFIG.

  • SourcePathRequired

    Object key path inside your bucket (for example, posters/episode1/keyart.jpg).

  • ExpectedHashRequired

    Expected SHA-256 hash (hex) used for integrity comparison.

Returns

JSON string

Returns JSON hash verification results for the requested object.

Script Pattern

Verify object hash

Inlay_S3_VERIFY_HASH ( "prod-media" ; "trailers/episode1/final.mp4" ; "6de9d78f2f95ef7fda94d11fbe9f0e7d5e9a5e7f0be42a8a43a0b8b14f76d6db" )

Use Cases

  • Validate media integrity after upload or external processing.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.
  • Verification functions validate object state and do not return container file bodies.

Related Functions

Inlay_S3_GET_THUMBNAIL

Returns a preview image (<OriginalFileName>_Preview.png) from the same S3 folder as a FileMaker container.

S3 StorageReturns Container

Signature

Mode A: ConfigKey

Inlay_S3_GET_THUMBNAIL ( ConfigKey ; SourcePath )

Mode B: Direct credentials

Inlay_S3_GET_THUMBNAIL ( Domain ; Region ; AccessKey ; SecretKey ; Bucket ; SourcePath { ; TTLHours { ; EncryptKey { ; SourceDate } } } )

Parameters

  • ConfigKeyRequired

    Named profile key from Inlay_S3_SET_CONFIG.

  • SourcePathRequired

    Object key whose sidecar preview image should be returned.

  • DomainRequired

    Endpoint host for direct-credentials mode.

  • RegionRequired

    Region used for request signing.

  • AccessKeyRequired

    Access key ID for direct-credentials mode.

  • SecretKeyRequired

    Secret access key for direct-credentials mode.

  • BucketRequired

    Bucket containing SourcePath and preview assets.

  • TTLHoursOptional

    Cache freshness in hours for the generated/loaded preview image.

  • EncryptKeyOptional

    Passphrase for encrypted thumbnail cache entries.

  • SourceDateOptional

    Modified-date hint used for cache refresh decisions.

Returns

FileMaker container

Returns a PNG preview container for the target object.

Script Pattern

Load a preview image

Fetch a lightweight preview image instead of the full media file when you only need a visual thumbnail.

Set Variable [ $preview ;
    Inlay_S3_GET_THUMBNAIL (
        "prod-media" ;
        "trailers/episode1/final.mp4"
    )
]

Argument context

  • ConfigKey

    Named profile key from Inlay_S3_SET_CONFIG.

  • SourcePath

    Object key whose sidecar preview image should be returned.

Use Cases

  • Display preview images for larger media objects without loading full files.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.
  • TTL/SourceDate settings control cache freshness and when objects are re-fetched.

Related Functions

Inlay_S3_SET_CONFIG

Saves reusable S3 connection settings under ConfigKey for the current FileMaker session.

S3 StorageReturns JSON

Signature

Mode A: ConfigKey

Inlay_S3_SET_CONFIG ( ConfigKey ; Domain ; Region ; AccessKey ; SecretKey ; Bucket { ; TTLHours { ; EncryptKey { ; WaitForCompletion(1|0) } } } )

Mode B: Clear config key

Inlay_S3_SET_CONFIG ( ConfigKey )

Parameters

  • ConfigKeyRequired

    Profile key you reference in later S3 functions (for example, prod-media).

  • DomainRequired

    S3 endpoint host used when creating/updating the profile.

  • RegionRequired

    S3 region for request signing (for example, us-east-1).

  • AccessKeyRequired

    Access key ID for this profile.

  • SecretKeyRequired

    Secret access key for this profile.

  • BucketRequired

    Default bucket for this profile.

  • TTLHoursOptional

    Default cache duration in hours for reads that support caching.

  • EncryptKeyOptional

    Default passphrase for encrypted local cache storage.

  • WaitForCompletionOptional

    Set 1 for synchronous transfers or 0 for async background behavior where supported.

Returns

JSON string

Returns JSON confirming config save/update/clear operations for the active session.

Script Pattern

Create a reusable S3 profile

Configure the connection once, then reference the profile by ConfigKey in later S3 functions.

Set Variable [ $config ;
    Inlay_S3_SET_CONFIG (
        "prod-media" ;
        "nyc3.digitaloceanspaces.com" ;
        "us-east-1" ;
        "DO_ACCESS_KEY" ;
        "DO_SECRET_KEY" ;
        "inlay-assets" ;
        24 ;
        "media-cache-key" ;
        1
    )
]

Argument context

  • ConfigKey

    Profile key you reference in later S3 functions (for example, prod-media).

  • Domain

    S3 endpoint host used when creating/updating the profile.

  • Region

    S3 region for request signing (for example, us-east-1).

  • AccessKey

    Access key ID for this profile.

  • SecretKey

    Secret access key for this profile.

  • Bucket

    Default bucket for this profile.

  • TTLHours

    Default cache duration in hours for reads that support caching.

  • EncryptKey

    Default passphrase for encrypted local cache storage.

  • WaitForCompletion

    Set 1 for synchronous transfers or 0 for async background behavior where supported.

Clear an existing profile

Pass only the ConfigKey when you want to remove the saved profile.

Set Variable [ $config ;
    Inlay_S3_SET_CONFIG ( "prod-media" )
]

Argument context

  • ConfigKey

    Profile key you reference in later S3 functions (for example, prod-media).

Use Cases

  • Register per-environment profiles (prod, staging) once per session.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.

Related Functions

Inlay_S3_GET_METADATA

Returns S3 object metadata and content length for the target object path.

S3 StorageReturns JSON

Signature

Mode A: ConfigKey

Inlay_S3_GET_METADATA ( ConfigKey ; SourcePath )

Mode B: Direct credentials

Inlay_S3_GET_METADATA ( Domain ; Region ; AccessKey ; SecretKey ; Bucket ; SourcePath )

Parameters

  • ConfigKeyRequired

    Named profile key from Inlay_S3_SET_CONFIG.

  • SourcePathRequired

    Object key to inspect for metadata and object length.

  • DomainRequired

    Endpoint host for direct-credentials mode.

  • RegionRequired

    Region used for request signing.

  • AccessKeyRequired

    Access key ID for direct-credentials mode.

  • SecretKeyRequired

    Secret access key for direct-credentials mode.

  • BucketRequired

    Bucket containing SourcePath.

Returns

JSON string

Returns metadata JSON (including object size and metadata fields) for the target object.

Script Pattern

Inspect an object before processing

Read size and metadata before you decide whether to download, render, or transcode the asset.

Set Variable [ $meta ;
    Inlay_S3_GET_METADATA (
        "prod-media" ;
        "posters/episode1/keyart.jpg"
    )
]

Argument context

  • ConfigKey

    Named profile key from Inlay_S3_SET_CONFIG.

  • SourcePath

    Object key to inspect for metadata and object length.

Use Cases

  • Read content length and metadata before deciding processing paths.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.

Related Functions

Inlay_S3_DOWNLOAD_TO_PATH

Downloads an S3 object to local disk with a cancelable progress window.

S3 StorageReturns JSON

Signature

Inlay_S3_DOWNLOAD_TO_PATH ( ConfigKey ; SourcePath { ; DestinationPath } )

Parameters

  • ConfigKeyRequired

    Name of the S3 profile previously registered with Inlay_S3_SET_CONFIG.

  • SourcePathRequired

    Object key path inside your bucket (for example, posters/episode1/keyart.jpg).

  • DestinationPathOptional

    Absolute local destination path for downloaded output.

Returns

JSON string

Returns JSON describing the local download result path, object details, and transfer status.

Script Pattern

Download an object to disk

Use this when a local tool or operator needs the file on disk instead of inside a FileMaker container.

Set Variable [ $download ;
    Inlay_S3_DOWNLOAD_TO_PATH (
        "prod-media" ;
        "posters/episode1/keyart.jpg" ;
        "/Users/shared/Downloads/episode1-keyart.jpg"
    )
]

Argument context

  • ConfigKey

    Name of the S3 profile previously registered with Inlay_S3_SET_CONFIG.

  • SourcePath

    Object key path inside your bucket (for example, posters/episode1/keyart.jpg).

  • DestinationPath

    Absolute local destination path for downloaded output.

Use Cases

  • Download source assets to local disk for external tools or manual review.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.

Related Functions

Inlay_S3_OPEN_FILE_AT_PATH

Opens a local file in the OS default application.

S3 StorageActionOpens UIReturns JSON

Signature

Inlay_S3_OPEN_FILE_AT_PATH ( Path )

Parameters

  • PathRequired

    Absolute local file path (or FileMaker-style file path) to open in the default OS app.

Returns

Action status JSON

Attempts to open a local file in the OS default app and returns success/error JSON.

Script Pattern

Open local file

Inlay_S3_OPEN_FILE_AT_PATH ( "/Users/shared/Downloads/episode1-keyart.jpg" )

Use Cases

  • Open a downloaded file in the default desktop app from a script step.

Notes / Caveats

See example and related functions for usage context.

Related Functions

Inlay_S3_RENDER_MEDIA_HTML

Returns media access URL(s) and an embeddable HTML viewer (video/image/pdf/audio/file) for an S3 object.

S3 StorageReturns JSON

Signature

Mode A: ConfigKey

Inlay_S3_RENDER_MEDIA_HTML ( ConfigKey ; SourcePath { ; UrlTtlSeconds { ; ViewerMode } } )

Mode B: Direct credentials

Inlay_S3_RENDER_MEDIA_HTML ( Domain ; Region ; AccessKey ; SecretKey ; Bucket ; SourcePath { ; UrlTtlSeconds { ; ViewerMode } } )

Parameters

  • ConfigKeyRequired

    Named profile key from Inlay_S3_SET_CONFIG.

  • SourcePathRequired

    Object key for the media asset to render.

  • DomainRequired

    Endpoint host for direct-credentials mode.

  • RegionRequired

    Region used for request signing.

  • AccessKeyRequired

    Access key ID for direct-credentials mode.

  • SecretKeyRequired

    Secret access key for direct-credentials mode.

  • BucketRequired

    Bucket containing SourcePath.

  • UrlTtlSecondsOptional

    Signed URL lifetime in seconds for embedded playback.

  • ViewerModeOptional

    Viewer override: auto, video, image, pdf, audio, or file.

Returns

JSON string

Returns JSON payload containing signed media URL details and embeddable viewer HTML.

Script Pattern

Render embeddable media viewer

Inlay_S3_RENDER_MEDIA_HTML ( "prod-media" ; "trailers/episode1/final.mp4" ; 900 ; "video" )

Use Cases

  • Embed signed media playback HTML in web viewers/container web areas.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.
  • Signed media URLs expire; regenerate HTML when viewer sessions outlive URL TTL.

Related Functions

Inlay_S3_MOUNT

Mounts or unmounts an S3 bucket as a native cloud-storage drive.

S3 StorageUpdatedUnknown

Signature

Inlay_S3_MOUNT ( ConfigKey ; Action { ; DisplayName { ; ReadOnly } } )

Parameters

  • ConfigKeyRequired

    Name of the S3 profile previously registered with Inlay_S3_SET_CONFIG.

  • ActionRequired

    Required argument for this call pattern.

  • DisplayNameOptional

    Optional argument. Omit to use the default behavior.

  • ReadOnlyOptional

    Optional argument. Omit to use the default behavior.

Returns

Unknown

Return behavior is not explicitly documented in the registration comment.

Script Pattern

Minimal call

Inlay_S3_MOUNT ( "prod-media" ; "example" )

Full call pattern

Inlay_S3_MOUNT ( "prod-media" ; "example" ; "example" ; "example" )

Use Cases

  • Use this function to automate S3-backed FileMaker workflows with repeatable scripts.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.

Related Functions

Inlay_S3_CLONE

Copy an S3 object or folder prefix to another S3 location.

S3 StorageActionReturns JSON

Signature

Inlay_S3_CLONE ( SrcConfigKey ; SrcPath ; DstConfigKey ; DstPath { ; Mode { ; Conflict } } )

Parameters

  • SrcConfigKeyRequired

    Saved source S3 profile key created with Inlay_S3_SET_CONFIG.

  • SrcPathRequired

    Source object key or folder prefix. End the path with "/" to copy everything under that prefix.

  • DstConfigKeyRequired

    Saved destination S3 profile key created with Inlay_S3_SET_CONFIG.

  • DstPathRequired

    Destination object key or prefix where copied objects should land.

  • ModeOptional

    Cross-region transfer mode: use stream for the default in-memory path or cache to stage larger copies through a temp file.

  • ConflictOptional

    Conflict strategy when the destination already exists: overwrite, ignore, etag, size, md5, or sha256.

Returns

JSON string

Returns JSON describing copy method, copied/skipped counts, and transferred bytes.

Script Pattern

Clone a whole prefix between S3 profiles

Mirror one logical folder to another S3 location. End SrcPath with "/" to copy everything under that prefix.

Set Variable [ $result ;
    Inlay_S3_CLONE (
        "source-media" ;
        "projects/1234/" ;
        "archive-media" ;
        "backup/projects/1234/" ;
        "cache" ;
        "sha256"
    )
]

Argument context

  • SrcConfigKey

    Saved source S3 profile key created with Inlay_S3_SET_CONFIG.

  • SrcPath

    Source object key or folder prefix. End the path with "/" to copy everything under that prefix.

  • DstConfigKey

    Saved destination S3 profile key created with Inlay_S3_SET_CONFIG.

  • DstPath

    Destination object key or prefix where copied objects should land.

  • Mode

    Cross-region transfer mode: use stream for the default in-memory path or cache to stage larger copies through a temp file.

  • Conflict

    Conflict strategy when the destination already exists: overwrite, ignore, etag, size, md5, or sha256.

Clone a single object

Use the same function when you only need to move one object key from source to destination.

Set Variable [ $result ;
    Inlay_S3_CLONE (
        "source-media" ;
        "projects/1234/final.mov" ;
        "archive-media" ;
        "deliverables/final.mov"
    )
]

Argument context

  • SrcConfigKey

    Saved source S3 profile key created with Inlay_S3_SET_CONFIG.

  • SrcPath

    Source object key or folder prefix. End the path with "/" to copy everything under that prefix.

  • DstConfigKey

    Saved destination S3 profile key created with Inlay_S3_SET_CONFIG.

  • DstPath

    Destination object key or prefix where copied objects should land.

Use Cases

  • Mirror a project prefix from one S3 location to another without round-tripping through FileMaker.
  • Promote approved assets from a source bucket/profile into an archive or delivery bucket/profile.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.
  • Same-region copies can stay server-side; cross-region copies may stream through memory or a temp file based on Mode.
  • Conflict modes trade off safety, speed, and checksum guarantees. Prefer overwrite unless you need skip behavior.

Related Functions

Inlay_S3_COPY

Copy files between a local filesystem and S3.

S3 StorageActionOpens UIReturns JSON

Signature

Inlay_S3_COPY ( ConfigKey ; SrcPath ; DstPath { ; Conflict } )

Parameters

  • ConfigKeyRequired

    Saved S3 profile key created with Inlay_S3_SET_CONFIG.

  • SrcPathRequired

    Source path. Use a local filesystem path for uploads or an S3 object/prefix for downloads.

  • DstPathRequired

    Destination path. Use an S3 key/prefix for uploads or a local filesystem path for downloads.

  • ConflictOptional

    Conflict strategy when the destination already exists: overwrite, ignore, etag, size, md5, or sha256.

Returns

JSON string

Returns JSON describing local-to-S3 or S3-to-local copy results and transfer status.

Script Pattern

Upload a local file into S3

When SrcPath is local and DstPath is an S3 key, Inlay uploads the file and shows progress.

Set Variable [ $copy ;
    Inlay_S3_COPY (
        "prod-media" ;
        "/Users/shared/Deliverables/interview.mov" ;
        "projects/1234/interview.mov" ;
        "overwrite"
    )
]

Argument context

  • ConfigKey

    Saved S3 profile key created with Inlay_S3_SET_CONFIG.

  • SrcPath

    Source path. Use a local filesystem path for uploads or an S3 object/prefix for downloads.

  • DstPath

    Destination path. Use an S3 key/prefix for uploads or a local filesystem path for downloads.

  • Conflict

    Conflict strategy when the destination already exists: overwrite, ignore, etag, size, md5, or sha256.

Download an S3 object to disk

When SrcPath points at S3 and DstPath is local, Inlay downloads the object to disk with progress.

Set Variable [ $copy ;
    Inlay_S3_COPY (
        "prod-media" ;
        "projects/1234/interview.mov" ;
        "/Users/shared/Downloads/interview.mov" ;
        "md5"
    )
]

Argument context

  • ConfigKey

    Saved S3 profile key created with Inlay_S3_SET_CONFIG.

  • SrcPath

    Source path. Use a local filesystem path for uploads or an S3 object/prefix for downloads.

  • DstPath

    Destination path. Use an S3 key/prefix for uploads or a local filesystem path for downloads.

  • Conflict

    Conflict strategy when the destination already exists: overwrite, ignore, etag, size, md5, or sha256.

Use Cases

  • Move assets between local disk and S3 with a native progress window for operators.
  • Upload deliverables or pull review files down to a workstation without custom helper scripts.

Notes / Caveats

  • Network availability and endpoint latency directly affect response time.
  • This function opens a native progress window because local-to-S3 and S3-to-local copies can run longer than a typical script step.
  • Conflict modes that rely on hashes may read existing files before deciding whether to copy.

Related Functions

SMPTE Timecode

1 function

Inlay_TIMECODE

Canonical SMPTE timecode API.

SMPTE TimecodeNewReturns JSON

Signature

Inlay_TIMECODE ( action ; arg1 { ; arg2 { ; arg3 { ; arg4 { ; arg5 { ; optionsJSON } } } } } )

Parameters

  • actionRequired

    Operation token. Choose one of the actions below.

    Conversions
    normalize
    Re-express a frame count or timecode as a valid SMPTE string at the same rate.
    convert
    Convert a timecode or frame count to a target type (smpte, frames, seconds, feet+frames).
    rebase
    Change the frame rate of a timecode, adjusting its value to preserve runtime.
    Parsing
    parse
    Parse a timecode string and return its components as JSON.
    parts
    Return HH, MM, SS, FF components of a timecode as a JSON object.
    isValid
    Return 1 if the timecode is structurally valid for the given rate, 0 otherwise.
    Rate info
    rateInfo
    Return metadata about a rate token (numerator, denominator, drop-frame flag).
    ratePlayback
    Return the playback speed of a rate as a decimal (e.g. 29.97).
    rateTimebase
    Return the timebase of a rate (e.g. 30 for 29.97df).
    rateNtsc
    Return 1 if the rate is an NTSC variant, 0 otherwise.
    Arithmetic
    add
    Add two timecodes or a timecode and a frame offset.
    subtract
    Subtract one timecode from another.
    compare
    Compare two timecodes; returns -1, 0, or 1.
    scale
    Multiply a timecode by a numeric factor.
    mod
    Return the remainder after dividing one timecode by another.
    negate
    Negate a timecode (flip its sign).
    abs
    Return the absolute value of a timecode.
  • arg1Required

    Primary input for the selected action. Usually a timecode string, numeric value, or rate token depending on action.

  • arg2Optional

    Second action-specific argument. Commonly rate, source type, comparison value, or numeric factor.

  • arg3Optional

    Third action-specific argument. Commonly fromRate, toType, or tcB depending on action.

  • arg4Optional

    Fourth action-specific argument. Commonly toType or rate depending on action.

  • arg5Optional

    Fifth action-specific argument. Used by convert for optional toRate.

  • optionsJSONOptional

    Optional JSON settings. convert currently supports filmFormat (35mm4, 35mm3, 35mm2, 16mm) and mode (rebase or runtime).

    {"filmFormat":"35mm4","mode":"runtime"}

Returns

JSON string

Returns JSON for every action, including normalized values, scalar conversion results, and structured parse or rate metadata.

Script Pattern

Normalize shorthand SMPTE input

Use normalize when operators enter shorthand values and you want canonical SMPTE text back.

Set Variable [ $tc ;
    Inlay_TIMECODE ( "normalize" ; "1:2:3:4" ; "23.98" )
]

Argument context

  • action

    Operation token. Choose one of the actions below.

  • arg1

    Primary input for the selected action. Usually a timecode string, numeric value, or rate token depending on action.

  • arg2

    Second action-specific argument. Commonly rate, source type, comparison value, or numeric factor.

Convert timecode to frames

convert is the main bridge between timecode, frames, seconds, ticks, and feet+frames representations.

Set Variable [ $frames ;
    Inlay_TIMECODE (
        "convert" ;
        "01:00:00:00" ;
        "timecode" ;
        "24" ;
        "frames"
    )
]

Argument context

  • action

    Operation token. Choose one of the actions below.

  • arg1

    Primary input for the selected action. Usually a timecode string, numeric value, or rate token depending on action.

  • arg2

    Second action-specific argument. Commonly rate, source type, comparison value, or numeric factor.

  • arg3

    Third action-specific argument. Commonly fromRate, toType, or tcB depending on action.

  • arg4

    Fourth action-specific argument. Commonly toType or rate depending on action.

Convert frames to feet+frames

Pass optionsJSON when you need a non-default film stock layout or runtime-preserving cross-rate conversion.

Set Variable [ $feet ;
    Inlay_TIMECODE (
        "convert" ;
        "864" ;
        "frames" ;
        "24" ;
        "feet" ;
        "" ;
        "{""filmFormat"":""35mm4""}"
    )
]

Argument context

  • action

    Operation token. Choose one of the actions below.

  • arg1

    Primary input for the selected action. Usually a timecode string, numeric value, or rate token depending on action.

  • arg2

    Second action-specific argument. Commonly rate, source type, comparison value, or numeric factor.

  • arg3

    Third action-specific argument. Commonly fromRate, toType, or tcB depending on action.

  • arg4

    Fourth action-specific argument. Commonly toType or rate depending on action.

  • arg5

    Fifth action-specific argument. Used by convert for optional toRate.

  • optionsJSON

    Optional JSON settings. convert currently supports filmFormat (35mm4, 35mm3, 35mm2, 16mm) and mode (rebase or runtime).

Inspect frame-rate metadata

Use rateInfo to learn playback, timebase, and drop-frame status before building downstream workflow logic.

Set Variable [ $rate ;
    Inlay_TIMECODE ( "rateInfo" ; "29.97df" )
]

Argument context

  • action

    Operation token. Choose one of the actions below.

  • arg1

    Primary input for the selected action. Usually a timecode string, numeric value, or rate token depending on action.

Add two timecodes at the same rate

Arithmetic actions work on parsed SMPTE values and enforce an explicit rate token.

Set Variable [ $sum ;
    Inlay_TIMECODE (
        "add" ;
        "00:59:30;00" ;
        "00:00:45;00" ;
        "29.97df"
    )
]

Argument context

  • action

    Operation token. Choose one of the actions below.

  • arg1

    Primary input for the selected action. Usually a timecode string, numeric value, or rate token depending on action.

  • arg2

    Second action-specific argument. Commonly rate, source type, comparison value, or numeric factor.

  • arg3

    Third action-specific argument. Commonly fromRate, toType, or tcB depending on action.

Use Cases

  • Normalize operator-entered timecode before storing it in canonical SMPTE format.
  • Convert between timecode, frame counts, runtime seconds, Premiere ticks, and film feet+frames inside FileMaker scripts.
  • Perform frame-accurate arithmetic and comparison at explicit SMPTE rates, including drop-frame workflows.

Notes / Caveats

  • All actions return JSON. Success responses include ok: true and the selected action; validation failures return ok: false with a message.
  • 29.97 and 59.94 default to non-drop-frame. Use 29.97df or 59.94df explicitly when you need drop-frame semantics.
  • optionsJSON is only meaningful for actions that support optional behavior, primarily convert.

Related Functions

No direct related functions listed.

Video

3 functions

Inlay_VIDEO_METADATA

Analyzes a media file and returns JSON metadata (format, streams, duration, frame information).

VideoReturns JSON

Signature

Inlay_VIDEO_METADATA ( InputPath { ; FFprobePath } )

Parameters

  • InputPathRequired

    Absolute local source media path.

  • FFprobePathOptional

    Absolute path override for ffprobe executable.

Returns

JSON string

Returns JSON media-analysis details such as streams, duration, and format metadata.

Script Pattern

Analyze media file

Inlay_VIDEO_METADATA ( "/Users/shared/media/fishing.mov" )

Use Cases

  • Read stream/frame metadata before choosing transcode presets.

Notes / Caveats

See example and related functions for usage context.

Related Functions

Inlay_TRANSCODE

Starts a media transcode job (non-blocking).

VideoOpens UIReturns JSON

Signature

Mode A: Simple — H.264 MP4 (default)

Inlay_TRANSCODE ( InputPath ; OutputPath )

Mode B: Advanced — full FFmpeg control

Inlay_TRANSCODE ( AdvancedJobJson )

Parameters

  • InputPathSimple — required

    Absolute path to the source media file. Accepts HFS (Macintosh HD:…), filemac:/…, file:/…, filewin:/…, or POSIX path.

  • OutputPathSimple — required

    Absolute path for the output file, typically ending in .mp4. Same path formats as InputPath.

  • FFmpegArgsJsonSimple — optional

    JSON array of FFmpeg CLI tokens that override the default H.264 settings, e.g. ["-crf","18"]. Omit to use the built-in H.264 MP4 preset.

  • AdvancedJobJsonAdvanced — replaces all above

    Pass a JSON object as the only argument to take full control: multiple outputs, filter_complex graphs, custom stream mapping. Required fields: inputs (array of {path}), outputs (array of {path, args}). When used, InputPath and OutputPath are not needed.

Returns

Status JSON

Opens a native progress window and returns immediate status JSON for the started job.

Script Pattern

Simple — H.264 MP4 (default)

Two arguments are all you need. The plugin transcodes to browser-ready H.264 MP4 with AAC audio and faststart/hinting enabled automatically.

Set Variable [ $job ;
    Inlay_TRANSCODE (
        "/Users/shared/media/source.mov" ;
        "/Users/shared/media/output.mp4"
    )
]

Argument context

  • InputPath

    Absolute path to the source media file. Accepts HFS (Macintosh HD:…), filemac:/…, file:/…, filewin:/…, or POSIX path.

  • OutputPath

    Absolute path for the output file, typically ending in .mp4. Same path formats as InputPath.

Advanced — hi-res + proxy + poster in one pass

Pass a single JSON object as the only argument. filter_complex splits the source once so all three outputs share one decode pass — no re-reading the file.

Set Variable [ $job ;
    Inlay_TRANSCODE (
        "{
  ""global_args"": [""-y""],
  ""inputs"": [
    { ""path"": ""/Volumes/Media/source.mov"" }
  ],
  ""filter_complex"": ""[0:v]split=3[vhires][vproxy_src][vpost_src];[vproxy_src]scale=960:540[vproxy];[vpost_src]thumbnail=300[vposter]"",
  ""outputs"": [
    {
      ""path"": ""/Volumes/Media/output_1080p.mp4"",
      ""args"": [""-map"",""[vhires]"",""-map"",""0:a?"",""-c:v"",""libx264"",""-preset"",""medium"",""-crf"",""20"",""-pix_fmt"",""yuv420p"",""-movflags"",""+faststart"",""-c:a"",""aac"",""-b:a"",""192k""]
    },
    {
      ""path"": ""/Volumes/Media/output_proxy.mp4"",
      ""args"": [""-map"",""[vproxy]"",""-map"",""0:a?"",""-c:v"",""libx264"",""-preset"",""fast"",""-crf"",""28"",""-c:a"",""aac"",""-b:a"",""96k""]
    },
    {
      ""path"": ""/Volumes/Media/poster.png"",
      ""args"": [""-map"",""[vposter]"",""-frames:v"",""1""]
    }
  ]
}"
    )
]

Argument context

  • AdvancedJobJson

    Pass a JSON object as the only argument to take full control: multiple outputs, filter_complex graphs, custom stream mapping. Required fields: inputs (array of {path}), outputs (array of {path, args}). When used, InputPath and OutputPath are not needed.

Use Cases

  • Transcode any source video to browser-ready H.264 MP4 with just two arguments — no FFmpeg knowledge required.
  • Produce a hi-res delivery file, a smaller proxy, and a poster image all in one pass using the advanced JSON mode.
  • Automate post-production workflows: trigger a transcode from a FileMaker script and poll the result file until done.

Notes / Caveats

  • Returns immediately — transcoding happens in the background with a native progress window. Poll the result_path file in a script loop to detect completion.
  • The progress window can be cancelled by the user. Check the result JSON for ok: false and status: "cancelled" to handle early exit.

Related Functions

Inlay_INSTALL_FFMPEG

Installs FFmpeg, FFprobe, and FFplay for Inlay media features.

VideoActionReturns JSON

Signature

Inlay_INSTALL_FFMPEG ( UrlsJson )

Parameters

  • UrlsJsonRequired

    Required argument for this call pattern.

Returns

JSON string

Returns final install-result JSON after tool install mode completes.

Script Pattern

Install using Homebrew

Inlay_INSTALL_FFMPEG ( "brew" )

Install using explicit binary URLs

Inlay_INSTALL_FFMPEG ( "{""ffmpeg"":""https://cdn.example.com/tools/ffmpeg"",""ffprobe"":""https://cdn.example.com/tools/ffprobe"",""ffplay"":""https://cdn.example.com/tools/ffplay""}" )

Use Cases

  • Provision FFmpeg tools on macOS hosts before enabling advanced video flows.

Notes / Caveats

  • Install step may take time based on package manager/network speed; run in admin workflows, not latency-sensitive scripts.

Related Functions

Licensing

3 functions

Inlay_REGISTER_LICENSE

Activates this plugin installation using a valid Inlay license key (offline key or platform key).

LicensingReturns JSON

Signature

Inlay_REGISTER_LICENSE ( key )

Parameters

  • keyRequired

    Inlay license key string from your issued license artifact.

Returns

JSON string

Returns activation success/error JSON for the provided license key.

Script Pattern

Activate plugin license

Inlay_REGISTER_LICENSE ( "eyJwcm9kdWN0IjoiaW5sYXkiLC4uLn0.Dd7A..." )

Use Cases

  • Activate a newly provisioned workstation during onboarding.

Notes / Caveats

See example and related functions for usage context.

Related Functions

Inlay_LICENSE_STATUS

Returns current license status as JSON.

LicensingReturns JSON

Signature

Inlay_LICENSE_STATUS

Parameters

This function takes no parameters.

Returns

JSON string

Returns the current local license state JSON for script gating and UI display.

Script Pattern

Read current license state

Inlay_LICENSE_STATUS

Use Cases

  • Gate premium script paths to licensed installations only.

Notes / Caveats

See example and related functions for usage context.

Related Functions

Inlay_PLATFORM_DEACTIVATE

Releases the current machine from platform activation and clears local activation state for this installation.

LicensingReturns JSON

Signature

Inlay_PLATFORM_DEACTIVATE

Parameters

This function takes no parameters.

Returns

JSON string

Returns JSON confirming local activation state was released/cleared.

Script Pattern

Release current machine activation

Inlay_PLATFORM_DEACTIVATE

Use Cases

  • Release a seat before machine replacement or VM rotation.

Notes / Caveats

See example and related functions for usage context.

Related Functions

Update

1 function

Inlay_SELF_UPDATE

Checks for plugin updates (release, beta, nightly) and returns available versions for macOS/Windows.

UpdateReturns JSON

Signature

Inlay_SELF_UPDATE ( { ; CurrentVersionOverride { ; Channel { ; RequestedVersion { ; Platform { ; ApplyUpdate(YES|NO) } } } } } )

Parameters

  • CurrentVersionOverrideOptional

    Current plugin version override for update comparison.

  • ChannelOptional

    Update channel to query (release, beta, nightly).

  • RequestedVersionOptional

    Target plugin version to evaluate or install.

  • PlatformOptional

    Platform override used when evaluating update availability.

  • ApplyUpdateOptional

    Set YES to apply the selected update; NO performs check-only behavior.

Returns

JSON string

Returns JSON describing available versions and update/apply status.

Script Pattern

Check latest release channel

Inlay_SELF_UPDATE

Check beta channel

Inlay_SELF_UPDATE ( "0.2.3" ; "beta" ; "0.2.4-beta.1" ; "macos" ; "NO" )

Use Cases

  • Check release/beta/nightly availability as part of admin maintenance workflows.

Notes / Caveats

See example and related functions for usage context.

Related Functions