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

Arquivos como entrada

Aprenda a usar arquivos como entrada na API da OpenAI.

O suporte a arquivos como entrada depende do endpoint da API. A API Responses aceita os tipos de arquivo listados abaixo como itens input_file. A API Chat Completions aceita apenas arquivos PDF como partes de conteúdo do tipo file.

Método de entrada API Responses Chat Completions
Dados do arquivo codificados em Base64 (file_data) Tipos de arquivo listados abaixo Somente PDF
ID do arquivo enviado (file_id) Tipos de arquivo listados abaixo Somente PDF
URL externa do arquivo (file_url) Tipos de arquivo listados abaixo Sem suporte

Use a API Responses para enviar arquivos em formatos diferentes de PDF. Para usar o texto de um arquivo na API Chat Completions, leia o arquivo no seu aplicativo e envie o conteúdo como uma parte do tipo text.

Como funciona

Na API Responses, o processamento de um item input_file depende do tipo de arquivo.

  • Arquivos PDF. Quando você usa um modelo com recursos de visão, como gpt-4o ou um modelo posterior, a API extrai o texto e as imagens das páginas e envia ambos ao modelo.
  • Documentos e arquivos de texto em formatos diferentes de PDF (por exemplo, .docx, .pptx, .txt e arquivos de código). A API extrai apenas o texto.
  • Arquivos de planilha (por exemplo, .xlsx, .csv e .tsv). A API usa um processo específico para enriquecer os dados das planilhas, descrito abaixo.

Use estas ferramentas quando forem mais adequadas à sua tarefa.

  • Use a Pesquisa em arquivos para recuperar informações de arquivos grandes sem precisar enviá-los diretamente como itens input_file.
  • Use o Shell hospedado para tarefas que envolvem uso intensivo de planilhas e exigem análises detalhadas, como agregações, junções, criação de gráficos ou cálculos personalizados.

Limitações de imagens e gráficos em arquivos que não são PDF

Em arquivos de outros formatos, a API Responses não extrai imagens nem gráficos incorporados para incluí-los no contexto do modelo.

Para preservar a fidelidade dos gráficos e diagramas, converta primeiro o arquivo em PDF e depois envie o PDF como um item input_file.

Como funciona o enriquecimento de dados de planilhas

Para arquivos com estrutura de planilha (como .xlsx, .xls, .csv, .tsv e .iif), a API Responses usa um processo de enriquecimento específico para esse tipo de dado.

Em vez de enviar as planilhas inteiras ao modelo, a API lê no máximo as primeiras 1.000 linhas de cada aba e acrescenta um resumo e metadados de cabeçalho gerados pelo modelo. Assim, o modelo pode trabalhar com uma representação mais compacta e estruturada dos dados.

Níveis de detalhe para PDFs

Para controlar como a API Responses processa as imagens das páginas de um PDF, defina o campo opcional detail do item input_file como auto, low ou high. Se você omitir detail, a API usará auto por padrão. No GPT-5.6 e em modelos posteriores, auto usa high. Em modelos anteriores, usa low. Use low para consumir menos tokens de entrada ou high para obter mais detalhes visuais em elementos como gráficos densos, textos em letras pequenas ou diagramas.

A configuração detail afeta apenas o processamento das imagens das páginas do PDF. A API continua incluindo o texto extraído do PDF. A API Chat Completions não aceita detail em entradas de arquivo.

O exemplo abaixo mostra o corpo de uma requisição mínima à API Responses com o nível de detalhe definido explicitamente como alto.

{
  "model": "gpt-4.1",
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_file",
          "filename": "document.pdf",
          "file_data": "data:application/pdf;base64,...",
          "detail": "high"
        },
        {
          "type": "input_text",
          "text": "Summarize this document."
        }
      ]
    }
  ]
}

Tipos de arquivo aceitos

A tabela a seguir mostra os tipos de arquivo mais comuns que a API Responses aceita como itens input_file. A lista completa de extensões e tipos MIME aparece mais adiante nesta página. A API Chat Completions aceita apenas .pdf (application/pdf), tanto para file_data quanto para file_id.

Categoria Extensões comuns
Arquivos PDF .pdf
Texto e código .txt, .md, .json, .html, .xml, arquivos de código
Documentos com formatação .doc, .docx, .rtf, .odt
Apresentações .ppt, .pptx
Planilhas .csv, .xls, .xlsx

URLs de arquivos

Você pode fornecer arquivos como entrada usando URLs externas.

Usar uma URL externa de arquivo
curl "https://api.openai.com/v1/responses" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -d '{
        "model": "gpt-6-astra",
        "input": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "input_text",
                        "text": "Analyze the letter and provide a summary of the key points."
                    },
                    {
                        "type": "input_file",
                        "file_url": "https://www.berkshirehathaway.com/letters/2024ltr.pdf"
                    }
                ]
            }
        ]
    }'

Envio de arquivos

O exemplo a seguir envia um arquivo com a API Files e depois usa o ID do arquivo em uma requisição ao modelo.

Enviar um arquivo
curl https://api.openai.com/v1/files \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -F purpose="user_data" \
    -F file="@draconomicon.pdf"

curl "https://api.openai.com/v1/responses" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -d '{
        "model": "gpt-6-astra",
        "input": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "input_file",
                        "file_id": "file-6F2ksmvXxt4VdoqmHRw6kL"
                    },
                    {
                        "type": "input_text",
                        "text": "What is the first dragon in the book?"
                    }
                ]
            }
        ]
    }'

