Pular para o conteúdo principal

Seedream 4.5: um guia completo com Python

Um guia prático em Python sobre o Seedream 4.5, modelo de imagem da ByteDance, cobrindo geração em lote, renderização de texto, edição multi-imagem e boas práticas de prompting.
Actualizado 17 de set. de 2026  · 10 min leer

Explore com IA

ChatGPTClaudePerplexity

A BytePlus acaba de lançar seu mais novo modelo de geração de imagens, o Seedream 4.5. Como braço de tecnologia empresarial da ByteDance, a empresa leva recursos avançados de IA para negócios no mundo todo, aproveitando a inovação por trás de plataformas como o TikTok.

Neste artigo, vou te mostrar como usar o Seedream 4.5 com Python, integrando-o via API para gerar imagens de forma programática. 

Recomendo fazer o curso Generative AI Concepts como uma ótima introdução à tecnologia por trás de modelos de geração de imagens como o Seedream. Se você também se interessa por outros modelos de imagem, confira nosso guia sobre o Nano Banana 2 do Google.

O que é o Seedream 4.5

Seedream 4.5 é a versão mais recente do modelo de geração de imagens por IA da BytePlus.

Este lançamento aprimora a consistência do sujeito, melhora a nitidez de textos pequenos e aperfeiçoa a mesclagem de múltiplas imagens. Ele também entende melhor instruções, tem raciocínio espacial mais forte e inferência lógica mais avançada.

O modelo também consegue produzir imagens 4K de alta qualidade, um avanço bem-vindo, já que modelos concorrentes costumam ter dificuldade para gerar imagens em alta resolução. Em termos de custo, ele também é competitivo, com gerações a apenas 4 centavos por imagem.

Aproveite para conferir também nosso artigo sobre o novo modelo de geração de vídeo da ByteDance, o Seedance 2.0.

Configuração da API do Seedream 4.5

Sem enrolação, vamos começar com a API do Seedream 4.5.

Criando uma chave de API

Para usar o Seedream 4.5 com Python via API, primeiro precisamos criar uma chave de API.

  1. Acesse o site oficial, clique no botão Get API no canto inferior direito e faça login.

  2. Depois de logado, há um botão Access API no canto superior direito. Clique e crie a chave de API. Para criar a chave, é necessário verificar o número de celular e informar os dados de cobrança. Não é uma assinatura, então você não será cobrado mensalmente. Apenas as chamadas feitas à API são cobradas.

  3. Crie um arquivo chamado .env na mesma pasta onde vamos escrever o código em Python e cole a chave nele no seguinte formato:

ARK_API_KEY=<paste_key_here>

Antes de usar o modelo, certifique-se de também ativá-lo no console BytePlus ModelArk. Isso é feito separadamente da chave de API. Para ativar:

  1. Navegue até Model activation na barra lateral esquerda.

  2. No centro da tela, escolha Media como a categoria de modelo.

  3. Clique em Activate à direita, na linha do modelo ByteDance-Seedream-4.5.

  4. Confirme na janela que abrir.

Instalação das dependências em Python

Para interagir com a API do Seedream 4.5, vamos instalar alguns pacotes Python:

  • byteplussdkarkruntime: pacote oficial em Python que permite fazer requisições à API do Seedream 4.5, parte do SDK da BytePlus.

  • Alguns pacotes auxiliares para carregar a chave de API do arquivo .env, para requisições HTTP assíncronas e validação de configurações.

Instale os pacotes com o comando:

pip install byteplus-python-sdk-v2 python-dotenv httpx requests typing_extensions pydantic

Gerando imagens com o Seedream 4.5

Vamos começar aprendendo a gerar uma imagem a partir de um prompt de texto. Se você já leu nossos outros tutoriais de APIs de IA em Python, como os do GPT-Image-1 ou do Grok Imagine, provavelmente já está familiarizado com o fluxo típico:

  1. Importar os pacotes.

  2. Carregar a chave de API do arquivo .env.

  3. Criar um cliente usando o pacote oficial da API.

  4. Enviar a requisição para a API.

O Seedream 4.5 funciona exatamente assim. Veja um script de exemplo para gerar uma imagem:

