As of this writing (see date below), I made the following image exactly ten years ago:
The next spring it would be featured in the short story Second Contact, which makes it sound more plausible than it is.
Anyway, here's the source code:
// Persistence of Vision Ray Tracer Scene Description File
// File: flying-fish.pov
// Vers: 1
// Desc: A cartoonish airship.
// Date: 2011-12-04
// Auth: Claude LeChat <https://nosycat.neocities.org/>
#version 3.6;
#include "colors.inc"
#include "textures.inc"
#include "skies.inc"
#include "metals.inc"
// global_settings { assumed_gamma 1.0 }
sky_sphere {
	pigment {
		gradient y
		color_map {
			[0.50 color Orange]
			[0.525 color White]
			[0.75 color NewMidnightBlue]
		}
		scale 2
		translate -1
	}
}
light_source {
	//<0, 100, 10000> color Orange
	<0, 100, -10000> color White
	looks_like {
		sphere {
			<0, 0, 0>, 50
			pigment { color Yellow }
			finish { ambient 1 diffuse 1 }
		}
	}
}
camera {
	location <0, 1.65, 0>
	look_at <0, 15, 15>
	angle 45
	//right x * 1.5
}
/*camera {
	location <-15, 15, 0>
	look_at <0, 15, 15>
	angle 45
	//right x * 1.5
}*/
// The clouds.
object { O_Cloud1 scale <3, 1, 3> }
// The sea
disc {
	<0, 0, 0>, <0, 1, 0>, 10000
	texture {
		pigment { Turquoise filter 0.3 }
		finish {
			//ambient 0.25
			diffuse 0
			reflection {0.1, 0.3}
			specular 0.4
			roughness 0.1
		}
	}
	interior { ior 1.333 }
	normal { ripples scale 5 warp { turbulence 0.3 } translate -3 }
}
#declare Fish_Wing =
union {
	polygon {
		4,
		<0, 0, 1>, <5.5, 0, 1.5>, <7, 0, 1>
		<0, 0, 1>
		translate y * 0.02
	}
	polygon {
		5,
		<0, 0, 1>, <7, 0, 1>, <6.5, 0, 0>, <0, 0, 0.5>,
		<0, 0, 1>
		translate y * 0.01
	}
	polygon {
		5,
		<0, 0, 0.5>, <6.5, 0, 0>, <6, 0, -0.5>, <0, 0, 0>,
		<0, 0, 0.5>
	}
	polygon {
		5,
		<0, 0, 0>, <6, 0, -0.5>, <5, 0, -1>, <0, 0, -0.5>,
		<0, 0, 0>
		translate y * -0.01
	}
	polygon {
		5,
		<0, 0, -0.5>, <5, 0, -1>, <3.5, 0, -1.5>, <0, 0, -1>,
		<0, 0, -0.5>
		translate y * -0.02
	}
	rotate x * -5
}
// The propeller
#declare Propeller =
union {
	cylinder { <0, 0, -0.05>, <0, 0, 0.05>, 0.1 }
	sphere {
		<0, 0, 0>, 0.05
		scale <2, 10, 0.1>
		rotate y * 45
		translate y * 0.5
	}
	sphere {
		<0, 0, 0>, 0.05
		scale <2, 10, 0.1>
		rotate y * 45
		translate y * 0.5
		rotate z * 90
	}
	sphere {
		<0, 0, 0>, 0.05
		scale <2, 10, 0.1>
		rotate y * 45
		translate y * 0.5
		rotate z * -90
	}
	sphere {
		<0, 0, 0>, 0.05
		scale <2, 10, 0.1>
		rotate y * 45
		translate y * 0.5
		rotate z * 180
	}
}
// The airship
union {
	// Balloon
	sphere {
		<0, 0, 0>, 0.5
		scale <4, 4, 12>
		translate y * 2
		pigment { White }
		normal { uv_mapping bumps scale 0.1 }
	}
	// Nacelle
	difference {
		union {
			sphere {
				<0, 0, 0>, 0.5
				scale <3, 3, 10>
				translate y * -1.5
			}
			//Eye rim
			intersection {
				sphere {
					<0, 0, 0>, 0.5
					scale <3, 3, 10>
					translate y * -1.5
				}
				cylinder {
					<-2, -1.5, -4>, <2, -1.5, -4>, 0.5
				}
				scale 1.01
			}
		}
		// Eye hole
		cylinder {
			<-2, -1.5, -4>, <2, -1.5, -4>, 0.4
			scale 1.01
		}
		// Mouth
		box {
			<-1, -0.02, -5>, <1, 0.02, -4.5>
			translate y * -2
		}
		pigment { color Yellow }
		finish { F_MetalA }
	}
	// Front windows
	sphere {
		<0, 0, 0>, 1
		scale <1.1, 0.7, 0.7>
		translate <0, -1.5, -3.9>
		material { M_Glass }
	}
	// Cables
	union {
		cylinder { <0, 2, -6>, <0, -1.5, -5>, 0.01 }
		cylinder { <0, 2, 5>, <0, -1.5, 4>, 0.01 }
		cylinder { <-2, 2, 0>, <-1.5, -1.5, 0>, 0.01 }
		cylinder { <2, 2, 0>, <1.5, -1.5, 0>, 0.01 }
		cylinder { <-1.65, 2, -3>, <-1.3, -1.5, -2.5>, 0.01 }
		cylinder { <1.65, 2, -3>, <1.3, -1.5, -2.5>, 0.01 }
		cylinder { <-1.65, 2, 3>, <-1.3, -1.5, 2.5>, 0.01 }
		cylinder { <1.65, 2, 3>, <1.3, -1.5, 2.5>, 0.01 }
		texture { Brass_Metal }
	}
	// Wings
	object {
		Fish_Wing
		texture { Brass_Metal }
		rotate y * 180
		translate <-1, -2, -2>
	}
	object {
		Fish_Wing
		texture { Brass_Metal }
		rotate y * 180
		translate <-1, -2, -2>
		scale <-1, 1, 1> // Flip sideways
	}
	// Tailfins
	sphere {
		<0, 0, 0>, 0.1
		scale <10, 0.1, 6>
		texture { Brass_Metal }
		rotate y * 45
		translate <-2, -2, 2>
	}
	sphere {
		<0, 0, 0>, 0.1
		scale <10, 0.1, 6>
		texture { Brass_Metal }
		rotate y * -45
		translate <2, -2, 2>
	}
	difference {
		sphere {
			<0, 0, 0>, 0.1
			scale <0.1, 16, 20>
			texture { Brass_Metal }
		}
		cylinder {
			<-0.1, 0, 0>, <0.1, 0, 0>, 0.1
			scale <1, 16, 20>
			translate z * 1.6
		}
		translate <0, -1.5, 5>
	}
	object {
		Propeller
		texture { Brass_Metal }
		rotate z * -15
		translate <0, -1.5, 5.1>
	}
	rotate y * -45
	translate <0, 15, 15>
}