For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal
Theme

Geração de texto

Aprenda a usar um prompt para que um modelo gere texto.

Com a API da OpenAI, você pode usar um modelo de linguagem de grande porte para gerar texto a partir de um prompt, como faria no ChatGPT. Os modelos podem gerar quase qualquer tipo de resposta em texto, como código, equações matemáticas, dados estruturados em JSON ou textos que parecem escritos por uma pessoa.

Use a API Responses para enviar solicitações diretamente ao modelo, como nesta chamada de geração de texto.

Gere texto a partir de um prompt simples
import OpenAI from "openai";
const client = new OpenAI();

const response = await client.responses.create({
  model: "gpt-6-astra",
  input: "Write a one-sentence bedtime story about a unicorn.",
});

console.log(response.output_text);

A propriedade output da resposta contém um array com o conteúdo gerado pelo modelo. Neste exemplo simples, o array tem apenas um item:

[
  {
    "id": "msg_67b73f697ba4819183a15cc17d011509",
    "type": "message",
    "role": "assistant",
    "content": [
      {
        "type": "output_text",
        "text": "Under the soft glow of the moon, Luna the unicorn danced through fields of twinkling stardust, leaving trails of dreams for every child asleep.",
        "annotations": []
      }
    ]
  }
]

O array output costuma ter mais de um item! Ele pode conter chamadas de ferramentas, dados sobre os tokens de raciocínio gerados por modelos de raciocínio e outros itens. Não presuma que o texto gerado pelo modelo estará em output[0].content[0].text.

Alguns dos nossos SDKs oficiais incluem nas respostas do modelo a propriedade output_text, que reúne todas as saídas de texto do modelo em uma única string. Essa propriedade pode servir de atalho para acessar o texto gerado pelo modelo.

Além de texto simples, o modelo também pode retornar dados estruturados em formato JSON. Esse recurso se chama saídas estruturadas.

Engenharia de prompt

Engenharia de prompt é a prática de escrever instruções eficazes para que o modelo gere, de forma consistente, conteúdo que atenda aos seus requisitos.

Como a geração de conteúdo pelo modelo não é determinística, formular um prompt para obter o resultado desejado é uma combinação de arte e ciência. Ainda assim, você pode aplicar técnicas e boas práticas para obter bons resultados de forma consistente.

Algumas técnicas de engenharia de prompt funcionam com todos os modelos, como o uso de papéis nas mensagens. Para obter os melhores resultados, talvez você precise ajustar o prompt de acordo com o modelo. Até versões específicas de modelos da mesma família podem produzir resultados diferentes. Por isso, ao desenvolver aplicativos mais complexos, recomendamos enfaticamente que você:

  • Configure seus aplicativos de produção para usar versões fixas dos modelos (como gpt-5.5-2026-04-23) para garantir um comportamento consistente.
  • Crie testes e conjuntos de avaliações que meçam o comportamento dos prompts. Assim, você pode acompanhar o desempenho ao refinar os prompts, trocar de modelo ou atualizar sua versão.

A seguir, veja algumas ferramentas e técnicas para criar prompts.

Escolha de modelos e APIs

A OpenAI oferece vários modelos e APIs. Os modelos de raciocínio, como gpt-6-astra, se comportam de maneira diferente dos modelos de chat. Os tipos de prompt que funcionam melhor também variam entre esses modelos. Os modelos de raciocínio têm melhor desempenho e demonstram maior inteligência quando usados com a API Responses.

Para qualquer aplicativo de geração de texto, recomendamos usar a API Responses em vez da API chat completions, que é mais antiga. Se você usa um modelo de raciocínio, vale especialmente a pena migrar para a API Responses.

Papéis das mensagens e como o modelo segue instruções

Você pode fornecer ao modelo instruções com diferentes níveis de autoridade usando o parâmetro instructions da API em conjunto com os papéis das mensagens.

