Skip to content

Troubleshooting

Common issues and how to fix them.

Known Limitations (February 2026)

  • Map Versioning: CiteKit does not yet handle source file mutations. Re-ingest for structural changes.

FFmpeg Errors

"ffprobe not found" or "ffmpeg not found"

Cause: FFmpeg is not installed or not in your system PATH. Fix:

  1. Run ffmpeg -version in your terminal.
  2. If it fails, install FFmpeg (see System Requirements).
  3. restart your terminal or IDE after installing.

"Exit code 1" during resolution

Cause: The input file might be corrupted or the format is unsupported by your FFmpeg build. Fix: Try running the FFmpeg command manually to see the error details. CiteKit prints the command it tries to run in debug mode.

API Errors

"403 Forbidden" or "API Key Invalid"

Cause: The API key for your configured mapper is missing or invalid (for Gemini, GEMINI_API_KEY). Fix: Check your .env file or environment variables for the provider you use and verify key permissions.

"429 Too Many Requests"

Cause: You have hit your mapper's API rate limits (RPM or RPD). Fix:

  • Exponential Backoff: CiteKit now supports automatic retries. Ensure maxRetries is set in your mapper.
  • Quota: If using a free tier, wait for your quota to reset or upgrade your provider plan.
  • Concurrency: Reduce the concurrency_limit in CiteKitClient (default: 5) to lower the parallel request volume.

"Model not found"

Cause: The requested model (e.g., gemini-1.5-flash) is not available in your region or account tier. Fix: Try a different model name when initializing the client:

python
client = CiteKitClient(model="gemini-1.0-pro")

Ingestion Issues

"File processing timed out"

Cause: Large video files take time for the mapper provider to process. Fix: CiteKit has a default timeout. You can try splitting the video into smaller chunks or retrying later.

"Map is empty" or "No nodes found"

Cause: The AI couldn't find structured content, or the prompt didn't work for this specific file. Fix:

  • Check if the file has meaningful content.
  • Try using a stronger model (e.g., gemini-1.5-pro instead of flash) or switch to a custom mapper.

"Invalid Bounding Box" (Images)

Cause: The AI returned coordinates outside the image dimensions (e.g., negative values). Fix:

  • Retry the ingestion or use a different model / custom mapper.

Released under the MIT License.