Referência da API

Geração de PDF

Entra HTML — o seu, ou escrito pelo modelo a partir de uma instrução —, sai um PDF renderizado.

POST/v1/documents/generate

Dois modos mutuamente exclusivos. Enviar os dois campos, ou nenhum, devolve 400.

htmlstringOpcional

Modo direto. Você já tem o HTML pronto (vindo de uma resposta de chat anterior, por exemplo) e só quer renderizá-lo. Não há inferência — esta chamada não passa pelo modelo, funciona mesmo enquanto o modelo está carregando e não conta na sua cota de tokens.

userstringOpcional

Modo instrução. Descreva o que o documento deve conter; o gateway pede o HTML ao modelo e renderiza o resultado — uma requisição em vez de duas.

systemstringOpcional

Só com user. Substitui o system prompt configurado na sua stack para esta requisição.

max_tokensintegerOpcionalPadrão: 8000

Só com user. Teto da resposta do modelo, até 16000.

Modo direto

curl -X POST "https://api.trystac.com/v1/documents/generate" \
  -H "Authorization: Bearer $STAC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"html": "<h1>Report</h1><p>already-rendered content</p>"}' \
  -o report.pdf

Modo instrução

curl -X POST "https://api.trystac.com/v1/documents/generate" \
  -H "Authorization: Bearer $STAC_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user": "A sales report for August, with one table per region."}' \
  -o report.pdf

A resposta, nos dois modos, é o PDF em bytes (Content-Type: application/pdf) — não é JSON; salve direto num arquivo.

O HTML precisa ser autossuficiente

Em vez disso, incorpore imagens e fontes como URIs data::

html
<img src="data:image/png;base64,iVBORw0KG...">

No modo instrução, essa regra já vem embutida no prompt que o gateway envia ao modelo. No modo direto, se o seu HTML veio de uma resposta de chat separada com uma URL de imagem real, peça ao modelo (pelo seu prompt) que a incorpore como URI data, ou faça a conversão você mesmo antes de chamar este endpoint.

Erros

StatusSignificado
400html e user enviados juntos (ou nenhum dos dois), HTML que não pôde ser renderizado ou (modo instrução) resposta do modelo truncada
413HTML (enviado ou gerado pelo modelo) ou número de páginas do PDF resultante acima do limite do plano
422max_tokens fora do intervalo aceito (só no modo instrução)
429Gerações demais em andamento neste momento — o servidor recusa na hora em vez de enfileirar; repita em instantes
502(modo instrução) falha ao chamar o modelo

Limites

LimiteGoProEnterprise
Tamanho do HTML (enviado ou gerado pelo modelo)2 MB5 MBPersonalizado
Páginas do PDF resultante2050Personalizado

O teto de páginas é verificado depois da diagramação, mas antes de os bytes finais do PDF serem produzidos, então uma tentativa de ultrapassá-lo falha sem custo extra de renderização. No modo instrução, o HTML devolvido pelo modelo passa pela mesma verificação de tamanho do modo direto — nada garante que o modelo respeitou a instrução.