curl --request POST \
--url https://api.iotools.cloud/v1/tool/whatsapp-chat-generator \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contact": "Sam",
"status": "online",
"script": "--- TODAY\nthem: Morning! Did the invoice come through? | 09:12\nme: Just checked - it landed | 09:14\nme: Sending the receipt over now | 09:14\nthem: Perfect, thanks! | 09:15",
"theme": "light",
"ticks": "read",
"statusTime": "9:41",
"placeholder": ""
}
'{
"tool": "whatsapp-chat-generator",
"tool_version": "1.0.1",
"outputs": {
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"390\" height=\"844\" viewBox=\"0 0 390 844\" font-family=\"-apple-system,'SF Pro Text','Helvetica Neue',Helvetica,Arial,sans-serif\"><title>WhatsApp conversation with Sam</title><rect width=\"390\" height=\"844\" fill=\"#efe7de\"/><clipPath id=\"waScroll\"><rect x=\"0\" y=\"98\" width=\"390\" height=\"648\"/></clipPath><g clip-path=\"url(#waScroll)\"><rect x=\"167\" y=\"110\" width=\"56\" height=\"22\" rx=\"7\" fill=\"#ffffff\"/><text x=\"195\" y=\"125\" text-anchor=\"middle\" font-size=\"12\" fill=\"#667781\">TODAY</text><path d=\"M18 148 L290.94 148 A8 8 0 0 1 298.94 156 L298.94 188 A8 8 0 0 1 290.94 196 L18 196 A8 8 0 0 1 10 188 L10 156 L2 148 Z\" fill=\"#ffffff\"/><text x=\"19\" y=\"169\" font-size=\"15.5\" fill=\"#111b21\" xml:space=\"preserve\">Morning! Did the invoice come through?</text><text x=\"289.94\" y=\"188\" text-anchor=\"end\" font-size=\"11\" fill=\"#667781\">09:12</text><path d=\"M145.58 204 L372 204 L388 204 L380 212 L380 230 A8 8 0 0 1 372 238 L145.58 238 A8 8 0 0 1 137.58 230 L137.58 212 A8 8 0 0 1 145.58 204 Z\" fill=\"#e7ffdb\"/><text x=\"146.58\" y=\"225\" font-size=\"15.5\" fill=\"#111b21\" xml:space=\"preserve\">Just checked - it landed</text><text x=\"354\" y=\"227\" text-anchor=\"end\" font-size=\"11\" fill=\"#667781\">09:14</text><g fill=\"none\" stroke=\"#53bdeb\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M357 223.8l2.6 2.8 5.4-6\"/><path d=\"M361.6 223.8l2.6 2.8 5.4-6\"/></g><path d=\"M117.06 241 L372 241 A8 8 0 0 1 380 249 L380 267 A8 8 0 0 1 372 275 L117.06 275 A8 8 0 0 1 109.06 267 L109.06 249 A8 8 0 0 1 117.06 241 Z\" fill=\"#e7ffdb\"/><text x=\"118.06\" y=\"262\" font-size=\"15.5\" fill=\"#111b21\" xml:space=\"preserve\">Sending the receipt over now</text><text x=\"354\" y=\"264\" text-anchor=\"end\" font-size=\"11\" fill=\"#667781\">09:14</text><g fill=\"none\" stroke=\"#53bdeb\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M357 260.8l2.6 2.8 5.4-6\"/><path d=\"M361.6 260.8l2.6 2.8 5.4-6\"/></g><path d=\"M18 283 L169.38 283 A8 8 0 0 1 177.38 291 L177.38 309 A8 8 0 0 1 169.38 317 L18 317 A8 8 0 0 1 10 309 L10 291 L2 283 Z\" fill=\"#ffffff\"/><text x=\"19\" y=\"304\" font-size=\"15.5\" fill=\"#111b21\" xml:space=\"preserve\">Perfect, thanks!</text><text x=\"168.38\" y=\"306\" text-anchor=\"end\" font-size=\"11\" fill=\"#667781\">09:15</text></g><rect x=\"0\" y=\"0\" width=\"390\" height=\"98\" fill=\"#f6f6f6\"/><path d=\"M24 63l-8 8 8 8\" fill=\"none\" stroke=\"#00a884\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><circle cx=\"57\" cy=\"71\" r=\"17\" fill=\"#c9d1d6\"/><text x=\"57\" y=\"76.78\" text-anchor=\"middle\" font-size=\"14.28\" font-weight=\"600\" fill=\"#ffffff\">S</text><text x=\"84\" y=\"70\" font-size=\"16\" font-weight=\"600\" fill=\"#111b21\">Sam</text><text x=\"84\" y=\"85\" font-size=\"12\" fill=\"#667781\">online</text><g fill=\"none\" stroke=\"#00a884\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"306\" y=\"64\" width=\"15\" height=\"14\" rx=\"3.5\"/><path d=\"M321 69l6-4v12l-6-4z\"/><path d=\"M350 63c-2 0-4 2-4 4 0 7 5 12 12 12 2 0 4-2 4-4l-4-2-2 2c-3-1-5-3-6-6l2-2z\"/></g><line x1=\"0\" y1=\"98\" x2=\"390\" y2=\"98\" stroke=\"#d5d5d5\"/><text x=\"30\" y=\"27\" font-size=\"15\" font-weight=\"600\" fill=\"#111b21\">9:41</text><rect x=\"290.8\" y=\"18\" width=\"3.6\" height=\"4\" rx=\"1.2\" fill=\"#111b21\"/><rect x=\"296.2\" y=\"15.6\" width=\"3.6\" height=\"6.4\" rx=\"1.2\" fill=\"#111b21\"/><rect x=\"301.6\" y=\"13.2\" width=\"3.6\" height=\"8.8\" rx=\"1.2\" fill=\"#111b21\"/><rect x=\"307\" y=\"10.8\" width=\"3.6\" height=\"11.2\" rx=\"1.2\" fill=\"#111b21\"/><g fill=\"none\" stroke=\"#111b21\" stroke-width=\"1.7\" stroke-linecap=\"round\"><path d=\"M319.5 14a10.5 10.5 0 0 1 15 0\"/><path d=\"M322.8 17.6a6 6 0 0 1 8.4 0\"/></g><circle cx=\"327\" cy=\"21.4\" r=\"1.5\" fill=\"#111b21\"/><rect x=\"343\" y=\"12\" width=\"25\" height=\"12\" rx=\"3.6\" fill=\"none\" stroke=\"#111b21\" stroke-opacity=\"0.35\"/><rect x=\"345\" y=\"14\" width=\"17\" height=\"8\" rx=\"2.2\" fill=\"#111b21\"/><path d=\"M369.6 16.4v3.2a2.4 2.4 0 0 0 0-3.2z\" fill=\"#111b21\" fill-opacity=\"0.35\"/><rect x=\"0\" y=\"762\" width=\"390\" height=\"58\" fill=\"#f6f6f6\"/><line x1=\"0\" y1=\"762\" x2=\"390\" y2=\"762\" stroke=\"#d5d5d5\"/><path d=\"M26 783v16M18 791h16\" stroke=\"#667781\" stroke-width=\"2\" stroke-linecap=\"round\"/><rect x=\"46\" y=\"774\" width=\"292\" height=\"34\" rx=\"17\" fill=\"#ffffff\" stroke=\"#d5d5d5\"/><text x=\"60\" y=\"796\" font-size=\"15\" fill=\"#667781\">Message</text><g fill=\"none\" stroke=\"#667781\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"358\" y=\"780\" width=\"8\" height=\"13\" rx=\"4\"/><path d=\"M355 790a7 7 0 0 0 14 0M362 797v4\"/></g><rect x=\"128\" y=\"830\" width=\"134\" height=\"5\" rx=\"2.5\" fill=\"#111b21\" fill-opacity=\"0.85\"/></svg>"
},
"credits_used": 3,
"credits_remaining": null
}WhatsApp Chat Generator
Generate a fake WhatsApp conversation screenshot — contact name, online status, avatar, green and white bubbles, timestamps and blue read ticks — from a simple line-by-line script, and download it as SVG.
curl --request POST \
--url https://api.iotools.cloud/v1/tool/whatsapp-chat-generator \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contact": "Sam",
"status": "online",
"script": "--- TODAY\nthem: Morning! Did the invoice come through? | 09:12\nme: Just checked - it landed | 09:14\nme: Sending the receipt over now | 09:14\nthem: Perfect, thanks! | 09:15",
"theme": "light",
"ticks": "read",
"statusTime": "9:41",
"placeholder": ""
}
'{
"tool": "whatsapp-chat-generator",
"tool_version": "1.0.1",
"outputs": {
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"390\" height=\"844\" viewBox=\"0 0 390 844\" font-family=\"-apple-system,'SF Pro Text','Helvetica Neue',Helvetica,Arial,sans-serif\"><title>WhatsApp conversation with Sam</title><rect width=\"390\" height=\"844\" fill=\"#efe7de\"/><clipPath id=\"waScroll\"><rect x=\"0\" y=\"98\" width=\"390\" height=\"648\"/></clipPath><g clip-path=\"url(#waScroll)\"><rect x=\"167\" y=\"110\" width=\"56\" height=\"22\" rx=\"7\" fill=\"#ffffff\"/><text x=\"195\" y=\"125\" text-anchor=\"middle\" font-size=\"12\" fill=\"#667781\">TODAY</text><path d=\"M18 148 L290.94 148 A8 8 0 0 1 298.94 156 L298.94 188 A8 8 0 0 1 290.94 196 L18 196 A8 8 0 0 1 10 188 L10 156 L2 148 Z\" fill=\"#ffffff\"/><text x=\"19\" y=\"169\" font-size=\"15.5\" fill=\"#111b21\" xml:space=\"preserve\">Morning! Did the invoice come through?</text><text x=\"289.94\" y=\"188\" text-anchor=\"end\" font-size=\"11\" fill=\"#667781\">09:12</text><path d=\"M145.58 204 L372 204 L388 204 L380 212 L380 230 A8 8 0 0 1 372 238 L145.58 238 A8 8 0 0 1 137.58 230 L137.58 212 A8 8 0 0 1 145.58 204 Z\" fill=\"#e7ffdb\"/><text x=\"146.58\" y=\"225\" font-size=\"15.5\" fill=\"#111b21\" xml:space=\"preserve\">Just checked - it landed</text><text x=\"354\" y=\"227\" text-anchor=\"end\" font-size=\"11\" fill=\"#667781\">09:14</text><g fill=\"none\" stroke=\"#53bdeb\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M357 223.8l2.6 2.8 5.4-6\"/><path d=\"M361.6 223.8l2.6 2.8 5.4-6\"/></g><path d=\"M117.06 241 L372 241 A8 8 0 0 1 380 249 L380 267 A8 8 0 0 1 372 275 L117.06 275 A8 8 0 0 1 109.06 267 L109.06 249 A8 8 0 0 1 117.06 241 Z\" fill=\"#e7ffdb\"/><text x=\"118.06\" y=\"262\" font-size=\"15.5\" fill=\"#111b21\" xml:space=\"preserve\">Sending the receipt over now</text><text x=\"354\" y=\"264\" text-anchor=\"end\" font-size=\"11\" fill=\"#667781\">09:14</text><g fill=\"none\" stroke=\"#53bdeb\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M357 260.8l2.6 2.8 5.4-6\"/><path d=\"M361.6 260.8l2.6 2.8 5.4-6\"/></g><path d=\"M18 283 L169.38 283 A8 8 0 0 1 177.38 291 L177.38 309 A8 8 0 0 1 169.38 317 L18 317 A8 8 0 0 1 10 309 L10 291 L2 283 Z\" fill=\"#ffffff\"/><text x=\"19\" y=\"304\" font-size=\"15.5\" fill=\"#111b21\" xml:space=\"preserve\">Perfect, thanks!</text><text x=\"168.38\" y=\"306\" text-anchor=\"end\" font-size=\"11\" fill=\"#667781\">09:15</text></g><rect x=\"0\" y=\"0\" width=\"390\" height=\"98\" fill=\"#f6f6f6\"/><path d=\"M24 63l-8 8 8 8\" fill=\"none\" stroke=\"#00a884\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><circle cx=\"57\" cy=\"71\" r=\"17\" fill=\"#c9d1d6\"/><text x=\"57\" y=\"76.78\" text-anchor=\"middle\" font-size=\"14.28\" font-weight=\"600\" fill=\"#ffffff\">S</text><text x=\"84\" y=\"70\" font-size=\"16\" font-weight=\"600\" fill=\"#111b21\">Sam</text><text x=\"84\" y=\"85\" font-size=\"12\" fill=\"#667781\">online</text><g fill=\"none\" stroke=\"#00a884\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"306\" y=\"64\" width=\"15\" height=\"14\" rx=\"3.5\"/><path d=\"M321 69l6-4v12l-6-4z\"/><path d=\"M350 63c-2 0-4 2-4 4 0 7 5 12 12 12 2 0 4-2 4-4l-4-2-2 2c-3-1-5-3-6-6l2-2z\"/></g><line x1=\"0\" y1=\"98\" x2=\"390\" y2=\"98\" stroke=\"#d5d5d5\"/><text x=\"30\" y=\"27\" font-size=\"15\" font-weight=\"600\" fill=\"#111b21\">9:41</text><rect x=\"290.8\" y=\"18\" width=\"3.6\" height=\"4\" rx=\"1.2\" fill=\"#111b21\"/><rect x=\"296.2\" y=\"15.6\" width=\"3.6\" height=\"6.4\" rx=\"1.2\" fill=\"#111b21\"/><rect x=\"301.6\" y=\"13.2\" width=\"3.6\" height=\"8.8\" rx=\"1.2\" fill=\"#111b21\"/><rect x=\"307\" y=\"10.8\" width=\"3.6\" height=\"11.2\" rx=\"1.2\" fill=\"#111b21\"/><g fill=\"none\" stroke=\"#111b21\" stroke-width=\"1.7\" stroke-linecap=\"round\"><path d=\"M319.5 14a10.5 10.5 0 0 1 15 0\"/><path d=\"M322.8 17.6a6 6 0 0 1 8.4 0\"/></g><circle cx=\"327\" cy=\"21.4\" r=\"1.5\" fill=\"#111b21\"/><rect x=\"343\" y=\"12\" width=\"25\" height=\"12\" rx=\"3.6\" fill=\"none\" stroke=\"#111b21\" stroke-opacity=\"0.35\"/><rect x=\"345\" y=\"14\" width=\"17\" height=\"8\" rx=\"2.2\" fill=\"#111b21\"/><path d=\"M369.6 16.4v3.2a2.4 2.4 0 0 0 0-3.2z\" fill=\"#111b21\" fill-opacity=\"0.35\"/><rect x=\"0\" y=\"762\" width=\"390\" height=\"58\" fill=\"#f6f6f6\"/><line x1=\"0\" y1=\"762\" x2=\"390\" y2=\"762\" stroke=\"#d5d5d5\"/><path d=\"M26 783v16M18 791h16\" stroke=\"#667781\" stroke-width=\"2\" stroke-linecap=\"round\"/><rect x=\"46\" y=\"774\" width=\"292\" height=\"34\" rx=\"17\" fill=\"#ffffff\" stroke=\"#d5d5d5\"/><text x=\"60\" y=\"796\" font-size=\"15\" fill=\"#667781\">Message</text><g fill=\"none\" stroke=\"#667781\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"358\" y=\"780\" width=\"8\" height=\"13\" rx=\"4\"/><path d=\"M355 790a7 7 0 0 0 14 0M362 797v4\"/></g><rect x=\"128\" y=\"830\" width=\"134\" height=\"5\" rx=\"2.5\" fill=\"#111b21\" fill-opacity=\"0.85\"/></svg>"
},
"credits_used": 3,
"credits_remaining": null
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Contact name
Status line
Contact photo
Conversation
Appearance
light, dark Receipt on your messages
read, delivered, sent, none Status bar time
Input bar text
Scroll position
0 <= x <= 100Response
Tool output
Show child attributes
Show child attributes
The tool's slug, echoing the {slug} in the request path.
Output-contract version for this tool.
Credits this call consumed, after any settlement refund. 0 when metering is disabled.
Credits left in the current monthly allowance, or null when metering is disabled.
Correlation id, also sent as x-request-id.
Was this page helpful?