POST /presentations/outline-generate

Generates a presentation outline in markdown format based on specified parameters.

application/json

Body Required

  • topic string Required

    The main topic or subject for the presentation

    Minimum length is 1, maximum length is 200.

  • slideCount integer Required

    The desired number of slides in the outline

    Minimum value is 1, maximum value is 50.

  • language string Required

    The language of the presentation

    Values are English, Spanish, French, or German. Default value is English.

  • model string Required

    The AI model to use for generating the outline

    Values are gpt-4, gpt-3.5-turbo, or claude-3. Default value is gpt-4.

  • learningObjective string

    The learning objective or goal of the presentation

    Minimum length is 1, maximum length is 500.

  • targetAge string

    The target age group for the presentation

    Values are 7-10, 6-12, or Primary students. Default value is Primary students.

Responses

  • 200 application/json

    success

    Hide response attributes Show response attributes object
    • success boolean
    • code integer(int32)
    • message string
    • data object
      Hide data attribute Show data attribute object
      • outline string

        The presentation outline in markdown format using educational format with engaging hooks, bold emphasis, and conversational tone

  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • success boolean
    • code integer
    • errorCode string
    • message string
    • timestamp string(date-time)
  • 500 application/json

    Internal Server Error

    Hide response attributes Show response attributes object
    • success boolean
    • code integer
    • errorCode string
    • message string
    • timestamp string(date-time)
POST /presentations/outline-generate
curl \
 --request POST 'http://localhost:8080/api/presentations/outline-generate' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"topic":"Artificial Intelligence for Beginners","slideCount":10,"language":"English","model":"gpt-4","learningObjective":"To introduce the basic concepts of artificial intelligence and its applications in everyday life.","targetAge":"7-10"}'
Request examples
{
  "topic": "Artificial Intelligence for Beginners",
  "slideCount": 10,
  "language": "English",
  "model": "gpt-4",
  "learningObjective": "To introduce the basic concepts of artificial intelligence and its applications in everyday life.",
  "targetAge": "7-10"
}
Response examples (200)
{
  "success": true,
  "code": 200,
  "message": "string",
  "data": {
    "outline": "```markdown\n### The Amazing World of Artificial Intelligence!\n\nDid you know computers can now think and learn just like humans? Let's discover how AI is changing our world!\n\n**What makes AI so special?**\n\n- **AI systems are smart programs** that can learn from experience\n- They are like **digital brains** that solve problems for us\n- This incredible technology helps us in ways we never imagined\n\n_AI doesn't get tired or forget - it keeps learning 24/7!_\n\n### How Does AI Actually Learn?\n\nThe secret ingredient is massive amounts of **data**! AI systems feed on information to become smarter.\n\n**Data: The Brain Food of AI**\n\n- **Machine Learning** is like teaching a computer to recognize patterns\n- AI systems use **algorithms** to process and understand information\n- Without quality data, AI cannot make good decisions\n\n> Just like we learn from our mistakes, AI gets better with every example!\n\n### AI in Our Daily Lives\n\nFrom your smartphone to your favorite streaming service, AI is everywhere working behind the scenes.\n\n**Where Can You Find AI Today?**\n\n- **Voice assistants** like Siri and Alexa understand what you say\n- **Recommendation systems** suggest movies and music you might like\n- **Navigation apps** find the fastest route to your destination\n\n_AI is like having a super-smart friend who never sleeps and always wants to help!_\n```"
  }
}
Response examples (400)
{
  "success": false,
  "code": 42,
  "errorCode": "string",
  "message": "string",
  "timestamp": "2025-05-04T09:42:00Z"
}
Response examples (500)
{
  "success": false,
  "code": 42,
  "errorCode": "string",
  "message": "string",
  "timestamp": "2025-05-04T09:42:00Z"
}