Extraia texto, dados estruturados e informações essenciais de imagens com o modelo Qwen-OCR. O Qwen-OCR oferece suporte a dois protocolos de API: a API compatível com OpenAI e a API DashScope .
Para casos de uso e orientações de primeiros passos, consulte Extração de texto (Qwen-OCR) .
API compatível com OpenAI
Endpoints
Região | **base_url do SDK** | Endpoint HTTP |
|---|---|---|
Singapura |
|
|
EUA (Virgínia) |
| |
China (Pequim) |
|
|
Pré-requisitos
Obtenha uma chave de API e defina-a como variável de ambiente. Caso utilize o SDK da OpenAI, instale o SDK.
Início rápido
Utilize o endpoint de conclusões de chat compatível com OpenAI. Envie uma mensagem de user contendo a URL da imagem e o prompt de texto. O modelo extrai o texto e o retorna em choices[0].message.content.
Sem streaming
Python
Streaming
Defina stream como true para receber os resultados incrementalmente à medida que o modelo os gera.
Python
Parâmetros da solicitação
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Sim | Nome do modelo. Consulte Modelos recomendados para ver os modelos suportados. |
| array | Sim | Array de objetos de mensagem que fornece contexto ao modelo. |
role (deve ser user) e um array content com os seguintes tipos de elementos:
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Sim |
|
| string | Não | Prompt de texto. Padrão: |
| string | Sim (quando | URL ou Data URL codificada em Base64 da imagem. Para arquivos locais, consulte Extração de texto. |
| integer | Não | Limiar mínimo de pixels. Imagens abaixo deste valor são ampliadas. Consulte Controle de resolução de imagem. |
| integer | Não | Limiar máximo de pixels. Imagens acima deste valor são reduzidas. Consulte Controle de resolução de imagem. |
Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
| boolean |
| Defina como |
| boolean |
| Quando |
| integer | Variável | Máximo de tokens na saída. Exceder este valor trunca a resposta. Consulte Limites de tokens de saída. |
| float |
| Controla a diversidade da saída. Valores mais altos produzem texto mais variado. Intervalo: [0, 2). |
| float |
| Limiar de amostragem por núcleo. Valores mais altos aumentam a diversidade. Intervalo: (0, 1.0]. Defina |
| integer |
| Limita o conjunto de tokens candidatos durante a amostragem. Se o valor for None ou maior que 100, a política top_k não é ativada e apenas a política top_p tem efeito. Deve ser >= 0. Não é um parâmetro padrão da OpenAI — passe via |
| float |
| Penalidade para sequências repetidas. Valores acima de 1.0 reduzem a repetição. Não é um parâmetro padrão da OpenAI — passe via |
| float |
| Controla a repetição de conteúdo. Intervalo: [-2.0, 2.0]. Valores positivos reduzem a repetição. |
| integer | -- | Garante resultados reproduzíveis quando o mesmo valor é usado com parâmetros idênticos. Intervalo: [0, 2^31 - 1]. |
| boolean |
| Defina como |
| integer |
| Número de tokens mais prováveis a serem retornados por etapa. Intervalo: [0, 5]. Efetivo apenas quando |
| string ou array | -- | Palavras de parada ou IDs de token. A geração para quando uma string especificada ou |
Resposta
Resposta sem streaming (chat.completion)
Campo | Tipo | Descrição |
|---|---|---|
| string | Identificador único da solicitação. |
| array | Conteúdo gerado pelo modelo. |
| string |
|
| integer | Posição no array |
| string | Texto extraído ou saída estruturada do modelo. |
| string | Sempre |
| string | Sempre |
| object | Sempre |
| object | Sempre |
| array | Sempre |
| integer | Timestamp UNIX da solicitação. |
| string | Modelo utilizado. |
| string | Sempre |
| string | Sempre |
| string | Sempre |
| integer | Contagem de tokens de saída. |
| integer | Contagem de tokens de entrada. |
| integer | Soma de |
| integer | Tokens de saída de texto. Outros campos em |
| integer | Tokens de entrada de imagem. |
| integer | Tokens de entrada de texto. Outros campos em |
Resposta com streaming (chat.completion.chunk)
Quando stream é true, a resposta é entregue como uma série de chunks de Server-Sent Event (SSE). Cada chunk segue a mesma estrutura da resposta sem streaming, com estas diferenças:
objecté semprechat.completion.chunk.choices[].deltasubstituichoices[].message. O objetodeltapossui os mesmos campos quemessage.choices[].delta.roleé retornado apenas no primeiro chunk.finish_reasonénulldurante a geração,stopna conclusão, oulengthse truncado.- Quando
include_usageétrue, o último chunk tem um arraychoicesvazio e inclui o objetousage.
Controle de resolução de imagem
min_pixels e max_pixels controlam o redimensionamento da imagem antes do processamento. A proporção de tokens por pixel depende da versão do modelo:
Modelo | Pixels por token | Padrão de min_pixels(mínimo) | Padrão de max_pixels**** | Máximo de max_pixels**** |
|---|---|---|---|---|
| 32 x 32 = 1.024 | 3.072 (3 tokens) | 8.388.608 (8.192 tokens) | 30.720.000 (30.000 tokens) |
| 28 x 28 = 784 | 3.136 (4 tokens) | 6.422.528 (8.192 tokens) | 23.520.000 (30.000 tokens) |
- Se a contagem de pixels da imagem estiver abaixo de
min_pixels, a imagem será ampliada até excedermin_pixels. - Caso a contagem de pixels esteja dentro de
[min_pixels, max_pixels], a imagem original será usada sem redimensionamento. - Quando a contagem de pixels exceder
max_pixels, a imagem será reduzida para ficar abaixo demax_pixels.
Limites de tokens de saída
Modelo | max_tokenspadrão e máximo |
|---|---|
| Igual ao comprimento máximo de saída do modelo. Consulte Seleção de modelo. |
| 4.096 |
Paraqwen-vl-ocr, qwen-vl-ocr-2025-04-13 e qwen-vl-ocr-2025-08-28,max_tokenstem como padrão 4096. Para aumentar esse valor (4097–8192), entre em contato com seu gerente comercial informando: ID da sua conta Alibaba Cloud, tipo de imagem (ex.: documentos, e-commerce, contratos), nome do modelo, QPS estimado e volume diário de solicitações, além da porcentagem de solicitações que excedem 4096 tokens de saída.
API DashScope
Endpoints
Região | Endpoint HTTP |
|---|---|
Singapura |
|
EUA (Virgínia) |
|
China (Pequim) |
|
Substitua o domínio porObtenha uma chave de API e defina-a como variável de ambiente. Se você utilizar o SDK DashScope, também deve instalar o SDK DashScope.dashscope-us.aliyuncs.compara a região EUA (Virgínia) ou{WorkspaceId}.cn-beijing.maas.aliyuncs.compara a região China (Pequim). Para a região China (Pequim), não é necessário definirbase_urlnas chamadas do SDK.
Tarefas integradas
A API DashScope fornece tarefas de OCR integradas por meio do parâmetro ocr_options. Cada tarefa usa um prompt padrão otimizado, eliminando a necessidade de uma mensagem text.
Tarefa | Valor de ocr_options.task**** | Formato de saída |
|---|---|---|
Reconhecimento geral de texto |
| Texto simples |
Reconhecimento de alta precisão |
| Texto simples com caixas delimitadoras |
Extração de informações |
| Pares chave-valor estruturados |
Análise de tabelas |
| Estrutura da tabela |
Análise de documentos |
| Estrutura do documento |
Reconhecimento de fórmulas |
| Fórmulas LaTeX |
Reconhecimento multilíngue |
| Texto multilíngue |
Reconhecimento de alta precisão
Retorna texto com dados posicionais para cada linha reconhecida.
Python
Extração de informações
Extrai dados estruturados de chave-valor de imagens. Especifique os campos a serem extraídos em task_config.result_schema.
Python
Análise de tabelas
Extrai a estrutura de tabelas a partir de imagens.
Python
Análise de documentos
Extrai o layout estrutural e o texto de documentos.
Python
Reconhecimento de fórmulas
Extrai fórmulas matemáticas de imagens e as retorna no formato LaTeX.
Python
Reconhecimento geral de texto
Extrai texto simples de imagens sem formatação estrutural.
Python
Reconhecimento multilíngue
Reconhece texto em vários idiomas a partir de imagens.
Python
Streaming (DashScope)
Ative a saída em streaming para receber resultados incrementalmente. O método varia conforme o SDK:
- SDK Python: Defina
stream=Trueeincremental_output=True. - SDK Java: Utilize a interface
streamCall. - HTTP: Configure o cabeçalho
X-DashScope-SSE: enable.
Parâmetros da solicitação
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Sim | Nome do modelo. Consulte Modelos recomendados para ver os modelos suportados. |
| array | Sim | Um array de objetos de mensagem. |
role (deve ser user) e um campo content (string ou array). Use uma string para entrada apenas de texto. Utilize um array se a entrada incluir dados de imagem, com estes campos:
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Não | URL, Data URL Base64 ou caminho local da imagem. Consulte Passagem de arquivos locais. |
| string | Não | Prompt de texto. Padrão: |
| boolean | Não | Defina como |
| integer | Não | Limiar mínimo de pixels. Consulte Controle de resolução de imagem. |
| integer | Não | Limiar máximo de pixels. Consulte Controle de resolução de imagem. |
parameters para chamadas HTTP.
Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
| integer | Variável | Máximo de tokens na saída. Consulte Limites de tokens de saída. No SDK Java, use |
| boolean |
| Ativa a saída em streaming. Apenas SDK Python. Para Java, use |
| boolean |
| Quando |
| float |
| Controla a diversidade da saída. Intervalo: [0, 2). |
| float |
| Limiar de amostragem por núcleo. Intervalo: (0, 1.0]. Defina |
| integer |
| Limita o conjunto de tokens candidatos durante a amostragem. Se o valor for None ou maior que 100, a política top_k não é ativada e apenas a política top_p tem efeito. Deve ser >= 0. |
| float |
| Penalidade para sequências repetidas. Valores acima de 1.0 reduzem a repetição. |
| float |
| Controla a repetição de conteúdo. Intervalo: [-2.0, 2.0]. |
| integer | -- | Garante resultados reproduzíveis. Intervalo: [0, 2^31 - 1]. |
| boolean |
| Defina como |
| integer |
| Número de tokens mais prováveis por etapa. Intervalo: [0, 5]. Efetivo apenas quando |
| string ou array | -- | Palavras de parada ou IDs de token. A geração para quando uma string especificada ou |
ocr_options em parameters (HTTP), como argumento nomeado (SDK Python) ou via builder OcrOptions (SDK Java).
Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| string | Sim | Nome da tarefa integrada. Valores válidos: |
| object | Não | Configuração para |
| object | Não | Objeto JSON especificando campos a extrair. As chaves são nomes de campos, os valores são descrições opcionais para melhorar a precisão. Suporta até três níveis de aninhamento. |
No SDK Java, este parâmetro éOcrOptions. A versão mínima do SDK Python DashScope é 1.22.2. A versão mínima do SDK Java é 2.18.4. Paraadvanced_recognition, é necessário SDK Java >= 2.21.8.
Resposta
A API DashScope utiliza formato de resposta idêntico para saída com e sem streaming.
Campo | Tipo | Descrição |
|---|---|---|
| string |
|
| string | Identificador único da solicitação. No SDK Java, este é |
| string | Código de erro. Vazio em caso de sucesso. Apenas o SDK Python retorna este campo. |
| string | Sempre |
| string |
|
| string | Mesmos valores que |
| string | Sempre |
| string | Texto extraído ou saída formatada do modelo. |
| object | Retornado para tarefas integradas ( |
| object | Resultados da extração de chave-valor (para |
| array | Resultados de linhas de texto com dados posicionais (para |
| array |
|
| array |
|
| string | Conteúdo da linha de texto. |
| object | Informações de probabilidade logarítmica, retornadas quando |
| integer | Contagem de tokens de entrada. |
| integer | Contagem de tokens de saída. |
| integer | Fixado em 0. |
| integer | Soma de |
| integer | Tokens correspondentes à entrada de imagem. |
| integer | Tokens de entrada de imagem. |
| integer | Tokens de entrada de texto. |
| integer | Tokens de saída de texto. |
Modelos suportados
Modelo | Descrição |
|---|---|
| Baseado na arquitetura Qwen3.5. Mais rápido e preciso. Grandes melhorias na extração de informações, posicionamento de texto e suporte a conversas multi-turno. Comprimento de contexto estendido para 128K. |
| Aponta sempre para a versão mais recente. |
| Snapshot datado mais recente. |
| Versão anterior. |
| Versão anterior. |
| Versão anterior. |
| Modelo base. |