# Typeface Documentation > Documentation for Typeface ## Guides - [Introduction](https://developers.typeface.ai/docs/introduction.md): Typeface supports a host of integration patterns. - [Quickstart](https://developers.typeface.ai/docs/getting-started.md): How to integrate an app with Typeface. - [Service Endpoints](https://developers.typeface.ai/docs/service-endpoints.md) - [Authentication](https://developers.typeface.ai/docs/bearer-authentication.md) - [Status Codes](https://developers.typeface.ai/docs/errors.md) - [Troubleshooting](https://developers.typeface.ai/docs/troubleshooting.md) - [What is a Workflow?](https://developers.typeface.ai/docs/what-is-a-workflow-agent.md): Understand the difference between Skills and Workflows in Typeface. - [Agent Builder Interface](https://developers.typeface.ai/docs/agent-builder-interface.md): Tour the Agent Studio and the Agent Builder Canvas. - [Magic Prompt](https://developers.typeface.ai/docs/magic-prompt.md): Use natural language to generate a complete workflow automatically. - [Workflow Step Types](https://developers.typeface.ai/docs/workflow-step-types.md): Reference for all step types available in the Agent Builder: Tool, Agent, Loop, If/Else, and MCP - [Workflow Composition](https://developers.typeface.ai/docs/workflow-composition.md): How workflows are composed of steps, transitions, inputs, and outputs. - [Workflow Inputs](https://developers.typeface.ai/docs/workflow-agent-inputs.md): Define the parameters your workflow collects from users before execution. - [Built-in Functions](https://developers.typeface.ai/docs/built-in-functions.md): Reference for built-in functions available in workflow expressions and templates. - [Agent Versioning](https://developers.typeface.ai/docs/agent-versioning.md) - [Build a Poem Generator Agent](https://developers.typeface.ai/docs/build-a-poem-generator-agent.md): Create your first workflow — a multilingual poem generator that takes a topic and language as inputs. - [Build an Image Generator Agent](https://developers.typeface.ai/docs/build-an-image-generator-agent.md): Create a workflow that generates images from a topic and adds them to a Typeface document. - [Build a Seasonal Email Campaign Agent](https://developers.typeface.ai/docs/httpscortex6atlassiannetwikispaces~712020be3a60b718a140f7844384d8deafc608pages2177630225emailgenerationtoolscenario-seasonalcampaignpromotionalemailagentbuild-a-seasonal-email-campaign-agent.md) - [Attach Files and Use Their Content in Agent](https://developers.typeface.ai/docs/attach-files-and-use-their-content-in-agent.md): Build agents that accept file uploads as input and process file content in workflow steps. - [CSV Processing](https://developers.typeface.ai/docs/csv-processing.md): Loop through rows in a CSV file and process each row with workflow steps. - [Data Transformation](https://developers.typeface.ai/docs/data-transformation.md): Transform data between formats using LLM tools, Code Execution, and the content pipeline. - [Debugging a Custom Agent](https://developers.typeface.ai/docs/debugging-a-custom-agent.md): Use Debug mode and step traces to troubleshoot workflow execution. - [Troubleshooting Workflow Executions ](https://developers.typeface.ai/docs/troubleshooting-workflow-executions.md): Ask AI to analyze your workflow's last run and get explanations of what went wrong, plus concrete suggestions to fix or improve it. - [Fix Workflow Steps](https://developers.typeface.ai/docs/fix-workflow-steps.md): Review and selectively apply LLM-proposed edits to your workflow's steps, based on a past execution. - [Export and Import Agents](https://developers.typeface.ai/docs/export-and-import-agents.md): Transfer workflows between teams by exporting and importing agent definitions. - [Generate Content and Add to a Document](https://developers.typeface.ai/docs/generate-content-and-add-to-a-document.md): Build a workflow that generates text content and saves it as a Typeface document. - [Generate and Execute Code](https://developers.typeface.ai/docs/generate-and-execute-code.md): Use the Code Execution Tool to run code for computation, data processing, and analysis. - [Generate Images and Add to a Document](https://developers.typeface.ai/docs/generate-images-and-add-to-a-document.md): Build a workflow that generates images and adds them to a Typeface document. - [Generate Content That Adheres to a Layout](https://developers.typeface.ai/docs/generate-content-that-adheres-to-a-layout.md): Use layout references to generate structured content that follows a predefined layout template. - [Reference Workflow Input Parameters in Steps](https://developers.typeface.ai/docs/reference-workflow-input-parameters-in-steps.md): Learn how to use $variable syntax to pass workflow inputs into step configurations. - [Controlling Step Input and Output Behavior](https://developers.typeface.ai/docs/controlling-step-input-and-output-behavior.md): Configure Require User Input, step output mode, and output variable names to control data flow. - [On-Error Routing](https://developers.typeface.ai/docs/on-error-routing.md): Route failed workflow steps to a recovery step via an "On Error" edge, instead of halting the entire workflow. - [Using Custom Agents from Chat](https://developers.typeface.ai/docs/using-custom-agents-from-chat.md): Invoke your published workflows from the Typeface chat interface. - [Schedule Cron for Custom Agents](https://developers.typeface.ai/docs/schedule-cron-for-custom-agent.md): Custom agents can run automatically on a recurring schedule without manual intervention. - [Trigger custom Agents on Typeface Events.](https://developers.typeface.ai/docs/trigger-custom-agent-when-something-important-happens-inside-typeface.md) - [Testing a Custom Agent](https://developers.typeface.ai/docs/testing-a-custom-agent.md): Generate, run, and evaluate tests against your agent workflows. - [Sample Agents](https://developers.typeface.ai/docs/sample-agents-1.md): Pre-built workflows you can install, study, and customize. - [SEO Landing Page Builder & Publisher Agent](https://developers.typeface.ai/docs/seo-landing-page-builder-publisher-agent.md): Generate keywords, write conversion copy, assemble, and publish an on-brand landing page from a single offer. - [Drip Campaign Builder Agent](https://developers.typeface.ai/docs/multi-channel-drip-personalization-agent.md): Turn a contacts CSV into a personalized, multi-channel push + SMS drip plan. - [Ad Campaign Generator Agent](https://developers.typeface.ai/docs/banner-social-ad-campaign-at-scale-agent.md): Produce a complete paid-media set — hero visual, banners, social ads, storyboard, and bulk export — from one campaign brief. - [Support Ticket Triage Agent](https://developers.typeface.ai/docs/support-ticket-triage-agent.md): Classify a support ticket, route it four ways, draft a tailored reply, and compile a triage report with a human-review flag. - [Research-to-Blog Engine Agent](https://developers.typeface.ai/docs/research-to-blog-engine-agent.md): Research the web and your knowledge base to write an SEO-optimized, brand-checked blog post. - [Limitations and Known Issues](https://developers.typeface.ai/docs/limitations-and-known-issues.md): Current constraints, known issues, and workarounds for the Agent Builder. - [Connectors Overview](https://developers.typeface.ai/docs/list-of-connectors.md) - [Adobe Experience Manager - Assets](https://developers.typeface.ai/docs/adobe-experience-manager.md): Configuring the AEM Assets connector in Typeface - [Adobe Experience Manager - Sites](https://developers.typeface.ai/docs/adobe-experience-manager-sites.md): Configuring the AEM Sites connector in Typeface - [Aprimo](https://developers.typeface.ai/docs/aprimo.md) - [Braze - CDP](https://developers.typeface.ai/docs/braze-cdp.md): Configuring the Braze Connector in Typeface - [Braze - Email](https://developers.typeface.ai/docs/braze-publish-email.md): Configuring the Braze Connector in Typeface - [Builder.io](https://developers.typeface.ai/docs/builder-io-connector.md): Configuring the Builder.io Connector in Typeface - [Bynder](https://developers.typeface.ai/docs/bynder.md) - [Contentful - General](https://developers.typeface.ai/docs/contentful.md): Configuring the Contentful connector in Typeface - [Contentful - Webpage](https://developers.typeface.ai/docs/contentful-webpage.md) - [Cloudinary](https://developers.typeface.ai/docs/cloudinary.md): Configuring the Cloudinary connector in Typeface - [Dropbox](https://developers.typeface.ai/docs/dropbox.md): Configuring the Dropbox connector in Typeface - [Facebook Social](https://developers.typeface.ai/docs/facebook-social.md) - [Google Ads](https://developers.typeface.ai/docs/google-ads-connector.md): Configuring the Google Ads Connector in Typeface - [Google Drive](https://developers.typeface.ai/docs/google-drive.md) - [Hubspot - Email](https://developers.typeface.ai/docs/hubspot-email.md): Configuring the Hubspot Connector in Typeface - [Hubspot - CDP](https://developers.typeface.ai/docs/hubspot-cdp.md): Configuring the Hubspot Connector in Typeface - [Klaviyo - Email](https://developers.typeface.ai/docs/klaviyo-email.md): Configuring the Klaviyo Connector in Typeface - [Klaviyo - CDP](https://developers.typeface.ai/docs/klaviyo-cdp.md): Configuring the Klaviyo Connector in Typeface - [LinkedIn Social](https://developers.typeface.ai/docs/linkedin-social.md) - [Mailchimp - Email](https://developers.typeface.ai/docs/mailchimp-email.md): Configuring the Mailchimp Connector in Typeface - [Mailchimp - CDP](https://developers.typeface.ai/docs/mailchimp-cdp.md): Configuring the Mailchimp Connector in Typeface - [Marketo - Email](https://developers.typeface.ai/docs/marketo-email.md): Configuring the Marketo Connector in Typeface - [Salesforce Marketing Cloud Next - Email](https://developers.typeface.ai/docs/sfmc-next.md): Configuring the Salesforce Marketing Cloud Next Connector in Typeface - [Meta Ads](https://developers.typeface.ai/docs/meta-ads.md) - [Microsoft OneDrive](https://developers.typeface.ai/docs/onedrive.md) - [Salesforce Data Cloud - CDP](https://developers.typeface.ai/docs/salesforce-data-cloud-cdp.md) - [Pardot - Email](https://developers.typeface.ai/docs/pardot-publish-email.md): Configuring the Pardot Connector in Typeface - [Slack](https://developers.typeface.ai/docs/slack.md): Configuring the Slack Connector in Typeface - [SFTP](https://developers.typeface.ai/docs/sftp.md) - [Sharepoint](https://developers.typeface.ai/docs/sharepoint.md) - [WordPress](https://developers.typeface.ai/docs/wordpress-connector.md): Configuring the WordPress Connector in Typeface - [Getty](https://developers.typeface.ai/docs/getty.md): Configuring the Getty Connector in Typeface - [Connect to MCP Server](https://developers.typeface.ai/docs/mcp.md) - [Connect to External APIs](https://developers.typeface.ai/docs/connect-to-external-apis.md) - [Adobe Campaign Integration Guide](https://developers.typeface.ai/docs/adobe-campaign-integration-guide.md): This guide explains how to connect Adobe Campaign to Typeface and publish emails directly. - [MCP Overview](https://developers.typeface.ai/docs/mcp-overview.md) - [Setup Instructions](https://developers.typeface.ai/docs/setup-instructions.md) - [Tools](https://developers.typeface.ai/docs/tools.md) - [Recipe: Generating Content through Typeface MCP Server](https://developers.typeface.ai/docs/recipe-generating-content-through-typeface-mcp-server.md) - [MCP APIs Overview](https://developers.typeface.ai/docs/mcp-apis-overview.md) - [OAuth 2.1 Authorization Code Flow for Typeface MCP APIs](https://developers.typeface.ai/docs/oauth-21-authorization-code-flow-for-typeface-mcp-apis.md) - [MCP APIs Tools](https://developers.typeface.ai/docs/mcp-api-tools.md) - [MCP APIs Recipes](https://developers.typeface.ai/docs/mcp-apis-recipes.md): Collection of recipes demonstrating how to use Typeface MCP APIs for various content generation tasks - [Microsoft Entra ID (Azure AD)](https://developers.typeface.ai/docs/sso-configuration-microsoft-entra-id.md) - [Automated User Provisioning (via SCIM 2.0)](https://developers.typeface.ai/docs/azure-ad-members-scynchronization-scim-provisioning.md) - [Part 1: Creating SCIM Token](https://developers.typeface.ai/docs/part-1-greate-scim-token.md) - [Part 2: Microsoft Entra ID Configuration ](https://developers.typeface.ai/docs/part-2.md) - [Part 2: Okta Directory Configuration](https://developers.typeface.ai/docs/okta-directory-configuration.md) - [Part 3: Group Link Configuration](https://developers.typeface.ai/docs/part-3-group-link.md) - [Automated User Provisioning (Microsoft Entra ID)](https://developers.typeface.ai/docs/copy-of-automated-user-provisioning-via-scim-20.md) - [Automated User Provisioning (Okta Directory)](https://developers.typeface.ai/docs/copy-of-automated-user-provisioning-microsoft-entra-id.md) - [Okta](https://developers.typeface.ai/docs/sso-configuration-okta.md) - [Outbound Webhooks](https://developers.typeface.ai/docs/webhook-overview.md) - [How to Configure Webhooks in Typeface](https://developers.typeface.ai/docs/how-to-configure-webhooks-in-typeface.md) - [Webhook - Authentication](https://developers.typeface.ai/docs/webhook-authentication-and-verification.md) - [Webhook - Events and Payloads](https://developers.typeface.ai/docs/webhook-events-and-payloads.md) - [Inbound Webhooks ](https://developers.typeface.ai/docs/inbound-webhooks.md): Inbound Webhooks enable external systems to securely trigger Custom Agents in real time using event-driven HTTP callbacks. - [How to Configure Inbound Webhooks in Typeface](https://developers.typeface.ai/docs/how-to-configure-inbound-webhooks-in-typeface.md) - [Inbound Webhook - Request Verification](https://developers.typeface.ai/docs/inbound-webhook-request-verification.md) - [Inbound webhook activity Logs](https://developers.typeface.ai/docs/inbound-webhook-activity-logs.md) ## API Reference - [Get access token](https://developers.typeface.ai/reference/post_oauth2-token.md): This API endpoint allows authorized client applications to obtain an access token using their Application credentials. The access token is required to authenticate and authorize requests to other Typeface AI API endpoints. **Token Expiration & Renewal**: Access tokens are valid for one hour. To maintain uninterrupted access to Typeface AI APIs, client applications should implement a mechanism to: - *Periodically Refresh*: Automatically fetch a new access token before the current one expires. - *Error-Based Refresh*: Fetch a new access token when encountering a 401 Unauthorized error, indicating token expiration. - [Discovery API](https://developers.typeface.ai/reference/discoveridentity.md): Retrieve all teams the app has access to. If the app has access to some specific teams, the links for operating on these teams can be found under each team. Otherwise, if the app has access has access to entire Org, use the Query teams API. - [Query Teams](https://developers.typeface.ai/reference/queryaccountsinorg.md): **Sample Response** ```json { "accounts": [ { "accountId": "a4c16a3c-e945-4af9-9932-9cce26c42474", "displayName": "Team 1", "createdBy": { "id": "e0812ff6-d285-42ef-b0bf-3f5987311e7b", "name": "John Doe", "picture": "https://s.gravatar.com/avatar/bb4894e8d57f4c49f81a37eaa4009467?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fag.png", "email": "john.doe@typeface.ai" }, "accountCreatedAt": "2024-06-13T08:48:13Z", "accountModifiedAt": "2024-06-13T08:48:13Z", "scaleUnitId": 1, "orgId": "8b66d551-58f2-4060-adeb-e19b0b07f65d", "activeMembers": 2, "accountUser": false }, { "accountId": "ae858617-c14d-46d1-b1cf-23daf4928032", "displayName": "Team 2", "createdBy": { "id": "6597ef22-5d9d-42b3-8780-6ba43519496f", "name": "Alice Doe", "picture": "https://s.gravatar.com/avatar/47360b4957d175a102a4f7d0947ae868?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fnd.png", "email": "alice.doe@typeface.ai" }, "accountCreatedAt": "2024-06-13T08:36:56Z", "accountModifiedAt": "2024-06-13T08:36:56Z", "scaleUnitId": 1, "orgId": "8b66d551-58f2-4060-adeb-e19b0b07f65d", "activeMembers": 1, "accountUser": false } ], "page": 1, "size": 10, "totalAccounts": 2, "totalPages": 1 } ``` - [Create Team](https://developers.typeface.ai/reference/createaccount.md): **Note:** Ensure you use the appropriate API endpoint corresponding to the selected cloud provider to avoid errors. The available endpoints are listed below: - **AZURE**: https://api-us.typeface.ai - **GOOGLE**: https://api-us2.typeface.ai - [Delete Team](https://developers.typeface.ai/reference/deleteaccountbyid.md) - [Get Team Users](https://developers.typeface.ai/reference/getusers.md): Retrieves a list of users associated with a specified account. - [List Projects](https://developers.typeface.ai/reference/queryprojectsinaccount_1.md): Retrieve a list of projects associated with an account. You can also search for projects by name and receive a paginated response. - [Create a Project](https://developers.typeface.ai/reference/createprojectinaccount.md) - [Get a Project](https://developers.typeface.ai/reference/getprojectinaccount.md) - [Update Project](https://developers.typeface.ai/reference/updateprojectinaccount.md) - [Delete Project](https://developers.typeface.ai/reference/deleteprojectinaccount.md) - [Project - List Layouts](https://developers.typeface.ai/reference/querylayoutmanifestsinproject.md) - [Project - Get Layout](https://developers.typeface.ai/reference/getlayoutmanifestsinproject.md) - [List Brand Kits](https://developers.typeface.ai/reference/querybrandsinaccount.md): This API endpoint lists all available Brand kits in the given team. - [Create Brand Kit](https://developers.typeface.ai/reference/createbrandkitinaccount.md): Create Brand-kit within the library **Sample request body** ```json { "name": "Awesome Brand Kit", "workspaceSubType": "BRAND_KIT_LIBRARY" } ``` - [Delete Brand Kit](https://developers.typeface.ai/reference/deletebrandkitinaccount.md) - [Get Brand-kit styles](https://developers.typeface.ai/reference/getstyleinbrandkit.md): This API endpoint lists all existing styles of given type (i.e. *Image / Text / Logo*) available in the given Brand Kit. - [Create Brand-kit style](https://developers.typeface.ai/reference/createstyleinbrandkit.md): Create styles within the Brand kit for content genration **Sample request body for creating Image / Logo style** ```json { "name": "Bikes style" } ``` **Sample Request body for creating Text style** ```json { "name": "Text style", "subType": "BrandVoice", "data": { "brandValues": [ { "name": "Innovation", "description": "We are committed to unlocking the power of technology to create personalized, on-brand images. Our innovative approach allows us to span diverse markets and significantly reduce production time." }, { "name": "Efficiency", "description": "We are dedicated to amplifying our content factory initiative. Our focus on efficiency enables us to streamline our processes and deliver high-quality results." } ], "brandTones": [ { "name": "Strategic", "description": "We are strategic in our ideation and refinement processes. Our focus on strategy ensures we deliver impactful and effective solutions." }, { "name": "Empowering", "description": "We believe in the power of our solutions to transform and scale content standards across organizations." }, { "name": "Visionary", "description": "From ideation to refinement, we are forward-thinking and innovative in our approach to content creation." } ], "brandRules": [ { "type": "termsToAvoid", "value": [ { "source": "replace", "replacement": "" }, { "source": "typeface", "replacement": "TypeFace AI" } ] } ] } } ``` **Note**: Only 1 text style and logo style could be created for each Brand Kit - [Update or Manage Brand-kit style](https://developers.typeface.ai/reference/uploadimageinbrandkitstyle.md): This API allows you to upload image in the brand kit of given style type. There are two different options available to do so: - `content`: The binary format content of image to be uploaded - `contentUrl`: Publicly accessible url of the required image **Sample curl request** ```bash curl --silent --location 'https://api-us.typeface.ai/profile-service/accounts/accountId/brand-kits/brandKitId/style-types/image/styleType/images' \ --header 'Authorization: Bearer ' \ --form 'contentUrl="image url..."' ``` **Note**: It is mandatory to train a Brand-kit image style before it can be utilized in content generation. - [List Audience Catlogs](https://developers.typeface.ai/reference/queryaudiencecatalogsinaccount.md): This API endpoint lists all available Audiences in the given team. - [List Audiences](https://developers.typeface.ai/reference/queryaudiencesinaccount.md): Lists the available audience segments in given audience catalog - [Create Audience](https://developers.typeface.ai/reference/createaudienceinaccount.md): Create a new audience segment within the given catalog **Sample request body** ```json { "workspaceId": 43672, "name": "Adults in Chicago", "properties": { "name": "Adults in Chicago", "ageRangeMin": 45, "ageRangeMax": 65, "gender": "Neutral", "preferences": [ "loves technology", "big on startups" ], "spendingBehavior": [ "Luxury", "Experimental" ] } } ``` - [Manage Audience](https://developers.typeface.ai/reference/manageaudienceinaccount.md): Manage the Audience within catalog. **Sample request body** ```json { "workspaceId": 43672, "name": "Adults in Chicago", "properties": { "name": "Adults in Chicago", "ageRangeMin": 45, "ageRangeMax": 60, "gender": "Male", "preferences": [ "loves technology", "sports enthusiast" ], "spendingBehavior": [ "Luxury", "Impulsive" ] } } ``` - [Delete Audience](https://developers.typeface.ai/reference/deleteaudienceinaccount.md): Deletes the given audience segment from audience catalog - [Get Workflows](https://developers.typeface.ai/reference/getworkflows.md): Retrieve the list of workflows associated with a specific account. - [Get Workflow Steps](https://developers.typeface.ai/reference/getworkflowssteps.md): Retrieve the steps/statuses of a specific workflow. - [Get Document Assignees](https://developers.typeface.ai/reference/getdocumentassignees.md): Retrieve the list of assignees for a specific document. - [Update Document Assignees](https://developers.typeface.ai/reference/updatedocumentassignees.md): Update (add or remove) the assignees for a document. - [Add Document Workflow](https://developers.typeface.ai/reference/adddocumentworkflow.md): Associate a content workflow with a document. - [Update Document Workflow and/or Status](https://developers.typeface.ai/reference/updatedocumentworkflowstatuscopy.md): Update the workflow and/or status associated with a document. - [Create Document with a Workflow](https://developers.typeface.ai/reference/createdocument.md): Create a new document and attach a content workflow to it. - [Search & filter documents](https://developers.typeface.ai/reference/searchdocuments.md): This endpoint allows you to search for documents within a specified project using various filters like created by, workflow status, assignees, etc. - [Create Asset](https://developers.typeface.ai/reference/createassetinassetcatalog.md) - [Delete Asset](https://developers.typeface.ai/reference/deleteassetinassetcatalog.md) - [Get Asset](https://developers.typeface.ai/reference/getassetinassetcatalog.md) - [Update Asset](https://developers.typeface.ai/reference/updateassetinassetcatalog.md) - [Get Metadata](https://developers.typeface.ai/reference/getmetadata.md): This API provides metadata details for a specific asset, with a primary focus on its associated tags. - [Patch Metadata](https://developers.typeface.ai/reference/patchmetadata.md): This API allows partial updates to asset metadata, supporting add, replace, and remove operations for the `tags` key. - [Search Assets](https://developers.typeface.ai/reference/searchassets.md): A unified API to search for assets within a team (and Organization) using various filters. This API serves as both listing and search endpoint, listing behavior will return results immediately while search behaviour returns results in a eventual consistent manner, waits for the results to be indexed. Simillarly the updates and deletes are also eventually consistent. Asset sub types for mapped are as follows | General Usage | Asset Sub Type | |---|---| | Uploaded Image | IMAGE | | Generated Image | GENERATED_IMAGE | | Uploaded File | FILE | | Generated Document | GENERATED_DOCUMENT | **Notes:** - To retrive SVG images along with other images pass mediaType in the payload with value of `["DEFAULT", "GRAPHIC_SVG"]` #### Sample Image search request payload with both query and tags filtering ```json { "query": "A red car on the beachside", "assetType": "IMAGE", "assetSubTypes": ["IMAGE", "GENERATED_IMAGE"], "tags": ["vacation", "beach"], "limit": 20, "cursor": ".....", "mediaTypes": ["DEFAULT", "GRAPHIC_SVG"] } ``` #### Sample image search response ```json { "assets": [ { "id": 9192636, "name": "Red Car Beachside.png", "assetType": "IMAGE", "subType": "IMAGE", "workspaceId": 315726, "workspaceType": "ASSET_CATALOG", "accountId": "1f04d7c6-05b2-4623-9fc4-26edb1d076d4", "createdAt": "2025-06-18T02:11:45Z", "modifiedAt": "2025-06-18T02:11:45Z", "createdBy": "f90cffca-819e-49ae-8616-550bb7b46392", "modifiedBy": "f90cffca-819e-49ae-8616-550bb7b46392", "links": [ { "rel": "download", "href": "https://deveu2su1sawebapi1000.blob.core.windows.net/blob-persistent-zone/eba343c2-5097-46ff-be0d-bb8147abfbde?sv=2021-08-06&spr=https&se=2025-12-17T13%3A43%3A27Z&sr=b&sp=r&sig=vto8SffoTFib3Le4sRKetscF0I9atCWTjXyAzbHBRJg%3D&rscc=max-age%3D603000%2C%20private" }, { "rel": "thumbnail", "href": "https://deveu2su1renditionsa1000.blob.core.windows.net/rendition-blob-storage/eba343c2-5097-46ff-be0d-bb8147abfbde_230_230?sv=2021-08-06&spr=https&se=2025-12-17T13%3A43%3A28Z&sr=b&sp=r&sig=i5GEY8o%2FtLX25HynTyvusC1ngXrgGl2ESvJO7rnZRUE%3D&rscc=max-age%3D603000%2C%20private" }, { "rel": "self", "href": "https://api-dev-us.typeface.ai/profile-service/accounts/1f04d7c6-05b2-4623-9fc4-26edb1d076d4/asset-catalogs/315726/assets/9192636" }, { "rel": "metadata", "href": "https://api-dev-us.typeface.ai/profile-service/accounts/1f04d7c6-05b2-4623-9fc4-26edb1d076d4/asset-catalogs/315726/assets/9192636/metadata" } ], "ref": "eyJhY2NvdW50SWQiOiIxZjA0ZDdjNi0wNWIyLTQ2MjMtOWZjNC0yNmVkYjFkMDc2ZDQiLCJlbnRpdHlJZCI6OTE5MjYzNiwid29ya3NwYWNlSWQiOjMxNTcyNiwid29ya3NwYWNlVHlwZSI6IkFTU0VUX0NBVEFMT0ciLCJlbnRpdHlUeXBlIjoiQVNTRVQiLCJ2ZXJzaW9uIjoiMi4wIiwicHJvcGVydGllcyI6eyJpbWFnZUlkIjo5MTkyNjM1fX0=", "isOrgAsset": false } ], "nextCursor": "....." } ``` #### Sample image search payload with search query ```json { "query": "A scenic view of mountains during sunrise", "assetType": "IMAGE", "assetSubTypes": ["IMAGE", "GENERATED_IMAGE"], "limit": 20, "cursor": ".....", "collectionIds": [1234567, 2345678], "mediaTypes": ["DEFAULT", "GRAPHIC_SVG"] } ``` #### Filter by tags Use the `tags` array to filter assets by one or more tag names. Tag filtering is hierarchical. When you filter by a parent tag, assets tagged with any of its descendants are automatically included. For example, given the tag hierarchy `marketing` → `social_media` → `instagram`, filtering by `marketing` returns assets tagged with `marketing`, `social_media`, or `instagram`. ```json { "assetType": "IMAGE", "assetSubTypes": ["IMAGE", "GENERATED_IMAGE"], "tags": ["marketing"], "limit": 20, "cursor": ".....", "mediaTypes": ["DEFAULT", "GRAPHIC_SVG"] } ``` You can also filter by a tag at any level in the hierarchy. For example, filtering by `social_media` returns assets tagged with `social_media` or `instagram`, but not those only tagged with `marketing`. ```json { "assetType": "IMAGE", "assetSubTypes": ["IMAGE", "GENERATED_IMAGE"], "tags": ["social_media"], "limit": 20, "cursor": ".....", "mediaTypes": ["DEFAULT", "GRAPHIC_SVG"] } ``` - [Generate Content](https://developers.typeface.ai/reference/post_batch-service-accounts-accountid-projects-projectid-generate.md): **templates** is an Array of requests. **templateType** Supported template types are: - `simple_image` - More details are available [here](#simple-image) - `simple_text` - More details are available [here](#simple-text) - `email` - More details are available [here](#email) - `email_subject` - More details are available [here](#email-subject) - `instagram_ad` - More details are available [here](#instagram-post) - `facebook_post` - More details are available [here](#facebook-post) - `blog_post` - More details are available [here](#blog-post) - `google_responsive_image_ad` - More details are available [here](#google-responsive-display-ad) - `linkedin_image_post` - More details are available [here](#linkedin-social-post) - `file_refiner` - More details are available [here](#doc-transform) - `meta_ad_v2` - More details are available [here](#meta-ad) - `email_sales` - More details are available [here](#sales-email) Upcoming template types: - `Web blend` - `Google search` - `Marketing email` - `Press release` - `Job description` - `Text blend` - ... :information_source: Maximum number of Image variations(`simple_image`) one can generate is capped at 4. This API is asynchronous and returns immediately after accepting the request. You can use the `batchJobStatus` link for monitoring the status of the Generation Job. An example of bulk generation is available [here](#bulk-generation) to generate multiple contents at once --- ## Simple Image **Sample Payload for Image gen** ```json { "templates": [ { "templateType": "simple_image", "templateParams": { "ImageDescription": "Prompt to Generate Image", "VariationCount": 2, "EnhancePrompt": true, "AspectRatio": "banner_w2048_h512" } } ], "workflowName": "Generate First Image", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Sample Response:** ```json { "message": "Request initiated successfully", "monitorId": "ed390b26-4d4f-4a27-a3f8-6225e9e84cdd", "links": [ { "rel": "batchJobStatus", "href": "https://api-us.typeface.ai/batch-service/accounts/8f71f690-5404-4862-a3e4-0ebd6cfe6b88/projects/1/batch-jobs/ed390b26-4d4f-4a27-a3f8-6225e9e84cdd" } ] } ``` **Notes:** `templateParams.ImageDescription` - Prompt for generating image `templateParams.VariationCount` - Number of variations to generate `templateParams.Layout` - **(Optional)** An identifier for a layout which can be used in *simple_image* template flow. **Layout** value can be obtained by making an API call to fetch Layout details, and capturing the `ref` field in response. The API to fetch available layouts is documented [here](https://developers.typeface.ai/reference/querylayoutmanifestsinproject) `templateParams.Assets` - **(Optional)** A list of asset identifiers. For `simple_image` template flow, only a single image asset identifier is allowed. **Assets** value can be obtained by making an API call to fetch Asset details, and capturing the `ref` field in response. The API to fetch available assets is documented [here](https://developers.typeface.ai/reference/queryassetsinproject) `templateParams.AudienceSegment` - **(Optional)** An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.EnhancePrompt` - true/false. Enhances the user prompt if specified as true. `templateparams.AspectRatio` - **(Optional)** Determines the aspect ratio for generated images. Allowed values are: - `square_w768_h768` (Square 768x768) - `square_w1024_h1024` (Square 1024x1024) - `landscape_w768_h576` (Landscape 768x576) - `landscape_w1024_h768` (Landscape 1024x768) - `portrait_w576_h768` (Portrait 576x768) - `portrait_w768_h1024` (Portrait 768x1024) - `widescreen_w1024_h576` (Widescreen 1024x576) - `banner_w2048_h512` (Banner 2048x512) **Note**: `AspectRatio` should not be used in conjunction with `Layout` field. To define the aspect ratio with a Logo, the desired aspect ratio can be added via the typeface.ai Web User Interface. `workflowName` - This will be deprecated, for now flow any label/random number. `requestContext` - Any additional information (JSON) client wants to receive as part of polling API response. --- ## Simple Text **Sample Payload for Text gen** ```json { "templates": [ { "templateType": "simple_text", "templateParams": { "Prompt": "Prompt to Generate Text" } } ], "workflowName": "Generate First Text", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Sample Response:** ```json { "message": "Request initiated successfully", "monitorId": "ed390b26-4d4f-4a27-a3f8-6225e9e84cdd", "links": [ { "rel": "batchJobStatus", "href": "https://api-us.typeface.ai/batch-service/accounts/8f71f690-5404-4862-a3e4-0ebd6cfe6b88/projects/1/batch-jobs/ed390b26-4d4f-4a27-a3f8-6225e9e84cdd" } ] } ``` **Notes:** `templateParams.AudienceSegment` - **(Optional)** An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) --- ## Email **Sample Payload for Email** ```json { "templates": [ { "templateType": "email", "templateParams": { "Purpose": "recruit for a new role", "Context": "I am recruiting for a senior marketing manager role for my company", "FollowUpResponse": "share what time they are available for a meeting" } } ], "workflowName": "Generate an Email", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Notes:** `templateParams.Purpose` - The main objective or reason for sending the email. This could be to inform, request information, follow up on a previous conversation, schedule a meeting, confirm details, or provide updates. `templateParams.Context` - The background information and circumstances related to the email. This includes any relevant details that help the recipient understand the reason for the email and its importance. `templateParams.FollowUpResponse` - The anticipated or requested action that the recipient should take after reading the email. This could be replying with specific information, confirming receipt, providing feedback, scheduling a meeting, or any other response that moves the conversation or process forward. `templateParams.Assets` - **(Optional)** A list of asset identifiers. For `email` template flow, only file asset identifiers are allowed. **Assets** value can be obtained by making an API call to fetch Asset details, and capturing the `ref` field in response. The API to fetch available assets is documented [here](https://developers.typeface.ai/reference/queryassetsinproject) `templateParams.AudienceSegment` - **(Optional)** An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) --- ## Email Subject **Sample Payload for Email Subject** ```json { "templates": [ { "templateType": "email_subject", "templateParams": { "Purpose": "Recruiting email for a new role", "Context": "I am recruiting for a senior marketing manager role for my company" } } ], "workflowName": "Generate Email Subject Line", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Notes:** `templateParams.Purpose` - The main objective or reason behind the email. The subject line should clearly reflect the intent of the email, whether it's to inform, request, confirm, invite, or follow up. `templateParams.Context` - The background or relevant information that provides additional clarity or specificity to the subject line. This helps the recipient understand the importance or urgency of the email. `templateParams.AudienceSegment` - **(Optional)** An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) --- ## Instagram Post **Sample Payload for Instagram Post** ```json { "templates": [ { "templateType": "instagram_ad", "templateParams": { "Goal": "More profile visits", "Topic": "promote apple juice", "ImageDescription": "A glass of apple juice on sandy dunes with cocunut and palm trees", "EnhancePrompt": true } } ], "workflowName": "Generate Instagram Post", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Notes:** `templateParams.Goal` - The main objective you want to achieve with the Instagram post. This could be increasing brand awareness, driving traffic, promoting a product, engaging with followers, or growing your audience. `templateParams.Topic` - The central theme or subject matter of the post such as a product feature, an event, a behind-the-scenes look, a customer testimonial, or an industry trend. `templateParams.ImageDescription` - A brief explanation or caption of the image being posted. This should provide context to the image, convey the message you want to share, and enhance the viewer's understanding and engagement. `templateParams.EnhancePrompt` - true/false. Enhances the user prompt if specified as true. `templateParams.Assets` - **(Optional)** A list of asset identifiers. For `instagram_ad` template flow, only a single image asset identifier is allowed. **Assets** value can be obtained by making an API call to fetch Asset details, and capturing the `ref` field in response. The API to fetch available assets is documented [here](https://developers.typeface.ai/reference/queryassetsinproject) `templateParams.AudienceSegment` - **(Optional)** An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) --- ## Facebook Post **Sample Payload for Facebook Post** ```json { "templates": [ { "templateType": "facebook_post", "templateParams": { "Goal": "Get more visits", "Details": "The partnership makes it possible for clients to adopt Generative AI technologies to further enhance critical aspects of operationalizing their people strategies, form creating job descriptions that support role clarity and unbiased hiring to crafting employee communications that reach distributed workforces and driven program enhancement.", "CTA": "Read more today" } } ], "workflowName": "Generate Facebook Post", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Notes:** `templateParams.Goal` - The primary purpose or objective you want to achieve. This could be increasing engagement, driving traffic to a website, promoting a product or service, gathering leads, announcing an event, or fostering community interaction. `templateParams.Details` - The specific information and content included in the post. This encompasses the main text, any relevant facts, data, or explanations that support the post's message, as well as any media like images, videos, or links. `templateParams.CTA` - A directive or prompt in the post encouraging viewers to take a specific action. This could be asking them to like, share, or comment on the post, visit a website, sign up for a newsletter, attend an event, or make a purchase. `templateParams.AudienceSegment` - **(Optional)** An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) --- ## Blog Post **Sample Payload for Blog Post** ```json { "templates": [ { "templateType": "blog_post", "templateParams": { "Name": "The benefits of Generative AI technology in marketing", "Content": "Describe the benefits of Generative AI, and how the technology has re-shaped the marketing industry. Include facts and tips on how a organization can join the AI revolution", "ImageDescription": "A person in front of a computer, office sitting, highly detailed, warm tones" } } ], "workflowName": "Simple Blog Post", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Notes:** `templateParams.Name` - It is a concise phrase or sentence that captures the essence of the blog's topic and grabs the reader's attention. `templateParams.Content` - The content is the core of the blog post. It provides readers with valuable information, insights, or entertainment. Quality content helps to engage readers, rank higher in search engines, and build credibility in your niche. `templateParams.ImageDescription` - This field allows the user to provide a detailed description of any images used in the blog post. The description should include the visual content, purpose, and context of the image. `templateParams.AudienceSegment` - **(Optional)** An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) --- ## Google Responsive Display Ad **Sample Payload for Google Responsive Display Ad** ```json { "templates": [ { "templateType": "google_responsive_image_ad", "templateParams": { "Goal": "leads", "AudienceSegment": "eyJhY.....LCJlbnRpdHl....AifQ=", "BusinessName": "Indian Premier League", "DisplayURL": "www.ipl.co.in", "Summary": "Chennai super kings won the last IPL", "NumberOfHeadlines": 11, "NumberOfLongHeadline": 2, "NumberOfDescriptions": 4, "ImageDescription": "A glass of apple juice on sandy dunes with cocunut and palm trees", "EnhancePrompt": true } } ], "workflowName": "Simple Google Responsive Ad", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Notes:** `templateParams.Goal` - The primary objective of the ad, such as increasing brand awareness, driving website traffic, or generating leads. `templateParams.AudienceSegment` - An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BusinessName` - The name of your business as it should appear in the ad, ensuring brand recognition. `templateParams.DisplayURL` - The web address that will appear in the ad, directing users to your landing page. `templateParams.Summary` - Describe your product or services. `templateParams.NumberOfHeadlines` - **(Optional)** An identifier for number of headlines to be generated for google responsive display ad. Default value is 11. `templateParams.NumberOfLongHeadline` - **(Optional)** An identifier for number of long headlines to be generated for google responsive display ad. Default value is 2. `templateParams.NumberOfDescriptions` - **(Optional)** An identifier for number of descriptions to be generated for google responsive display ad. Default value is 4. `templateParams.ImageDescription` - This field allows the user to provide a detailed description of any images used in the ad. The description should include the visual content, purpose, and context of the image. `templateParams.Assets` - **(Optional)** A list of asset identifiers. For `google_responsive_image_ad` template flow, only a single image asset identifier is allowed. **Assets** value can be obtained by making an API call to fetch Asset details, and capturing the `ref` field in response. The API to fetch available assets is documented [here](https://developers.typeface.ai/reference/queryassetsinproject) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) --- ## LinkedIn Social Post **Sample Payload for LinkedIn Social Post** ```json { "templates": [ { "templateType": "linkedin_image_post", "templateParams": { "Goal": "Announce our latest partnership with a leading PEO", "ContentText": "The partnership makes it possible for clients to adopt Generative AI technologies to further enhance critical aspects of operationalizing their people strategies, from creating job descriptions that support role clarity and unbiased hiring to crafting employee communications that reach distributed workforces and drive program engagement.", "DescribeScene": "Winding roads at sunset", "AspectRatio" : "Square", } } ], "workflowName": "LinkedIn Social Post", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Notes:** `templateParams.Goal` - The main objective you want to achieve with the LinkedIn Social Post. This could be increasing brand awareness, driving traffic, promoting a product, engaging with followers, or growing your audience. `templateParams.ContentText` - The central theme or subject matter of the post such as a product feature, an event, a behind-the-scenes look, a customer testimonial, or an industry trend. `templateParams.CTAUrl` - **(Optional)** A directive or prompt in the post encouraging viewers to take a specific action. This could be asking them to like, share, or comment on the post, visit a website, sign up for a newsletter, attend an event, or make a purchase. `templateParams.DescribeScene` - A brief explanation or caption of the image being posted. This should provide context to the image, convey the message you want to share, and enhance the viewer's understanding and engagement. `templateParams.Assets` - **(Optional)** A list of asset identifiers. For `linkedin_image_post` template flow, only a single image asset identifier is allowed. **Assets** value can be obtained by making an API call to fetch Asset details, and capturing the `ref` field in response. The API to fetch available assets is documented [here](https://developers.typeface.ai/reference/queryassetsinproject) `templateParams.AspectRatio` - Determines the aspect ratio for generated images. Allowed values are: - `Square` - `Portrait` - `Landscape` `templateParams.AudienceSegment` - **(Optional)** An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) --- ## Doc transform **Sample Payload for Doc transform** ```json { "templates": [ { "templateType": "file_refiner", "templateParams": { "Action": "rewrite", "Assets":[ "eyJhY.....LCJlbnRpdHl....AifQ="] } } ], "workflowName": "Doc transform", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Notes:** `templateParams.Action` - The primary action you intend to execute through the document transformation. This could involve summarizing the content, refining it into a blog post, crafting a sales email, condensing it into a brief social post, or converting it into a newsletter. `templateParams.Assets` - A list of asset identifiers. For `file_refiner` template flow, only file asset identifiers are allowed. **Assets** value can be obtained by making an API call to fetch Asset details, and capturing the `ref` field in response. The API to fetch available assets is documented [here](https://developers.typeface.ai/reference/queryassetsinproject) `templateParams.AudienceSegment` - **(Optional)** An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) --- ## Meta Ad **Sample Payload for Meta Ad** ```json { "templates": [ { "templateType": "meta_ad_v2", "templateParams": { "Goal": "sales", "AdType": "carousel_ad", "BusinessName": "Cecilié Apple Juice", "DisplayURL": "www.cecilie.com", "ProductName": "Apple juice for healthy minded people", "AudienceSegment":"eyJhY.....LCJlbnRpdHl....AifQ=", } } ], "workflowName": "Meta ad", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Notes:** `templateParams.Goal` - The primary objective of the ad, such as increasing brand awareness, driving website traffic, generating leads, boosting sales, promoting app downloads, or encouraging engagement. `templateParams.AdType` - The format of the ad, such as a single image ad, a carousel with multiple images, or a collection showcasing multiple products. Possible values are: * `single_image_ad` * `carousel_ad` * `collection_ad` `templateParams.BusinessName` - The name of your business as it should appear in the ad, ensuring brand recognition. `templateParams.DisplayURL` - The web address that will appear in the ad, directing users to your landing page. `templateParams.ProductName` - Describe your product to help create a compelling and targeted ad. `templateParams.AudienceSegment` - An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) --- ## Sales Email **Sample Payload for Sales Email** ```json { "templates": [ { "templateType": "email_sales", "templateParams": { "Purpose": "Promote new product features to increase engagement.", "Context": "Follow-up on previous interest in our services.", "FollowUpResponse": "Schedule a call or provide feedback." } } ], "workflowName": "Generate Sales Email.", "requestContext": {} // You can flow any context information that you want to find in the Monitor API response. } ``` **Notes:** `templateParams.Purpose` - The primary objective of the email, such as promoting a new product, driving engagement, or generating leads. `templateParams.Context` - **(Optional)** The background information and circumstances related to the sales email. This includes any relevant details that help the recipient understand the reason for the email. `templateParams.FollowUpResponse` - **(Optional)** The action you want the recipient to take, such as scheduling a call, requesting details, or confirming interest. `templateParams.Assets` - **(Optional)** A list of asset identifiers. For `email_sales` template flow, only file asset identifiers are allowed. **Assets** value can be obtained by making an API call to fetch Asset details, and capturing the `ref` field in response. The API to fetch available assets is documented [here](https://developers.typeface.ai/reference/queryassetsinproject) `templateParams.AudienceSegment` - **(Optional)** An identifier for audience to generate personalized content for specific users. **AudienceSegment** value can be obtained by making an API call to list Audiences, and capturing the `ref` field in response. The API to fetch available audiences is documented [here](https://developers.typeface.ai/reference/queryaudiencesinaccount) `templateParams.BrandKitImageStyle` - **(Optional)** An identifier for image style in Brand Kit to generate personalized content for specific brands. **BrandKitImageStyle** value can be obtained by making an API call to fetch Brand Kit image style details, and capturing the `ref` field in response. The API to fetch available image styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) `templateParams.BrandKitTextStyle` - **(Optional)** An identifier for text style in Brand Kit to generate personalized content for specific brands. **BrandKitTextStyle** value can be obtained by making an API call to fetch Brand Kit text style details, and capturing the `ref` field in response. The API to fetch available text styles is documented [here](https://developers.typeface.ai/reference/getstyleinbrandkit) --- ## Bulk Generation **Sample request body for Bulk Generation** ```json { "templates": [ { "templateType": "simple_image", "templateParams": { "ImageDescription": "A person resting on a sunny beach with shades, highly detailed view", "AspectRatio": "widescreen_w1024_h576", "EnhancePrompt": true } }, { "templateType": "simple_image", "templateParams": { "ImageDescription": "A highly attractive beach with clear ocean water and people playing volleyball, highly detailed sand dunes", "AspectRatio": "square_w768_h768 ", "EnhancePrompt": true } }, { "templateType": "facebook_post", "templateParams": { "Goal": "Get more engagement", "Details": "The partnership makes it possible for clients to adopt Generative AI technologies to further enhance critical aspects of operationalizing their people strategies, form creating job descriptions that support role clarity and unbiased hiring to crafting employee communications that reach distributed workforces and driven program enhancement.", "CTA": "Read more today" } } ], "workflowName": "Simple Bulk Generation", "requestContext": {} } ``` - [Poll Generation Job Status](https://developers.typeface.ai/reference/get_batch-service-accounts-accountid-projects-projectid-batch-jobs-monitorid.md): **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" } ] } ``` - [Get Generated Content](https://developers.typeface.ai/reference/getreadonlydocument.md): 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. - [Create Tags](https://developers.typeface.ai/reference/createtags.md): Creates one or more tags in a single request. Each tag in the request is processed independently, so some tags may succeed while others fail. The response contains a per-item result for every tag in the request, each marked with `success: true` or `success: false`. For each tag, provide a `name` and `displayName`. Optionally include `parentId` to nest the tag under an existing parent, and `properties` to attach metadata such as `description`. Tags without a `parentId` are created as top-level tags. The top-level `success` field in the response is `true` only when every tag was created successfully. If any tag fails, `success` is `false` (partial success). - [Get Tag by ID](https://developers.typeface.ai/reference/gettag.md): Retrieves the full definition of a single tag by its ID. The response includes the tag's name, display name, status, parent reference, and description. - [Patch Tag](https://developers.typeface.ai/reference/patchtag.md): Partially updates an existing tag using JSON Patch-style operations. Supported paths are `/name`, `/displayName`, `/status`, and `/description`. Common use cases include renaming a tag, deactivating it, updating its description, or approving / rejecting a pending tag candidate (set status to `ACTIVE` to approve, `REJECTED` to reject). - [Delete Tag](https://developers.typeface.ai/reference/deletetag.md): Permanently deletes a tag and all of its child tags. Any assets that were tagged with the deleted tag will have that tag association removed. - [Search Tags](https://developers.typeface.ai/reference/searchtags.md): Search for tags within an account. Use this to browse the tag taxonomy, find tags by name, or list tags filtered by status. - **`query`** — Filters tags by name or display name. Searching for a parent tag also returns all of its descendants. When omitted or empty, all tags are returned. - **`status`** — Filters tags by status (`ACTIVE`, `INACTIVE`, `DEPRECATED`, `REJECTED`, `PENDING`). Defaults to `ACTIVE`. Set to `PENDING` to list newly discovered tag candidates awaiting review. - **`limit`** / **`cursor`** — Use cursor-based pagination for large result sets. Each tag in the response includes: - `fullPath` — a `::` delimited path of tag names from root to the tag (e.g., `marketing::social_media::instagram`). - `pathIds` — an ordered list of tag IDs matching each segment in `fullPath` (e.g., `[100, 101, 103]`). These fields let you reconstruct the full hierarchy position of any tag. The examples below assume a tag hierarchy: **Marketing > Social Media > Instagram**. #### List all active tags ```json { "limit": 20 } ``` #### Response ```json { "tags": [ { "id": 100, "name": "marketing", "displayName": "Marketing", "ref": "eyJhY2NvdW50...", "parentId": null, "status": "ACTIVE", "description": "Marketing related content", "fullPath": "marketing", "pathIds": [100], "createdAt": "2026-01-15T10:00:00Z", "modifiedAt": "2026-01-15T10:00:00Z", "createdBy": "user-1", "modifiedBy": "user-1" }, { "id": 101, "name": "social_media", "displayName": "Social Media", "ref": "eyJhY2NvdW50...", "parentId": 100, "status": "ACTIVE", "description": "Social media related content", "fullPath": "marketing::social_media", "pathIds": [100, 101], "createdAt": "2026-01-15T10:35:00Z", "modifiedAt": "2026-01-15T10:35:00Z", "createdBy": "user-1", "modifiedBy": "user-1" }, { "id": 103, "name": "instagram", "displayName": "Instagram", "ref": "eyJhY2NvdW50...", "parentId": 101, "status": "ACTIVE", "description": "Instagram specific content", "fullPath": "marketing::social_media::instagram", "pathIds": [100, 101, 103], "createdAt": "2026-01-16T09:00:00Z", "modifiedAt": "2026-01-16T09:00:00Z", "createdBy": "user-1", "modifiedBy": "user-1" } ], "nextCursor": "....." } ``` #### Search for a tag and its descendants Searching for `Social Media` returns the matching tag and all tags nested under it (e.g., `Instagram`). ```json { "query": "Social Media", "limit": 20 } ``` #### Response ```json { "tags": [ { "id": 101, "name": "social_media", "displayName": "Social Media", "ref": "eyJhY2NvdW50...", "parentId": 100, "status": "ACTIVE", "description": "Social media related content", "fullPath": "marketing::social_media", "pathIds": [100, 101], "createdAt": "2026-01-15T10:35:00Z", "modifiedAt": "2026-01-15T10:35:00Z", "createdBy": "user-1", "modifiedBy": "user-1" }, { "id": 103, "name": "instagram", "displayName": "Instagram", "ref": "eyJhY2NvdW50...", "parentId": 101, "status": "ACTIVE", "description": "Instagram specific content", "fullPath": "marketing::social_media::instagram", "pathIds": [100, 101, 103], "createdAt": "2026-01-16T09:00:00Z", "modifiedAt": "2026-01-16T09:00:00Z", "createdBy": "user-1", "modifiedBy": "user-1" } ], "nextCursor": "....." } ``` #### List newly discovered tag candidates (pending review) Tags with `PENDING` status are auto-discovered tags that have not yet been approved or rejected. Use this to power editorial review and governance workflows. ```json { "status": "PENDING", "limit": 50 } ``` #### Response ```json { "tags": [ { "id": 215, "name": "bedroom_pop", "displayName": "Bedroom Pop", "ref": "eyJhY2NvdW50...", "parentId": 100, "status": "PENDING", "description": "Lo-fi pop music produced in home studios", "fullPath": "marketing::bedroom_pop", "pathIds": [100, 215], "createdAt": "2026-02-08T14:30:00Z", "modifiedAt": "2026-02-08T14:30:00Z", "createdBy": "user-1", "modifiedBy": "user-1" } ], "nextCursor": "cursor-abc123" } ``` ## Recipes - [Discover Teams](https://developers.typeface.ai/recipes/discover-teams-application-can-access.md) - [Generate Blog Post](https://developers.typeface.ai/recipes/generate-blog-post.md) - [Generate Email Subject](https://developers.typeface.ai/recipes/generate-email-subject.md) - [Generate Facebook Post with Audience](https://developers.typeface.ai/recipes/generate-facebook-post-with-audience.md) - [Generate Facebook Post](https://developers.typeface.ai/recipes/generate-facebook-post.md) - [Generate Image using Prompt](https://developers.typeface.ai/recipes/generate-image-using-prompt.md) - [Generate Instagram Post with Audience And BrandKit](https://developers.typeface.ai/recipes/generate-instagram-post-with-audience-and-brandkit.md) - [Generate Instagram Post](https://developers.typeface.ai/recipes/generate-instagram-post.md) - [Generate Job Description](https://developers.typeface.ai/recipes/generate-job-description.md) - [Generate LinkedIn Social Post](https://developers.typeface.ai/recipes/generate-linkedin-social-post.md) - [Generate Meta Ad](https://developers.typeface.ai/recipes/generate-meta-ad.md) - [Generate Text using Prompt](https://developers.typeface.ai/recipes/generate-text-using-prompt.md) - [Get Audit Logs](https://developers.typeface.ai/recipes/get-audit-logs.md) - [Invoke Brand Partner API](https://developers.typeface.ai/recipes/invoke-brand-partner-api.md) - [Manage Custom Project Metadata](https://developers.typeface.ai/recipes/manage-custom-project-metadata.md) - [Retrieve and Update Asset Metadata (Tags)](https://developers.typeface.ai/recipes/retrieve-and-update-asset-metadata-tags.md) - [Tag Taxonomy with Asset Tagging](https://developers.typeface.ai/recipes/tags.md)