continuedev/continue · warning

Bedrock: skipping unsupported image part format: ${format}

Error message

Bedrock: skipping unsupported image part format: ${format}

What it means

After parsing an image data URL in _oaiPartToBedrockPart, the derived format (MIME subtype) is checked against Bedrock's supported ImageFormats (jpeg, png, gif, webp). Unsupported formats are replaced with the placeholder text "[Unsupported image format]" and this warning is emitted; the request continues without the image.

Source

Thrown at packages/openai-adapters/src/apis/Bedrock.ts:162

        }
        const { mimeType, base64Data } = parsed;
        const format = mimeType.split("/")[1]?.split(";")[0] || "jpeg";
        if (
          format === ImageFormat.JPEG ||
          format === ImageFormat.PNG ||
          format === ImageFormat.WEBP ||
          format === ImageFormat.GIF
        ) {
          return {
            image: {
              format,
              source: {
                bytes: Uint8Array.from(Buffer.from(base64Data, "base64")),
              },
            },
          };
        } else {
          console.warn(
            `Bedrock: skipping unsupported image part format: ${format}`,
          );
          return { text: "[Unsupported image format]" };
        }
    }
  }

  private _convertMessages(
    oaiMessages: OpenAI.Chat.Completions.ChatCompletionMessageParam[],
    availableTools: Set<string>,
  ): Message[] {
    let currentRole: "user" | "assistant" = "user";
    let currentBlocks: ContentBlock[] = [];
    const converted: Message[] = [];
    const hasAddedToolCallIds = new Set<string>();

    const pushCurrentMessage = () => {
      if (currentBlocks.length > 0) {

View on GitHub (pinned to 5522c6f44c)

Solutions

  1. Convert the image to PNG, JPEG, GIF, or WebP before sending (e.g. sharp: `sharp(input).png().toBuffer()`)
  2. Fix the data URL MIME type if it is mislabeled (e.g. image/jpg should be image/jpeg)
  3. For SVG, rasterize to PNG first

Example fix

// before
`data:image/bmp;base64,${b64}`

// after
const png = await sharp(inputBuffer).png().toBuffer();
`data:image/png;base64,${png.toString("base64")}`
Defensive patterns

Strategy: validation

Validate before calling

const SUPPORTED = new Set(["jpeg", "png", "gif", "webp"]);
const subtype = mimeType.split("/")[1]?.split(";")[0];
if (!SUPPORTED.has(subtype)) {
  image = await sharp(image).png().toBuffer(); // convert before sending
}

Prevention

When it happens

Trigger: Sending an image with MIME type not in {image/jpeg, image/png, image/gif, image/webp}, e.g. image/bmp, image/tiff, image/avif, or image/svg+xml.

Common situations: Uploading screenshots saved as TIFF/BMP, vector SVGs, or newer formats like AVIF; MIME subtype containing parameters (e.g. image/png;charset=utf-8 is handled, but exotic subtypes are not).

Related errors


AI-assisted analysis of continuedev/continue@5522c6f44c (2026-08-27). Data as JSON: /api/errors/d8a8d01d26203c3d. Report an issue: GitHub.