# 1. Import the necessary packages
from dotenv import load_dotenv
from byteplussdkarkruntime import Ark 
import os
# 2. Load the API key
load_dotenv()
# 3. Create the client
client = Ark(
    base_url="https://ark.ap-southeast.bytepluses.com/api/v3", 
    api_key=os.getenv("ARK_API_KEY"), 
)
# 4. Send the API request
prompt = """
Photorealistic anthropomorphic animals hanging out in a coffee shop with no humans.
"""
 
imagesResponse = client.images.generate( 
    model="seedream-4-5-251128",
    prompt=prompt,
    watermark=False,
)
 
image_url = imagesResponse.data[0].url
print(image_url)

Neste exemplo específico, o prompt usado foi:

Photorealistic anthropomorphic animals hanging out in a coffee shop with no humans.

Este foi o resultado gerado pelo modelo:

Imagem gerada por IA no Seedream 4.5: animais antropomórficos fotorrealistas em um café aconchegante — raposa tomando um latte com arte, coelho lendo e gato no balcão de espresso sob luz quente do sol.

Baixando a imagem gerada

O script acima mostra a URL da imagem gerada no terminal. Não é o fluxo mais prático. Uma alternativa melhor é criar uma função que baixe a imagem gerada para a pasta local.

import requests
from urllib.parse import urlparse
import os
def download_image(url):
    try:
        response = requests.get(url, stream=True)
        response.raise_for_status()
        parsed_url = urlparse(url)
        filename = os.path.basename(parsed_url.path)
        if not filename:
            filename = "downloaded_image"
        with open(filename, "wb") as f:
            for chunk in response.iter_content(1024):
                f.write(chunk)
        print(f"Image saved to: {filename}")
    except Exception as e:
        print(f"Error downloading image: {e}")

Recomendo criar um novo script chamado utils.py e colocar essa função lá. Depois, no script que gera a imagem, adicionamos o código a seguir para fazer o download:

import utils
utils.download_image(image_url)

Especificando o tamanho da imagem

Os exemplos anteriores usaram os parâmetros padrão do Seedream 4.5, com exceção de watermark, que definimos como False para ocultá-la.

O Seedream 4.5 oferece duas formas de especificar as dimensões da imagem de saída usando o parâmetro size.

A primeira é especificar a resolução da imagem gerada definindo size como "2K" ou "4K" e descrever a proporção, formato ou finalidade no prompt em linguagem natural, deixando o modelo determinar largura e altura. O valor padrão é "2K".

Exemplo:

prompt = """
Portait Instagram image to be used to promote travel to Tokyo, Japan.
"""
 
imagesResponse = client.images.generate( 
    model="seedream-4-5-251128",
    prompt=prompt,
    size="4K",
    watermark=False,
)

Como alternativa, podemos especificar o tamanho da imagem em pixels com uma string como "3750x1250", mas existem duas regras a seguir:

  1. Total de pixels (largura × altura) deve ficar entre 3,6 milhões e 16,7 milhões.
  2. Proporção (largura ÷ altura) deve ficar entre 1/16 e 16.

Se apenas uma das regras for atendida, o tamanho não é válido. Para evitar ter que fazer essas contas, recomendo usar o método por resolução acima ou um dos seguintes tamanhos válidos:

Tabela de geração de imagens na API Seedream 4.5 mostrando tamanhos de pixel recomendados por proporção: 1:1 2048x2048, 4:3 2304x1728, 3:4 1728x2304, 16:9 2560x1440, 9:16 1440x2560, 3:2 2496x1664, 2:3 1664x2496, 21:9 3024x1296.

Geração em lote

O Seedream 4.5 inclui um modo de geração em lote que pode ser usado para criar um conjunto de imagens tematicamente relacionadas. Isso é útil, por exemplo, para gerar um storyboard ou visuais em torno de um mesmo assunto.

Para gerar um lote de imagens, precisamos fornecer os parâmetros sequential_image_generation e sequential_image_generation_options na requisição. Veja um exemplo para gerar 4 imagens:

