{"id":12618,"date":"2025-06-04T13:46:38","date_gmt":"2025-06-04T12:46:38","guid":{"rendered":"https:\/\/www.blopig.com\/blog\/?p=12618"},"modified":"2025-06-04T13:46:40","modified_gmt":"2025-06-04T12:46:40","slug":"chatgpt-can-now-use-rdkit","status":"publish","type":"post","link":"https:\/\/www.blopig.com\/blog\/2025\/06\/chatgpt-can-now-use-rdkit\/","title":{"rendered":"ChatGPT can now use RDKit!"},"content":{"rendered":"\n<p>All chemistry LLM enthusiasts were treated to a pleasant surprise on Friday when Greg Brockman tweeted that ChatGPT now has access to RDKit. I&#8217;ve spent a few hours playing with the updated models and I have summarized some of my findings in this blog. <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"embed-twitter\"><blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\"><p lang=\"en\" dir=\"ltr\">ChatGPT now can analyze, manipulate, and visualize molecules and chemical information via the RDKit library.<br><br>Useful for scientific work across health, biology, and chemistry. <a href=\"https:\/\/t.co\/WfbjuSMFVR\">pic.twitter.com\/WfbjuSMFVR<\/a><\/p>&mdash; Greg Brockman (@gdb) <a href=\"https:\/\/twitter.com\/gdb\/status\/1925944910634463729?ref_src=twsrc%5Etfw\">May 23, 2025<\/a><\/blockquote><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/div>\n<\/div><\/figure>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Assessing the Chemical Intelligence of Large Language Models<\/h2>\n\n\n\n<p>I will take this opportunity to advertise that our latest preprint &#8220;Assessing the Chemical Intelligence of Large Language Models&#8221; is now available to read on arXiv <a href=\"https:\/\/arxiv.org\/abs\/2505.07735\">https:\/\/arxiv.org\/abs\/2505.07735<\/a>. We evaluated the o3-mini reasoning model and demonstrated it has the ability to directly reason about molecules without access to external tools such as RDKit. <\/p>\n\n\n\n<p>This blog focuses briefly on agentic models, which are the same models as previous except with additional access to external tools such as web search or a code interpreter. The latest update integrates RDKit into ChatGPT&#8217;s Python environment, enabling the models to write and execute cheminformatics code to address chemistry questions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">First impressions of ChatGPT with RDKit access<\/h2>\n\n\n\n<p>My initial impression is that these models don&#8217;t suddenly appear &#8220;smarter&#8221; now that they have access to RDKit. For reasoning tasks like NMR elucidation, it seems the models&#8217; performance is roughly the same as it was previous (however more work is needed to verify this).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Draw structures from common name<\/h2>\n\n\n\n<p>The example in Greg&#8217;s tweet shows ChatGPT drawing a molecular structure from the common name. Naturally, I tried replicating this using my favorite drug and was a bit disappointed when both GPT-4o and o4-mini-high entirely hallucinated the structure. It seems these models tried to recall the SMILES string of sildenafil from their training alone, resulting in the hallucination. <\/p>\n\n\n\n<p>The o3 model was successful at this task. It appears the model automatically used web search to find the correct SMILES and used this in the answer. This is consistent with the expectations of an agentic reasoning model, although the model did reason for nearly 2 minutes which makes this task very expensive to run (my estimate is around \u00a30.60). <\/p>\n\n\n\n<p><strong>Prompt: <\/strong>&#8220;<em>Draw the structure of sildenafil using RDKit<\/em>&#8220;<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"><strong>GPT-4o<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>o4-mini-high<\/strong><\/td><td class=\"has-text-align-center\" data-align=\"center\"><strong>o3<\/strong><\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"><img decoding=\"async\" loading=\"lazy\" width=\"182\" height=\"136\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdNKBeShak_4-7bvLXYWUHeVN1RLxW-UA1v5DhVtLNw_1Ug9_6QOckrA29HmhVP37D59QT26xf_rQYAAy6RoW8gY0ewLzyDg5PyE4G9pE5_6QZ8wQbbOkH6R3oxPsrkfp9IPi6UgA?key=QkNkL5EkJr57tO-CG0zwwA\"><\/td><td class=\"has-text-align-center\" data-align=\"center\"><img decoding=\"async\" loading=\"lazy\" width=\"197\" height=\"197\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfzomBP2uVXvFQeJ93oRRg5v0rh9_ySwSpxqz_RK6ScOqQ3oq1PdWNrFYPyhyYP88TTgRB46oOZ1YinBrSGRb7akbS3sgqHT74bkcITjS0ReYd0pOEDi8sdoGaKNgMLuELiLmNnmA?key=QkNkL5EkJr57tO-CG0zwwA\"><\/td><td class=\"has-text-align-center\" data-align=\"center\"><img decoding=\"async\" loading=\"lazy\" width=\"213\" height=\"160\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXcAvbHM9YyjyvGdOxUXMqdDrW0pFzSmAtep0JmQnKzErAORvzeHw0vx5rA3hMf-3fCHeDWg88MoV3jX5tN7fd7Ru9GpwHSOK0TlQ_MRZihab5oT2qJjyOa8agesA9fJZqKqJ4O7tw?key=QkNkL5EkJr57tO-CG0zwwA\"><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>However, one does not need to use the expensive reasoning models to get the correct structure. Since GPT-4o has web search enabled, I prompted the model to first <em>&#8220;search for the SMILES string of sildenafil&#8221;<\/em>, then <em>&#8220;use RDKit to visualize this molecule&#8221;<\/em>. The model gave both responses far quicker than the o3 model, and the structure was correct.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXddq4VlHpE56afDpRL6efAJOWoM9sE4oGBzOWAh-4-MnmgKATCTISgGFK7LyN7ffsWeYUa9I0-AGLEUJlNluAU1F6vzThYgg5q7mrRttuxYcn3WnnGYsofdNZIE7ZW3OkeF294F1A?key=QkNkL5EkJr57tO-CG0zwwA\" alt=\"\" style=\"width:230px;height:auto\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Draw a reaction scheme<\/h2>\n\n\n\n<p>In all honesty, I don&#8217;t know how you draw a reaction scheme using RDKit; but I do know how you synthesize aspirin. I asked o3 to <em>&#8220;Use RDKit to draw the Aspirin reaction scheme&#8221;<\/em> and was given a lovely figure:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfNX9oxtn95PVO8_wMp1oF6pxhre4uA32Jx6XLieX9z_J4PsgZE9CF-wJJPptcRl0VMOYoqPdZsOH-75ShDGCVJEstJAJvFnhxwgS2Z2pCZZSCOr1X8kYT_XRB94ih64hz0wOtcwg?key=QkNkL5EkJr57tO-CG0zwwA\" alt=\"\" \/><\/figure>\n\n\n\n<p>Of course, this question can be solved with a simple look up. I followed with a slightly more complicated prompt testing whether the model understands the molecules it is talking about:<\/p>\n\n\n\n<p><strong>Prompt<\/strong>: &#8220;<em>In this scheme I want you to:<\/em> (1) <em>Para to the hydroxyl group add a chlorine<\/em> (2) <em>Para to the acid add a bromine (3) Rather than create the methyl ester, I want you to make the ethyl ester.<\/em>&#8220;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXed_SRPC92M_YcH0_t6XoH_MD0diua3HzkV5Ugr4WSBaoAh27eiEb9qIwK0RaHpqOrI83dBm9rei65jeRurYhi8INq3Kfh9kPZXt4tQSJkyWImzEdqVVUSS9g9XF4ti4Wa7NSR0Ow?key=QkNkL5EkJr57tO-CG0zwwA\" alt=\"\" \/><\/figure>\n\n\n\n<p>There is an obvious error in the placement of the chlorine &#8211; placing it meta to the hydroxyl rather than para. Everything else in the answer was correct (or at least what I was expecting). Any astute chemist will have hopefully noticed the error in my prompt, with the acetyl group being incorrectly referred to as a methyl ester. Pleasingly, o3 was able to recognize this error and respond appropriately in the reasoning excerpt: <\/p>\n\n\n\n<p><strong>Reasoning excerpt: <\/strong>&#8220;[<em>The user] may be confusing &#8220;methyl ester&#8221; with acetylation; the original scheme adds an acetyl group (CH3CO-) to the phenolic OH, not a methyl ester. The user likely wants to replace this with an ethyl (propionyl) group instead of the acetyl group.<\/em>&#8220;<\/p>\n\n\n\n<p>The model recognized my intention, and correctly changed the (1) reagent (2) product, and (3) by-product to all be consistent with the modification intended by my prompt. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">NMR elucidation<\/h2>\n\n\n\n<p>I asked o3 some NMR elucidation questions. The model didn&#8217;t seem substantially more capable that what I have seen previously. Here is an example question from ChemIQ where o3 gets the answer correct:<\/p>\n\n\n\n<p><strong><span style=\"text-decoration: underline\">Prompt<\/span><\/strong><br><em>Use RDKit to draw the structure of this molecule:<br>Formula: C6H14N2O<br>1H NMR: \u03b4 1.40-1.64 (4H, 1.47 (tt, J = 7.4, 7.3 Hz), 1.58 (quint, J = 7.4 Hz)), 1.86 (3H, s), 2.63 (2H, t, J = 7.3 Hz), 3.17 (2H, t, J = 7.4 Hz).<br>13C NMR: \u03b4 23.1 (1C, s), 26.9 (1C, s), 27.9 (1C, s), 40.0 (1C, s), 41.0 (1C, s), 179.7 (1C,s).<\/em><\/p>\n\n\n\n<p><strong><span style=\"text-decoration: underline\">Response<\/span><\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter is-resized\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfyq14SDjYqBBORaA7HcPr2_HfHs0OgDq-KhNk1hV6m9p_q3NnCr4a9UO4r7IqRkhognM6CH7lkJJaUAK4FiDl1Bt0aTHQfEFP6g4e2AzE9t6DF1SCqu1NzNPEC9oLqcAWL2-Qp?key=QkNkL5EkJr57tO-CG0zwwA\" alt=\"\" style=\"width:228px;height:auto\" \/><\/figure>\n<\/div>\n\n\n<p><em>How the spectral data map onto the structure<\/em><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Signal<\/th><th>Assignment<\/th><th>Reasoning<\/th><\/tr><\/thead><tbody><tr><td><strong>\u00b9H NMR<\/strong> 1.86 ppm (s, 3 H)<\/td><td>CH\u2083\u2013C=O<\/td><td>Acetyl methyl next to carbonyl appears as an isolated singlet.<\/td><\/tr><tr><td>3.17 ppm (t, 2 H, J \u2248 7.4)<\/td><td>\u2013NH\u2013<strong>CH\u2082<\/strong>\u2013C=O<\/td><td>\u03b1-CH\u2082 to the amide N is deshielded by both N and the carbonyl.<\/td><\/tr><tr><td>2.63 ppm (t, 2 H, J \u2248 7.3)<\/td><td>\u2013<strong>CH\u2082<\/strong>\u2013NH\u2082<\/td><td>\u03b1-CH\u2082 to the terminal amine is slightly upfield of the amide \u03b1-CH\u2082.<\/td><\/tr><tr><td>1.47 ppm (tt, 2 H) &amp; 1.58 ppm (quint, 2 H)<\/td><td>The two internal \u2013CH\u2082\u2013 groups<\/td><td>Coupling pattern (triplet-of-triplets &amp; quintet) matches a \u2013CH\u2082\u2013CH\u2082\u2013CH\u2082\u2013CH\u2082\u2013 spine flanked by two triplet termini.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>\u00b9\u00b3C NMR<\/strong> \u03b4 (ppm)<\/th><th>Assignment<\/th><\/tr><\/thead><tbody><tr><td>179.7<\/td><td>C=O of the acetamide<\/td><\/tr><tr><td>41.0 \/ 40.0<\/td><td>CH\u2082 \u03b1 to N (one beside amide N, one beside amine N)<\/td><\/tr><tr><td>27.9 \/ 26.9<\/td><td>The two internal methylenes<\/td><\/tr><tr><td>23.1<\/td><td>CH\u2083 of the acetyl group<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Choose something crazy to do with rdkit then do it<\/h2>\n\n\n\n<p>Having no sense of creativity, I asked o3 to <em>&#8220;choose something crazy to do with rdkit then do it&#8221;<\/em>. The model spent nearly 13 minutes working on the response and gave me a pretty impressive cheminformatics analysis. The model chose a set of ten substituents and enumerated all meta substituted benzene molecules. The model generated 10 \u00d7 9 = 90 molecules, although it missed that half of these are duplicated.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdp3O1B5hWbc4qNS3FYT13Gm_NegVLPnunxND4gLw378y2PIVF1OPNj_YzsIZgwbZrDyPVkf888Vj3iGhTaANWJUp-txJ5ExQd5PlS3LS0XsZXI9hQcNDAXbJfXk5sRipjTmLUO?key=QkNkL5EkJr57tO-CG0zwwA\" alt=\"\" \/><\/figure>\n\n\n\n<p>The model then calculated QED and LogP (what it described as two quick-and-dirty metrics) and plotted this data on a scatter plot.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXc8bESig6b24EaLXVpzmblyfyLwgeykFgTsZ5cjiNfV8JMtNTVaHT01vICFUITUActrnfuPZ7zz0U8mz5JlFn6kbgDUOrSEYLrCSYX6le2BEp5pL3DZWOpBrcgHvLxHwH1b-syoqQ?key=QkNkL5EkJr57tO-CG0zwwA\" alt=\"\" \/><\/figure>\n\n\n\n<p>o3&#8217;s self assessment was that this analysis is \u201cchemically bonkers\u201d. I don&#8217;t necessarily agree with that claim, but nonetheless I do still find this impressive. From a single open ended prompt the o3 model generated a &#8220;research question&#8221;, wrote the cheminformatics scripts, and performed a full analysis. The comparison of LogP and QED is not particularly valuable, however being able to write and execute cheminformatics code like this is a promising sign that these models might soon be able able to do more advanced tasks. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Do something totally different, that&#8217;s also amazing, using rdkit.<\/h2>\n\n\n\n<p>Continuing with my lack of creativity, I asked o3 to <em>&#8220;Do something totally different, that&#8217;s also amazing, using rdkit&#8221;<\/em>. The model responded with:<\/p>\n\n\n\n<p><strong><em>Per-atom hydrophobicity heat-maps for nine famous drugs<\/em><\/strong><br>* <em>Red circles \u279c atoms that increase logP (make the molecule greasier)<\/em><br>* <em>Blue circles \u279c atoms that lower logP (more polar \/ H-bond friendly)<\/em><\/p>\n\n\n\n<p><em>These pictures come straight from RDKit\u2019s Crippen atom-type parameters: for each atom I summed its individual contribution to the compound\u2019s overall logP, normalised everything, and painted the atom using a red-white-blue gradient. [&#8230;]<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXeufXBQPzMr0HDx0EHN0gnkS5aYWWwUC_NXdynnjhT9XC8pT6ojtOZFMqz622ybeqxfxBkStRrvCzL8HJUF1DijZLA4GsRYkOaWZ4C43ROUjpqTW9A6cQHdPIxlzvUKOUUIEeS5og?key=QkNkL5EkJr57tO-CG0zwwA\" alt=\"\" \/><\/figure>\n\n\n\n<p>Again, the model (1) generated an exploratory question (2) collected some molecules (3) wrote the cheminformatics analysis scripts, and (4) visualized the results. The final figure is is a nice visualization and would have easily taken me a few hours to generate in the days before LLMs. <\/p>\n\n\n\n<p>That said, there are some major inaccuracies in the molecular structures, as these do not match the corresponding labels. Just as seen earlier with sildenafil, it&#8217;s possible o3 tried to recall the SMILES strings of these molecules from memory leading to hallucinations. Nonetheless, the ability for ChatGPT to generate this entire analysis and figure from a single open ended prompt is pretty impressive. <\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Do something totally different again. Make it epic!<\/h2>\n\n\n\n<p>Trying to push o3 even further, I asked: <em>&#8220;Do something totally different again. Make it epic!<\/em>&#8220;&#8230; I believe I just got trolled by ChatGPT:<\/p>\n\n\n\n<p><em>Behold an <strong>EPIC molecular mosaic<\/strong>!<\/em><br><em>Every tile that forms the letters \u201cEPIC\u201d is a different meta-disubstituted benzene, spun randomly on the canvas. Ninety tiny molecules, one giant shout-out to chemistry. This blends art with cheminformatics: SMILES strings become brush-strokes, RDKit the paintbox.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXeEF-4tb5ytAa2SdWKcRDyg8_5mrqaGqkTosk_W-ggCN9EpUv9sma2vaMgDRldf5dD3--IMV560nxKTi92QKRRey2sQHAT4LXx_-Wy3RhtgVmYXuKz5XfAv_EKbhjUNgGfdISERCg?key=QkNkL5EkJr57tO-CG0zwwA\" alt=\"\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>As a chemist, the updated ChatGPT is certainly fun to play with. It doesn&#8217;t seem like these models are inherently <em>smarter<\/em> now that they have access to RDKit, but they will likely be more <em>helpful<\/em> to a typical chemistry user. Visualizing molecules in the chat interface is certainly more convenient that dealing with SMILES strings. This blog hasn&#8217;t highlighted any specific use cases where this new functionality is particularly useful, but I&#8217;m sure they will exist. <\/p>\n\n\n\n<p>If you decide to play with these models, make sure you use the reasoning models like o3 and o4-mini, as these are far more capable than the default GPT-4o. <\/p>\n\n\n\n<p>I\u2019d love to hear from fellow chemists about their experiences with ChatGPT. Please share your interesting use cases, whether highlighting impressive successes or significant mistakes made by the model.<\/p>\n\n\n\n<p>Lastly, if you&#8217;ve read this far, I&#8217;d like to remind you about our preprint, &#8220;Assessing the Chemical Intelligence of Large Language Models&#8221; which you might finding interesting: <a href=\"https:\/\/arxiv.org\/abs\/2505.07735\">https:\/\/arxiv.org\/abs\/2505.07735<\/a><\/p>\n\n\n\n<p>&#8211; Nicholas<\/p>\n","protected":false},"excerpt":{"rendered":"<p>All chemistry LLM enthusiasts were treated to a pleasant surprise on Friday when Greg Brockman tweeted that ChatGPT now has access to RDKit. I&#8217;ve spent a few hours playing with the updated models and I have summarized some of my findings in this blog.<\/p>\n","protected":false},"author":133,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","wikipediapreview_detectlinks":true,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"ngg_post_thumbnail":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[633,187,189,201],"tags":[724,129,854],"ppma_author":[830],"class_list":["post-12618","post","type-post","status-publish","format-standard","hentry","category-ai","category-cheminformatics","category-machine-learning","category-small-molecules","tag-chatgpt","tag-rdkit","tag-sildenafil"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"authors":[{"term_id":830,"user_id":133,"is_guest":0,"slug":"nicholas","display_name":"Nicholas Runcie","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/0e750509b2d35cd15a7d1a304722cab7dd4601643e63e604b835d0b3ea14a45a?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/12618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/users\/133"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/comments?post=12618"}],"version-history":[{"count":5,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/12618\/revisions"}],"predecessor-version":[{"id":12681,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/posts\/12618\/revisions\/12681"}],"wp:attachment":[{"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/media?parent=12618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/categories?post=12618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/tags?post=12618"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.blopig.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=12618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}