curl --request POST \
--url https://api.iotools.cloud/v1/tool/instagram-dm-generator \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"username": "alexmorgan",
"activity": "Active 2h ago",
"script": "--- TODAY 09:12\nthem: Did you see the new post? ^❤️\nme: Just liked it\nme: The second shot is unreal | 09:14",
"theme": "light",
"bubble": "gradient",
"receipt": "seen",
"activeDot": "true",
"typing": "",
"statusTime": "9:41",
"placeholder": ""
}
'{
"tool": "instagram-dm-generator",
"tool_version": "1.0.2",
"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','Segoe UI',Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif\"><title>Instagram direct messages with alexmorgan</title><defs><linearGradient id=\"igOut\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"><stop offset=\"0\" stop-color=\"#4f5bd5\"/><stop offset=\"1\" stop-color=\"#962fbf\"/></linearGradient></defs><rect width=\"390\" height=\"844\" fill=\"#ffffff\"/><clipPath id=\"igScroll\"><rect x=\"0\" y=\"104\" width=\"390\" height=\"642\"/></clipPath><g clip-path=\"url(#igScroll)\"><g transform=\"translate(0 417)\"><text x=\"195\" y=\"130\" text-anchor=\"middle\" font-size=\"12\" font-weight=\"600\" fill=\"#8e8e8e\">TODAY 09:12</text><rect x=\"44\" y=\"158\" width=\"198.5\" height=\"35\" rx=\"17.5\" fill=\"#efefef\"/><circle cx=\"24\" cy=\"175.5\" r=\"12\" fill=\"#c7c7c7\"/><text x=\"24\" y=\"179.58\" text-anchor=\"middle\" font-size=\"10.08\" font-weight=\"600\" fill=\"#ffffff\">A</text><text x=\"57\" y=\"179\" font-size=\"15\" fill=\"#000000\" xml:space=\"preserve\">Did you see the new post?</text><text x=\"213.25\" y=\"198\" text-anchor=\"middle\" font-size=\"13\">❤️</text><rect x=\"262.3\" y=\"219\" width=\"115.7\" height=\"35\" rx=\"17.5\" fill=\"url(#igOut)\"/><text x=\"275.3\" y=\"240\" font-size=\"15\" fill=\"#ffffff\" xml:space=\"preserve\">Just liked it</text><rect x=\"179.5\" y=\"258\" width=\"198.5\" height=\"35\" rx=\"17.5\" fill=\"url(#igOut)\"/><text x=\"192.5\" y=\"279\" font-size=\"15\" fill=\"#ffffff\" xml:space=\"preserve\">The second shot is unreal</text><text x=\"378\" y=\"307\" text-anchor=\"end\" font-size=\"11\" fill=\"#8e8e8e\">09:14</text><text x=\"378\" y=\"325\" text-anchor=\"end\" font-size=\"11\" fill=\"#8e8e8e\">Seen</text></g></g><rect x=\"0\" y=\"0\" width=\"390\" height=\"104\" fill=\"#ffffff\"/><path d=\"M26 66l-8 8 8 8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><circle cx=\"59\" cy=\"74\" r=\"17\" fill=\"#c7c7c7\"/><text x=\"59\" y=\"79.78\" text-anchor=\"middle\" font-size=\"14.28\" font-weight=\"600\" fill=\"#ffffff\">A</text><circle cx=\"72\" cy=\"87\" r=\"5.5\" fill=\"#4bd964\" stroke=\"#ffffff\" stroke-width=\"2\"/><text x=\"86\" y=\"73\" font-size=\"15.5\" font-weight=\"600\" fill=\"#000000\">alexmorgan</text><text x=\"86\" y=\"88\" font-size=\"12\" fill=\"#8e8e8e\">Active 2h ago</text><g fill=\"none\" stroke=\"#000000\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M351 65c-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\"/><rect x=\"307\" y=\"67\" width=\"15\" height=\"14\" rx=\"4\"/><path d=\"M322 72l7-4.5v13l-7-4.5z\"/></g><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\"/><rect x=\"0\" y=\"762\" width=\"390\" height=\"58\" fill=\"#ffffff\"/><line x1=\"0\" y1=\"762\" x2=\"390\" y2=\"762\" stroke=\"#dbdbdb\"/><circle cx=\"30\" cy=\"791\" r=\"16\" fill=\"url(#igOut)\"/><g fill=\"none\" stroke=\"#ffffff\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 788h4l1.5-2.5h5L34 788h4v9h-17z\"/><circle cx=\"30\" cy=\"792.5\" r=\"3.2\"/></g><rect x=\"52\" y=\"772\" width=\"324\" height=\"38\" rx=\"19\" fill=\"#ffffff\" stroke=\"#dbdbdb\"/><text x=\"70\" y=\"796\" font-size=\"15\" fill=\"#8e8e8e\">Message…</text><g fill=\"none\" stroke=\"#000000\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"297.5\" y=\"782\" width=\"7\" height=\"11\" rx=\"3.5\"/><path d=\"M295 790a6 6 0 0 0 12 0M301 796v3\"/><rect x=\"318.5\" y=\"783\" width=\"17\" height=\"15\" rx=\"4\"/><path d=\"M320.5 795l5-6 4 4 2-2 4 4\"/><circle cx=\"353\" cy=\"791\" r=\"8.5\"/><path d=\"M349 792.5a4.5 4.5 0 0 0 8 0\"/></g><rect x=\"128\" y=\"830\" width=\"134\" height=\"5\" rx=\"2.5\" fill=\"#000000\" fill-opacity=\"0.85\"/></svg>"
},
"credits_used": 5,
"credits_remaining": null
}Instagram DM Generator
Generate a fake Instagram DM screenshot — username, activity status, profile photo, gradient message bubbles, emoji reactions, typing indicator and a Seen receipt — from a simple line-by-line script, and download it as SVG.
curl --request POST \
--url https://api.iotools.cloud/v1/tool/instagram-dm-generator \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"username": "alexmorgan",
"activity": "Active 2h ago",
"script": "--- TODAY 09:12\nthem: Did you see the new post? ^❤️\nme: Just liked it\nme: The second shot is unreal | 09:14",
"theme": "light",
"bubble": "gradient",
"receipt": "seen",
"activeDot": "true",
"typing": "",
"statusTime": "9:41",
"placeholder": ""
}
'{
"tool": "instagram-dm-generator",
"tool_version": "1.0.2",
"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','Segoe UI',Roboto,'Helvetica Neue',Helvetica,Arial,sans-serif\"><title>Instagram direct messages with alexmorgan</title><defs><linearGradient id=\"igOut\" x1=\"0\" y1=\"0\" x2=\"1\" y2=\"1\"><stop offset=\"0\" stop-color=\"#4f5bd5\"/><stop offset=\"1\" stop-color=\"#962fbf\"/></linearGradient></defs><rect width=\"390\" height=\"844\" fill=\"#ffffff\"/><clipPath id=\"igScroll\"><rect x=\"0\" y=\"104\" width=\"390\" height=\"642\"/></clipPath><g clip-path=\"url(#igScroll)\"><g transform=\"translate(0 417)\"><text x=\"195\" y=\"130\" text-anchor=\"middle\" font-size=\"12\" font-weight=\"600\" fill=\"#8e8e8e\">TODAY 09:12</text><rect x=\"44\" y=\"158\" width=\"198.5\" height=\"35\" rx=\"17.5\" fill=\"#efefef\"/><circle cx=\"24\" cy=\"175.5\" r=\"12\" fill=\"#c7c7c7\"/><text x=\"24\" y=\"179.58\" text-anchor=\"middle\" font-size=\"10.08\" font-weight=\"600\" fill=\"#ffffff\">A</text><text x=\"57\" y=\"179\" font-size=\"15\" fill=\"#000000\" xml:space=\"preserve\">Did you see the new post?</text><text x=\"213.25\" y=\"198\" text-anchor=\"middle\" font-size=\"13\">❤️</text><rect x=\"262.3\" y=\"219\" width=\"115.7\" height=\"35\" rx=\"17.5\" fill=\"url(#igOut)\"/><text x=\"275.3\" y=\"240\" font-size=\"15\" fill=\"#ffffff\" xml:space=\"preserve\">Just liked it</text><rect x=\"179.5\" y=\"258\" width=\"198.5\" height=\"35\" rx=\"17.5\" fill=\"url(#igOut)\"/><text x=\"192.5\" y=\"279\" font-size=\"15\" fill=\"#ffffff\" xml:space=\"preserve\">The second shot is unreal</text><text x=\"378\" y=\"307\" text-anchor=\"end\" font-size=\"11\" fill=\"#8e8e8e\">09:14</text><text x=\"378\" y=\"325\" text-anchor=\"end\" font-size=\"11\" fill=\"#8e8e8e\">Seen</text></g></g><rect x=\"0\" y=\"0\" width=\"390\" height=\"104\" fill=\"#ffffff\"/><path d=\"M26 66l-8 8 8 8\" fill=\"none\" stroke=\"#000000\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><circle cx=\"59\" cy=\"74\" r=\"17\" fill=\"#c7c7c7\"/><text x=\"59\" y=\"79.78\" text-anchor=\"middle\" font-size=\"14.28\" font-weight=\"600\" fill=\"#ffffff\">A</text><circle cx=\"72\" cy=\"87\" r=\"5.5\" fill=\"#4bd964\" stroke=\"#ffffff\" stroke-width=\"2\"/><text x=\"86\" y=\"73\" font-size=\"15.5\" font-weight=\"600\" fill=\"#000000\">alexmorgan</text><text x=\"86\" y=\"88\" font-size=\"12\" fill=\"#8e8e8e\">Active 2h ago</text><g fill=\"none\" stroke=\"#000000\" stroke-width=\"1.9\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M351 65c-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\"/><rect x=\"307\" y=\"67\" width=\"15\" height=\"14\" rx=\"4\"/><path d=\"M322 72l7-4.5v13l-7-4.5z\"/></g><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\"/><rect x=\"0\" y=\"762\" width=\"390\" height=\"58\" fill=\"#ffffff\"/><line x1=\"0\" y1=\"762\" x2=\"390\" y2=\"762\" stroke=\"#dbdbdb\"/><circle cx=\"30\" cy=\"791\" r=\"16\" fill=\"url(#igOut)\"/><g fill=\"none\" stroke=\"#ffffff\" stroke-width=\"1.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 788h4l1.5-2.5h5L34 788h4v9h-17z\"/><circle cx=\"30\" cy=\"792.5\" r=\"3.2\"/></g><rect x=\"52\" y=\"772\" width=\"324\" height=\"38\" rx=\"19\" fill=\"#ffffff\" stroke=\"#dbdbdb\"/><text x=\"70\" y=\"796\" font-size=\"15\" fill=\"#8e8e8e\">Message…</text><g fill=\"none\" stroke=\"#000000\" stroke-width=\"1.7\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"297.5\" y=\"782\" width=\"7\" height=\"11\" rx=\"3.5\"/><path d=\"M295 790a6 6 0 0 0 12 0M301 796v3\"/><rect x=\"318.5\" y=\"783\" width=\"17\" height=\"15\" rx=\"4\"/><path d=\"M320.5 795l5-6 4 4 2-2 4 4\"/><circle cx=\"353\" cy=\"791\" r=\"8.5\"/><path d=\"M349 792.5a4.5 4.5 0 0 0 8 0\"/></g><rect x=\"128\" y=\"830\" width=\"134\" height=\"5\" rx=\"2.5\" fill=\"#000000\" fill-opacity=\"0.85\"/></svg>"
},
"credits_used": 5,
"credits_remaining": null
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Username
Activity line
Profile photo
Conversation
Appearance
light, dark Your bubble colour
gradient, blue, grey Receipt on your last message
seen, delivered, sent, none Green active dot on the profile photo
Show typing indicator
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?