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.

Programmer DD
Programmer DD
Programmer DD
OctaFuse Gateway 2.6 0 Brings Unified Vertex AI Auth, Clear Image Billing, and Easier Debugging

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.

OctaFuse Provider template directory showing two Google Vertex AI integration methods
OctaFuse Provider template directory showing two Google Vertex AI integration methods

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.

OctaFuse model page filtering by Image type and displaying per‑image and per‑token pricing
OctaFuse model page filtering by Image type and displaying per‑image and per‑token pricing

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.

OctaFuse route editor showing default multiplier and two daily time slots
OctaFuse route editor showing default multiplier and two daily time slots

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.

OctaFuse Playground loading a Tool‑stream request example
OctaFuse Playground loading a Tool‑stream request example
OctaFuse Simulator choosing OpenAI or Gemini protocol based on Gemini model entry
OctaFuse Simulator choosing OpenAI or Gemini protocol based on Gemini model entry

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

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

RoutingAuthenticationgatewayCloud AIVertex AIOctaFuseImage Billing
Programmer DD
Written by

Programmer DD

A tinkering programmer and author of "Spring Cloud Microservices in Action"

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.