LXD is built around a very powerful, yet pretty simple, REST API. Under the hood, LXD uses LXC. If your question is about LXD, e.g.: is using the "lxc" command only available in LXD, you should use the tag LXD instead (or in addition) of LXC.
LXD is a next generation system container manager. It offers a user experience similar to virtual machines but using Linux containers instead.
It's image based with pre-made images available for a wide number of Linux distributions and is built around a very powerful, yet pretty simple, REST API.
Under the hood, LXD uses LXC through liblxc and its Go binding to create and manage the containers.