Found while implementing #48, present in v1.15.0.
The per-model gate for s3Location covers documents only —
S3_LOCATION_DOCUMENT_SUPPORTED (stdapi/models/__init__.py:522, set to False for
Anthropic Claude in _anthropic_claude.py:257). Images have no equivalent gate, so
an s3:// image is always emitted as source.s3Location.
Anthropic Claude rejects that outright — verbatim from a real call:
This model doesn't support the s3Uri field. Remove s3Uri and try again. Mistral
Pixtral Large rejects it for images too, while accepting the same image inline. Of
the three families probed, only Amazon Nova accepted an image by reference.
So a request naming an s3:// image against Claude or Pixtral fails today, and the
failure is in a request we built — the user did nothing wrong.
Its own fix: commit rather than folded into #48.
Found while implementing #48, present in v1.15.0.
The per-model gate for
s3Locationcovers documents only —S3_LOCATION_DOCUMENT_SUPPORTED(stdapi/models/__init__.py:522, set toFalseforAnthropic Claude in
_anthropic_claude.py:257). Images have no equivalent gate, soan
s3://image is always emitted assource.s3Location.Anthropic Claude rejects that outright — verbatim from a real call:
This model doesn't support the s3Uri field. Remove s3Uri and try again.MistralPixtral Large rejects it for images too, while accepting the same image inline. Of
the three families probed, only Amazon Nova accepted an image by reference.
So a request naming an
s3://image against Claude or Pixtral fails today, and thefailure is in a request we built — the user did nothing wrong.
Its own
fix:commit rather than folded into #48.