wrapfig2
package computes the number of lines needed to fit in the wrapped figure/table/text:

If the computation is not successful and so requires a correction, a starred version of the environment is available (see the documentation).
Wrapping requires a suitably long text. However, if the text is short, the task of wrapping is given to the following paragraph.

MWE
\documentclass{report}
\usepackage{graphicx}
\usepackage{wrapfig2}
\begin{document}
\begin{wrapfigure}{r}{0.4\linewidth}
\centering
\includegraphics[width=\linewidth]{example-image-duck}
\caption{A \textbf{ducking} duck!}
\end{wrapfigure}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita
kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem
ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero
eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.
\begin{wrapfigure}{r}{0.4\linewidth}
\centering
\includegraphics[width=\linewidth]{example-image-duck}
\caption{A \textbf{ducking} duck!}
\end{wrapfigure}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
Stet clita
kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem
ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum
dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor
invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero
eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no
sea takimata sanctus est Lorem ipsum dolor sit amet.
\end{document}
If no wrapping is needed (and therefore no caption?, with the text being a taken as a description, if I understand correctly):
Here is one method using tabularray
:

MWE
\documentclass{article}
\usepackage{tabularray}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{tcolorbox}
\tcbuselibrary{vignette}
\newcommand\texta{The cat sat on the mat and the quick brown fox jumps over the lazy dog.\ }
\newcommand\textb{\texta\texta}
\newcommand\textc{\textb\textb}
\newcommand\textd{\textc\textc\textc\hfill$\diamondsuit$\par\textb}
\begin{document}
%\fbox{
\begin{tblr}{
rows = {bg=yellow!50!red!5},
colspec={Q[l,h,0.5\textwidth]Q[c,blue!32]},}
tcolorbox vignette image, small amount of text \texta
&
\begin{tikzpicture}%
\node[draw,fill=blue!60] (A) {{\sffamily\large\bfseries%
\includegraphics[width=1in]{example-image-duck-portrait}%
}};%
\tcbvignette{outside node=A}%
\end{tikzpicture}%
\\
\end{tblr}
%}
\textc
\fbox{
\begin{tblr}{colspec={Q[l,h,0.5\textwidth]Q[c,blue!32!green!5]},rowspec={QQ}}
tcolorbox vignette image, large amount of text \textd
&
\begin{tikzpicture}%
\node[draw,fill=blue!60] (A) {{\sffamily\large\bfseries%
\includegraphics[width=1in]{example-image-duck-portrait}%
}};%
\tcbvignette{outside node=A}%
\end{tikzpicture}%
\\
\end{tblr}
}
\textc
\end{document}
A TOC entry if needed could be added various ways, depending on the use case.
[5]
add start a new paragraph and vspace beforeStet
if you want a paragraph therewrapfig
at all. Usingwrapfig
while preventing wrapping does seem a strange requirement