Skip to main content
Glama

Render a lock screen notification video

lockscreen_render_video

Render an iOS lock screen with notifications to an MP4 and wait for it to finish: a wallpaper, the big clock, and cards from imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders that land one by one at the seconds you set. This queues a render, waits for it, and returns once it is done (or after failing/timing out). A short render (3-5 notifications) typically takes 20-60 seconds.

Returns a public link to the MP4; the file is deleted after 24 hours. If txtreel is busy or you hit the rate limit, the result is an error with the message.

If the input is invalid, this returns an error result with the validation messages instead of rendering.

Lock screen format (an iOS 26 lock screen with notifications):

The video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a see-through time such as "now" or "2m ago". A card lands at its "at" second (seconds from the start of the video), growing out of the bottom of the screen (or out of the card already there) as on iOS 26; at 0 it is already there. While cards are on screen the lower half of the wallpaper darkens, as on the phone. At least one notification is required. The video ends "endHold" seconds (default 2) after the last card has settled.

Wallpaper and avatars are https image URLs or data: URIs (local file paths are not available). "wallpaper" also takes one of Apple's iOS 26 wallpapers by name ("sky", "shadow", "halo", "dusk", "yellow", "pink", "azure", "purple"); without one, "sky" (the iOS 26 default) is drawn, in its light or dark version with "theme". "avatar" on a notification shows the contact's photo with the app icon as a small badge. "display": "stack" folds the cards like iOS 26 does (the newest card, the next one or two as one-line rows under it, the rest counted as "+3 from WhatsApp and Messages"); "list" shows every card.

Input Schema