from byteplussdkarkruntime.types.images.images import SequentialImageGenerationOptions
prompt = """
Generate a series of four visually coherent and stylistically consistent images illustrating these stages of a human life: Child, Adolescent, Adult, and Elderly. Make sure it's the same person in the four images.
"""
imagesResponse = client.images.generate( 
    model="seedream-4-5-251128", 
    prompt=prompt,
    size="2K",
    sequential_image_generation="auto",
    sequential_image_generation_options=SequentialImageGenerationOptions(max_images=4),
    response_format="url",
    watermark=False
)

Ao usar a geração em lote, o formato da resposta muda para conter todas as imagens. Podemos iterar por elas e baixá-las assim:

# Iterate through all image data
for image in imagesResponse.data:
    utils.download_image(image.url)

Testei com o seguinte prompt:

Generate a series of four visually coherent and stylistically consistent images illustrating these stages of a human life: Child, Adolescent, Adult, and Elderly. Make sure it's the same person in the four images.

Porém, por algum motivo, a quarta imagem sempre perdia a consistência e saía como uma mulher (tentei várias vezes).

Exemplo de geração sequencial no Seedream 4.5: colagem em quatro painéis da mesma pessoa em diferentes fases da vida — criança empinando pipa, adolescente skatista por grafite, adulto trabalhando em um laptop, idosa tomando chá na varanda.

Para gerar um número diferente de imagens, basta mudar o valor de max_images na requisição. Esse número pode ser qualquer inteiro entre 1 e 15 (inclusive). Por exemplo, para gerar 6 imagens, faríamos:

imagesResponse = client.images.generate( 
    model="seedream-4-5-251128", 
    prompt=prompt,
    size="2K",
    sequential_image_generation="auto",
    sequential_image_generation_options=SequentialImageGenerationOptions(max_images=6),
    response_format="url",
    watermark=False
)

Geração de texto

Vamos testar a capacidade do Seedream 4.5 de gerar texto. Nos testes, quis ver se ele conseguiria criar uma imagem com uma prova matemática sem especificar explicitamente o texto a ser renderizado. Isso também avalia a habilidade do modelo de entender contexto.

Este foi o prompt que usei:

Generate an image of a math professor standing in front of a blackboard. On the blackboard, there is a written proof that the square root of 2 is irrational.

E aqui está o resultado:

Ilustração gerada por IA no BytePlus Seedream 4.5: professor de matemática apontando para um quadro com uma prova clara, passo a passo, de que a raiz quadrada de 2 é irracional, mostrando texto nítido.

Fiquei bastante satisfeito com o resultado. Além de a prova estar correta, o modelo conseguiu lidar bem com uma grande quantidade de texto.

Editando imagens com o Seedream 4.5

Nesta seção, vamos aprender a editar imagens. A forma mais simples é fornecer a URL da imagem usando o parâmetro image e descrever as mudanças no prompt.

Aqui vai um exemplo completo de script:

from dotenv import load_dotenv
from byteplussdkarkruntime import Ark 
import os
import utils
load_dotenv()
client = Ark(
    base_url="https://ark.ap-southeast.bytepluses.com/api/v3", 
    api_key=os.getenv('ARK_API_KEY'), 
)
image = "https://images.pexels.com/photos/34408249/pexels-photo-34408249.jpeg"
prompt = """
Make in snowy.
"""
imagesResponse = client.images.generate( 
    model="seedream-4-5-251128", 
    prompt=prompt,
    image=image,
    response_format="url",
    watermark=False,
    size="1664x2496"
) 
 
image_url = imagesResponse.data[0].url
utils.download_image(image_url)

Neste exemplo, usei uma foto pública no Pexels de Michael Fischer e usei o Seedream 4.5 para deixá-la com neve.

Este foi o resultado:

Edição de imagem na API Seedream 4.5 antes e depois: cabana alpina rústica à beira de um lago de montanha; cerca de madeira e chão transformados do verde outonal para o branco do inverno com o prompt “Make it snowy.”

Note que, no exemplo acima, informamos explicitamente o tamanho de saída, "1664x2496", para manter a mesma proporção da imagem de entrada. Diferente de muitos modelos de imagem por IA, o Seedream 4.5 não gera automaticamente uma imagem com as mesmas dimensões da entrada. Quando omiti o parâmetro de size, a saída veio quadrada.

