BudgetPixel Open AI API

The OpenAI API from BudgetPixel — 1 operation(s) for openai.

Operations 3

POST /images/gpt-image-2 Generate image with GPT-Image-2 #
POST /images/gpt-image-2.5-flare Generate image with GPT Image 2.5 Flare #
POST /images/gpt-image-2.5-sunburst Generate image with GPT Image 2.5 Sunburst #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/budgetpixel:budgetpixel-openai-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

budgetpixel-openai-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Budgetpixel Open AI API
  version: '2026-06-20'
  contact:
    email: support@budgetpixel.com
    name: BudgetPixel Support
  description: 'Operations tagged OpenAI across 2 of this provider''s published API definitions: budgetpixel-openapi.yaml, budgetpixel-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- description: Production
  url: https://api.budgetpixel.com/v1
security:
- ApiKeyAuth: []
tags:
- name: Openai
paths:
  /images/gpt-image-2:
    post:
      description: 'OpenAI GPT-Image-2 — next-generation image model with significantly improved text rendering. Text-to-image and image editing with up to 9 reference images, 1K/2K/4K output, and three quality levels. Billing: per image, resolution × quality — medium quality bills 60/120/180 credits at 1K/2K/4K, low bills half that (30/60/90), high bills 250/500/750.


        **Asynchronous.** Returns a job `id` (the image is not in this response). Poll `GET /v1/images/{id}` until `status` is `succeeded` — the generated image URLs are in that response''s `images` array (each `{ url, position }`).'
      operationId: createImage_gpt_image_2
      requestBody:
        content:
          application/json:
            schema:
              properties:
                aspect_ratio:
                  default: '1:1'
                  description: Output aspect ratio.
                  enum:
                  - '1:1'
                  - '4:3'
                  - '3:4'
                  - '5:4'
                  - '4:5'
                  - '16:9'
                  - '9:16'
                  - '3:2'
                  - '2:3'
                  - '21:9'
                  - '9:21'
                  - '2:1'
                  - '1:2'
                  type: string
                num_images:
                  default: 1
                  description: Number of images to generate.
                  maximum: 4
                  minimum: 1
                  type: integer
                output_format:
                  default: png
                  description: Output image format.
                  enum:
                  - png
                  - jpeg
                  type: string
                prompt:
                  description: Text description of the image to generate.
                  type: string
                quality:
                  default: medium
                  description: 'Rendering quality. Multiplies the resolution price: low = 0.5x, medium = 1x, high ≈ 4.17x (e.g. at 1K: low 30, medium 60, high 250 credits).'
                  enum:
                  - low
                  - medium
                  - high
                  type: string
                reference_images:
                  description: Optional reference images (up to 9) for image editing and composition. Each item is a public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads. Omit for text-to-image.
                  items:
                    type: string
                  maxItems: 9
                  type: array
                resolution:
                  default: 1K
                  description: Output resolution tier. Bills 60/120/180 credits per image (medium quality) at 1K/2K/4K.
                  enum:
                  - 1K
                  - 2K
                  - 4K
                  type: string
              required:
              - prompt
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateImageResponse'
          description: Job accepted.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      summary: Generate image with GPT-Image-2
      tags:
      - Openai
    servers:
    - description: Production
      url: https://api.budgetpixel.com/v1
  /images/gpt-image-2.5-flare:
    post:
      description: 'OpenAI GPT Image 2.5 Flare — the fast, everyday GPT Image model: high-quality generation with natural text rendering and reliable edits at lower latency than Sunburst. Text-to-image and image editing with up to 9 reference images, 1K/2K/4K output and five quality tiers. Billing: per output image, quality × resolution — at 1K: low 30, medium 40, high 80, xhigh 130, max 250 credits; 2K doubles and 4K triples those. Reference images: the first is free, each additional one adds 5 credits. Default quality medium (40 credits at 1K).


        **Asynchronous.** Returns a job `id` (the image is not in this response). Poll `GET /v1/images/{id}` until `status` is `succeeded` — the generated image URLs are in that response''s `images` array (each `{ url, position }`).


        Examples, sample output and pricing: GPT Image 2.5 Flare'
      operationId: createImage_gpt_image_2_5_flare
      requestBody:
        content:
          application/json:
            schema:
              properties:
                aspect_ratio:
                  default: '1:1'
                  description: Output aspect ratio.
                  enum:
                  - '1:1'
                  - '4:3'
                  - '3:4'
                  - '5:4'
                  - '4:5'
                  - '16:9'
                  - '9:16'
                  - '3:2'
                  - '2:3'
                  - '21:9'
                  - '9:21'
                  - '2:1'
                  - '1:2'
                  type: string
                num_images:
                  default: 1
                  description: Number of images to generate.
                  maximum: 4
                  minimum: 1
                  type: integer
                output_format:
                  default: png
                  description: Output image format.
                  enum:
                  - png
                  - jpeg
                  type: string
                prompt:
                  description: Text description of the image to generate.
                  type: string
                quality:
                  default: medium
                  description: 'Rendering quality. Per image at 1K: low 30, medium 40, high 80, xhigh 130, max 250 credits (scaled by resolution).'
                  enum:
                  - low
                  - medium
                  - high
                  - xhigh
                  - max
                  type: string
                reference_images:
                  description: Optional reference images (up to 9) for image editing and composition. Each item is a public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads. Omit for text-to-image. The first reference is free; each additional one adds 5 credits per generated image.
                  items:
                    type: string
                  maxItems: 9
                  type: array
                  x-bpx-media: image
                resolution:
                  default: 1K
                  description: Output resolution tier. 2K bills 2× and 4K 3× the 1K price of the chosen quality.
                  enum:
                  - 1K
                  - 2K
                  - 4K
                  type: string
              required:
              - prompt
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateImageResponse'
          description: Job accepted.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests_2'
      summary: Generate image with GPT Image 2.5 Flare
      tags:
      - Openai
    servers:
    - description: Production
      url: https://api.budgetpixel.com/v1
  /images/gpt-image-2.5-sunburst:
    post:
      description: 'OpenAI GPT Image 2.5 Sunburst — the most capable GPT Image model, built for premium visual work and precise, instruction-scoped edits that keep subject, composition and background intact. Text-to-image and image editing with up to 9 reference images, 1K/2K/4K output and five quality tiers. Billing: per output image, quality × resolution — at 1K: low 30, medium 40, high 80, xhigh 130, max 250 credits; 2K doubles and 4K triples those. Reference images: the first is free, each additional one adds 5 credits. Default quality medium (40 credits at 1K).


        **Asynchronous.** Returns a job `id` (the image is not in this response). Poll `GET /v1/images/{id}` until `status` is `succeeded` — the generated image URLs are in that response''s `images` array (each `{ url, position }`).


        Examples, sample output and pricing: GPT Image 2.5 Sunburst'
      operationId: createImage_gpt_image_2_5_sunburst
      requestBody:
        content:
          application/json:
            schema:
              properties:
                aspect_ratio:
                  default: '1:1'
                  description: Output aspect ratio.
                  enum:
                  - '1:1'
                  - '4:3'
                  - '3:4'
                  - '5:4'
                  - '4:5'
                  - '16:9'
                  - '9:16'
                  - '3:2'
                  - '2:3'
                  - '21:9'
                  - '9:21'
                  - '2:1'
                  - '1:2'
                  type: string
                num_images:
                  default: 1
                  description: Number of images to generate.
                  maximum: 4
                  minimum: 1
                  type: integer
                output_format:
                  default: png
                  description: Output image format.
                  enum:
                  - png
                  - jpeg
                  type: string
                prompt:
                  description: Text description of the image to generate.
                  type: string
                quality:
                  default: medium
                  description: 'Rendering quality. Per image at 1K: low 30, medium 40, high 80, xhigh 130, max 250 credits (scaled by resolution).'
                  enum:
                  - low
                  - medium
                  - high
                  - xhigh
                  - max
                  type: string
                reference_images:
                  description: Optional reference images (up to 9) for image editing and composition. Each item is a public image URL, a data URI, raw base64, or an uploaded-file URL from POST /v1/uploads. Omit for text-to-image. The first reference is free; each additional one adds 5 credits per generated image.
                  items:
                    type: string
                  maxItems: 9
                  type: array
                  x-bpx-media: image
                resolution:
                  default: 1K
                  description: Output resolution tier. 2K bills 2× and 4K 3× the 1K price of the chosen quality.
                  enum:
                  - 1K
                  - 2K
                  - 4K
                  type: string
              required:
              - prompt
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateImageResponse'
          description: Job accepted.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests_2'
      summary: Generate image with GPT Image 2.5 Sunburst
      tags:
      - Openai
    servers:
    - description: Production
      url: https://api.budgetpixel.com/v1
