Skip to main content

Base URL

All API requests are made to the following base URL:
https://api.upmore.net

Authentication

Upmore uses Bearer token authentication. Include your API key in the Authorization header of every request:
Authorization: Bearer YOUR_API_KEY
You can generate and manage API keys in the API Keys.
Keep your API key secure. Do not expose it in client-side code or public repositories.

Request format

All requests must use Content-Type: application/json. Request bodies are JSON-encoded.
curl https://api.upmore.net/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.5",
    "messages": [
      {"role": "user", "content": "Hello!"}
    ]
  }'

Supported endpoints

EndpointDescription
POST /v1/chat/completionsChat completion (OpenAI-compatible)
POST /v1/images/generationsImage generation (ByteDance Seedream)
POST /v1/images/editsImage editing (reference image)
POST /v1/video/generationsVideo generation (ByteDance Seedance)
GET /v1/video/generations/{id}Query video generation task status

Response format

All responses are JSON-encoded. A successful response typically includes:
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "model": "gpt-5.5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 12,
    "total_tokens": 22
  }
}

Error handling

When an error occurs, the API returns a JSON response with an error object:
{
  "error": {
    "message": "Invalid API key provided.",
    "type": "authentication_error",
    "code": "invalid_api_key"
  }
}

HTTP status codes

StatusDescription
200Success
400Bad request — invalid parameters
401Unauthorized — invalid or missing API key
403Forbidden — insufficient permissions
404Not found — invalid endpoint
429Rate limit exceeded — too many requests
500Internal server error

Rate limits

Rate limits vary by model and subscription tier. If you hit a rate limit, the API returns a 429 status code. Implement exponential backoff to handle rate limiting gracefully.

OpenAI SDK compatibility

Upmore is compatible with the OpenAI SDK. Simply change the base_url to use Upmore:
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.upmore.net/v1"
)
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "YOUR_API_KEY",
  baseURL: "https://api.upmore.net/v1",
});