Editando imagens locais

Fornecer uma URL é a forma mais fácil de mandar uma imagem para o Seedream 4.5. Mas isso é incômodo quando a imagem não está hospedada em lugar nenhum.

A API do Seedream também permite usar uma imagem local com facilidade. Para isso, precisamos carregá-la como base64. Veja uma função para isso:

import mimetypes
import base64
def load_image_as_base64(file_path):
    mime_type, _ = mimetypes.guess_type(file_path)
if mime_type is None or not mime_type.startswith("image/"):
        raise ValueError("File is not a recognized image type")
with open(file_path, "rb") as f:
        encoded = base64.b64encode(f.read()).decode("utf-8")
return f"data:{mime_type};base64,{encoded}"

Recomendo adicionar essa função ao arquivo utils.py, que já contém a função de download, para facilitar o uso no script principal.

Suponha que temos uma imagem local na mesma pasta chamada motard.jpeg. Veja como carregar e editar essa imagem:

image = utils.load_image_as_base64("motard.jpeg")
prompt = """
Remove the sunglasses and add a helmet.
"""
imagesResponse = client.images.generate( 
    model="seedream-4-5-251128", 
    prompt=prompt,
    image=image,
    response_format="url",
    watermark=False
) 

Demonstração de edição no Seedream 4.5: motociclista em uma moto preta, antes com óculos escuros e sem capacete; depois com capacete adicionado, conforme o prompt “Remove the sunglasses and add a helmet.”

Edição com múltiplas imagens de entrada

O Seedream 4.5 suporta múltiplas imagens de entrada. Elas podem ser usadas para gerar uma nova imagem mesclando estilos e elementos visuais dessas imagens.

Fornecer várias imagens em uma requisição é tão simples quanto enviar uma lista com as imagens. Veja um exemplo que combina a imagem de uma pessoa e uma roupa para gerar essa pessoa vestindo a roupa:

image1 = utils.load_image_as_base64("woman.jpeg")
image2 = utils.load_image_as_base64("outfit.jpeg")
prompt = """
Make the woman from image 1 wear the outfit in image 2.
"""
imagesResponse = client.images.generate( 
    model="seedream-4-5-251128", 
    prompt=prompt,
    image=[image1, image2],
    response_format="url",
    watermark=False,
)

Exemplo de edição multi-imagem na API Seedream 4.5: à esquerda, mulher de camisa branca; ao centro, macacão prateado futurista em manequim; à direita, resultado com a mulher vestindo o traje.

Este exemplo mostra que o Seedream 4.5 preserva muito bem rostos; a pessoa na imagem final continua muito semelhante à original. Muitos outros modelos costumam ir pior nesse ponto.

Edição com múltiplas imagens de saída

A funcionalidade de lote que vimos acima também funciona para edição, em que o total de imagens (entradas + saídas) não pode exceder 15. Isso é muito útil, por exemplo, para gerar várias imagens baseadas em um mesmo visual.

Para isso, basta combinar o parâmetro de imagem com os parâmetros de geração em lote que aprendemos acima. Exemplo de requisição:

prompt = """
Use the given logo to create a visual design system for an outdoor hiking brand, 
including backpack, hat, and shoes.
"""
image = utils.load_image_as_base64("logo.jpeg")
imagesResponse = client.images.generate( 
    model="seedream-4-5-251128", 
    prompt=prompt,
    size="2K",
    image=image,
    sequential_image_generation="auto",
    sequential_image_generation_options=SequentialImageGenerationOptions(max_images=3),
    response_format="url",
    watermark=False
) 

Mascaramento

Alguns modelos de geração de imagens por IA suportam mascaramento permitindo que o usuário envie uma máscara em preto e branco para indicar as áreas a serem editadas. No entanto, o Seedream 4.5 não possui suporte nativo a parâmetros de máscara.

Mesmo assim, fiz um teste enviando a máscara como imagem de entrada e especificando no prompt o que eu queria, para ver se ele conseguiria entender e emular o resultado:

