> ## Documentation index
> Fetch the complete documentation index at: https://dify-docs.docs7.io/llms.txt
> Ask it with GET https://dify-docs.docs7.io/ask?q=<keywords or question>. Short keywords rank best.
> Use these 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 web app'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.
