Permalink to API overviewAPI overview

hypit.ai exposes a single HTTP API that fans out across roughly two dozen upstream image, video, audio and chat vendors. You hold one key, one balance and one wire format; routing, failover and metering happen on our side.

The surface is deliberately OpenAI-shaped. /v1/chat/completions and /v1/models are drop-in compatible with the official OpenAI SDKs — point the client at our base URL and existing code keeps working. The generative-media endpoints borrow the same conventions (snake_case JSON, an {"error": {...}} envelope, Unix-second timestamps) but return a job rather than a finished artifact, because a video does not come back inside an HTTP request.

Permalink to base-urlBase URL

text
https://hypit.ai/v1

The native Google surface lives one level up, at https://hypit.ai/v1beta/models/... — see Gemini native.

Permalink to environment-variablesEnvironment variables

Two variables carry everything a client needs:

bash
export HYPIT_API_KEY="sk-hh-..."
export HYPIT_BASE_URL="https://hypit.ai/v1"

We use HYPIT_* rather than OPENAI_* on purpose: these are our credentials, and a project that already talks to OpenAI should be able to keep both configured side by side. The cost is one explicit line when you construct the client — which is clearer anyway, because it says out loud where the client is pointed.

Permalink to using-the-openai-sdksUsing the OpenAI SDKs

python
import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["HYPIT_API_KEY"],
    base_url=os.environ.get("HYPIT_BASE_URL", "https://hypit.ai/v1"),
)

completion = client.chat.completions.create(
    model="gemini-3.1-pro",
    messages=[{"role": "user", "content": "In one sentence: what is Hypit?"}],
)
print(completion.choices[0].message.content)
js
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.HYPIT_API_KEY,
  baseURL: process.env.HYPIT_BASE_URL ?? "https://hypit.ai/v1",
});

const completion = await client.chat.completions.create({
  model: "gemini-3.1-pro",
  messages: [{ role: "user", content: "In one sentence: what is Hypit?" }],
});
console.log(completion.choices[0].message.content);

The SDK helpers only cover the synchronous endpoints

client.chat.completions.*, client.models.*, client.audio.speech.* and client.audio.transcriptions.* work unchanged. client.images.generate() does not: our image, video and music endpoints answer 202 Accepted with a job envelope, not with a finished data[] array. Call those over plain HTTP and poll — every page below shows how.

Permalink to your-first-callYour first call

bash
curl https://hypit.ai/v1/models \
  -H "Authorization: Bearer $HYPIT_API_KEY"

If that returns a list, everything else on this site will work.

Permalink to the-surfaceThe surface

EndpointMethodShape
/v1/modelsGETlist every model your key can route to
/v1/models/{model}GETone model card, including its credit rate
/v1/chat/completionsPOSTsynchronous, streams over SSE
/v1/images/generationsPOSTasynchronous — returns a job
/v1/images/editsPOSTasynchronous — returns a job
/v1/videosPOSTasynchronous — returns a job
/v1/audio/musicPOSTasynchronous — returns a job
/v1/audio/speechPOSTsynchronous, returns audio bytes
/v1/audio/transcriptionsPOSTsynchronous, returns text
/v1/jobs/{job_id}GETjob status
/v1/jobs/{job_id}/assetsGETsigned download links
/v1beta/models/{model}:{action}POSTnative Google Gemini passthrough

Read Authentication next, then Asynchronous jobs if you plan to generate anything visual — that page is where the surprises live.