{"id":2877,"date":"2026-10-27T01:33:21","date_gmt":"2026-10-27T08:33:21","guid":{"rendered":"https:\/\/www.five.reviews\/?p=2877"},"modified":"2026-10-27T01:33:22","modified_gmt":"2026-10-27T08:33:22","slug":"use-gpt-6-1-terra-computer-use","status":"publish","type":"post","link":"https:\/\/www.five.reviews\/how-to\/use-gpt-6-1-terra-computer-use\/","title":{"rendered":"How to Use GPT-6.1 Terra for Computer Use and AI Workflow Automation"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Much office work means moving the same information between browser tabs, web forms, spreadsheets, and business applications. It is slow, and every manual copy is a chance for error. GPT-6.1 Terra is OpenAI\u2019s model for this kind of work. OpenAI describes it as a fast, efficient model for visual reasoning, precise <a href=\"https:\/\/www.five.reviews\/how-to\/chatgpt-computer-use\/\" target=\"_blank\" rel=\"noreferrer noopener\">computer use<\/a>, and clear writing. It launched on October 26, 2026, and is available in ChatGPT Work and Codex and through the API as gpt-6.1-terra. This guide explains how to access the model, how computer use works, how to set up an API integration, and how to build and verify a workflow safely.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>GPT-6.1 Terra: Quick Summary<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What it is:<\/strong> A mid-tier model in OpenAI\u2019s GPT-6 family. It accepts text and image input and returns text.<\/li>\n\n\n\n<li><strong>What computer use enables:<\/strong> The model reads screenshots and chooses actions such as clicks, typing, and scrolling. Those actions run only in an environment that you or a provider controls.<\/li>\n\n\n\n<li><strong>Where to access it:<\/strong> ChatGPT Work and Codex on eligible plans, and the API.<\/li>\n\n\n\n<li><strong>Coding required:<\/strong> No for ChatGPT Work or Codex. Yes for a custom API integration.<\/li>\n\n\n\n<li><strong>Key limitation:<\/strong> The model cannot operate a computer by itself. Reliable results depend on your environment, permissions, and verification.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What Is GPT-6.1 Terra and How Does Computer Use Work?<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/openai.com\/index\/introducing-gpt-6-1-terra\/\" target=\"_blank\" rel=\"noreferrer noopener\">GPT-6.1 Terra<\/a> is a model, not a finished automation product. It interprets what it receives, including screenshots, and proposes the next action. A separate component must perform that action. That component is a browser, a desktop, or an application environment that you control.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Key GPT-6.1 Terra Capabilities<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">OpenAI\u2019s model page lists the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Visual reasoning:<\/strong> It interprets screens, product photos, and technical drawings.<\/li>\n\n\n\n<li><strong>Computer use:<\/strong> The model supports the computer-use tool in the Responses API.<\/li>\n\n\n\n<li><strong>Tool calling:<\/strong> It supports function calling, web search, file search, and MCP. Tool calling requires the Responses API.<\/li>\n\n\n\n<li><strong>Context and output:<\/strong> A 1,050,000-token context window and up to 128,000 output tokens.<\/li>\n\n\n\n<li><strong>Reasoning effort:<\/strong> none, low, medium (default), high, xhigh, and max.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">OpenAI also reports that Terra completes tasks more than three times faster than <a href=\"https:\/\/www.five.reviews\/ai-tools\/gpt-6-astra\/\">GPT-6 Astra<\/a> and GPT-6.1 Sol on its own tests. Treat that as a vendor claim until you measure it on your own tasks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How AI Computer Use Works<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A computer-use session runs in a loop:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>The application sends the task and the current screen.<\/li>\n\n\n\n<li>The model inspects the interface.<\/li>\n\n\n\n<li>The model selects an action, such as a click or a keystroke.<\/li>\n\n\n\n<li>The environment executes the action.<\/li>\n\n\n\n<li>The environment returns an updated screenshot.<\/li>\n\n\n\n<li>The loop repeats until the model finishes or needs human help.<\/li>\n\n\n\n<li>You verify the result in the target application.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Keep three parts distinct: the model reasons and proposes actions, the tool interface carries those proposals in a structured format, and the environment performs the actions and captures the results.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How to Access GPT-6.1 Terra<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Use GPT-6.1 Terra in ChatGPT Work<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">OpenAI\u2019s announcement says the model is rolling out to Plus, Pro, Enterprise, and Edu users in ChatGPT Work and Codex. Some outlets also list Business, so confirm eligibility for your workspace. If the model does not appear in the model picker, the rollout may not have reached your account yet. Terra is not offered in standard ChatGPT Chat. OpenAI\u2019s changelog describes the same arrangement for other GPT-6 models: available in Work and Codex, but not Chat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Use GPT-6.1 Terra in Codex<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Codex is OpenAI\u2019s agent for development and computer-based work. It runs in the desktop app, the CLI, the IDE extension, and the cloud. Use it when a task involves files, code, or applications, rather than a conversation. Select the model inside the session. OpenAI\u2019s changelog documents a &#8211;model flag for other GPT-6 models, so confirm that the Terra identifier appears in Codex\u2019s model list before you script it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Access GPT-6.1 Terra Through the API<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">API access requires an OpenAI API key with billing enabled and access to the model. Tool calling requires the Responses API. The model cannot act on a computer through the API alone. You must also provide an execution environment, which you can build yourself or obtain from a partner. Browserbase, Browser Use, Daytona, and E2B offer hosted browser or desktop environments.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Non-developers can use ChatGPT Work or Codex. The API route requires programming.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How to Use GPT-6.1 Terra for Computer Use Step by Step<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This tutorial uses the ChatGPT Work and Codex workflow. Interface labels change, so the steps describe actions rather than exact buttons.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 1: Choose a Clearly Defined Task<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Start with low-risk work, such as comparing sample product listings with a spreadsheet or entering test data into a practice form. Avoid live payments, customer emails, and deletions until you have tested the workflow.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 2: Define Instructions and Permissions<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">State the starting application, the desired result, the allowed actions (for example, reading pages and typing into test fields), the prohibited actions (submitting forms, sending messages, deleting records), and the completion criteria.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 3: Provide Screen Context and Limit Access<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Give the model access only to the applications the task needs. Use a separate browser profile, and avoid signing into accounts that the task does not require.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 4: Monitor the Actions<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Review what the model does as it works. Stop the run if it drifts from the instructions or takes an action you did not expect.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 5: Verify Completion<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Check the actual application, including saved values, confirmation messages, and incomplete fields. Do not rely only on the model\u2019s final summary.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Short answer:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Pick a low-risk task.<\/li>\n\n\n\n<li>Define allowed and forbidden actions and the completion criteria.<\/li>\n\n\n\n<li>Give access only to the apps the task needs.<\/li>\n\n\n\n<li>Monitor each action.<\/li>\n\n\n\n<li>Verify the result in the application itself.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How to Set Up GPT-6.1 Terra Computer Use Through the API<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OpenAI\u2019s Python and Node SDKs run the tool loop. Your application supplies a driver, which reads the environment and performs allowed actions. Python 3.11 or later, or Node.js 22.6 or later, is required.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 1: Configure the Development Environment<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Install the packages pinned in OpenAI\u2019s current guide:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">bash<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">python3 -m venv .venv<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">.venv\/bin\/python -m pip install openai==3.31.0 playwright==1.61.0<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">.venv\/bin\/python -m playwright install chromium<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 2: Configure the Model Request<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Set model to gpt-6.1-terra. In the raw Responses API, the computer tool is enabled with tools=[{&#8220;type&#8221;: &#8220;computer&#8221;}]. The model page lists computer use as supported. OpenAI\u2019s examples use other GPT-6 models, so run the example below once in a test environment to confirm the Terra configuration works for your task.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 3: Implement the Computer-Use Loop<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The SDK sends the task and screenshots to the model. When the model requests an action, your driver checks it against an allowlist and executes it. It then returns a fresh screenshot, and the loop continues. Reject any action that is not explicitly permitted.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 4: Preserve State and Handle Failures<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Keep the browser open for the whole run, and close it in a finally block. Set a maximum number of steps and a request timeout. Treat any status other than completed as a failure. Continuing a conversation does not restore a browser session, so keep the environment alive yourself.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Step 5: Verify the Output<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After the run, check the page state directly. Compare the result with your expected values before you record success.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The example below uses OpenAI\u2019s documented Python pattern for a sandboxed page. It allows screenshots and one left click on a single control, blocks all network requests, and checks the page after the run.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">python<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">import asyncio<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">import base64<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">from openai import AsyncComputerToolset, AsyncOpenAI<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">from playwright.async_api import async_playwright<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">class PickupDriver:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, page):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.page = page<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;async def screenshot(self):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;image = await self.page.screenshot(type=&#8221;png&#8221;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return {&#8220;type&#8221;: &#8220;computer_screenshot&#8221;,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8220;image_url&#8221;: &#8220;data:image\/png;base64,&#8221; + base64.b64encode(image).decode()}<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;async def allowed(self, action):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if action.type == &#8220;screenshot&#8221;:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return True<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if action.type != &#8220;click&#8221; or action.button != &#8220;left&#8221; or action.keys:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return False<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;box = await self.page.locator(&#8220;summary&#8221;).bounding_box()<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return bool(box and box[&#8220;x&#8221;] &lt;= action.x &lt; box[&#8220;x&#8221;] + box[&#8220;width&#8221;]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and box[&#8220;y&#8221;] &lt;= action.y &lt; box[&#8220;y&#8221;] + box[&#8220;height&#8221;])<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;async def click(self, action):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if not await self.allowed(action):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise RuntimeError(&#8220;Click not allowed.&#8221;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;await self.page.mouse.click(action.x, action.y)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;async def refuse(self, action):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise RuntimeError(f&#8221;This exercise does not allow {action.type}.&#8221;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;double_click = drag = keypress = move = scroll = type = wait = refuse<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">async def main():<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;async with async_playwright() as playwright, AsyncOpenAI(timeout=30, max_retries=0) as client:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;browser = await playwright.chromium.launch(env={}, chromium_sandbox=True)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;page = await browser.new_page(viewport={&#8220;width&#8221;: 1024, &#8220;height&#8221;: 768})<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;await page.route(&#8220;**\/*&#8221;, lambda route: route.abort())<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;await page.set_content(<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8220;&lt;title&gt;Parcel pickup&lt;\/title&gt;&lt;main&gt;&lt;h1&gt;Parcel pickup&lt;\/h1&gt;&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8220;&lt;details&gt;&lt;summary&gt;Show pickup details&lt;\/summary&gt;&#8221;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8220;&lt;p&gt;Locker 18. Pickup code: 6249.&lt;\/p&gt;&lt;\/details&gt;&lt;\/main&gt;&#8221;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;driver = PickupDriver(page)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tools = AsyncComputerToolset(driver)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response = await tools.run(<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;client,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&#8220;model&#8221;: &#8220;gpt-6.1-terra&#8221;, &#8220;store&#8221;: False,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8220;input&#8221;: &#8220;Take a screenshot. Open &#8216;Show pickup details&#8217; and report &#8220;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#8220;the locker and pickup code. Use only screenshots and left clicks.&#8221;},<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;before_action=driver.allowed,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;max_steps=6,<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finally:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tools.close()<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if await page.locator(&#8220;details&#8221;).get_attribute(&#8220;open&#8221;) is None:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise RuntimeError(&#8220;Pickup details are still closed.&#8221;)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(&#8220;Verified:&#8221;, await page.locator(&#8220;details p&#8221;).inner_text())<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(&#8220;Answer:&#8221;, response.output_text)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;finally:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;await browser.close()<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">if __name__ == &#8220;__main__&#8221;:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&nbsp;&nbsp;&nbsp;&nbsp;asyncio.run(main())<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You must install Chromium, replace the sample page with an environment you control, and extend the allowlist only for actions your task requires. Sites that process untrusted content need stricter controls than this sample provides.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How to Build an AI Workflow Automation With GPT-6.1 Terra<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use one end-to-end scenario rather than a list of disconnected tasks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example: Automating Invoice Data Entry<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Read a sample invoice. <em>(Document processing or structured extraction is more reliable than screen reading.)<\/em><\/li>\n\n\n\n<li>Extract the vendor, invoice number, date, and total.<\/li>\n\n\n\n<li>Validate required fields and flag inconsistencies.<\/li>\n\n\n\n<li>Open a test accounting interface. <em>(Computer use is useful here if no integration exists.)<\/em><\/li>\n\n\n\n<li>Enter the verified values.<\/li>\n\n\n\n<li>Review the populated fields.<\/li>\n\n\n\n<li>Request human approval before submission.<\/li>\n\n\n\n<li>Confirm the saved record and produce a completion report.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Steps 1 to 3 are often better handled by a document parser or a direct API. Computer use fits steps 4 to 5, where the accounting system has no usable integration. Step 7 is mandatory.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Example Prompt for Workflow Automation<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Goal: Enter the invoice fields from the attached PDF into the test accounting form at the open browser tab. Context: This is a sandbox with fictional data. Permitted actions: Read the invoice, click into fields, and type values. Constraints: Do not click Submit, Save, or Approve. Do not open other tabs. Verification: After entry, confirm each field matches the extracted values and report any mismatch. Completion report: List the fields entered, the values, any flags, and the steps that still need human approval.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Other Practical Use Cases<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Product catalog updates:<\/strong> Repetitive edits across listings save time. Changes still need review, because a wrong price spreads quickly.<\/li>\n\n\n\n<li><strong>CRM maintenance:<\/strong> Updating contact fields can be automated. Duplicate or conflicting records require a human decision.<\/li>\n\n\n\n<li><strong>Spreadsheet administration:<\/strong> Formatting and copying can be automated. Formulas need a check, because a shifted cell reference can go unnoticed.<\/li>\n\n\n\n<li><strong>Browser-based research:<\/strong> The model can gather information from several pages. Sources still need verification.<\/li>\n\n\n\n<li><strong>Marketing asset quality checks:<\/strong> The model can flag cropping or text overlap. Its judgments need a human reviewer before publication.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Best Prompts for GPT-6.1 Terra Computer Use<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Browser-Based Data Entry<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Copy the item name, SKU, and price from the supplier page into the test catalog form. Fill only the Name, SKU, and Price fields. Do not change any other field. Stop and report if a required value is missing or the SKU already exists. Do not click Publish.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Spreadsheet and CRM Updates<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In the open spreadsheet, update the Status column for rows 2 to 40 only, using the statuses listed in the attached table. Leave the Owner and Notes columns unchanged. If a record is missing or has conflicting values, skip it and list the row number in a final report. Do not delete rows.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Visual Quality Assurance<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Open the staging product page and review the hero image, price label, and buy button. Report any cropping, overlapping text, or misaligned elements, with a screenshot reference for each issue. Do not edit or publish anything.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Prompt formula:<\/strong> Goal, context, permitted actions, constraints, verification, and completion report.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>GPT-6.1 Terra Pricing, Reasoning, and Performance Optimization<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">OpenAI\u2019s model page lists these standard API rates:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Item<\/strong><\/td><td><strong>Price per 1M tokens<\/strong><\/td><\/tr><tr><td>Input<\/td><td>$1.00<\/td><\/tr><tr><td>Cached input<\/td><td>$0.05<\/td><\/tr><tr><td>Cache writes<\/td><td>$1.25 (30-minute retention) or $2.50 (12-hour retention)<\/td><\/tr><tr><td>Output<\/td><td>$5.00<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Prompts above 272,000 input tokens cost 2x input and cache rates and 1.5x output for the full request. Batch and Flex processing are 50% lower, and Fast mode is 2x. Computer-use tool calls carry a separate per-call fee, listed on OpenAI\u2019s pricing page. Hosted environments charge separately. Screenshots count as image input.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">API billing is separate from ChatGPT Work and Codex usage limits, which depend on your plan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start with low or medium reasoning effort and increase it only when accuracy requires it. The most useful metric is cost per successfully completed task, including retries and human review, rather than token price alone.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>GPT-6.1 Terra Best Practices, Safety, and Limitations<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Protect Credentials and Sensitive Data<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Store API keys in a secret manager, not in source code. Use least-privilege access, isolated browser profiles, and dedicated test accounts. Setting store to false does not remove every form of data retention, so review OpenAI\u2019s data controls before processing confidential information.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Prevent Unintended Actions<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Require human approval for payments, purchases, deletions, external messages, and any transmission of sensitive data. Block those actions in your driver rather than relying on instructions alone.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Protect Against Prompt Injection<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Text on a webpage or inside a document is untrusted input. It cannot override your instructions or grant new permissions. Use fresh browser sessions and limit network access so that malicious page content has less reach.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Know When Direct APIs Are Better<\/strong><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Approach<\/strong><\/td><td><strong>Best for<\/strong><\/td><td><strong>Coding required<\/strong><\/td><td><strong>Main consideration<\/strong><\/td><\/tr><tr><td>ChatGPT Work<\/td><td>Users who want an accessible work interface<\/td><td>Usually not for basic use<\/td><td>Plan eligibility and tool setup<\/td><\/tr><tr><td>Codex<\/td><td>Development and computer-based workflows<\/td><td>Depends on the task<\/td><td>Environment and permission settings<\/td><\/tr><tr><td>Responses API with computer use<\/td><td>Custom browser or desktop automation<\/td><td>Yes<\/td><td>Requires an execution environment and a tool loop<\/td><\/tr><tr><td>Direct application API<\/td><td>Structured operations in supported systems<\/td><td>Usually yes<\/td><td>Depends on API coverage and permissions<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Use a direct API whenever the application offers one. APIs are more predictable and easier to audit. Use computer use for interfaces without a suitable integration.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Press coverage of OpenAI\u2019s announcement reported that, in some simulated tests, Terra used methods it was not authorized to use. Read OpenAI\u2019s system card before deploying the model in a sensitive workflow.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Common Implementation Mistakes<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Giving the model unrestricted access to accounts and networks.<\/li>\n\n\n\n<li>Allowing long action sequences without checkpoints.<\/li>\n\n\n\n<li>Acting on stale screenshots.<\/li>\n\n\n\n<li>Losing browser or desktop state between calls.<\/li>\n\n\n\n<li>Omitting timeouts and step limits.<\/li>\n\n\n\n<li>Reporting success without checking the final application state.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Final Verdict<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">ChatGPT Work and Codex suit people who want guided help with office and computer tasks without writing code. Teams with engineering resources should consider the API, which gives control over permissions, logging, and verification. When a supported application API exists, use it instead.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start with one low-risk task. Test the full workflow, measure accuracy and completion time against your baseline, and add approval gates before expanding. Automate more only after the results hold up under review.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Frequently Asked Questions<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How do I use GPT-6.1 Terra for computer use?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use it in ChatGPT Work or Codex for guided tasks, or build an API integration with an execution environment. Start with a low-risk task and verify the result.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Is GPT-6.1 Terra available in standard ChatGPT?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Not in standard Chat. The model is offered in ChatGPT Work and Codex, on eligible plans.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Can GPT-6.1 Terra control a browser or desktop?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Not by itself. It proposes actions, and an environment you control must execute them.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How do I access the GPT-6.1 Terra API?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use the model ID gpt-6.1-terra with an API key that has billing enabled. Tool calling requires the Responses API.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How do I set up GPT-6.1 Terra workflow automation?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Install the SDK and a browser runtime, implement a driver with an allowlist, run the loop with step limits, and verify the output.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Does GPT-6.1 Terra require coding?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">ChatGPT Work and Codex do not require coding for basic use. A custom API integration does.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How much does GPT-6.1 Terra cost?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Through the API, the standard rate is $1 per million input tokens and $5 per million output tokens. Computer-use tool calls and hosted environments add charges.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Can GPT-6.1 Terra automate repetitive business tasks?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, for tasks with clear steps, a bounded scope, and verification. Structured integrations are preferable where they exist.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Is GPT-6.1 Terra safe for business automation?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">It can be used safely with least-privilege access, isolated environments, approval gates, and independent verification. Read OpenAI\u2019s system card first.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>When should I use a direct API instead of computer use?<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use a direct API whenever the application provides one. Computer use is for interfaces that lack a suitable integration.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Much office work means moving the same information between browser tabs, web forms, spreadsheets, and business applications. It is slow, and every manual copy [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":2878,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[6],"tags":[212,578,548,1041,575,1274,272,415,1255],"content_cluster":[7],"content_type":[21],"search_intent":[24],"tool_category":[31,28],"class_list":["post-2877","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","tag-ai-automation","tag-ai-workflow-automation","tag-browser-automation","tag-chatgpt-work","tag-computer-use","tag-gpt-6-1-terra","tag-openai","tag-openai-codex","tag-responses-api","content_cluster-how-to","content_type-how-to-guide","search_intent-informational","tool_category-ai-coding","tool_category-ai-writing"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.five.reviews\/?rest_route=\/wp\/v2\/posts\/2877","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.five.reviews\/?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.five.reviews\/?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.five.reviews\/?rest_route=\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.five.reviews\/?rest_route=%2Fwp%2Fv2%2Fcomments&post=2877"}],"version-history":[{"count":1,"href":"https:\/\/www.five.reviews\/?rest_route=\/wp\/v2\/posts\/2877\/revisions"}],"predecessor-version":[{"id":2879,"href":"https:\/\/www.five.reviews\/?rest_route=\/wp\/v2\/posts\/2877\/revisions\/2879"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.five.reviews\/?rest_route=\/wp\/v2\/media\/2878"}],"wp:attachment":[{"href":"https:\/\/www.five.reviews\/?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2877"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.five.reviews\/?rest_route=%2Fwp%2Fv2%2Fcategories&post=2877"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.five.reviews\/?rest_route=%2Fwp%2Fv2%2Ftags&post=2877"},{"taxonomy":"content_cluster","embeddable":true,"href":"https:\/\/www.five.reviews\/?rest_route=%2Fwp%2Fv2%2Fcontent_cluster&post=2877"},{"taxonomy":"content_type","embeddable":true,"href":"https:\/\/www.five.reviews\/?rest_route=%2Fwp%2Fv2%2Fcontent_type&post=2877"},{"taxonomy":"search_intent","embeddable":true,"href":"https:\/\/www.five.reviews\/?rest_route=%2Fwp%2Fv2%2Fsearch_intent&post=2877"},{"taxonomy":"tool_category","embeddable":true,"href":"https:\/\/www.five.reviews\/?rest_route=%2Fwp%2Fv2%2Ftool_category&post=2877"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}