---
title: "Create a brand"
method: POST
path: "/v1/brands"
tags: ["Brands"]
---

# Create a brand

`POST /v1/brands`

## Request

- Base URL: `https://apihub.co.il`
- URL: `https://apihub.co.il/v1/brands`
- Auth: HTTP bearer

A brand fills what a request leaves out — name it with `brand_id` on POST /v1/studio/edit · short · captions, POST /v1/banner and POST /v1/carousel (`default` = your default brand); the video agent uses your default brand by itself. Anything a request states wins over the brand. The logo is always a layer of the render (never drawn by an AI model).

Free to call · **Rate limit:** 60/min per key (writes: 30/min per account)

## Request body

- object
  - `name` string, required
  - `is_default` boolean: Your first brand becomes the default unless false
  - `logo` object, nullable
    - `url` string, uri: A PNG, JPG, WebP or SVG (≤ 5 MB): a public link, an upload of yours (POST /v1/studio/uploads), or a draft's logo. An SVG is rasterised to PNG for the render
  - `colors` object, required
    - `primary` string, required
    - `secondary` string, nullable
    - `accent` string, nullable: Marks the spoken word in captions
    - `ink` string, nullable
  - `fonts` object
    - `heading` object
      - `family` string, required: A built-in family (GET /v1/brands → fonts.builtin) or your font's
      - `source` 'builtin' | 'custom', required
      - `font_id` string: With source custom: the id from POST /v1/brands/fonts
    - `body` object
      - `family` string, required: A built-in family (GET /v1/brands → fonts.builtin) or your font's
      - `source` 'builtin' | 'custom', required
      - `font_id` string: With source custom: the id from POST /v1/brands/fonts
  - `caption_style` string, nullable: A caption preset id (GET /v1/studio/caption-styles); null = the agent decides
  - `logo_position` 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'none'
  - `tone` string, nullable
  - `handle` string, nullable: @name
  - `website` string, nullable
  - `hashtags` string[]

## Response `201`

Created

## Other responses

- `400`: invalid_input · logo_invalid · logo_too_big
- `409`: too_many_brands

---

[API](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai.md) · [All operations](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/revisions/a8caa42835ce?raw)
