nprofile1qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyqpq0fp3ehl8utp98zgk6lx87uwkfxm9zq6z9varapeuluz9cdf3zfvse53ram (nprofile…3ram) ooh, via the API is different iirc. https://docs.bsky.app/docs/advanced-guides/posts#website-card-embeds
Like, if you post via the web, it'll do the whole "fetch the link for opengraph data" thing, which I think is a service bsky runs, but if you are posting via the API then you need to send the app.bsky.embed.external thing