curl --request POST \
--url https://api.iotools.cloud/v1/tool/imessage-chat-generator \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"contact": "Alex",
"script": "--- Today 9:41 AM\nthem: Are we still on for tonight?\nme: Yes! 8pm, usual place\nme: I'll book the table now\nthem: Perfect",
"bubble": "imessage",
"theme": "light",
"statusTime": "9:41",
"placeholder": "",
"delivered": ""
}
EOF{
"tool": "imessage-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>iMessage conversation with Alex</title><rect width=\"390\" height=\"844\" fill=\"#ffffff\"/><clipPath id=\"imsgScroll\"><rect x=\"0\" y=\"140\" width=\"390\" height=\"608\"/></clipPath><g clip-path=\"url(#imsgScroll)\"><text x=\"195\" y=\"168\" text-anchor=\"middle\" font-size=\"12\" fill=\"#8e8e93\"><tspan font-weight=\"700\">Today</tspan> 9:41 AM</text><path d=\"M17 219c0 6-3 11-8 14c8 1 15-2 20-6z\" fill=\"#e9e9eb\"/><rect x=\"16\" y=\"196\" width=\"240.52\" height=\"35\" rx=\"17.5\" fill=\"#e9e9eb\"/><text x=\"30\" y=\"218\" font-size=\"16.5\" fill=\"#000000\" xml:space=\"preserve\">Are we still on for tonight?</text><rect x=\"186.61\" y=\"243\" width=\"187.39\" height=\"35\" rx=\"17.5\" fill=\"#0a7cff\"/><text x=\"200.61\" y=\"265\" font-size=\"16.5\" fill=\"#ffffff\" xml:space=\"preserve\">Yes! 8pm, usual place</text><path d=\"M373 305c0 6 3 11 8 14c-8 1-15-2-20-6z\" fill=\"#0a7cff\"/><rect x=\"171.43\" y=\"282\" width=\"202.57\" height=\"35\" rx=\"17.5\" fill=\"#0a7cff\"/><text x=\"185.43\" y=\"304\" font-size=\"16.5\" fill=\"#ffffff\" xml:space=\"preserve\">I'll book the table now</text><path d=\"M17 352c0 6-3 11-8 14c8 1 15-2 20-6z\" fill=\"#e9e9eb\"/><rect x=\"16\" y=\"329\" width=\"81.13\" height=\"35\" rx=\"17.5\" fill=\"#e9e9eb\"/><text x=\"30\" y=\"351\" font-size=\"16.5\" fill=\"#000000\" xml:space=\"preserve\">Perfect</text></g><rect x=\"0\" y=\"0\" width=\"390\" height=\"140\" fill=\"#f7f7f8\"/><path d=\"M26 74l-9 9 9 9\" fill=\"none\" stroke=\"#0a7cff\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><circle cx=\"195\" cy=\"75\" r=\"25\" fill=\"#c7c7cc\"/><text x=\"195\" y=\"83.5\" text-anchor=\"middle\" font-size=\"21\" font-weight=\"600\" fill=\"#ffffff\">A</text><text x=\"195\" y=\"118\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"500\" fill=\"#000000\">Alex</text><line x1=\"0\" y1=\"140\" x2=\"390\" y2=\"140\" stroke=\"#d6d6da\"/><text x=\"30\" y=\"27\" font-size=\"15\" font-weight=\"600\" fill=\"#000000\">9:41</text><rect x=\"290.8\" y=\"18\" width=\"3.6\" height=\"4\" rx=\"1.2\" fill=\"#000000\"/><rect x=\"296.2\" y=\"15.6\" width=\"3.6\" height=\"6.4\" rx=\"1.2\" fill=\"#000000\"/><rect x=\"301.6\" y=\"13.2\" width=\"3.6\" height=\"8.8\" rx=\"1.2\" fill=\"#000000\"/><rect x=\"307\" y=\"10.8\" width=\"3.6\" height=\"11.2\" rx=\"1.2\" fill=\"#000000\"/><g fill=\"none\" stroke=\"#000000\" 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=\"#000000\"/><rect x=\"343\" y=\"12\" width=\"25\" height=\"12\" rx=\"3.6\" fill=\"none\" stroke=\"#000000\" stroke-opacity=\"0.35\"/><rect x=\"345\" y=\"14\" width=\"17\" height=\"8\" rx=\"2.2\" fill=\"#000000\"/><path d=\"M369.6 16.4v3.2a2.4 2.4 0 0 0 0-3.2z\" fill=\"#000000\" fill-opacity=\"0.35\"/><line x1=\"0\" y1=\"764\" x2=\"390\" y2=\"764\" stroke=\"#d6d6da\"/><circle cx=\"30\" cy=\"792\" r=\"15\" fill=\"#e9e9eb\"/><path d=\"M30 785v14M23 792h14\" stroke=\"#8e8e93\" stroke-width=\"2\" stroke-linecap=\"round\"/><rect x=\"54\" y=\"775\" width=\"320\" height=\"34\" rx=\"17\" fill=\"#ffffff\" stroke=\"#d6d6da\"/><text x=\"68\" y=\"797\" font-size=\"15\" fill=\"#8e8e93\">iMessage</text><circle cx=\"357\" cy=\"792\" r=\"13\" fill=\"#d6d6da\"/><path d=\"M357 797v-10m-5 5 5-5 5 5\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><rect x=\"128\" y=\"830\" width=\"134\" height=\"5\" rx=\"2.5\" fill=\"#000000\" fill-opacity=\"0.85\"/></svg>"
},
"credits_used": 3,
"credits_remaining": null
}iMessage Chat Generator
Generate a fake iMessage conversation screenshot — blue or green bubbles, contact name, avatar, date separators and a Delivered receipt — from a simple line-by-line script, and download it as SVG.
curl --request POST \
--url https://api.iotools.cloud/v1/tool/imessage-chat-generator \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"contact": "Alex",
"script": "--- Today 9:41 AM\nthem: Are we still on for tonight?\nme: Yes! 8pm, usual place\nme: I'll book the table now\nthem: Perfect",
"bubble": "imessage",
"theme": "light",
"statusTime": "9:41",
"placeholder": "",
"delivered": ""
}
EOF{
"tool": "imessage-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>iMessage conversation with Alex</title><rect width=\"390\" height=\"844\" fill=\"#ffffff\"/><clipPath id=\"imsgScroll\"><rect x=\"0\" y=\"140\" width=\"390\" height=\"608\"/></clipPath><g clip-path=\"url(#imsgScroll)\"><text x=\"195\" y=\"168\" text-anchor=\"middle\" font-size=\"12\" fill=\"#8e8e93\"><tspan font-weight=\"700\">Today</tspan> 9:41 AM</text><path d=\"M17 219c0 6-3 11-8 14c8 1 15-2 20-6z\" fill=\"#e9e9eb\"/><rect x=\"16\" y=\"196\" width=\"240.52\" height=\"35\" rx=\"17.5\" fill=\"#e9e9eb\"/><text x=\"30\" y=\"218\" font-size=\"16.5\" fill=\"#000000\" xml:space=\"preserve\">Are we still on for tonight?</text><rect x=\"186.61\" y=\"243\" width=\"187.39\" height=\"35\" rx=\"17.5\" fill=\"#0a7cff\"/><text x=\"200.61\" y=\"265\" font-size=\"16.5\" fill=\"#ffffff\" xml:space=\"preserve\">Yes! 8pm, usual place</text><path d=\"M373 305c0 6 3 11 8 14c-8 1-15-2-20-6z\" fill=\"#0a7cff\"/><rect x=\"171.43\" y=\"282\" width=\"202.57\" height=\"35\" rx=\"17.5\" fill=\"#0a7cff\"/><text x=\"185.43\" y=\"304\" font-size=\"16.5\" fill=\"#ffffff\" xml:space=\"preserve\">I'll book the table now</text><path d=\"M17 352c0 6-3 11-8 14c8 1 15-2 20-6z\" fill=\"#e9e9eb\"/><rect x=\"16\" y=\"329\" width=\"81.13\" height=\"35\" rx=\"17.5\" fill=\"#e9e9eb\"/><text x=\"30\" y=\"351\" font-size=\"16.5\" fill=\"#000000\" xml:space=\"preserve\">Perfect</text></g><rect x=\"0\" y=\"0\" width=\"390\" height=\"140\" fill=\"#f7f7f8\"/><path d=\"M26 74l-9 9 9 9\" fill=\"none\" stroke=\"#0a7cff\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><circle cx=\"195\" cy=\"75\" r=\"25\" fill=\"#c7c7cc\"/><text x=\"195\" y=\"83.5\" text-anchor=\"middle\" font-size=\"21\" font-weight=\"600\" fill=\"#ffffff\">A</text><text x=\"195\" y=\"118\" text-anchor=\"middle\" font-size=\"13\" font-weight=\"500\" fill=\"#000000\">Alex</text><line x1=\"0\" y1=\"140\" x2=\"390\" y2=\"140\" stroke=\"#d6d6da\"/><text x=\"30\" y=\"27\" font-size=\"15\" font-weight=\"600\" fill=\"#000000\">9:41</text><rect x=\"290.8\" y=\"18\" width=\"3.6\" height=\"4\" rx=\"1.2\" fill=\"#000000\"/><rect x=\"296.2\" y=\"15.6\" width=\"3.6\" height=\"6.4\" rx=\"1.2\" fill=\"#000000\"/><rect x=\"301.6\" y=\"13.2\" width=\"3.6\" height=\"8.8\" rx=\"1.2\" fill=\"#000000\"/><rect x=\"307\" y=\"10.8\" width=\"3.6\" height=\"11.2\" rx=\"1.2\" fill=\"#000000\"/><g fill=\"none\" stroke=\"#000000\" 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=\"#000000\"/><rect x=\"343\" y=\"12\" width=\"25\" height=\"12\" rx=\"3.6\" fill=\"none\" stroke=\"#000000\" stroke-opacity=\"0.35\"/><rect x=\"345\" y=\"14\" width=\"17\" height=\"8\" rx=\"2.2\" fill=\"#000000\"/><path d=\"M369.6 16.4v3.2a2.4 2.4 0 0 0 0-3.2z\" fill=\"#000000\" fill-opacity=\"0.35\"/><line x1=\"0\" y1=\"764\" x2=\"390\" y2=\"764\" stroke=\"#d6d6da\"/><circle cx=\"30\" cy=\"792\" r=\"15\" fill=\"#e9e9eb\"/><path d=\"M30 785v14M23 792h14\" stroke=\"#8e8e93\" stroke-width=\"2\" stroke-linecap=\"round\"/><rect x=\"54\" y=\"775\" width=\"320\" height=\"34\" rx=\"17\" fill=\"#ffffff\" stroke=\"#d6d6da\"/><text x=\"68\" y=\"797\" font-size=\"15\" fill=\"#8e8e93\">iMessage</text><circle cx=\"357\" cy=\"792\" r=\"13\" fill=\"#d6d6da\"/><path d=\"M357 797v-10m-5 5 5-5 5 5\" fill=\"none\" stroke=\"#ffffff\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><rect x=\"128\" y=\"830\" width=\"134\" height=\"5\" rx=\"2.5\" fill=\"#000000\" 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
Contact photo
Conversation
Message type
imessage, sms Appearance
light, dark Status bar time
Input bar text
Show Delivered under the last sent message
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?