By convention, in addition to the input feature map - which may be 1D for audio, 2D for a typical image, 3D for a sequence of video frames - for a convolutional network, there are two additional dimensions:
The number of examples in a batch or mini-batch, counting even a single example as a mini-batch of size 1)
The number of feature maps or channels in the current layer, counting even a single grayscale image as an array of 1 channel, or RGB (or other colour space) image as 3 channels
So in your case you will want a conv2d
layer to process the image. The precise order of dimensions varies a lot - check your library docs, and also note most libraries allow you to alter the arrangement for cross-compatibility with different toolchains. But a typical layer input or output might be arranged as $\text{BatchSize} \times \text{Height}
\times \text{Width} \times \text{Channels}$
The input and output dimensions are the same (but usually with different sizes), so that layers can be chained together naturally.
The documentation you linked does in fact say this (sort of, it could explain the sameness in more detail, since data type and dimensionality are in fact the same and both could vary):
Returns:
A Tensor with the same type as value.
To answer your question in the title:
What is the shape of conv3d and conv3d_transpose?
It is an order 5 tensor, and the dimensions are: $\text{BatchSize} \times \text{Depth} \times \text{Height} \times \text{Width} \times \text{Channels}$
You could in theory use this for your GAN, but you would need to add (a probably useless) depth dimension to the shape.