You can specify the kernel_size, stride, dilation, and padding for each dimension separately and using a single scalar value is a convenient way to set all dimensions to the same value.
This should thus work:
x = torch.randn(1,3,1,128,128).cuda()

layer = nn.ConvTranspose3d(
    in_channels=3,
    out_channels=3,
    kernel_size=(1, 4, 4),
    stride=(1, 2, 2),
    padding=(0, 1, 1)).cuda()

output = layer(x)

print(output.shape)
> torch.Size([1, 3, 1, 256, 256])