Skip to content
Gisoo

What you can build with the API

One base URL, https://gisoo.pro/api/v1, one key and one balance cover all of this. Every example below is a complete request you can paste into a terminal after setting GISOO_API_KEY.

Chat completions

POST /chat/completions

The OpenAI chat API: messages in, an answer out, with system prompts, multi-turn history and sampling parameters. Add "stream": true for server-sent events.

cURL Chat completions
curl https://gisoo.pro/api/v1/chat/completions -H "Authorization: Bearer $GISOO_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "gpt-4o-mini", "messages": [{"role": "user", "content": "Hello"}]}'

Full reference (Persian): /docs/chat

Responses API

POST /responses

The newer OpenAI Responses format, for clients that have moved to it.

cURL Responses API
curl https://gisoo.pro/api/v1/responses -H "Authorization: Bearer $GISOO_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "gpt-4.1-mini", "input": "Write a haiku about rain."}'

Full reference (Persian): /docs/responses

Anthropic Messages API

POST /messages, /messages/count_tokens

Use the Anthropic SDK or Claude Code against Gisoo. The SDK base URL is https://gisoo.pro/api (without /v1). Server-side web search and code tools, and server-side MCP, are not supported on this endpoint, and the thinking parameter is ignored.

cURL Anthropic Messages API
curl https://gisoo.pro/api/v1/messages -H "Authorization: Bearer $GISOO_API_KEY" -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{"model": "openrouter/anthropic/claude-haiku-4.5", "max_tokens": 256, "messages": [{"role": "user", "content": "Hello"}]}'

Full reference (Persian): /docs/anthropic

Vision

POST /chat/completions

Send images with a message by adding an image_url part. Models that read images are marked Vision on the models page.

cURL Vision
curl https://gisoo.pro/api/v1/chat/completions -H "Authorization: Bearer $GISOO_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "gpt-4.1-mini", "messages": [{"role": "user", "content": [
    {"type": "text", "text": "What is in this picture?"},
    {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}]}]}'

Full reference (Persian): /docs/vision

Tools and function calling

POST /chat/completions

Describe functions with JSON Schema; the model answers with tool_calls that your code runs and returns.

cURL Tools and function calling
curl https://gisoo.pro/api/v1/chat/completions -H "Authorization: Bearer $GISOO_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "gpt-4.1", "messages": [{"role": "user", "content": "Weather in Paris?"}],
       "tools": [{"type": "function", "function": {"name": "get_weather", "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]}}}]}'

Full reference (Persian): /docs/tools

Structured outputs

POST /chat/completions

Force valid JSON with response_format: either json_object, or json_schema with strict mode so the reply matches your schema.

cURL Structured outputs
curl https://gisoo.pro/api/v1/chat/completions -H "Authorization: Bearer $GISOO_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "gpt-4.1", "messages": [{"role": "user", "content": "Extract: Ana, 31, Lisbon"}],
       "response_format": {"type": "json_schema", "json_schema": {"name": "person", "strict": true,
         "schema": {"type": "object", "properties": {"name": {"type": "string"}, "age": {"type": "integer"}, "city": {"type": "string"}},
         "required": ["name", "age", "city"], "additionalProperties": false}}}}'

Full reference (Persian): /docs/structured-outputs

Embeddings

POST /embeddings

Turn text into vectors for search, clustering and retrieval.

cURL Embeddings
curl https://gisoo.pro/api/v1/embeddings -H "Authorization: Bearer $GISOO_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "text-embedding-3-small", "input": "The quick brown fox"}'

Full reference (Persian): /docs/embeddings

Image generation

POST /images/generations

Create images from a prompt. The reply carries the image as b64_json.

cURL Image generation
curl https://gisoo.pro/api/v1/images/generations -H "Authorization: Bearer $GISOO_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "gpt-image-1-mini", "prompt": "A lighthouse at dawn, watercolor", "size": "1024x1024", "quality": "medium"}'

Full reference (Persian): /docs/images

Speech and transcription

POST /audio/speech, /audio/transcriptions, /audio/translations

Text to speech with a chosen voice, and speech to text from an uploaded file (multipart form). Translations turn foreign speech into English text.

cURL Speech and transcription
curl https://gisoo.pro/api/v1/audio/speech -H "Authorization: Bearer $GISOO_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "gpt-4o-mini-tts", "voice": "alloy", "input": "Welcome to Gisoo.", "response_format": "mp3"}' --output hello.mp3

curl https://gisoo.pro/api/v1/audio/transcriptions -H "Authorization: Bearer $GISOO_API_KEY" \
  -F file=@meeting.mp3 -F model=gpt-4o-mini-transcribe -F response_format=json

Full reference (Persian): /docs/audio

Music

POST /audio/music

Generate a music clip or a full song from a text prompt.

cURL Music
curl https://gisoo.pro/api/v1/audio/music -H "Authorization: Bearer $GISOO_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "openrouter/google/lyria-3-clip-preview", "prompt": "Calm piano with soft strings, 30 seconds"}'

Full reference (Persian): /docs/music

Video

POST /videos, GET /videos/{id}, GET /videos/{id}/content

Video is asynchronous: create a job, poll its status (queued, in_progress, completed), then download the file. A failed video is not billed.

cURL Video
curl https://gisoo.pro/api/v1/videos -H "Authorization: Bearer $GISOO_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "sora-2", "prompt": "A paper boat on a rainy street", "seconds": 4, "size": "1280x720"}'

curl https://gisoo.pro/api/v1/videos/VIDEO_ID -H "Authorization: Bearer $GISOO_API_KEY"
curl https://gisoo.pro/api/v1/videos/VIDEO_ID/content -H "Authorization: Bearer $GISOO_API_KEY" --output clip.mp4

Full reference (Persian): /docs/video

Realtime voice

wss://gisoo.pro/api/v1/realtime?model=...

A WebSocket for live voice conversations, compatible with the OpenAI Realtime protocol, with server-side voice activity detection.

Shell Realtime voice
wscat -c "wss://gisoo.pro/api/v1/realtime?model=MODEL_ID" -H "Authorization: Bearer $GISOO_API_KEY"

Full reference (Persian): /docs/realtime

Moderation, usage and account

POST /moderations, GET /me, GET /usage, GET /requests/{id}

Check text against a moderation model, read your balance and spend, and look up the cost record of any request. These read-only calls are never billed.

cURL Moderation, usage and account
curl https://gisoo.pro/api/v1/me -H "Authorization: Bearer $GISOO_API_KEY"
curl https://gisoo.pro/api/v1/usage -H "Authorization: Bearer $GISOO_API_KEY"

Full reference (Persian): /docs/usage-api

MCP server

https://gisoo.pro/api/mcp

Use your Gisoo key from MCP clients such as Claude Desktop, Cursor or VS Code: the same key, balance and limits as the API, offered as MCP tools.

Shell MCP server
claude mcp add --transport http gisoo https://gisoo.pro/api/mcp \
  --header "Authorization: Bearer $GISOO_API_KEY"

Full reference (Persian): /docs/mcp

Limits, errors and billing

Errors use the OpenAI error shape. Authentication, credit, rate-limit and bad-request errors are never billed; a provider failure before any output returns the hold. Read Pricing and billing and the full OpenAPI specification.

Prompts and responses are not stored on Gisoo. Only metadata is kept for billing and support: the model, token counts, cost, latency and IP address.