Fake text screenshot
A picture of a chat that never happened. Same conversation you would send to the fake text video endpoint, drawn as a still png instead of played out and narrated.
/v1/fake-text-screenshotsScreenshot a conversation
charactersrequiredmessagesrequiredtemplateiphone-darkgroupNameGroup namegroupPhototinderMatchnamerequiredidsideleftavatarcolor#1677ffuserIdfromrequiredtypetexttextimageimageWidthimageHeighturlrequiredcreditsrequiredexpiresAtrequiredcurl -X POST "https://api.vsub.io/v1/fake-text-screenshots" \
-H "Authorization: Bearer vp_a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f90" \
-H "Content-Type: application/json" \
-d '{
"template": "iphone-dark",
"characters": [
{ "name": "Mia", "side": "left" },
{ "name": "Me", "side": "right" }
],
"messages": [
{ "from": "Mia", "text": "did you see what he posted" },
{ "from": "Me", "text": "no?? send it" },
{ "from": "Mia", "text": "you are not ready for this" }
]
}'{
"url": "https://files.vsub.io/expire-30-vsub-free-fake-text-screenshot-641671c3-61e2-4415-91bf-93b9fce3cba8.png",
"credits": 10,
"expiresAt": "2026-09-06T03:13:36.954Z"
}A screenshot costs 10 credits, charged once the png is stored, so a picture that failed to draw is free. The request fails with a 400 when the workspace has fewer than 10 credits left. The png stays available for 30 days. The tool in the app costs nothing, this price is for taking the picture from your own code.
Group chat with an image
Three characters make it a group chat, so the header shows groupName and the photo, and each name is written in its own colour. The image message carries the key and size returned by Files.
{
"template": "whatsapp",
"groupName": "Bali trip",
"groupPhoto": "expire-30-user-image-2b7f9c14-8a3e-4d21-9f07-1c5b6a8e2d40.png",
"characters": [
{
"name": "Ana",
"side": "left",
"color": "#f759ab",
"avatar": "expire-30-user-image-6c1a72f5-4b98-4e3a-8d16-9f2c0b7a5e31.png"
},
{ "name": "Leo", "side": "left", "color": "#52c41a" },
{ "name": "Me", "side": "right" }
],
"messages": [
{ "from": "Ana", "text": "I booked the flights, we land at 6am on the 4th" },
{ "from": "Leo", "text": "Look at the place I found" },
{
"from": "Leo",
"type": "image",
"image": "expire-30-user-image-91d0e4a7-2f65-4c88-b3a9-7e1d5c0f8b42.png",
"imageWidth": 1080,
"imageHeight": 1350
},
{ "from": "Me", "text": "Book it" }
]
}Bubble colour, the unread badge and the rest of the chrome come from your workspace defaults, the same ones the app starts a fake text with, so a screenshot looks like what the tool in the app draws for you. To have the conversation typed out and narrated instead, send the same characters and messages to Fake Text.
