> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Completion App API

> API for Text Generator apps, covering completion messages, file uploads, voice, and feedback

[Text Generator apps](/en/cloud/use-dify/build/text-generator) run in `completion` mode: each call submits its own input values and returns one response, with no conversation state carried between calls.

<Info>
  Authentication, the base URL, and the `user` field that scopes end-user data are covered in [Get Started](/en/api-reference/guides/get-started) and [End User Identity](/en/api-reference/guides/end-user-identity).
</Info>

## Generate Text

* **[Send Completion Message](/en/api-reference/completion-messages/send-completion-message)**: send `inputs` to fill the app's prompt template and generate a response. Blocking mode returns the full response once it finishes; streaming mode delivers `message` events ending in `message_end`, plus `tts_message` events when the app has text-to-speech auto-play enabled.
* **[Stop Completion Message Generation](/en/api-reference/completion-messages/stop-completion-message-generation)**: interrupt a streaming response before it finishes.

## Handle Files

* **[Upload File](/en/api-reference/files/upload-file)**: upload an image, document, audio, or video file for [Send Completion Message](/en/api-reference/completion-messages/send-completion-message) to reference. Files are scoped to the uploading end user.
* **[Download File](/en/api-reference/files/download-file)**: preview or download an uploaded file, as long as it belongs to a message in your app.
* **[Get End User Info](/en/api-reference/end-users/get-end-user-info)**: look up an end user's details from an end-user ID, such as the `created_by` in the Upload File response.

## Transcribe and Synthesize Speech

* **[Convert Audio to Text](/en/api-reference/audio/convert-audio-to-text)**: transcribe an uploaded audio file (MP3, M4A, WAV, AMR, or MPGA, up to 30 MB) so end users can speak their input instead of typing it.
* **[Convert Text to Audio](/en/api-reference/audio/convert-text-to-audio)**: synthesize the generated response back into speech.

## Retrieve App Info and Settings

* **[Get App Info](/en/api-reference/applications/get-app-info)**: the app's name, description, tags, and mode.
* **[Get App Parameters](/en/api-reference/applications/get-app-parameters)**: the fields your calls send in `inputs` (names, types, defaults) plus the app's feature switches—the basis for building requests or a client UI.
* **[Get App Meta](/en/api-reference/applications/get-app-meta)**: tool icons and other configuration metadata.
* **[Get App WebApp Settings](/en/api-reference/applications/get-app-webapp-settings)**: the WebApp's site configuration, theme, and customization options.

## Collect Feedback

* **[Submit Message Feedback](/en/api-reference/feedback/submit-message-feedback)**: end users rate a response as `like` or `dislike`, with an optional text comment.
* **[List App Feedbacks](/en/api-reference/feedback/list-app-feedbacks)**: every feedback submitted across the app, from both end users and admins.
