Core
7 functions
Inlay_GET_BOOTTIME
Returns a boot-time runtime anchor (Unix seconds).
Signature
Inlay_GET_BOOTTIMEParameters
This function takes no parameters.
Returns
Returns runtime timing values used as a monotonic anchor for workflow logic.
Script Pattern
Get runtime anchor
Inlay_GET_BOOTTIMEUse 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.
Signature
Inlay_GET_PUBLIC_IPParameters
This function takes no parameters.
Returns
Returns WAN IP lookup results in JSON (success/error state plus IP value when available).
Script Pattern
Check WAN IP
Inlay_GET_PUBLIC_IPUse 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.
Signature
Inlay_CONNECTION_DIAG ( IPorDNS )Parameters
IPorDNSRequiredHostname or IP address to probe for latency diagnostics.
Returns
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.
Signature
Inlay_CUSTOM_FUNCTION ( CustomFunctionName ; PayloadJson )Parameters
CustomFunctionNameRequiredEntitled custom function name tied to the current licensee.
PayloadJsonRequiredJSON payload string containing inputs required by the custom workflow.
Returns
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.
Signature
Inlay_OPEN_LOGParameters
This function takes no parameters.
Returns
Attempts to open the active Inlay log file and returns success/error JSON.
Script Pattern
Open active plugin log
Inlay_OPEN_LOGUse 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.
Signature
Inlay_VERIFY_CODESIGN ( { ; PathOrHost } )Parameters
PathOrHostOptionalOptional argument. Omit to use the default behavior.
Returns
Return behavior is not explicitly documented in the registration comment. Availability: macOS only.
Script Pattern
Minimal call
Inlay_VERIFY_CODESIGNFull 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.
Signature
Inlay_CHECK_FFMPEGParameters
This function takes no parameters.
Returns
Return behavior is not explicitly documented in the registration comment.
Script Pattern
Minimal call
Inlay_CHECK_FFMPEGUse 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.
Signature
Inlay_INSPECT_CONTAINER ( container )Parameters
containerRequiredFileMaker container field value to inspect.
Returns
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.
Signature
Inlay_LOAD_IMAGE ( path )Parameters
pathRequiredAbsolute file path to a local image or PDF file that should be loaded into a container.
Returns
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.
Signature
Inlay_LOAD_REMOTE_IMAGE ( url { ; TTLHours { ; encryptKey { ; date } } } )Parameters
urlRequiredHTTPS URL to a remote image source.
TTLHoursOptionalCache freshness duration in hours.
encryptKeyOptionalPassphrase used for local cache encryption.
dateOptionalOptional argument. Omit to use the default behavior.
Returns
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.
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
ConfigKeyRequiredName of an S3 profile previously registered with Inlay_S3_SET_CONFIG. Use this mode for cleaner scripts.
SourcePathRequiredObject key path in the bucket (for example, posters/episode1/keyart.jpg).
DomainRequiredS3-compatible endpoint host when using direct-credentials mode.
RegionRequiredRegion identifier used for signing requests (for example, us-east-1).
AccessKeyRequiredAccess key ID for direct-credentials mode.
SecretKeyRequiredSecret access key for direct-credentials mode.
BucketRequiredBucket name that contains SourcePath.
TTLHoursOptionalCache freshness window in hours for local reuse.
EncryptKeyOptionalPassphrase used to encrypt/decrypt cached object bytes on disk.
SourceDateOptionalSource modified date used to force refresh when object changes.
Returns
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
ConfigKeyName of an S3 profile previously registered with Inlay_S3_SET_CONFIG. Use this mode for cleaner scripts.
SourcePathObject 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
DomainS3-compatible endpoint host when using direct-credentials mode.
RegionRegion identifier used for signing requests (for example, us-east-1).
AccessKeyAccess key ID for direct-credentials mode.
SecretKeySecret access key for direct-credentials mode.
BucketBucket name that contains SourcePath.
SourcePathObject key path in the bucket (for example, posters/episode1/keyart.jpg).
TTLHoursCache freshness window in hours for local reuse.
EncryptKeyPassphrase used to encrypt/decrypt cached object bytes on disk.
SourceDateSource 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.
Signature
Inlay_S3_PUT_CONTAINER ( ConfigKey ; DestinationFolder ; SourceContainer { ; Metadata { ; DestinationFilename { ; TTLHoursOverride { ; EncryptKeyOverride } } } } )Parameters
ConfigKeyRequiredName of the S3 profile previously registered with Inlay_S3_SET_CONFIG.
DestinationFolderRequiredBucket folder/prefix where uploaded files should be stored.
SourceContainerRequiredFileMaker container field value to upload.
MetadataOptionalJSON object string of metadata key/value pairs to write with the object.
DestinationFilenameOptionalOptional target object filename to override the source name.
TTLHoursOverrideOptionalCache freshness duration in hours.
EncryptKeyOverrideOptionalPassphrase used for local cache encryption.
Returns
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
ConfigKeyName of the S3 profile previously registered with Inlay_S3_SET_CONFIG.
DestinationFolderBucket folder/prefix where uploaded files should be stored.
SourceContainerFileMaker container field value to upload.
MetadataJSON object string of metadata key/value pairs to write with the object.
DestinationFilenameOptional 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.
Signature
Inlay_S3_PUT_FILE ( ConfigKey ; DestinationFolder { ; Metadata { ; DestinationFilename { ; TTLHoursOverride { ; EncryptKeyOverride } } } } )Parameters
ConfigKeyRequiredName of the S3 profile previously registered with Inlay_S3_SET_CONFIG.
DestinationFolderRequiredBucket folder/prefix where uploaded files should be stored.
MetadataOptionalJSON object string of metadata key/value pairs to write with the object.
DestinationFilenameOptionalOptional target object filename to override the source name.
TTLHoursOverrideOptionalCache freshness duration in hours.
EncryptKeyOverrideOptionalPassphrase used for local cache encryption.
Returns
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.
Signature
Mode A: ConfigKey
Inlay_S3_VERIFY ( ConfigKey ; SourcePath )Mode B: Direct credentials
Inlay_S3_VERIFY ( Domain ; Region ; AccessKey ; SecretKey ; Bucket ; SourcePath )Parameters
ConfigKeyRequiredNamed profile key from Inlay_S3_SET_CONFIG.
SourcePathRequiredObject key path to validate before downloading or rendering.
DomainRequiredEndpoint host for direct-credentials mode.
RegionRequiredRegion used for request signing.
AccessKeyRequiredAccess key ID for direct-credentials mode.
SecretKeyRequiredSecret access key for direct-credentials mode.
BucketRequiredBucket containing SourcePath.
Returns
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.
Signature
Inlay_S3_VERIFY_HASH ( ConfigKey ; SourcePath ; ExpectedHash )Parameters
ConfigKeyRequiredName of the S3 profile previously registered with Inlay_S3_SET_CONFIG.
SourcePathRequiredObject key path inside your bucket (for example, posters/episode1/keyart.jpg).
ExpectedHashRequiredExpected SHA-256 hash (hex) used for integrity comparison.
Returns
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.
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
ConfigKeyRequiredNamed profile key from Inlay_S3_SET_CONFIG.
SourcePathRequiredObject key whose sidecar preview image should be returned.
DomainRequiredEndpoint host for direct-credentials mode.
RegionRequiredRegion used for request signing.
AccessKeyRequiredAccess key ID for direct-credentials mode.
SecretKeyRequiredSecret access key for direct-credentials mode.
BucketRequiredBucket containing SourcePath and preview assets.
TTLHoursOptionalCache freshness in hours for the generated/loaded preview image.
EncryptKeyOptionalPassphrase for encrypted thumbnail cache entries.
SourceDateOptionalModified-date hint used for cache refresh decisions.
Returns
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
ConfigKeyNamed profile key from Inlay_S3_SET_CONFIG.
SourcePathObject 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.
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
ConfigKeyRequiredProfile key you reference in later S3 functions (for example, prod-media).
DomainRequiredS3 endpoint host used when creating/updating the profile.
RegionRequiredS3 region for request signing (for example, us-east-1).
AccessKeyRequiredAccess key ID for this profile.
SecretKeyRequiredSecret access key for this profile.
BucketRequiredDefault bucket for this profile.
TTLHoursOptionalDefault cache duration in hours for reads that support caching.
EncryptKeyOptionalDefault passphrase for encrypted local cache storage.
WaitForCompletionOptionalSet 1 for synchronous transfers or 0 for async background behavior where supported.
Returns
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
ConfigKeyProfile key you reference in later S3 functions (for example, prod-media).
DomainS3 endpoint host used when creating/updating the profile.
RegionS3 region for request signing (for example, us-east-1).
AccessKeyAccess key ID for this profile.
SecretKeySecret access key for this profile.
BucketDefault bucket for this profile.
TTLHoursDefault cache duration in hours for reads that support caching.
EncryptKeyDefault passphrase for encrypted local cache storage.
WaitForCompletionSet 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
ConfigKeyProfile 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.
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
ConfigKeyRequiredNamed profile key from Inlay_S3_SET_CONFIG.
SourcePathRequiredObject key to inspect for metadata and object length.
DomainRequiredEndpoint host for direct-credentials mode.
RegionRequiredRegion used for request signing.
AccessKeyRequiredAccess key ID for direct-credentials mode.
SecretKeyRequiredSecret access key for direct-credentials mode.
BucketRequiredBucket containing SourcePath.
Returns
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
ConfigKeyNamed profile key from Inlay_S3_SET_CONFIG.
SourcePathObject 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.
Signature
Inlay_S3_DOWNLOAD_TO_PATH ( ConfigKey ; SourcePath { ; DestinationPath } )Parameters
ConfigKeyRequiredName of the S3 profile previously registered with Inlay_S3_SET_CONFIG.
SourcePathRequiredObject key path inside your bucket (for example, posters/episode1/keyart.jpg).
DestinationPathOptionalAbsolute local destination path for downloaded output.
Returns
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
ConfigKeyName of the S3 profile previously registered with Inlay_S3_SET_CONFIG.
SourcePathObject key path inside your bucket (for example, posters/episode1/keyart.jpg).
DestinationPathAbsolute 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.
Signature
Inlay_S3_OPEN_FILE_AT_PATH ( Path )Parameters
PathRequiredAbsolute local file path (or FileMaker-style file path) to open in the default OS app.
Returns
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.
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
ConfigKeyRequiredNamed profile key from Inlay_S3_SET_CONFIG.
SourcePathRequiredObject key for the media asset to render.
DomainRequiredEndpoint host for direct-credentials mode.
RegionRequiredRegion used for request signing.
AccessKeyRequiredAccess key ID for direct-credentials mode.
SecretKeyRequiredSecret access key for direct-credentials mode.
BucketRequiredBucket containing SourcePath.
UrlTtlSecondsOptionalSigned URL lifetime in seconds for embedded playback.
ViewerModeOptionalViewer override: auto, video, image, pdf, audio, or file.
Returns
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.
Signature
Inlay_S3_MOUNT ( ConfigKey ; Action { ; DisplayName { ; ReadOnly } } )Parameters
ConfigKeyRequiredName of the S3 profile previously registered with Inlay_S3_SET_CONFIG.
ActionRequiredRequired argument for this call pattern.
DisplayNameOptionalOptional argument. Omit to use the default behavior.
ReadOnlyOptionalOptional argument. Omit to use the default behavior.
Returns
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.
Signature
Inlay_S3_CLONE ( SrcConfigKey ; SrcPath ; DstConfigKey ; DstPath { ; Mode { ; Conflict } } )Parameters
SrcConfigKeyRequiredSaved source S3 profile key created with Inlay_S3_SET_CONFIG.
SrcPathRequiredSource object key or folder prefix. End the path with "/" to copy everything under that prefix.
DstConfigKeyRequiredSaved destination S3 profile key created with Inlay_S3_SET_CONFIG.
DstPathRequiredDestination object key or prefix where copied objects should land.
ModeOptionalCross-region transfer mode: use stream for the default in-memory path or cache to stage larger copies through a temp file.
ConflictOptionalConflict strategy when the destination already exists: overwrite, ignore, etag, size, md5, or sha256.
Returns
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
SrcConfigKeySaved source S3 profile key created with Inlay_S3_SET_CONFIG.
SrcPathSource object key or folder prefix. End the path with "/" to copy everything under that prefix.
DstConfigKeySaved destination S3 profile key created with Inlay_S3_SET_CONFIG.
DstPathDestination object key or prefix where copied objects should land.
ModeCross-region transfer mode: use stream for the default in-memory path or cache to stage larger copies through a temp file.
ConflictConflict 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
SrcConfigKeySaved source S3 profile key created with Inlay_S3_SET_CONFIG.
SrcPathSource object key or folder prefix. End the path with "/" to copy everything under that prefix.
DstConfigKeySaved destination S3 profile key created with Inlay_S3_SET_CONFIG.
DstPathDestination 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.
Signature
Inlay_S3_COPY ( ConfigKey ; SrcPath ; DstPath { ; Conflict } )Parameters
ConfigKeyRequiredSaved S3 profile key created with Inlay_S3_SET_CONFIG.
SrcPathRequiredSource path. Use a local filesystem path for uploads or an S3 object/prefix for downloads.
DstPathRequiredDestination path. Use an S3 key/prefix for uploads or a local filesystem path for downloads.
ConflictOptionalConflict strategy when the destination already exists: overwrite, ignore, etag, size, md5, or sha256.
Returns
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
ConfigKeySaved S3 profile key created with Inlay_S3_SET_CONFIG.
SrcPathSource path. Use a local filesystem path for uploads or an S3 object/prefix for downloads.
DstPathDestination path. Use an S3 key/prefix for uploads or a local filesystem path for downloads.
ConflictConflict 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
ConfigKeySaved S3 profile key created with Inlay_S3_SET_CONFIG.
SrcPathSource path. Use a local filesystem path for uploads or an S3 object/prefix for downloads.
DstPathDestination path. Use an S3 key/prefix for uploads or a local filesystem path for downloads.
ConflictConflict 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.
Signature
Inlay_TIMECODE ( action ; arg1 { ; arg2 { ; arg3 { ; arg4 { ; arg5 { ; optionsJSON } } } } } )Parameters
actionRequiredOperation token. Choose one of the actions below.
Conversionsnormalize- 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.
Parsingparse- 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 inforateInfo- 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.
Arithmeticadd- 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.
arg1RequiredPrimary input for the selected action. Usually a timecode string, numeric value, or rate token depending on action.
arg2OptionalSecond action-specific argument. Commonly rate, source type, comparison value, or numeric factor.
arg3OptionalThird action-specific argument. Commonly fromRate, toType, or tcB depending on action.
arg4OptionalFourth action-specific argument. Commonly toType or rate depending on action.
arg5OptionalFifth action-specific argument. Used by convert for optional toRate.
optionsJSONOptionalOptional JSON settings. convert currently supports filmFormat (35mm4, 35mm3, 35mm2, 16mm) and mode (rebase or runtime).
{"filmFormat":"35mm4","mode":"runtime"}
Returns
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
actionOperation token. Choose one of the actions below.
arg1Primary input for the selected action. Usually a timecode string, numeric value, or rate token depending on action.
arg2Second 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
actionOperation token. Choose one of the actions below.
arg1Primary input for the selected action. Usually a timecode string, numeric value, or rate token depending on action.
arg2Second action-specific argument. Commonly rate, source type, comparison value, or numeric factor.
arg3Third action-specific argument. Commonly fromRate, toType, or tcB depending on action.
arg4Fourth 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
actionOperation token. Choose one of the actions below.
arg1Primary input for the selected action. Usually a timecode string, numeric value, or rate token depending on action.
arg2Second action-specific argument. Commonly rate, source type, comparison value, or numeric factor.
arg3Third action-specific argument. Commonly fromRate, toType, or tcB depending on action.
arg4Fourth action-specific argument. Commonly toType or rate depending on action.
arg5Fifth action-specific argument. Used by convert for optional toRate.
optionsJSONOptional 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
actionOperation token. Choose one of the actions below.
arg1Primary 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
actionOperation token. Choose one of the actions below.
arg1Primary input for the selected action. Usually a timecode string, numeric value, or rate token depending on action.
arg2Second action-specific argument. Commonly rate, source type, comparison value, or numeric factor.
arg3Third 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).
Signature
Inlay_VIDEO_METADATA ( InputPath { ; FFprobePath } )Parameters
InputPathRequiredAbsolute local source media path.
FFprobePathOptionalAbsolute path override for ffprobe executable.
Returns
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).
Signature
Mode A: Simple — H.264 MP4 (default)
Inlay_TRANSCODE ( InputPath ; OutputPath )Mode B: Advanced — full FFmpeg control
Inlay_TRANSCODE ( AdvancedJobJson )Parameters
InputPathSimple — requiredAbsolute path to the source media file. Accepts HFS (Macintosh HD:…), filemac:/…, file:/…, filewin:/…, or POSIX path.
OutputPathSimple — requiredAbsolute path for the output file, typically ending in .mp4. Same path formats as InputPath.
FFmpegArgsJsonSimple — optionalJSON 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 abovePass 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
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
InputPathAbsolute path to the source media file. Accepts HFS (Macintosh HD:…), filemac:/…, file:/…, filewin:/…, or POSIX path.
OutputPathAbsolute 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
AdvancedJobJsonPass 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.
Signature
Inlay_INSTALL_FFMPEG ( UrlsJson )Parameters
UrlsJsonRequiredRequired argument for this call pattern.
Returns
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).
Signature
Inlay_REGISTER_LICENSE ( key )Parameters
keyRequiredInlay license key string from your issued license artifact.
Returns
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.
Signature
Inlay_LICENSE_STATUSParameters
This function takes no parameters.
Returns
Returns the current local license state JSON for script gating and UI display.
Script Pattern
Read current license state
Inlay_LICENSE_STATUSUse 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.
Signature
Inlay_PLATFORM_DEACTIVATEParameters
This function takes no parameters.
Returns
Returns JSON confirming local activation state was released/cleared.
Script Pattern
Release current machine activation
Inlay_PLATFORM_DEACTIVATEUse 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.
Signature
Inlay_SELF_UPDATE ( { ; CurrentVersionOverride { ; Channel { ; RequestedVersion { ; Platform { ; ApplyUpdate(YES|NO) } } } } } )Parameters
CurrentVersionOverrideOptionalCurrent plugin version override for update comparison.
ChannelOptionalUpdate channel to query (release, beta, nightly).
RequestedVersionOptionalTarget plugin version to evaluate or install.
PlatformOptionalPlatform override used when evaluating update availability.
ApplyUpdateOptionalSet YES to apply the selected update; NO performs check-only behavior.
Returns
Returns JSON describing available versions and update/apply status.
Script Pattern
Check latest release channel
Inlay_SELF_UPDATECheck 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.