Typeface Content Generation API
The Content Generation API from Typeface — 3 operation(s) for content generation.
The Content Generation API from Typeface — 3 operation(s) for content generation.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/typeface-content-generation-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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