Render a lock screen notification video
lockscreen_render_videoRender 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
| Name | Required | Description | Default |
|---|---|---|---|
| dim | No | Black overlay on the wallpaper, 0 to 1. Default: 0. | |
| date | No | The line above the clock, written as iOS 26 does, e.g. "Tue Oct 6". Default: "Tue Oct 6". | |
| time | No | The big clock, without AM/PM, e.g. "9:41". Default: "9:41". | |
| theme | No | 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. | |
| camera | No | Camera button bottom right. Default: true. | |
| sounds | No | The iOS notification tone when each card lands (video only). Default: true. | |
| carrier | No | Network name on the left of the status bar. Default: none. | |
| display | No | "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. | |
| endHold | No | Seconds to hold on the last frame after the last card has settled. Default: 2. | |
| padlock | No | Small locked padlock above the date. Default: true. | |
| clockSize | No | Clock size in points on a 402 pt wide iPhone screen. Default: 100. | |
| statusBar | No | Right side of the status bar. (The clock there is not shown on a lock screen.) | |
| wallpaper | No | 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. | |
| clockColor | No | Clock colour (CSS colour). Default: "#FFFFFF". | |
| flashlight | No | Flashlight button bottom left. Default: true. | |
| wallpaperX | No | Where the crop is centred horizontally when the image is not the screen's shape, in % (50 = middle). Default: 50. | |
| wallpaperY | No | Where the crop is centred vertically, in % (50 = middle). Default: 50. | |
| clockWeight | No | Clock numeral weight, 100-900. Default: 760. | |
| clockOpacity | No | How much of the colour fills the Liquid Glass numerals, 0-1; the wallpaper shows through the rest. Default: 0.45. | |
| clockStretch | No | Vertical stretch of the clock numerals. Default: 1.16. | |
| notifications | Yes | 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). 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. | |
| wallpaperZoom | No | 1 = cover the screen, 2 = twice as close. Default: 1. |