The SDK path is simpler when you are already building in a TypeScript app or script.
Pass the image as metadata.base64Image inside flaunchIPFS(...).
The SDK then uploads:
The image to IPFS
The token metadata JSON to IPFS
The launch transaction with the generated metadata URI
This is the recommended path when the app needs direct wallet-controlled launch behavior.
What To Pass
Use one of these formats:
A full data URL like data:image/png;base64,...
A base64 string produced from a user-uploaded file
Recommended image formats:
jpg
png
webp
gif
If You Already Have IPFS
If you already have an IPFS-hosted image, you can still use it.
For the API path, pass the image hash as imageIpfs.
For lower-level onchain flows, you can work from a prepared metadata URI, but the preferred developer path is still to use the Flaunch API or SDK upload flow first.