earendil-works/pi · error

Unknown image type: ${mimeType}

Error message

Unknown image type: ${mimeType}

What it means

Error "Unknown image type: ${mimeType}" thrown in earendil-works/pi.

Source

Thrown at packages/ai/src/api/bedrock-converse-stream.ts:1283

function createImageBlock(mimeType: string, data: string) {
	let format: ImageFormat;
	switch (mimeType) {
		case "image/jpeg":
		case "image/jpg":
			format = ImageFormat.JPEG;
			break;
		case "image/png":
			format = ImageFormat.PNG;
			break;
		case "image/gif":
			format = ImageFormat.GIF;
			break;
		case "image/webp":
			format = ImageFormat.WEBP;
			break;
		default:
			throw new Error(`Unknown image type: ${mimeType}`);
	}

	return { source: { bytes: base64ToBytes(data) }, format };
}

function base64ToBytes(data: string): Uint8Array {
	const binaryString = atob(data);
	const bytes = new Uint8Array(binaryString.length);
	for (let i = 0; i < binaryString.length; i++) {
		bytes[i] = binaryString.charCodeAt(i);
	}
	return bytes;
}

/**
 * Decodes a stored redacted payload. The AWS SDK hands the blob over as bytes, but a
 * persisted session carries it as base64. A hand-edited or externally produced session
 * can hold a signature that is not base64; drop that block instead of failing the

View on GitHub (pinned to 4af9d21d3b)

Solutions

  1. Use a supported image MIME type such as image/png or image/jpeg for Bedrock.

When it happens

Trigger: Thrown at packages/ai/src/api/bedrock-converse-stream.ts:1283 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of earendil-works/pi@4af9d21d3b (2026-08-24). Data as JSON: /api/errors/350aeeb0ac46d1a8. Report an issue: GitHub.