Arquivos codificados em Base64

Você também pode enviar arquivos como entrada usando os dados do arquivo codificados em Base64.

Enviar um arquivo codificado em Base64
curl "https://api.openai.com/v1/responses" \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $OPENAI_API_KEY" \
    -d '{
        "model": "gpt-6-astra",
        "input": [
            {
                "role": "user",
                "content": [
                    {
                        "type": "input_file",
                        "filename": "draconomicon.pdf",
                        "file_data": "...base64 encoded PDF bytes here..."
                    },
                    {
                        "type": "input_text",
                        "text": "What is the first dragon in the book?"
                    }
                ]
            }
        ]
    }'

Considerações sobre o uso

Ao usar arquivos como entrada, leve em conta as seguintes restrições.

  • Consumo de tokens. Ao processar um PDF, a API inclui no contexto tanto o texto extraído quanto as imagens das páginas, o que pode aumentar o consumo de tokens. Na API Responses, defina detail como auto (o padrão), low ou high para controlar o nível de detalhe visual das imagens das páginas do PDF. Antes de implantar em larga escala, avalie os preços e o impacto no consumo de tokens. Saiba mais sobre os preços.
  • Limites de tamanho dos arquivos. Uma requisição pode incluir vários arquivos, mas cada um deve ter menos de 50 MB. A soma dos tamanhos de todos os arquivos da requisição não pode ultrapassar 50 MB.
  • Modelos compatíveis. Para processar tanto o texto quanto as imagens das páginas de um PDF, é necessário usar um modelo com recursos de visão, como gpt-4o ou um modelo posterior.
  • Finalidade do envio. Você pode enviar arquivos com qualquer finalidade aceita pela API, mas use user_data para arquivos que pretende fornecer como entrada ao modelo.

Lista completa dos tipos de arquivo aceitos

Esta lista se aplica à API Responses. A API Chat Completions aceita apenas .pdf (application/pdf), tanto para file_data quanto para file_id.

Categoria Extensões Tipos MIME
Arquivos PDF Arquivos PDF (.pdf) application/pdf
Planilhas Planilhas do Excel (.xla, .xlb, .xlc, .xlm, .xls, .xlsx, .xlt, .xlw) application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel
Planilhas CSV / TSV / IIF (.csv, .tsv, .iif), Planilhas Google text/csv, application/csv, text/tsv, text/x-iif, application/x-iif, application/vnd.google-apps.spreadsheet
Documentos com formatação Documentos do Word, ODT e RTF (.doc, .docx, .dot, .odt, .rtf), Pages, Documentos Google application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/msword, application/rtf, text/rtf, application/vnd.oasis.opendocument.text, application/vnd.apple.pages, application/vnd.google-apps.document, application/vnd.apple.iwork
Apresentações Slides do PowerPoint (.pot, .ppa, .pps, .ppt, .pptx, .pwz, .wiz), Keynote, Apresentações Google application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.ms-powerpoint, application/vnd.apple.keynote, application/vnd.google-apps.presentation, application/vnd.apple.iwork
Texto e código Formatos de texto e código (.asm, .bat, .c, .cc, .conf, .cpp, .css, .cxx, .def, .dic, .eml, .h, .hh, .htm, .html, .ics, .ifb, .in, .js, .json, .ksh, .list, .log, .markdown, .md, .mht, .mhtml, .mime, .mjs, .nws, .pl, .py, .rst, .s, .sql, .srt, .text, .txt, .vcf, .vtt, .xml) application/javascript, application/typescript, text/xml, text/x-shellscript, text/x-rst, text/x-makefile, text/x-lisp, text/x-asm, text/vbscript, text/css, message/rfc822, application/x-sql, application/x-scala, application/x-rust, application/x-powershell, text/x-diff, text/x-patch, application/x-patch, text/plain, text/markdown, text/x-java, text/x-script.python, text/x-python, text/x-c, text/x-c++, text/x-golang, text/html, text/x-php, application/x-php, application/x-httpd-php, application/x-httpd-php-source, text/x-ruby, text/x-sh, text/x-bash, application/x-bash, text/x-zsh, text/x-tex, text/x-csharp, application/json, text/x-typescript, text/javascript, text/x-go, text/x-rust, text/x-scala, text/x-kotlin, text/x-swift, text/x-lua, text/x-r, text/x-R, text/x-julia, text/x-perl, text/x-objectivec, text/x-objectivec++, text/x-erlang, text/x-elixir, text/x-haskell, text/x-clojure, text/x-groovy, text/x-dart, text/x-awk, application/x-awk, text/jsx, text/tsx, text/x-handlebars, text/x-mustache, text/x-ejs, text/x-jinja2, text/x-liquid, text/x-erb, text/x-twig, text/x-pug, text/x-jade, text/x-tmpl, text/x-cmake, text/x-dockerfile, text/x-gradle, text/x-ini, text/x-properties, text/x-protobuf, application/x-protobuf, text/x-sql, text/x-sass, text/x-scss, text/x-less, text/x-hcl, text/x-terraform, application/x-terraform, text/x-toml, application/x-toml, application/graphql, application/x-graphql, text/x-graphql, application/x-ndjson, application/json5, application/x-json5, text/x-yaml, application/toml, application/x-yaml, application/yaml, text/x-astro, text/srt, application/x-subrip, text/x-subrip, text/vtt, text/x-vcard, text/calendar

Próximos passos

Para continuar, explore um destes recursos.