generation api