O parâmetro instructions fornece orientações gerais sobre como o modelo deve se comportar ao gerar uma resposta, incluindo o tom, os objetivos e exemplos de respostas corretas. Todas as instruções fornecidas dessa forma têm prioridade sobre um prompt enviado no parâmetro input.

Gere texto com instruções
import OpenAI from "openai";
const client = new OpenAI();

const response = await client.responses.create({
  model: "gpt-6-astra",
  reasoning: { effort: "low" },
  instructions: "Talk like a pirate.",
  input: "Are semicolons optional in JavaScript?",
});

console.log(response.output_text);

O exemplo acima equivale, em linhas gerais, a usar as mensagens de entrada a seguir no array input:

Gere texto com mensagens de diferentes papéis
import OpenAI from "openai";
const client = new OpenAI();

const response = await client.responses.create({
  model: "gpt-6-astra",
  reasoning: { effort: "low" },
  input: [
    {
      role: "developer",
      content: "Talk like a pirate.",
    },
    {
      role: "user",
      content: "Are semicolons optional in JavaScript?",
    },
  ],
});

console.log(response.output_text);

O parâmetro instructions se aplica apenas à solicitação atual de geração de resposta. Se você estiver gerenciando o estado da conversa com o parâmetro previous_response_id, as instruções enviadas em instructions nas interações anteriores não estarão no contexto.

A especificação do modelo da OpenAI descreve como nossos modelos atribuem diferentes níveis de prioridade às mensagens de acordo com seus papéis.

developeruserassistant

As mensagens developer contêm instruções de quem desenvolve o aplicativo e têm prioridade sobre as mensagens do usuário.

As mensagens user contêm instruções do usuário final e têm prioridade menor que as mensagens do desenvolvedor.

As mensagens geradas pelo modelo têm o papel assistant.

Uma conversa com várias interações pode conter diversas mensagens desses tipos, além de outros tipos de conteúdo fornecidos por você e pelo modelo. Saiba mais sobre como gerenciar o estado da conversa.

Em uma analogia com uma linguagem de programação, as mensagens developer e user correspondem a uma função e seus argumentos.

  • As mensagens developer definem as regras e a lógica de negócio do sistema, como a definição de uma função.
  • As mensagens user fornecem os dados de entrada e a configuração aos quais se aplicam as instruções da mensagem developer, como os argumentos de uma função.

Versione os prompts no código

Armazene os prompts de produção no código do aplicativo em vez de criar objetos de prompt reutilizáveis. Ao gerenciar os prompts no código, você pode usar entradas tipadas, revisão de código, testes e seu processo habitual de implantação para alterar o comportamento do modelo.

A OpenAI está descontinuando os objetos de prompt reutilizáveis na API. A criação de prompts passará a ter menos destaque a partir de 3 de junho de 2026, e a desativação de v1/prompts está prevista para 30 de novembro de 2026. Consulte o cronograma atualizado na página de descontinuações.

Ao desenvolver novos recursos de geração de texto:

  • Mantenha as funções que montam os prompts em um módulo pequeno, próximo ao código do recurso que as utiliza.
  • Use argumentos de função tipados ou schemas para valores dinâmicos, como dados de clientes, arquivos ou opções da tarefa.
  • Envie os valores gerados de instructions e input diretamente à API Responses.
  • Antes de alterar os prompts de produção, adicione dados de teste representativos, testes e verificações de avaliação.
  • Publique as alterações nos prompts pelo seu sistema de implantação. Use flags de recurso ou opções de configuração quando precisar liberar as alterações em etapas.

Se a sua integração já usa um ID ou uma versão para chamar um prompt salvo, siga o guia de migração de objetos de prompt para transferir esse prompt para o código.

Próximos passos

Agora que você conhece os conceitos básicos de entradas e saídas de texto, explore um dos recursos a seguir.

Crie um prompt no Playground

Use o Playground para desenvolver e refinar prompts.

Gere dados JSON com saídas estruturadas

Garanta que os dados JSON gerados pelo modelo sigam um schema JSON.

Referência completa da API

Consulte todas as opções de geração de texto na referência da API.