Execute request; uses Json deserialize (gobject_from_data). Response.Generate deserialize_property handles v1 shape (choices[], usage) and maps into flat properties. Prompt is required for the API; we throw if empty.