Demonstração de remoção de objeto na API Seedream 4.5: tríptico de uma cena de cafeteria com animais antropomórficos; o painel central mostra uma máscara branca sobre o urso; o painel direito mostra o urso removido por inpainting.

Funcionou neste exemplo, mas, por não ser um recurso nativo do modelo, não é muito confiável. Por exemplo, quando tentei o mesmo para adicionar um cachorro, não deu certo.

Boas práticas no Seedream 4.5

Como vimos, o Seedream 4.5 oferece bom desempenho e alguns recursos bem legais. Para tirar o máximo proveito, fique de olho nas boas práticas abaixo.

Diretrizes centrais de prompting

Para obter os melhores resultados de geração de imagens no Seedream 4.5, responda o que você quer, por que você quer, e como deve ser o estilo — mantendo o prompt curto:

  • Descreva sujeito, ação e ambiente em linguagem simples.
  • Especifique a finalidade/uso (logo, pôster, storyboard, UI etc.).
  • Controle o estilo usando palavras-chave precisas ou uma imagem de referência.
  • Prefira prompts concisos e precisos a listas longas de adjetivos.
  • Coloque entre aspas duplas todo texto que deve aparecer na imagem.

Diretrizes para edição de imagem

Ao editar imagens, diga exatamente quais mudanças serão feitas e o que deve permanecer inalterado. Use estas quatro palavras para especificar ações:

  • Adicionar
  • Remover
  • Substituir
  • Modificar

Se a cena for complexa, usar pistas visuais (setas, caixas, rabiscos) para marcar regiões pode ajudar o modelo.

Quando usar imagem de referência para preservar identidade, estilo ou características de produto, sempre especifique:

  • Alvo de referência: o que extrair/manter (ex.: design do personagem, material, estilo).
  • Cena gerada: onde/como usar (layout, cenário, realismo, tamanho, posição).

Diretrizes para geração em lote

Ao usar várias imagens de entrada, deixe claro os papéis: 

  • Qual fornece o sujeito, qual fornece o figurino/estilo/fundo?
  • Refira-se a elas como imagem 1, imagem 2, etc.

Apesar de o modelo ter parâmetros para especificar quantas imagens gerar, é melhor reforçar no prompt o que você quer:

  • Peça “uma série”, “um conjunto” ou especifique o número exato de imagens.
  • Use para storyboards, quadrinhos, conjuntos de marca consistentes, pacotes de emojis etc.

Conclusão

O Seedream 4.5 se mostra um gerador de imagens maduro e pronto para produção, no mesmo nível de modelos de ponta como o Nano Banana, oferecendo fidelidade comparável, boa aderência a instruções e coerência entre imagens, mantendo um ótimo custo-benefício.

O que mais me chamou a atenção foi como a API é acessível na prática: o mesmo endpoint de geração cobre criação simples, edições (via URL ou base64), mesclas multi-imagem e lotes sequenciais — e ativamos cada modo ajustando um pequeno conjunto de parâmetros com nomes claros.

Dito isso, não sinto que traga inovações particularmente novas: é uma execução excelente de uma caixa de ferramentas de geração de imagens já familiar, mais do que um salto conceitual.

Para continuar aprendendo

Se quiser manter o embalo depois deste passo a passo, vale reforçar os fundamentos que deixam projetos com o Seedream 4.5 mais fluídos em produção.

Comece pelo curso Introduction to APIs in Python para dominar autenticação e tratamento de erros, e combine com Image Processing in Python para lidar com redimensionamento, composição e conversões de formato no seu pipeline.

Se você busca um caminho mais formal em ML aplicado e ferramentas, a trilha de carreira AI Engineer conecta tudo com fluxos para colocar no ar recursos de IA confiáveis e escaláveis.

Seedream 4.5: perguntas frequentes

Como o Seedream 4.5 se compara ao Nano Banana?

Embora o Seedream 4.5 consiga competir com a versão original do Nano Banana em custo e qualidade de imagem, a nova versão, Nano Banana 2, dá ao Google uma vantagem sobre o Seedream 4.5

Ainda assim, o Seedream 4.5 se destaca em consistência de lotes com alta fidelidade e saídas fotorrealistas em 4K. Já o Nano Banana brilha em raciocínio espacial rápido e edição local precisa.

