Typeface Content Generation API

The Content Generation API from Typeface — 3 operation(s) for content generation.

Operations 3

POST /batch-service/accounts/{accountId}/projects/{projectId}/generate Generate Content #
GET /batch-service/accounts/{accountId}/projects/{projectId}/batch-jobs/{monitorId} Poll Generation Job Status #
GET /content-service/workspace/{projectId}/documents/{documentId}/read-only Get Generated Content #

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/typeface-content-generation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

typeface-content-generation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Typeface Content Generation API
  version: v0
servers:
- url: https://api-us.typeface.ai
  description: Generated server url
security:
- BearerAuth: []
tags:
- name: Content Generation
paths:
  /batch-service/accounts/{accountId}/projects/{projectId}/generate:
    post:
      summary: Generate Content
      description: '**templates** is an Array of requests.'
      tags:
      - Content Generation
      parameters:
      - name: accountId
        in: path
        required: true
        description: Unique identifier for the specific team
        schema:
          type: string
      - name: projectId
        in: path
        required: true
        description: Unique identifier for the specific project
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - templates
              - workspaceId
              - requestContext
              properties:
                templates:
                  type: array
                  items:
                    type: object
                    properties:
                      templateType:
                        type: string
                      templateParams:
                        type: object
                        properties:
                          ImageDescription:
                            type: string
                          VariationCount:
                            type: integer
                          EnhancePrompt:
                            type: boolean
                          AspectRatio:
                            type: string
                workspaceId:
                  type: string
                workflowName:
                  type: string
                requestContext:
                  type: object
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  monitorId:
                    type: string
                  links:
                    type: array
                    items:
                      type: object
                      properties:
                        rel:
                          type: string
                        href:
                          type: string
      operationId: postBatchServiceAccountsByAccountIdProjectsByProjectIdGenerate
      x-operation-id-source: derived
  /batch-service/accounts/{accountId}/projects/{projectId}/batch-jobs/{monitorId}:
    get:
      summary: Poll Generation Job Status
      description: '**Sample Response**


        Based on how many requests batched in the Generation API call, those many `jobStepResponses` will be returned.


        Each one contains `documentMetadata` object with an `id`. This document corresponds to the response for each of the request in the batch. Use `documentMetadata.id` as `documentId` while making subsequent call to fetch the generated content.


        ```json

        {

        "job": {

        "jobId": "2bd1365a-ac4b-4224-bf97-dd0c4a8c91e9",

        "name": "Generate First Image",

        "projectId": "243056",

        "status": "SUCCEEDED",

        "createdAt": "2024-03-28T20:47:32+05:30",

        "startedAt": "2024-03-28T20:47:32+05:30",

        "completedAt": "2024-03-28T20:48:26+05:30",

        "jobStepResponses": [

        {

        "status": "SUCCEEDED",

        "documentMetadata": {

        "id": 46,

        "name": "simple_image_0"

        }

        }

        ]

        },

        "links": [

        {

        "rel": "self",

        "href": "https://api-us.typeface.ai/batch-service/accounts/5d903776-016a-4f1d-814d-71d44a88ebd3/projects/243056/batch-jobs/2bd1365a-ac4b-4224-bf97-dd0c4a8c91e9"

        }

        ]

        }

        ```'
      tags:
      - Content Generation
      parameters:
      - name: accountId
        in: path
        required: true
        description: Unique identifier for the specific team
        schema:
          type: string
      - name: projectId
        in: path
        required: true
        description: Unique identifier for the specific project
        schema:
          type: string
      - name: monitorId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  job:
                    type: object
                    properties:
                      jobId:
                        type: string
                      name:
                        type: string
                      jobStepResponses:
                        type: array
                        items:
                          type: object
                          properties:
                            status:
                              type: string
                            documentMetadata:
                              type: object
                              properties:
                                id:
                                  type: string
                                name:
                                  type: string
      operationId: getBatchServiceAccountsByAccountIdProjectsByProjectIdBatchJobsByMonitorId
      x-operation-id-source: derived
  /content-service/workspace/{projectId}/documents/{documentId}/read-only:
    get:
      tags:
      - Content Generation
      operationId: getReadOnlyDocument
      parameters:
      - name: projectId
        in: path
        required: true
        description: Unique identifier for the specific project
        schema:
          type: integer
          format: int64
      - name: documentId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/vnd.typeface.documents.blocks.v2+json:
              schema:
                $ref: '#/components/schemas/GetReadOnlyDocumentResponseBody'
      summary: Get Generated Content
      description: Retrieve generated content using this API. Response contains array of blocks and each block corresponds to a content fragment. For simple text and image, there will be only one block. Each block has `type` which indicates the content type and `variations` generated.