NameRequiredDescriptionDefault
dimNoBlack overlay on the wallpaper, 0 to 1. Default: 0.
dateNoThe line above the clock, written as iOS 26 does, e.g. "Tue Oct 6". Default: "Tue Oct 6".
timeNoThe big clock, without AM/PM, e.g. "9:41". Default: "9:41".
themeNoThe phone's appearance: "light" = frosted glass, "dark" = smoked glass, white text on both as on iOS 26; Apple's wallpapers follow it. Default: light.
cameraNoCamera button bottom right. Default: true.
soundsNoThe iOS notification tone when each card lands (video only). Default: true.
carrierNoNetwork name on the left of the status bar. Default: none.
displayNo"list" shows every card, newest on top; "stack" is iOS 26's default fold: the newest card, the next one or two as one-line rows, the rest counted. Default: list.
endHoldNoSeconds to hold on the last frame after the last card has settled. Default: 2.
padlockNoSmall locked padlock above the date. Default: true.
clockSizeNoClock size in points on a 402 pt wide iPhone screen. Default: 100.
statusBarNoRight side of the status bar. (The clock there is not shown on a lock screen.)
wallpaperNoOne of Apple's iOS 26 wallpapers by name ("sky", "shadow", "halo", "dusk", "yellow", "pink", "azure", "purple"), or a full-bleed image: URL or data: URI. Omitted: "sky", the iOS 26 default.
clockColorNoClock colour (CSS colour). Default: "#FFFFFF".
flashlightNoFlashlight button bottom left. Default: true.
wallpaperXNoWhere the crop is centred horizontally when the image is not the screen's shape, in % (50 = middle). Default: 50.
wallpaperYNoWhere the crop is centred vertically, in % (50 = middle). Default: 50.
clockWeightNoClock numeral weight, 100-900. Default: 760.
clockOpacityNoHow much of the colour fills the Liquid Glass numerals, 0-1; the wallpaper shows through the rest. Default: 0.45.
clockStretchNoVertical stretch of the clock numerals. Default: 1.16.
notificationsYesThe notifications, 1 to 20, in any order (they land in order of "at", ties keep the written order, and the newest sits on top). Lock screen format (an iOS 26 lock screen with notifications): The video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a see-through time such as "now" or "2m ago". A card lands at its "at" second (seconds from the start of the video), growing out of the bottom of the screen (or out of the card already there) as on iOS 26; at 0 it is already there. While cards are on screen the lower half of the wallpaper darkens, as on the phone. At least one notification is required. The video ends "endHold" seconds (default 2) after the last card has settled. Wallpaper and avatars are https image URLs or data: URIs (local file paths are not available). "wallpaper" also takes one of Apple's iOS 26 wallpapers by name ("sky", "shadow", "halo", "dusk", "yellow", "pink", "azure", "purple"); without one, "sky" (the iOS 26 default) is drawn, in its light or dark version with "theme". "avatar" on a notification shows the contact's photo with the app icon as a small badge. "display": "stack" folds the cards like iOS 26 does (the newest card, the next one or two as one-line rows under it, the rest counted as "+3 from WhatsApp and Messages"); "list" shows every card.
wallpaperZoomNo1 = cover the screen, 2 = twice as close. Default: 1.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • changedInput schema / properties / clockOpacity / description
      Previous value: -"Clock opacity, 0-1; below 1 the wallpaper shows faintly through it. Default: 0.88."New value: +"How much of the colour fills the Liquid Glass numerals, 0-1; the wallpaper shows through the rest. Default: 0.45."
    • changedInput schema / properties / clockStretch / description
      Previous value: -"Vertical stretch of the clock numerals. Default: 1.18."New value: +"Vertical stretch of the clock numerals. Default: 1.16."
    • changedInput schema / properties / clockWeight / description
      Previous value: -"Clock numeral weight, 100-900. Default: 700."New value: +"Clock numeral weight, 100-900. Default: 760."
    • changedInput schema / properties / date / description
      Previous value: -"The line above the clock, e.g. \"Tuesday, October 6\". Default: \"Tuesday, October 6\"."New value: +"The line above the clock, written as iOS 26 does, e.g. \"Tue Oct 6\". Default: \"Tue Oct 6\"."
    • changedInput schema / properties / display / description
      Previous value: -"\"list\" shows every card; \"stack\" shows the newest with one or two slivers behind it. Default: list."New value: +"\"list\" shows every card, newest on top; \"stack\" is iOS 26's default fold: the newest card, the next one or two as one-line rows, the rest counted. Default: list."
    • changedInput schema / properties / notifications / description
      Previous value: -"The notifications, 1 to 20, in any order (they land in order of \"at\", ties keep the written order, and the newest sits on top).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a grey time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video) and springs in from the bottom; at 0 it is already there. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). Without a wallpaper a dark gradient is drawn. \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS does (newest on top with slivers behind); \"list\" shows every card."New value: +"The notifications, 1 to 20, in any order (they land in order of \"at\", ties keep the written order, and the newest sits on top).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a see-through time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video), growing out of the bottom of the screen (or out of the card already there) as on iOS 26; at 0 it is already there. While cards are on screen the lower half of the wallpaper darkens, as on the phone. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). \"wallpaper\" also takes one of Apple's iOS 26 wallpapers by name (\"sky\", \"shadow\", \"halo\", \"dusk\", \"yellow\", \"pink\", \"azure\", \"purple\"); without one, \"sky\" (the iOS 26 default) is drawn, in its light or dark version with \"theme\". \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS 26 does (the newest card, the next one or two as one-line rows under it, the rest counted as \"+3 from WhatsApp and Messages\"); \"list\" shows every card."
    • changedInput schema / properties / theme / description
      Previous value: -"Glass tint: \"light\" = pale glass with dark text, \"dark\" = smoked glass with white text. Default: light."New value: +"The phone's appearance: \"light\" = frosted glass, \"dark\" = smoked glass, white text on both as on iOS 26; Apple's wallpapers follow it. Default: light."
    • changedInput schema / properties / wallpaper / description
      Previous value: -"Full-bleed wallpaper image: URL or data: URI. Omitted: a dark gradient."New value: +"One of Apple's iOS 26 wallpapers by name (\"sky\", \"shadow\", \"halo\", \"dusk\", \"yellow\", \"pink\", \"azure\", \"purple\"), or a full-bleed image: URL or data: URI. Omitted: \"sky\", the iOS 26 default."
  2. Changed1 schema field changed
    • changedInput schema / properties / notifications / description
      Previous value: -"The notifications, 1 to 20, in any order (they are shown oldest first by \"at\"; ties keep the written order).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a grey time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video) and springs in from the bottom; at 0 it is already there. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). Without a wallpaper a dark gradient is drawn. \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS does (newest on top with slivers behind); \"list\" shows every card."New value: +"The notifications, 1 to 20, in any order (they land in order of \"at\", ties keep the written order, and the newest sits on top).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a grey time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video) and springs in from the bottom; at 0 it is already there. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). Without a wallpaper a dark gradient is drawn. \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS does (newest on top with slivers behind); \"list\" shows every card."
  3. Changed2 schema fields changed
    • changedInput schema / properties / notifications / description
      Previous value: -"The notifications, 1 to 20, in any order (they are shown oldest first by \"at\"; ties keep the written order).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock, flashlight and camera buttons). Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a grey time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video) and springs in from the bottom; at 0 it is already there. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). Without a wallpaper a dark gradient is drawn. \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS does (newest on top with slivers behind); \"list\" shows every card."New value: +"The notifications, 1 to 20, in any order (they are shown oldest first by \"at\"; ties keep the written order).\n\nLock screen format (an iOS 26 lock screen with notifications):\n\nThe video starts on a lock screen (wallpaper, big clock, date, padlock). Like the chat videos, the 9:16 video is the iPhone screen cut below the status bar and above the flashlight and camera buttons. Each notification is a Liquid Glass card from one app (imessage, whatsapp, instagram, chatgpt, claude, reddit, mail, phone, facetime, notes, reminders) with a bold title (usually the sender), a body of up to 4 lines, and a grey time such as \"now\" or \"2m ago\". A card lands at its \"at\" second (seconds from the start of the video) and springs in from the bottom; at 0 it is already there. At least one notification is required. The video ends \"endHold\" seconds (default 2) after the last card has settled.\n\nWallpaper and avatars are https image URLs or data: URIs (local file paths are not available). Without a wallpaper a dark gradient is drawn. \"avatar\" on a notification shows the contact's photo with the app icon as a small badge. \"display\": \"stack\" folds the cards like iOS does (newest on top with slivers behind); \"list\" shows every card."
    • changedInput schema / properties / wallpaperX / description
      Previous value: -"Where the crop is centred horizontally when the image is not 9:16, in % (50 = middle). Default: 50."New value: +"Where the crop is centred horizontally when the image is not the screen's shape, in % (50 = middle). Default: 50."
  4. Added

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnly=false, idempotent=false), the description discloses the synchronous queue-and-wait behavior, typical runtime, that the result is a public MP4 link deleted after 24 hours, and that rate limiting, busy states, and invalid input produce error results. This is exactly the operational context an agent needs for a long-running render.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The first two sentences are well front-loaded, but the third paragraph restates the lock screen format almost verbatim from the notifications schema description, making the text noticeably redundant for a field already documented at 100% coverage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 22-parameter, nested-schema tool with no output schema, the description covers the return artifact (public MP4 link, 24-hour expiry), timing expectations, and all error classes. An agent can invoke and interpret this call without further information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds genuine meaning: how 'display': 'stack' visually folds cards versus 'list', how avatars badge the app icon, how the landing animation works at each 'at' second, and that wallpaper/avatar only accept URLs or data: URIs (no local paths). These are behavioral semantics not fully conveyed by the parameter docs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource (render an iOS lock screen with notifications to an MP4) and the waiting semantics. It is clearly distinguishable from siblings like lockscreen_screenshot and chat_render_video, which produce different artifacts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear operational context: it queues a render, blocks until finished, and returns or fails on timeout. It also lists failure conditions (busy, rate limit, invalid input) and realistic duration (20-60s). It does not, however, explicitly route the agent away from sibling tools such as lockscreen_screenshot.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources