> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tela.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Output Format

## O que é Output Format?

O Tela permite que você defina um Output Format estruturado para seus prompts.

<Tip>**Output Format** é uma maneira de comunicar ao seu Canvas como você deseja receber a resposta, fornecendo diretrizes que ajudarão o modelo a extrair informações com precisão.</Tip>

Estruturar um **Output Format** é útil quando:

* Você quer que sua saída seja consistentemente gerada dentro do mesmo framework
* Você precisa integrar seu Canvas com outros processos, que requerem dados estruturados
* Você quer organizar a saída do seu Canvas em listas ou tabelas

## Configurando seu Output Format

Para adicionar um **Output Format** ao seu Canvas, você pode clicar no botão `Output Format +` no canto inferior esquerdo da experiência Craft.

<img class="rounded-2xl" src="https://mintcdn.com/meistrari/pblu7JGV78zF0-_0/images/guides/craft/output-format/new.png?fit=max&auto=format&n=pblu7JGV78zF0-_0&q=85&s=7226ab95adcfdfaf13c2d46d11d72d1f" alt="Output Format +" width="1424" height="162" data-path="images/guides/craft/output-format/new.png" />

Isso abrirá a interface do Output Format, onde você pode clicar em `Adicionar Atributo +` para criar seu primeiro atributo.

### Criando atributos

Atributos são as diretrizes que dirão ao seu Canvas o que responder e como estruturar o conteúdo.
Cada atributo tem um rótulo, uma descrição e um tipo.

* **Rótulo**: um nome relevante para o atributo, semelhante a nomear uma variável ao programar ou um cabeçalho de coluna em uma tabela. Recomendamos usar apenas letras, números e sublinhados para seus rótulos.
* **Descrição**: um texto curto descrevendo qual é a saída desejada e como ela deve ser formatada, se aplicável. Isso pode complementar e reforçar as instruções para o seu Prompt.
* **Tipo** - O tipo de atributo, que pode ser:
  * **Texto** - conteúdo textual ou string
  * **Número** - conteúdo numérico
  * **Booleano** - VERDADEIRO ou FALSO
  * **Lista** - uma lista de Atributos de comprimento variável
  * **Objeto** - um grupo de Atributos representando um objeto
  * **Tabela** - uma tabela de Atributos de comprimento variável

Listas e objetos são tipos poderosos de atributos que podem ser usados juntos em várias aplicações. Como são mais complexos, a próxima seção fornecerá mais detalhes sobre como usá-los.

#### Aprofundando-se em Listas

**Listas** são úteis quando você pode ter mais de uma resposta válida para um atributo. Usando listas, você pode dizer ao Canvas para trazer tudo o que pode ser uma resposta válida para esse atributo.

<Note>Ao usar uma lista, você notará que ela requer um novo Tipo, que será o Tipo dos elementos dentro da sua lista.</Note>

<Card title="Exemplo" icon="brackets-square">
  Supondo que você tenha um Canvas que apresenta uma história e seu objetivo é extrair o nome de cada personagem da história.

  Você pode criar um Output Format com o atributo `listaDePersonagens` tendo o tipo `Texto`, já que os nomes são strings de texto:

  <img class="rounded-2xl my-2" src="https://mintcdn.com/meistrari/pblu7JGV78zF0-_0/images/guides/craft/output-format/lists.png?fit=max&auto=format&n=pblu7JGV78zF0-_0&q=85&s=36fa8a67d5b756579d672bb18bebb39f" alt="Interface do Output Format com atributo listaDePersonagens" width="1698" height="394" data-path="images/guides/craft/output-format/lists.png" />

  Com este atributo de lista, seu Canvas saberá procurar mais de um personagem em sua história e a resposta conterá uma lista de todos os personagens encontrados!
</Card>

#### Aprofundando-se em Objetos

**Objetos** são frequentemente descritos como uma representação digital de algo no mundo real, eles podem ter qualquer número de **atributos** que fornecerão informações relacionadas a ele.

<Note> Você será solicitado a fornecer um **tipo** para os objetos que criar. Pode ser qualquer um dos tipos de atributo do Tela, mesmo outros Objetos e Listas, permitindo que você crie estruturas complexas se precisar.</Note>

<Card title="Exemplo" icon="brackets-curly">
  Supondo que você tenha um Canvas sobre carros e precise extrair todas as características relevantes de um carro de um documento.

  Você pode criar um Output Format com um Objeto `carro` contendo os seguintes atributos:

  <img class="rounded-2xl my-2" src="https://mintcdn.com/meistrari/pblu7JGV78zF0-_0/images/guides/craft/output-format/objects.png?fit=max&auto=format&n=pblu7JGV78zF0-_0&q=85&s=8470850be66a26bcd50428fdfe44c625" alt="Interface do Output Format com objeto 'car'" width="1670" height="1178" data-path="images/guides/craft/output-format/objects.png" />

  Você pode notar que muitos tipos foram usados neste exemplo, até mesmo uma lista de objetos para representar os proprietários anteriores.
</Card>