components:
  schemas:
    ContentBlockV2TextContent:
      type: object
      allOf:
      - $ref: '#/components/schemas/IContentBlockV2BaseContent'
      - type: object
        properties:
          content:
            type: string
    ReadOnlyDocument:
      type: object
      properties:
        workspaceId:
          $ref: '#/components/schemas/WorkspaceId'
        id:
          $ref: '#/components/schemas/EntityId'
        name:
          type: string
        blocks:
          type: array
          items:
            $ref: '#/components/schemas/ContentBlock'
        signedUrlResponses:
          type: array
          items:
            $ref: '#/components/schemas/SignedUrlResponse'
        additionalProperties:
          type: object
          additionalProperties:
            type: object
        createdAt:
          type: string
          format: date-time
        modifiedAt:
          type: string
          format: date-time
        createdBy:
          type: string
        modifiedBy:
          type: string
    Context:
      type: object
      properties:
        additionalPrompts:
          type: array
          items:
            type: string
    GetReadOnlyDocumentResponseBody:
      type: object
      properties:
        document:
          $ref: '#/components/schemas/ReadOnlyDocument'
        documentBlocks:
          $ref: '#/components/schemas/UIDocumentBlocksFormat'
        documentBlocksV2:
          $ref: '#/components/schemas/UIDocumentBlocksFormatV2'
    ContentBlockV2ImageContent:
      type: object
      allOf:
      - $ref: '#/components/schemas/IContentBlockV2BaseContent'
      - type: object
        properties:
          imageUrl:
            type: string
          width:
            type: integer
            format: int64
          height:
            type: integer
            format: int64
    BlockDefinition:
      type: object
      properties:
        ordinal:
          type: integer
          format: int32
        blockName:
          type: string
        blockType:
          type: string
          enum:
          - Image
          - Text
          - Video
        properties:
          type: object
          additionalProperties:
            type: object
        promptCorpus:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
        context:
          $ref: '#/components/schemas/Context'
    UIDocumentBlocksFormat:
      type: object
      properties:
        version:
          type: string
        blocks:
          type: array
          items:
            $ref: '#/components/schemas/UIContentBlock'
        metadata:
          $ref: '#/components/schemas/DocMetadata'
    SignedUrlResponse:
      type: object
      properties:
        blobId:
          $ref: '#/components/schemas/BlobId'
        signedUrl:
          type: string
    ContentBlock:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - Image
          - Text
          - Video
        ref:
          $ref: '#/components/schemas/EntityRef'
        promptId:
          type: string
        styleElements:
          type: object
          additionalProperties:
            type: object
        blockDefinition:
          $ref: '#/components/schemas/BlockDefinition'
        content:
          type: string
        inputPrompt:
          type: string
          deprecated: true
        usage:
          type: string
    DocMetadata:
      type: object
      properties:
        documentId:
          type: string
        documentName:
          type: string
        projectId:
          type: string
    EntityRef:
      type: object
      properties:
        workspaceId:
          $ref: '#/components/schemas/WorkspaceId'
        entityId:
          $ref: '#/components/schemas/EntityId'
        entityType:
          type: string
        additionalProperties:
          type: object
          additionalProperties:
            type: object
    UIContentBlockV2:
      type: object
      properties:
        type:
          type: string
          enum:
          - Image
          - Text
          - Video
        variations:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/ContentBlockV2ImageContent'
            - $ref: '#/components/schemas/ContentBlockV2TextContent'
    UIDocumentBlocksFormatV2:
      type: object
      properties:
        version:
          type: string
        blocks:
          type: array
          items:
            $ref: '#/components/schemas/UIContentBlockV2'
        metadata:
          $ref: '#/components/schemas/DocMetadata'
    IContentBlockV2BaseContent:
      required:
      - type
      type: object
      properties:
        type:
          type: string
      discriminator:
        propertyName: type
    UIContentBlock:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - List
          - Title
          - Image
          - Text
        promptId:
          type: string
        styles:
          type: object
          additionalProperties:
            type: object
        data:
          type: object
          additionalProperties:
            type: object
    EntityId:
      type: object
      properties:
        id:
          type: integer
          format: int64
    WorkspaceId:
      type: object
      properties:
        id:
          type: integer
          format: int64
    BlobId:
      type: object
      properties:
        id:
          type: integer
          format: int64
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
x-readme:
  explorer-enabled: true
  proxy-enabled: true