Olá, Daiane! Tudo bem?
Isso acontece porque o código do vídeo provavelmente está usando uma versão diferente da API ou um método diferente para fazer a chamada ao Gemini.
No seu código, você está usando a Interactions API:
resposta = client.interactions.create(
model='gemini-3.5-flash',
input=f"Gere uma resposta muito sucinta para a pergunta: {pergunta}"
)
Na versão atual da API, o objeto retornado por client.interactions.create() possui a propriedade output_text. A própria documentação oficial do Gemini usa exatamente essa forma: interaction.output_text.
Por isso, no seu caso, está correto usar:
lista_de_dicionarios_de_resposta.append({
"pergunta": pergunta,
"resposta": resposta.output_text
})
E por que no vídeo aparece resposta.text?
Provavelmente o vídeo utiliza a Generate Content API, que possui uma interface diferente. Por exemplo:
resposta = client.models.generate_content(
model="gemini-3.5-flash",
contents="Como funciona um algoritmo?"
)
print(resposta.text)
Nesse método, response.text é realmente a propriedade usada para obter o texto gerado. A documentação diferencia explicitamente os dois casos: Generate Content → response.text e Interactions → interaction.output_text.
Então você pode pensar assim:
| Método utilizado | Propriedade |
|---|
client.models.generate_content() | resposta.text |
client.interactions.create() | resposta.output_text |
Seu código não está errado. Na verdade, como você está utilizando client.interactions.create(), resposta.output_text é a forma recomendada atualmente. O vídeo provavelmente foi gravado com outra API/versão do SDK ou está utilizando generate_content(). A documentação atual do Gemini 3.5 Flash recomenda a Interactions API para novos projetos.
Espero ter ajudado e fico à disposição se precisar.
Abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado