Dedicated Marble Free proxy for Azure OpenAI.
This service exposes a narrow OpenAI-compatible surface for Marble, keeps the upstream Azure credential server-side, and is structured to grow into auth, metering, and admin tooling without coupling it to another product webapp.
Endpoints
Everything Marble needs today, with usage tracking built in.
MethodPathPurpose
GET/healthzLightweight health check plus sanitized config state.GET/v1/modelsOpenAI-compatible passthrough to the configured Azure OpenAI v1 surface.POST/v1/responsesPrimary Codex/Responses API route for Marble Free traffic.POST/v1/chat/completionsCompatibility route for clients still using chat completions.POST/v1/images/generationsImage generation route for GPT Image deployments.POST/v1/images/editsDeployment-scoped Azure image edit route for masked image refinement.POST/speech/synthesizeTurn selected MarbleOS assistant output into spoken audio with Azure Speech Services.POST/workflow-voice/transcribeTranscribe MarbleOS push-to-talk audio without exposing the Groq credential.POST/gemini/generateGemini workflow preview proxy using project-scoped Vertex AI.POST/claude/visual-feedbackGet concise Claude visual design feedback without exposing the Anthropic credential.Required configuration
Set either AZURE_OPENAI_V1_BASE_URL or AZURE_OPENAI_ENDPOINT. Set either AZURE_OPENAI_API_KEY or AZURE_OPENAI_AUTH_TOKEN.
NameRequiredPurpose
AZURE_OPENAI_ENDPOINTYes*Azure resource endpoint, for example https://marble-resource.openai.azure.com/.AZURE_OPENAI_V1_BASE_URLYes*Optional direct override for the OpenAI-compatible Azure v1 base URL.AZURE_OPENAI_API_KEYYes**Azure API key used when no Entra bearer token override is supplied.AZURE_OPENAI_AUTH_TOKENNoOptional Microsoft Entra bearer token used instead of the Azure api-key header.AZURE_OPENAI_MODEL_OVERRIDENoPins every incoming request to a single Azure deployment/model name.AZURE_OPENAI_IMAGE_MODEL_OVERRIDENoDeployment override for image generation requests. Defaults to gpt-image-2.AZURE_OPENAI_IMAGE_EDIT_DEPLOYMENTNoDeployment override for image edit requests. Defaults to the image model override or gpt-image-2.AZURE_OPENAI_IMAGE_GENERATION_API_VERSIONNoAzure image generation API version. Defaults to preview.AZURE_OPENAI_IMAGE_API_VERSIONNoLegacy Azure image edit API version override. Defaults to 2025-04-01-preview.AZURE_OPENAI_IMAGE_EDIT_API_VERSIONNoAzure image edit API version override. Takes precedence over AZURE_OPENAI_IMAGE_API_VERSION.AZURE_SPEECH_KEYFor speechAzure Speech Services key for /speech/synthesize.AZURE_SPEECH_REGIONNoAzure Speech Services region. Defaults to westus.AZURE_SPEECH_ENDPOINTNoOptional Azure Speech endpoint override. Defaults to the regional tts.speech.microsoft.com host.AZURE_SPEECH_VOICENoDefault Speech Services voice. Defaults to en-US-FableTurboMultilingualNeural.AZURE_SPEECH_LANGUAGENoSSML language for Speech Services. Defaults to en-US.AZURE_SPEECH_OUTPUT_FORMATNoSpeech Services output format. Defaults to audio-48khz-192kbitrate-mono-mp3.GROQ_API_KEYFor transcriptionGroq API key used by /workflow-voice/transcribe.GROQ_TRANSCRIPTION_MODELNoGroq transcription model. Defaults to whisper-large-v3-turbo.ANTHROPIC_API_KEYFor visual feedbackAnthropic API key used by /claude/visual-feedback.ANTHROPIC_API_BASE_URLNoOptional Anthropic API base URL override. Defaults to https://api.anthropic.com.CLAUDE_VISUAL_FEEDBACK_MODELNoClaude model for visual feedback. Defaults to claude-opus-4-8.GEMINI_VERTEX_AUTH_MODENoGemini Vertex auth mode. Use cloud-run-adc on Cloud Run or vercel-oidc-service-account on Vercel.GCP_PROJECT_IDFor GeminiGoogle Cloud project ID used for project-scoped Vertex AI calls.GCP_PROJECT_NUMBERFor Gemini on VercelGoogle Cloud project number used for Workload Identity Federation.GCP_SERVICE_ACCOUNT_EMAILFor Gemini on VercelService account that the Vercel production identity impersonates.GCP_WORKLOAD_IDENTITY_POOL_IDFor Gemini on VercelWorkload Identity Pool ID that trusts Vercel OIDC tokens.GCP_WORKLOAD_IDENTITY_POOL_PROVIDER_IDFor Gemini on VercelWorkload Identity Provider ID for Vercel OIDC tokens.GCP_LOCATIONNoVertex AI location. Defaults to global.* One of the two base URL settings is required.
** Required unless you provide AZURE_OPENAI_AUTH_TOKEN.
Incoming proxy auth is intentionally disabled right now. Add request authentication here before exposing this endpoint broadly.