{"id":112391,"date":"2026-05-30T11:10:51","date_gmt":"2026-05-30T05:40:51","guid":{"rendered":"https:\/\/www.guvi.in\/blog\/?p=112391"},"modified":"2026-05-30T11:10:53","modified_gmt":"2026-05-30T05:40:53","slug":"variational-autoencoders","status":"publish","type":"post","link":"https:\/\/www.guvi.in\/blog\/variational-autoencoders\/","title":{"rendered":"Variational Autoencoders: A Guide to VAEs"},"content":{"rendered":"\n<p>Generative AI has become one of the most transformative areas in deep learning. From creating photorealistic images to generating synthetic medical data, the ability to learn from data and produce new, meaningful samples is at the frontier of what AI can do.<\/p>\n\n\n\n<p>At the heart of this capability is a class of models called generative models, and one of the most principled and powerful among them is the Variational Autoencoder.<\/p>\n\n\n\n<p>The VAE is not just a clever engineering trick. It is a mathematically grounded framework that combines deep learning with probabilistic modelling to learn compact, structured representations of data that can then be used to generate entirely new samples that look like they belong to the original dataset.<\/p>\n\n\n\n<p>This article unpacks how Variational Autoencoders<strong> <\/strong>work, why they are designed the way they are, what makes them different from standard autoencoders, and where they are applied in real-world AI systems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>TL;DR<\/strong><\/h2>\n\n\n\n<p>\u2022&nbsp; &nbsp; &nbsp; A VAE encodes input data into a probability distribution in latent space, not a single fixed point.<\/p>\n\n\n\n<p>\u2022&nbsp; &nbsp; &nbsp; It consists of an encoder network, a sampling step using the reparameterisation trick, and a decoder network.<\/p>\n\n\n\n<p>\u2022&nbsp; &nbsp; &nbsp; The training objective combines reconstruction loss and KL divergence to balance fidelity and latent space regularity.<\/p>\n\n\n\n<p>\u2022&nbsp; &nbsp; &nbsp; VAEs enable controlled generation, interpolation between data points, and structured data synthesis.<\/p>\n\n\n\n<p>\u2022&nbsp; &nbsp; &nbsp; They are widely used in image generation, drug discovery, anomaly detection, and representation learning.<\/p>\n\n\n\n<div class=\"guvi-answer-card\" style=\"margin: 40px 0;\">\n\n  <div style=\"\n    position: relative;\n    background: linear-gradient(135deg, #f0fff4, #e6f7ee);\n    border: 1px solid #cfeedd;\n    padding: 26px 24px 22px 24px;\n    border-radius: 14px;\n    font-family: Arial, sans-serif;\n    box-shadow: 0 6px 16px rgba(0,0,0,0.05);\n  \">\n\n    <!-- Top accent -->\n    <div style=\"\n      position: absolute;\n      top: 0;\n      left: 0;\n      height: 6px;\n      width: 100%;\n      background: linear-gradient(to right, #099f4e, #6dd5a3);\n      border-radius: 14px 14px 0 0;\n    \"><\/div>\n\n    <!-- Title -->\n    <h3 style=\"\n      margin: 10px 0 12px 0;\n      color: #099f4e;\n      font-size: 20px;\n    \">\n      What Is a Variational Autoencoder (VAE)?\n    <\/h3>\n\n    <!-- Content -->\n    <p style=\"\n      margin: 0;\n      color: #2f4f3f;\n      font-size: 16px;\n      line-height: 1.7;\n    \">\n      A Variational Autoencoder (VAE) is a generative deep learning model that learns to encode input data into a probabilistic latent space instead of fixed numerical representations. Rather than storing single points, the encoder produces distributions defined by means and variances, allowing the model to sample and generate new data. The decoder then reconstructs or creates data from these latent representations. Unlike traditional autoencoders, VAEs are trained to maintain a continuous and structured latent space, making them highly effective for representation learning, image generation, anomaly detection, and generative AI applications.\n    <\/p>\n\n  <\/div>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Standard Autoencoders: The Foundation<\/strong><\/h2>\n\n\n\n<p>To understand VAEs, it is essential to first understand the standard autoencoder, the simpler architecture that VAEs build upon and improve.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How a Standard Autoencoder Works<\/strong><\/h3>\n\n\n\n<p>A standard autoencoder is a neural network trained to reconstruct its input. It has two components:<\/p>\n\n\n\n<ul>\n<li><strong>Encoder: <\/strong>Compresses the input data into a lower-dimensional representation called the latent vector or code. This forces the network to learn the most important features of the data.<\/li>\n\n\n\n<li><strong>Decoder: <\/strong>Takes the latent vector and attempts to reconstruct the original input from it.<\/li>\n<\/ul>\n\n\n\n<p>The network is trained by minimising the reconstruction loss, the difference between the original input and the decoder&#8217;s output. Through this process, the encoder learns to produce compact representations that capture the essential structure of the data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The Critical Limitation<\/strong><\/h3>\n\n\n\n<p>Standard autoencoders have one fundamental problem as generative models: their latent space is not organised in any meaningful way.<\/p>\n\n\n\n<p>Because the encoder maps each input to a single fixed point in latent space, there is no guarantee that the space between those points contains anything meaningful. If you sample a random point from the latent space and feed it to the decoder, the output is likely to be garbage, a distorted, incoherent reconstruction.<\/p>\n\n\n\n<p>This makes standard autoencoders poor <a href=\"https:\/\/www.guvi.in\/blog\/top-generative-ai-models\/\" target=\"_blank\" rel=\"noreferrer noopener\">generative models<\/a>. They can compress and reconstruct data well, but they cannot generate new, coherent samples from scratch.<\/p>\n\n\n\n<p>The VAE solves this problem directly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The VAE Architecture: Encoding Distributions, Not Points<\/strong><\/h2>\n\n\n\n<p>The core innovation of the Variational Autoencoder is a conceptual shift: instead of encoding each input as a single fixed point in latent space, the VAE encodes each input as a probability distribution over the latent space.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The Encoder: Producing a Distribution<\/strong><\/h3>\n\n\n\n<p>In a VAE, the encoder does not output a single latent vector. Instead, it outputs two vectors:<\/p>\n\n\n\n<p>\u2022 &nbsp; &nbsp; &nbsp; <strong>Mean vector (\u03bc): <\/strong>The centre of the distribution in latent space for the given input.<\/p>\n\n\n\n<p>\u2022&nbsp; <strong>Log-variance vector (log \u03c3\u00b2): <\/strong>The spread or uncertainty of the distribution. Log-variance is used rather than variance directly for numerical stability.<\/p>\n\n\n\n<p>Together, these two vectors parameterise a multivariate Gaussian distribution: z ~ N(\u03bc, \u03c3\u00b2). Rather than saying &#8220;this image maps to this exact point in latent space&#8221;, the VAE says &#8220;this image maps to a region of latent space centred around \u03bc with uncertainty \u03c3\u00b2&#8221;.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The Reparameterisation Trick<\/strong><\/h3>\n\n\n\n<p>Sampling from a distribution is a stochastic operation; it involves randomness. This creates a problem: standard backpropagation cannot flow gradients through a random sampling step. The reparameterisation trick solves this elegantly.<\/p>\n\n\n\n<p>Instead of sampling z directly from N(\u03bc, \u03c3\u00b2), the VAE samples a random noise vector \u03b5 from a standard normal distribution N(0, I) and computes:<\/p>\n\n\n\n<p><strong>z = \u03bc + \u03c3 \u2299 \u03b5<\/strong><\/p>\n\n\n\n<p>This separates the stochastic part (\u03b5) from the learned parameters (\u03bc and \u03c3). Gradients can now flow back through \u03bc and \u03c3 during training, while the randomness is isolated in \u03b5, which has no parameters to update. This simple trick makes VAE training possible with standard gradient descent.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The Decoder: Reconstructing from Samples<\/strong><\/h3>\n\n\n\n<p>The decoder receives a sampled latent vector z and reconstructs the original input from it. During training, this reconstruction should resemble the original input as closely as possible. During generation, Generation Z is sampled directly from the prior distribution N(0, I), and the decoder produces new data that resembles the training distribution.<\/p>\n\n\n\n<div style=\"background-color: #099f4e; border: 3px solid #110053; border-radius: 12px; padding: 18px 22px; color: #FFFFFF; font-size: 18px; font-family: Montserrat, Helvetica, sans-serif; line-height: 1.6; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); max-width: 750px;\">\n  <strong style=\"font-size: 22px; color: #FFFFFF;\">\ud83d\udca1 Did You Know?<\/strong>\n  <p style=\"margin-top: 14px; margin-bottom: 0;\">\n    <strong style=\"color: #FFFFFF;\">Variational Autoencoders (VAEs)<\/strong> were introduced by <strong style=\"color: #FFFFFF;\">Diederik P. Kingma<\/strong> and <strong style=\"color: #FFFFFF;\">Max Welling<\/strong> in their landmark <strong style=\"color: #FFFFFF;\">2013 paper<\/strong>, <em>Auto-Encoding Variational Bayes<\/em>. The work introduced key concepts such as the <strong style=\"color: #FFFFFF;\">reparameterization trick<\/strong> and the <strong style=\"color: #FFFFFF;\">Evidence Lower Bound (ELBO)<\/strong>, which made it possible to train probabilistic generative models efficiently using gradient-based optimization. The paper became one of the foundational works in <strong style=\"color: #FFFFFF;\">generative deep learning<\/strong>, heavily influencing later advances in latent-variable modeling, representation learning, and modern generative AI research.\n  <\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The VAE Training Objective: ELBO<\/strong><\/h2>\n\n\n\n<p>VAEs are trained by maximising the Evidence Lower Bound (ELBO), equivalently, by minimising the negative ELBO. The loss function has two components that work in tension with each other.<\/p>\n\n\n\n<p><strong>L = Reconstruction Loss + KL Divergence<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Reconstruction Loss<\/strong><\/h3>\n\n\n\n<p>The reconstruction loss measures how accurately the decoder reproduces the original input from the sampled latent vector. For image data, this is typically the mean squared error (MSE) between the original and reconstructed pixel values, or binary cross-entropy for binary inputs.<\/p>\n\n\n\n<p>The reconstruction loss drives the network to preserve information \u2014 it ensures the encoder captures enough about the input for the decoder to recreate it faithfully.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>KL Divergence<\/strong><\/h3>\n\n\n\n<p>The KL divergence term measures how much the learned latent distribution q(z|x) deviates from the prior distribution p(z) = N(0, I). It acts as a regulariser, penalising the encoder if its distributions stray too far from a standard normal.<\/p>\n\n\n\n<p>This regularisation is what gives the VAE its generative power. By keeping the latent distributions close to N(0, I), the KL term ensures:<\/p>\n\n\n\n<p>\u2022&nbsp; &nbsp; &nbsp; <strong>Continuity: <\/strong>Points close together in latent space decode to similar outputs, enabling smooth interpolation.<\/p>\n\n\n\n<p>\u2022&nbsp; &nbsp; &nbsp; <strong>Completeness: <\/strong>Every region of the latent space corresponds to a valid, meaningful decoded output; there are no &#8220;holes&#8221; that produce garbage.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>The Tension Between the Two Terms<\/strong><\/h3>\n\n\n\n<p>The reconstruction loss and KL divergence pull in opposite directions. The reconstruction loss wants the encoder to produce very narrow, precise distributions to maximise fidelity. The KL term wants all distributions to be broad and centred near the origin.<\/p>\n\n\n\n<p>The balance between these two objectives, controlled by a weighting hyperparameter \u03b2 in the \u03b2-VAE variant, determines whether the model prioritises reconstruction quality or latent space organisation. This trade-off is fundamental to VAE design.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The Latent Space: What Makes VAEs Generative<\/strong><\/h2>\n\n\n\n<p>The latent space is where the generative power of the VAE resides. Unlike a standard autoencoder&#8217;s unstructured latent space, a VAE&#8217;s latent space has two crucial properties that make it suitable for generation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Continuity<\/strong><\/h3>\n\n\n\n<p>Because the KL term regularises the encoder to produce overlapping Gaussian distributions, nearby points in the latent space correspond to similar data. This means you can smoothly interpolate between two data points, for example, between two faces, and the decoder will produce a continuous, meaningful transition rather than an abrupt jump to noise.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Completeness<\/strong><\/h3>\n\n\n\n<p>The regularised latent space has no empty regions. Every point in the space, not just the ones the encoder mapped, is decoded to a plausible output. This is what enables true generation: you can sample z ~ N(0, I), feed it to the decoder, and receive a coherent new data sample that the model has never seen but that fits the patterns of the training data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Latent Space Arithmetic<\/strong><\/h3>\n\n\n\n<p>In well-trained VAEs, the latent space encodes semantic attributes as directions. This enables latent space arithmetic, modifying a latent vector along a specific direction to change a corresponding attribute in the output. For example, in a VAE trained on face images, adding a specific vector might consistently change the expression from neutral to smiling, or add glasses to the decoded face.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Real-World Applications of VAEs<\/strong><\/h2>\n\n\n\n<p>VAEs are not purely theoretical constructs. They are deployed across a wide range of domains where generative modelling, representation learning, or anomaly detection is required.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Image Generation and Editing<\/strong><\/h3>\n\n\n\n<p>VAEs trained on image datasets can generate new images by sampling from the latent space. More importantly, they enable controlled image editing, encoding a real image into latent space, modifying the latent vector, and decoding the result to produce a modified version of the image with specific attributes changed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Drug Discovery and Molecular Generation<\/strong><\/h3>\n\n\n\n<p>In computational chemistry, VAEs learn representations of molecular structures in a continuous latent space. Researchers can navigate this space to design new molecules with desired properties, searching for drug candidates that have favourable binding affinity, solubility, or toxicity profiles. The continuous latent space enables gradient-based optimisation of molecular properties.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Anomaly Detection<\/strong><\/h3>\n\n\n\n<p>A VAE trained on normal data learns to reconstruct normal inputs with low error. Anomalous inputs, outliers that differ significantly from the training distribution, will have high reconstruction error because the model has not learned to represent them. This makes VAEs powerful anomaly detectors in domains like fraud detection, industrial quality control, and medical imaging.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Synthetic Data Generation<\/strong><\/h3>\n\n\n\n<p>In scenarios where real data is scarce or sensitive, such as medical records or financial transactions, VAEs can generate synthetic data that preserves the statistical properties of the original dataset without containing real personal information. This enables model training and testing, where the real data cannot be used directly.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Natural Language and Sequential Data<\/strong><\/h3>\n\n\n\n<p>VAEs have been applied to natural language processing to learn continuous representations of sentences and documents. The latent space enables sentence interpolation, generating text that smoothly transitions between two different sentences and controlled text generation by navigating the latent space to specify desired attributes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Limitations and Modern Variants of VAEs<\/strong><\/h2>\n\n\n\n<p>VAEs are powerful but not without limitations. Understanding these limitations and the variants designed to address them provides a complete picture of the framework.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Blurry Reconstructions<\/strong><\/h3>\n\n\n\n<p>The reconstruction loss in a VAE averages over the distribution of likely outputs, which tends to produce blurry reconstructions for complex data like natural images. This is a fundamental consequence of the probabilistic framework, not a training failure. Hybrid architectures that combine VAEs with adversarial losses (VAE-GAN) address this by adding a sharpness incentive.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Posterior Collapse<\/strong><\/h3>\n\n\n\n<p>In some VAE configurations, particularly those used for text, the decoder becomes powerful enough to generate outputs without using the latent code at all. The encoder collapses to the prior, and the KL term drops to zero. The model loses its generative structure. Techniques such as KL annealing and weakened decoders help prevent this.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Key Variants<\/strong><\/h3>\n\n\n\n<ul>\n<li><strong>\u03b2-VAE: <\/strong>Adds a weight \u03b2 to the KL term to control the trade-off between reconstruction quality and latent space disentanglement. Higher \u03b2 produces more interpretable latent representations where individual dimensions correspond to specific semantic factors.<\/li>\n\n\n\n<li><strong>VQ-VAE (Vector Quantised VAE): <\/strong>Replaces the continuous latent space with a discrete codebook of latent vectors. This produces sharper outputs and is the foundation of image generation systems like DALL-E version 1.<\/li>\n\n\n\n<li><strong>Conditional VAE (CVAE): <\/strong>Conditions the encoder and decoder on additional information, such as a class label, enabling controlled generation of data from specific categories.<\/li>\n<\/ul>\n\n\n\n<p>If you want practical experience working with activation functions, neural networks, and deep learning models, <strong>HCL GUVI\u2019s<\/strong> <a href=\"https:\/\/www.guvi.in\/courses\/machine-learning-and-ai\/mastering-ai-and-machine-learning\/?utm_source=blog&amp;utm_medium=hyperlink&amp;utm_campaign=Variational+Autoencoders%3A+A+Guide+to+VAEs\"><strong>AI and ML Course<\/strong><\/a> can help you understand how concepts like sigmoid, backpropagation, and gradient descent are implemented using frameworks such as TensorFlow and PyTorch through hands-on projects.\u00a0<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p>The Variational Autoencoder is one of the most important and intellectually rich architectures in generative deep learning. By encoding data as distributions rather than points, applying probabilistic regularisation through KL divergence, and enabling differentiable sampling through the reparameterisation trick, VAEs create latent spaces that are both structured and generative.<\/p>\n\n\n\n<p>This structure is what separates VAEs from simpler autoencoders. It is what makes interpolation, controlled generation, and anomaly detection possible. And it is what gives VAEs a principled probabilistic interpretation that connects deep learning to Bayesian inference.<\/p>\n\n\n\n<p>As generative <a href=\"https:\/\/www.guvi.in\/blog\/what-is-artificial-intelligence\/\">AI<\/a> continues to advance with diffusion models and large language models taking centre stage, the conceptual foundations laid by VAEs remain deeply relevant. The ideas of latent space structure, probabilistic encoding, and learned data distributions appear throughout modern generative architectures. Understanding VAEs is understanding the principles that underpin generative AI.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FAQs<\/strong><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1779799333396\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>1. What is the difference between a VAE and a standard autoencoder?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>A standard autoencoder maps inputs to fixed latent points and cannot generate new data reliably. A VAE encodes inputs as probability distributions, regularises the latent space with KL divergence, and enables coherent generation by sampling from a continuous, structured latent space.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1779799338774\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>2. Why does a VAE use the reparameterisation trick?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Sampling from a distribution is stochastic and blocks gradient flow during backpropagation. The reparameterisation trick separates the random noise from the learned parameters, making gradients flow through the mean and variance while keeping the randomness in a fixed noise term.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1779799352716\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>3. Why do VAE outputs look blurry compared to GANs?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>The reconstruction loss averages over the distribution of plausible outputs, causing blurriness in complex images. GANs use adversarial training to enforce sharpness directly. Hybrid VAE-GAN models and VQ-VAE address this limitation effectively.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1779799364232\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>4. What is KL divergence doing in the VAE loss?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>KL divergence regularises the encoder&#8217;s latent distributions toward a standard normal prior. This ensures the latent space is continuous and complete, every point decodes to a meaningful output, enabling smooth interpolation and reliable random sampling for generation.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1779799376482\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>5. Where are VAEs used in real-world applications?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>VAEs are used in molecular generation for drug discovery, anomaly detection in fraud and medical imaging, synthetic data generation for privacy-sensitive domains, controlled image editing, and natural language sentence representation and interpolation.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Generative AI has become one of the most transformative areas in deep learning. From creating photorealistic images to generating synthetic medical data, the ability to learn from data and produce new, meaningful samples is at the frontier of what AI can do. At the heart of this capability is a class of models called generative [&hellip;]<\/p>\n","protected":false},"author":63,"featured_media":113024,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[933],"tags":[],"views":"104","authorinfo":{"name":"Vishalini Devarajan","url":"https:\/\/www.guvi.in\/blog\/author\/vishalini\/"},"thumbnailURL":"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/05\/Variational-Autoencoders-300x116.webp","jetpack_featured_media_url":"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/05\/Variational-Autoencoders.webp","_links":{"self":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/112391"}],"collection":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/users\/63"}],"replies":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/comments?post=112391"}],"version-history":[{"count":4,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/112391\/revisions"}],"predecessor-version":[{"id":113026,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/112391\/revisions\/113026"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/media\/113024"}],"wp:attachment":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/media?parent=112391"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/categories?post=112391"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/tags?post=112391"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}