Kitta AI Docs
Integration GuidesThird-Party Integrations

Coze Setup

Install FishAudio text-to-speech and image/video lip-sync plugins in Coze, or generate a lip-synced video directly from text.

Use FishAudio in Coze

FishAudio provides two plugins in the Coze plugin store. Installing the plugins is the recommended setup; use the advanced HTTP configuration only when you need a custom request.

PluginPurposeInstall
FishAudio TTS 文字转语音Convert text to speech and return an audio URLOpen in Coze
FishAudio 图片/视频对口型Create an asynchronous lip-sync job from video and audio URLsOpen in Coze

Prepare an API key

  1. Create a dedicated Coze key on the Kitta AI API management page.
  2. Check that your API credit balance is sufficient.
  3. Pass the key to plugin tools in this format:
Authorization: Bearer YOUR_FISH_AUDIO_API_KEY

There must be one space after Bearer. Both plugins use the customer's own API key, and usage is charged to that Kitta AI account.

Create a private plugin

If you do not want to install the store plugins, download and import these files:

In Coze, create a cloud plugin from an existing service and import the relevant YAML. Select no authorization; the customer supplies their own Authorization at runtime. The files contain no real API key.

Text-to-Lip-Sync uses the same combined API as the website Video Dubbing workbench: provide a video URL, text, and an existing voice ID; the service generates TTS audio and then creates the lip-sync job automatically. Personal Voice Synthesis remains a customer-specific private plugin and is not a store candidate.

Use FishAudio TTS 文字转语音

  1. Open FishAudio TTS and add it to your Coze workspace.
  2. Add the FishAudio TTS tool to an agent or workflow.
  3. Enter Authorization, the input text, a Voice ID, and any optional controls.
  4. Run the tool and connect the returned audio_url to playback, download, or the Media Sync plugin.

Use a short sentence for the first test. The Voice ID must be a valid system voice or a custom voice available to the current Kitta AI account.

Use FishAudio 图片/视频对口型

Open FishAudio 图片/视频对口型 and add it to your workspace. The plugin provides two tools:

ToolPurpose
create_media_syncCreate an asynchronous job from publicly downloadable video and audio URLs
get_media_sync_jobQuery progress, the result, or failure details with the returned jobId

Create a job

Main create_media_sync inputs:

ParameterDescription
AuthorizationBearer followed by a Kitta AI API key
video_urlA video URL the Kitta AI service can download directly
audio_urlA downloadable audio URL, including an audio_url returned by TTS

Save data.id from the create response and use it as jobId for subsequent queries. Creating a job consumes API credits.

Query a job

Pass the same Authorization and the original jobId to get_media_sync_job:

  • processing: wait and query the same jobId again.
  • completed: read data.result_url.
  • failed: read data.error_message.

Do not call create_media_sync again just because a query times out or the job is still processing. Doing so may create and charge for a duplicate job.

Use FishAudio 文字对口型

Text-to-Lip-Sync combines TTS and lip sync in one create tool:

Video URL + text + Voice ID + Idempotency-Key

create_text_lip_sync
      ↓ data.id
Save jobId → wait → get_text_lip_sync_job

completed: output data.result_url
failed: output data.error_message

Use a new Idempotency-Key for every new job; reuse the original value only when retrying the exact same request. Start with a 15–30 second wait before the query node. If you automate polling, set a maximum number of queries and a total timeout.

Media URL requirements

Video and audio URLs must be directly downloadable by the Kitta AI service. Web page URLs, local file paths, and expired signed URLs cannot be used.

For temporary URLs generated from Coze uploads, make sure the URL remains valid while the job is created and Kitta AI downloads the media. Download or transfer completed results promptly.

API key and log safety

Authorization is a normal tool input and may appear in Coze conversations, debug records, or runtime logs. Recommended practices:

  • Create a separate API key for Coze.
  • Do not share screenshots or workflow templates containing a real key.
  • Rotate or revoke demonstration and test keys when they are no longer needed.
  • Each customer should use their own key; never embed a shared key in a public plugin.

Troubleshooting

  • 401: confirm the value starts with Bearer , contains no extra spaces, and has not been revoked.
  • 402: check API credits; membership and API credits are separate balances.
  • Media download failed: verify that the URL is directly accessible and its signature lasts long enough.
  • Job remains processing: continue querying the same jobId; do not create another job.
  • No audio_url or result_url: read the returned data object and check the task status.
  • A key appears in Coze records: revoke it and create a new dedicated Coze key.

Advanced: call the TTS HTTP API directly

Without the store plugin, use a Coze HTTP request node:

SettingValue
MethodPOST
URLhttps://kittaai.com/v1/audio/speech
HeaderAuthorization: Bearer YOUR_FISH_AUDIO_API_KEY
HeaderContent-Type: application/json
{
  "model": "fishaudio-s21pro-flash",
  "voice": "YOUR_VOICE_ID",
  "input": "{{text}}",
  "response_format": "mp3"
}

Configure the response as a file or binary value instead of JSON.