OctaFuse Gateway 2.6 0 Brings Unified Vertex AI Auth, Clear Image Billing, and Easier Debugging
OctaFuse Gateway 2.6.0 adds project‑level Vertex AI service‑account authentication, introduces token‑ and per‑image billing modes for image models, refines time‑slot pricing with override mode, and upgrades the admin UI, Playground and Simulator with new provider templates and routing visualizations, while clarifying failure‑request charge rules.
01 | Project‑Level Vertex AI Authentication
Paste a GCP service‑account JSON into the provider credential field. The gateway signs a JWT, exchanges it for an OAuth 2.0 access token, and forwards the request with an Authorization: Bearer header.
The same service‑account can be used for two Vertex AI call paths:
OpenAI‑compatible endpoint : .../endpoints/openapi (Chat Completions‑compatible).
Native Gemini endpoint : publishers/google/models (preserves Gemini’s native request/response format).
The JSON is never appended to a ?key= query string nor sent upstream unchanged. If provider_model_name lacks the google/ prefix, the gateway automatically adds it; native Gemini paths keep the original model name.
Playground and Proxy share the same credential parsing and token‑exchange flow, allowing verification of project ID, service‑account permissions, and upstream model name before routing real traffic.
02 | Image Billing Rules
Image models now use the image_billing_mode field to select one of two billing strategies:
token : charges based on total text and image token usage (e.g., GPT‑Image, Gemini image models).
per_image : charges per returned image count, optionally referencing the input‑image unit price (e.g., Seedream, GLM Image, Grok Image).
Version 2.6.0 also unifies failure‑request charging: client cancellations, gateway timeouts, explicit upstream 4xx/5xx responses, network errors, and empty results are not billed. The entry‑budget pre‑check only decides whether a request can be sent upstream and no longer determines final charge.
Legacy configurations that contain an image block but lack an explicit image_billing_mode are now exempt from charging; any existing image_* token‑price settings continue to be processed in token mode.
03 | Daily Time‑Slot Pricing Override
Routing now distinguishes a default multiplier (used when no time slot matches) from slot‑specific multipliers that directly override the default. New configurations set schedule.mode: "override". To preserve backward compatibility, configurations without a mode retain the previous “default × slot” multiplication rule.
The Routes workbench has been updated with clearer multiplier formatting, time‑slot hints, and topology visualization to help verify the effective pricing before saving.
04 | Playground, Simulator, and Provider Directory Enhancements
Playground adds more request examples for Chat, Responses, Anthropic, and Gemini, and improves observation of streaming responses, final usage, and Gemini tool‑call parameters.
Simulator selects the appropriate protocol based on the chosen client entry, mirroring real‑world Proxy behavior. After selecting a client‑visible model and route group, the simulator generates the protocol and request path; filling the Proxy address and test key validates the full chain.
The provider directory now includes templates for BytePlus, Alibaba Cloud Bailei International, Meta Model API, Cerebras, SambaNova, DeepInfra, Novita, Command Code, Hugging Face, Vercel, and others. Model listings indicate whether an image model uses /img (per‑image) or /M (token) billing, aiding configuration.
Conclusion
Version 2.6.0 does not introduce new client APIs; it consolidates existing capabilities by eliminating the confusing ?key= configuration, clarifying image‑request charge boundaries, and aligning time‑slot multipliers with the admin UI semantics.
GitHub repository: https://github.com/OctaFuse/octafuse-gateway
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Programmer DD
A tinkering programmer and author of "Spring Cloud Microservices in Action"
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
