I think you're just trying to make a closed surface from four points? Here's a fast way to do that which you could easily run in any system (e.g. python with X3D)
First we make the triangulation
lines = RandomReal[{}, {2, 2, 3}];
tris = Flatten[
Table[
Append[lines[[i]], lines[[Mod[i + 1, 2, 1], j]]],
{i, 2},
{j, 2}
],
1
];
and then we'll visualize the faces
Graphics3D[
{
{Thick, Red, Line@lines[[1]]},
{Thick, Blue, Line@lines[[2]]},
MapThread[
{#, Triangle[#2]} &,
{
{Green, Orange, Purple, Pink},
tris
}
]
},
Boxed -> False,
Lighting -> "Neutral"
]

Maybe you want to discretize between endpoints and connect, though, here's what that would look like
subdivs = 100;
lines = RandomReal[{}, {2, 2, 3}];
linePoints = Subdivide[#, #2, subdivs] & @@@ lines;
Graphics3D[{
{
Red,
Point@linePoints[[1]]
},
{
Blue,
Point@linePoints[[2]]
},
MapThread[Line@*List, linePoints]
},
Boxed -> False
]

Here's another interpretation, taking the nearest points from one line to another. This might have an analytic form, but it's fast to discretize
subdivs = 100;
lines = RandomReal[{}, {2, 2, 3}];
linePoints = Subdivide[#, #2, subdivs] & @@@ lines;
lineFriends = Nearest[linePoints[[2]], linePoints[[1]]][[;; , 1]];
Graphics3D[{
{
Red,
Point@linePoints[[1]]
},
{
Blue,
Point@linePoints[[2]]
},
MapThread[Line@*List, {linePoints[[1]], lineFriends}]
},
Boxed -> False
]

Or who knows, maybe you want to get the planes defined by the nearest points between the lines, here's how you'd get that
u1 = Subtract @@ lines[[1]] // Normalize;
u2 = Subtract @@ lines[[2]] // Normalize;
n = Cross[u1, u2] // Normalize;
d = Inverse[{u1, -u2, n}] . (lines[[2, 1]] - lines[[1, 1]]);
mid1 = lines[[1, 1]] + d[[1]]*u1;
mid2 = lines[[2, 1]] + d[[2]]*u2;
planeNormal1 = Cross[u1, mid1 - mid2] // Normalize;
planeNormal2 = Cross[u2, mid2 - mid1] // Normalize;
which we visualize with Hyperplane

line1 = RandomReal[{}, {2, 3}]; line2 = RandomReal[{}, {2, 3}]; ConvexHullMesh[Join[line1, line2]]? $\endgroup$