Imagefactory External API

The External API from Imagefactory — 1 operation(s) for external.

GitHub OpenAPI

Operations 1

GET /api/external/v1/usage/transactions List usage transactions #

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/imagefactory-co-kr:imagefactory-co-kr-external-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

imagefactory-co-kr-external-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Imagefactory External API
  version: 1.2.0
  description: Team usage, resize, and image generation. Team integration keys are issued in My Page → API Keys. Approved team members can issue and use image keys; team-wide usage requires an admin or owner. Unapproved teams cannot issue image keys or submit new jobs. Removing team approval preserves accepted jobs and their settlement. Generate outputs are 1024×1024; use resize for exact dimensions. Reference instructions are optional per image. Pair mode requires count = reference count; roundrobin permits 1–5 outputs. Product images and design references have separate roles. Safe zones use output pixels from the top-left. Private input blobs are deleted on completion or timeout.
  contact:
    name: Imagefactory Support
    url: https://www.imagefactory.co.kr
servers:
- url: https://www.imagefactory.co.kr
  description: Production
security:
- bearerAuth: []
tags:
- name: External
paths:
  /api/external/v1/usage/transactions:
    get:
      summary: List usage transactions
      description: Returns transactions explicitly bound to the requesting teamId; personal and other-team rows are excluded. Results are ordered by `created_at` descending (newest first). If `has_more` is `true`, pass the returned `next_page` value as the `page` parameter on the next request.
      operationId: listUsageTransactions
      parameters:
      - name: starting_at
        in: query
        required: true
        schema:
          type: string
          format: date-time
        description: 'Start of the time range (inclusive). ISO 8601 UTC. Example: `2026-05-01T00:00:00Z`.'
      - name: ending_at
        in: query
        required: true
        schema:
          type: string
          format: date-time
        description: End of the time range (**exclusive**). ISO 8601 UTC. The half-open interval ensures the same row is never returned twice across consecutive ranges.
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 1000
          default: 100
        description: Maximum number of rows per page. Defaults to 100, capped at 1000.
      - name: page
        in: query
        required: false
        schema:
          type: string
        description: Opaque cursor token. Pass the `next_page` value from the previous response. Omit on the first request.
      responses:
        '200':
          description: A page of usage transactions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionsResponse'
              examples:
                default:
                  value:
                    data:
                    - transaction_id: tx_abc123
                      user_id: uid_member1
                      team_id: team_acme
                      type: team_usage
                      feature: banner_create
                      points: 100
                      delta: -100
                      direction: debit
                      currency: POINT
                      created_at: '2026-06-03T14:22:08.123Z'
                    as_of: '2026-06-03T14:30:00.000Z'
                    has_more: true
                    next_page: MjAyNi0wNi0wM1QxNDoyMjowOC4xMjNa
        '400':
          description: Invalid or missing query parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing, malformed, or revoked credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      tags:
      - External
components:
  schemas:
    TransactionsResponse:
      type: object
      required:
      - data
      - as_of
      - has_more
      - next_page
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/UsageTransaction'
        as_of:
          type: string
          format: date-time
          description: Server timestamp at which the response was generated. Use this to reason about data freshness when reconciling.
        has_more:
          type: boolean
          description: Whether additional pages of results are available for the same query.
        next_page:
          type: string
          nullable: true
          description: Opaque cursor for fetching the next page. `null` when `has_more` is `false`. Forward this value verbatim as the `page` parameter on the next request.
    UsageTransaction:
      type: object
      required:
      - transaction_id
      - user_id
      - team_id
      - type
      - feature
      - points
      - delta
      - direction
      - currency
      - created_at
      properties:
        external_user_id:
          type: string
          description: Optional caller-supplied identifier; not an authorization identity.
        task_id:
          type: string
          description: External image task identifier, when applicable.
        transaction_id:
          type: string
          description: Unique identifier for the transaction. Stable across requests; use as an idempotency key when persisting to your own store.
        user_id:
          type: string
          description: Identifier of the team member who initiated the transaction.
        team_id:
          type: string
          description: Identifier of the requesting team. Rows without this teamId are excluded.
        type:
          type: string
          enum:
          - usage
          - team_usage
          - refund
          description: Kind of transaction. `usage` — deducted from a personal point balance. `team_usage` — deducted from the shared team balance. `refund` — credited back after a failed operation.
        feature:
          type: string
          enum:
          - banner_create
          - banner_resize
          - banner_edit
          - other
          - unknown
          description: Product feature that incurred the charge. `unknown` is returned only for a small number of historical rows where the feature could not be inferred.
        points:
          type: integer
          minimum: 0
          description: Magnitude of the transaction in points. Always non-negative — use this field for usage totals.
        delta:
          type: integer
          description: Signed change to the point balance. Negative for debits, positive for refunds. Use this field when integrating with double-entry accounting.
        direction:
          type: string
          enum:
          - debit
          - credit
          description: '`debit` indicates a deduction; `credit` indicates a refund or restoration.'
        currency:
          type: string
          enum:
          - POINT
          description: Unit of measure. Currently always `POINT`. Future revisions may introduce additional units (such as USD); always inspect this field rather than assuming a fixed unit.
        created_at:
          type: string
          format: date-time
          description: When the transaction occurred. ISO 8601 UTC with millisecond precision.
    ErrorResponse:
      type: object
      properties:
        success:
          type: boolean
          const: false
        errorCode:
          type: string
        requestId:
          type: string
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: imf_<token>:<secret>
      description: API keys are issued from the Imagefactory account dashboard (My Page → API Keys). Team owners and admins can issue integration keys with usage:read permission.