SPB Git forge

spb/doc-api

Public
2commits 1branches 0releases
15.7 MBsize
maindefault branch
14 days agolast push
Python 88.3% TypeScript 7.6% Shell 4.1%
1.2 KB · 17 lines shellscript
Raw Blame History
1#!/usr/bin/env bash2# Vision: a 1x1 red PNG as a base64 image block (~7 visual tokens) + a text question.3# STATUS: LIVE_VERIFIED 2026-09-18 (claude-haiku-4-5-20251001): "Red", input_tokens 21 (~$0.00004).4# Run: bash examples/anthropic/vision/image_base64.sh5set -eo pipefail6cd "$(dirname "$0")/../../.." && source scripts/lib.sh7OUTF="$(mktemp)"; trap 'rm -f "$OUTF"' EXIT8# `ant` sets ANT_STATUS; calling it inside $(...) would lose it, so write the body to a file instead.9call() { ant "$@" > "$OUTF"; OUT="$(cat "$OUTF")"; }10MODEL="${ANTHROPIC_MODEL:-claude-haiku-4-5-20251001}"11PNG="iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"12call POST /v1/messages -d "$(jq -n --arg m "$MODEL" --arg d "$PNG" '{model:$m, max_tokens:10, messages:[{role:"user", content:[13  {type:"image", source:{type:"base64", media_type:"image/png", data:$d}},14  {type:"text", text:"What color is this pixel? One word."}]}]}')"15echo "HTTP $ANT_STATUS: $(echo "$OUT" | jq -c '{text: .content[0].text, usage: {input_tokens: .usage.input_tokens, output_tokens: .usage.output_tokens}}')"16log_request anthropic POST /v1/messages "$ANT_STATUS" 0.00004 "example vision/image_base64.sh $MODEL"17