components:
  schemas:
    Error:
      properties:
        error:
          properties:
            code:
              description: Stable machine-readable code.
              example: model_not_available
              type: string
            message:
              type: string
            type:
              description: Error category.
              example: invalid_request_error
              type: string
          required:
          - type
          - code
          - message
          type: object
      required:
      - error
      type: object
    CreateImageResponse:
      properties:
        id:
          description: Opaque job id — use it to poll status.
          example: img_a1b2c3d4e5f6
          type: string
        message:
          type: string
        model:
          type: string
        status:
          $ref: '#/components/schemas/JobStatus'
      type: object
    ModerationBlocked:
      description: Returned (with HTTP 400) when the input content moderation gate blocks a generation request. The block is a property of the request's prompt or input media — reword the prompt or change the input and retry. Branch on `restriction_reason`, which is stable and machine-readable.
      properties:
        error:
          description: Human-readable explanation of the block.
          type: string
        restriction_reason:
          description: Stable machine-readable block reason.
          enum:
          - input_csam
          - input_explicit_adult
          - input_upload_nudity
          - input_celebrity_likeness
          - strict_model_nsfw
          type: string
      required:
      - error
      - restriction_reason
      type: object
    JobStatus:
      description: Lifecycle state. `succeeded`/`failed`/`timeout` are terminal.
      enum:
      - pending
      - starting
      - processing
      - completing
      - succeeded
      - failed
      - timeout
      type: string
    QueueFull:
      description: '`429` body when your account already has as many jobs of this kind

        (image, video or audio) in flight as its concurrency cap allows. Submit

        the next job when one of your running jobs finishes.

        '
      properties:
        active_jobs:
          description: Jobs of this kind in flight right now.
          type: integer
        code:
          enum:
          - queue_full
          type: string
        error:
          description: Human-readable message.
          type: string
        queue_full:
          enum:
          - true
          type: boolean
        queue_limit:
          description: Your concurrency cap for this kind of job.
          type: integer
        retry_after_seconds:
          description: Same value as the `Retry-After` header.
          type: integer
      required:
      - error
      - code
      - queue_full
      - queue_limit
      - active_jobs
      - retry_after_seconds
      type: object
  responses:
    TooManyRequests:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Rate or queue limit reached. Retry after a short delay.
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Missing or invalid API key.
    BadRequest:
      content:
        application/json:
          schema:
            oneOf:
            - $ref: '#/components/schemas/Error'
            - $ref: '#/components/schemas/ModerationBlocked'
      description: The request was malformed, referenced an unavailable model, or was blocked by input content moderation (moderation blocks carry a `restriction_reason` — see ModerationBlocked).
    Forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
      description: Authenticated but not permitted (plan gate, ownership, account restriction). Content-moderation blocks are 400, not 403.
    TooManyRequests_2:
      content:
        application/json:
          schema:
            oneOf:
            - $ref: '#/components/schemas/Error'
            - $ref: '#/components/schemas/QueueFull'
      description: 'A limit was reached. Every `429` carries `Retry-After` (seconds). The

        per-minute rate limit, the upload limit and the hourly API post cap answer

        with the `Error` envelope, code `rate_limited`. The monthly spend limit answers with

        code `monthly_spend_limit_reached`, and its `Retry-After` counts down to the

        start of next month (raising the limit in the console clears it sooner).

        A full concurrency queue answers with the flat `QueueFull` body (3D jobs:

        the `Error` envelope with code `queue_full`); its `Retry-After` is a

        suggested wait, because a slot frees as soon as one of your running jobs

        finishes.

        '
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            minimum: 1
            type: integer
  securitySchemes:
    ApiKeyAuth:
      bearerFormat: bpx_live_*
      description: 'API key as a bearer token: Authorization: Bearer bpx_live_xxx'
      scheme: bearer
      type: http
x-refined-from:
- budgetpixel-openapi.yaml
- budgetpixel-openapi.yml