O Seedream 4.5 gera imagens em alta resolução?

Sim, o Seedream 4.5 consegue gerar imagens em 4K.

Quanto custa gerar uma imagem?

Tanto imagens 2K quanto 4K custam US$ 0,04 para gerar via a API BytePlus ArkRuntime.

Preciso de uma assinatura para usar o Seedream 4.5?

Não. Dá para usar o Seedream 4.5 pela API BytePlus ArkRuntime e pagar apenas pelas imagens geradas.

É possível gerar imagens sem marca-d'água?

Sim, definindo o parâmetro watermark como False.


François Aubry's photo
Author
François Aubry
LinkedIn
Engenheiro de pilha completa e fundador da CheapGPT. Ensinar sempre foi minha paixão. Desde meus primeiros dias como estudante, eu buscava ansiosamente oportunidades para dar aulas particulares e ajudar outros alunos. Essa paixão me levou a fazer um doutorado, onde também atuei como assistente de ensino para apoiar meus esforços acadêmicos. Durante esses anos, encontrei imensa satisfação no ambiente tradicional da sala de aula, promovendo conexões e facilitando o aprendizado. Entretanto, com o advento das plataformas de aprendizagem on-line, reconheci o potencial transformador da educação digital. Na verdade, participei ativamente do desenvolvimento de uma dessas plataformas em nossa universidade. Estou profundamente comprometido com a integração dos princípios tradicionais de ensino com metodologias digitais inovadoras. Minha paixão é criar cursos que não sejam apenas envolventes e informativos, mas também acessíveis aos alunos nesta era digital.
Temas
Inteligência Artificial
IA generativa

Cursos de IA generativa

Curso

Conceitos de IA Generativa

2 h
120.4K
Descubra como usar IA generativa de forma responsável e seu impacto futuro na sociedade.
Ver detalhesRight Arrow
Começar Curso
Ver maisRight Arrow
Relacionado

blog

Os 7 melhores geradores de vídeo com IA para 2026, com vídeos de exemplo

Conheça os melhores geradores de vídeo com IA disponíveis hoje, incluindo RunwayML, Synthesia, Colossyan, Pictory, DeepBrain AI, Invideo e os super esperados Sora e Veo da DeepMind.
Dr Ana Rojo-Echeburúa's photo

Dr Ana Rojo-Echeburúa

9 min

blog

Anunciando a série de codificação conjunta "Torne-se um desenvolvedor de IA

Comece a trabalhar com a IA generativa nesta nova série de código-along. Gratuito por tempo limitado.
DataCamp Team's photo

DataCamp Team

4 min

Tutorial

Como usar o Midjourney: Um guia abrangente para a criação de obras de arte geradas por IA

Descubra o poder do Midjourney, uma ferramenta de IA generativa para criar obras de arte impressionantes. Saiba como começar, escrever prompts eficazes e otimizar seu uso com nosso guia passo a passo.
Kurtis Pykes 's photo

Kurtis Pykes

12 min

Tutorial

Visão GPT-4: Um guia abrangente para iniciantes

Este tutorial apresentará tudo o que você precisa saber sobre o GPT-4 Vision, desde o acesso a ele, passando por exemplos práticos do mundo real, até suas limitações.
Arunn Thevapalan's photo

Arunn Thevapalan

12 min

Tutorial

Primeiros passos com o Claude 3 e a API do Claude 3

Saiba mais sobre os modelos Claude 3, benchmarks de desempenho detalhados e como acessá-los. Além disso, descubra a nova API Python do Claude 3 para geração de texto, acesso a recursos de visão e streaming.
Abid Ali Awan's photo

Abid Ali Awan

Tutorial

Tutorial de Python: Streamlit

Este tutorial sobre o Streamlit foi criado para ajudar cientistas de dados ou engenheiros de aprendizado de máquina que não são desenvolvedores da Web e não estão interessados em passar semanas aprendendo a usar essas estruturas para criar aplicativos da Web.
Nadia mhadhbi's photo

Nadia mhadhbi

15 min

Ver MaisVer Mais