Quotaflow
llms.txtOpenAPIDashboard
Examples

Curl examples

When to use this page

Use this page to test a key or debug connectivity without an SDK.

Set a key

export QUOTAFLOW_API_KEY="qf_your_key_here"

List models

curl https://api.quotaflow.ai/openai/v1/models \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY"

Non-streaming response

curl https://api.quotaflow.ai/openai/v1/responses \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "x-session-id: curl-test" \
  -d '{
    "model": "gpt-5.5",
    "input": "Return a JSON object with status connected.",
    "stream": false
  }'

Streaming response

curl -N https://api.quotaflow.ai/openai/v1/responses \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "x-session-id: curl-stream-test" \
  -d '{
    "model": "gpt-5.5",
    "input": "Count from one to five slowly.",
    "stream": true
  }'

Kimi JSON mode chat

Use kimi-k2.7-code on /chat/completions when you need a Chat Completions-shaped coding model with strict JSON output. GLM chat supports messages, streaming, and tools, but strict JSON mode returns 400 invalid_request_error.

curl https://api.quotaflow.ai/openai/v1/chat/completions \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kimi-k2.7-code",
    "messages": [{"role":"user","content":"Return JSON with status connected."}],
    "response_format": {"type":"json_object"},
    "stream": false
  }'

Embeddings

curl https://api.quotaflow.ai/openai/v1/embeddings \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "text-embedding-3-small",
    "input": "Quotaflow embeddings are connected."
  }'

Anthropic-compatible Messages

curl https://api.quotaflow.ai/v1/messages \
  -H "x-api-key: $QUOTAFLOW_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 128,
    "messages": [
      { "role": "user", "content": "Return only: connected" }
    ]
  }'

Image generation

curl https://api.quotaflow.ai/openai/v1/images/generations \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "A clean teal API dashboard illustration.",
    "size": "1024x1024",
    "response_format": "b64_json"
  }'

For non-streaming image generation or edits, set response_format to url when you want Quotaflow to return a temporary hosted URL instead of inline base64.

Image editing

curl https://api.quotaflow.ai/openai/v1/images/edits \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY" \
  -F "model=gpt-image-2" \
  -F "image=@./input.png" \
  -F "mask=@./mask.png" \
  -F "prompt=Change only the masked area to a clean teal gradient" \
  -F "size=1024x1024" \
  -F "response_format=b64_json"

Video generation

curl https://api.quotaflow.ai/openai/v1/videos \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "veo-3.1-fast-generate-001",
    "prompt": "A cinematic drone shot over a coastal city at sunrise.",
    "durationSeconds": 4,
    "resolution": "1080p",
    "aspectRatio": "16:9"
  }'
curl https://api.quotaflow.ai/openai/v1/videos/$TASK_ID \
  -H "Authorization: Bearer $QUOTAFLOW_API_KEY"