# Civitai Developer > Civitai developer docs: the Orchestration API (AI generation workflows), the Civitai Site API and OAuth, Civitai Apps (apps that run inside civitai.com), and MCP servers. Orchestration covers authenticating, submitting workflows, getting results by polling or webhooks, and recipes per model or engine. Its reference pages are generated from a committed snapshot of the v2-consumers OpenAPI spec. Every page has a markdown version at its URL + `.md` (also served from the page URL itself to `Accept: text/markdown`). Internal links in the markdown are absolute `.md` URLs. ## Section indexes - [Civitai Orchestration](https://developer.civitai.com/orchestration/llms.txt): the /orchestration/ pages only - [Civitai Site API](https://developer.civitai.com/site/llms.txt): the /site/ pages only - [Civitai Apps](https://developer.civitai.com/apps/llms.txt): the /apps/ pages only ## Table of Contents ### Getting Started - [Introduction](https://developer.civitai.com/orchestration/guide.md) - [Quick Start](https://developer.civitai.com/orchestration/guide/getting-started.md) - [Authentication](https://developer.civitai.com/orchestration/guide/authentication.md) ### Core Concepts - [Workflows](https://developer.civitai.com/orchestration/guide/workflows.md) - [Submitting Work](https://developer.civitai.com/orchestration/guide/submitting-work.md) - [Results & Webhooks](https://developer.civitai.com/orchestration/guide/results-and-webhooks.md) - [Errors & Retries](https://developer.civitai.com/orchestration/guide/errors-and-retries.md) - [Loaded Resources](https://developer.civitai.com/orchestration/guide/loaded-resources.md) ### Reference - [API Reference](https://developer.civitai.com/orchestration/reference.md) ### API operations - [Get blob by ID. This will redirect to a cacheable content URL](https://developer.civitai.com/orchestration/reference/operations/GetBlob.md): GET /v2/consumer/blobs/{blobId} - [Same as GET, but answers 204 with the redirect target in Location, so a client can read the verdict headers](https://developer.civitai.com/orchestration/reference/operations/HeadBlob.md): HEAD /v2/consumer/blobs/{blobId} - [Get a presigned URL for browser uploads](https://developer.civitai.com/orchestration/reference/operations/GetConsumerBlobUploadUrl.md): GET /v2/consumer/blobs/upload - [Upload a blob directly with on-the-fly moderation](https://developer.civitai.com/orchestration/reference/operations/UploadConsumerBlob.md): POST /v2/consumer/blobs - [Copy a trusted url into a blob named after that source, so the caller can ask for it again](https://developer.civitai.com/orchestration/reference/operations/IngestConsumerBlob.md): POST /v2/consumer/blobs/ingest - [Serves cacheable blob content using a deterministic encrypted token](https://developer.civitai.com/orchestration/reference/operations/GetBlobContent.md): GET /v2/consumer/blobs/content/{encryptedToken} - [Serves a blocked placeholder image with the specified dimensions](https://developer.civitai.com/orchestration/reference/operations/GetBlockedContent.md): GET /v2/consumer/blobs/blocked/{encryptedToken} - [Streams an archive (zip or tar) of the blobs referenced by a signed archive token](https://developer.civitai.com/orchestration/reference/operations/GetBlobArchive.md): GET /v2/consumer/blobs/archive/{encryptedToken} - [Refresh a blob's URL and debounce its lifetime](https://developer.civitai.com/orchestration/reference/operations/RefreshBlob.md): POST /v2/consumer/blobs/{blobId}/refresh - [Get the free-tier models and the caller's remaining quota. Use them with `tier: "free"` on a workflow](https://developer.civitai.com/orchestration/reference/operations/GetFreeTier.md): GET /v2/consumer/free-tier - [The id is the only way to reach the fund, so keep it secret, in your app's state](https://developer.civitai.com/orchestration/reference/operations/CreateFund.md): POST /v2/consumer/funds - [GET /v2/consumer/funds/{fundId}](https://developer.civitai.com/orchestration/reference/operations/GetFund.md): GET /v2/consumer/funds/{fundId} - [Whatever is left goes to Civitai, not back to the depositors. A fund is also deleted on its own at `expiresAt`](https://developer.civitai.com/orchestration/reference/operations/DeleteFund.md): DELETE /v2/consumer/funds/{fundId} - [Sets the fund to expire `ttl` from now, so a long-running session can keep rolling it over](https://developer.civitai.com/orchestration/reference/operations/UpdateFund.md): PATCH /v2/consumer/funds/{fundId} - [POST /v2/consumer/funds/{fundId}/deposits](https://developer.civitai.com/orchestration/reference/operations/DepositIntoFund.md): POST /v2/consumer/funds/{fundId}/deposits - [Generates full songs from text descriptions and structured lyrics with ACE Step 1.5](https://developer.civitai.com/orchestration/reference/operations/InvokeAceStepAudioStepTemplate.md): POST /v2/consumer/recipes/aceStepAudio - [Audio Captioning](https://developer.civitai.com/orchestration/reference/operations/InvokeAudioCaptioningStepTemplate.md): POST /v2/consumer/recipes/audioCaptioning - [POST /v2/consumer/recipes/audioClassification](https://developer.civitai.com/orchestration/reference/operations/InvokeAudioClassificationStepTemplate.md): POST /v2/consumer/recipes/audioClassification - [Transcribe every audio track and classify the lyrics for sexualized minors](https://developer.civitai.com/orchestration/reference/operations/InvokeAudioModerationStepTemplate.md): POST /v2/consumer/recipes/audioModeration - [Classify transcribed lyrics for sexualized minors](https://developer.civitai.com/orchestration/reference/operations/InvokeAudioTextModerationStepTemplate.md): POST /v2/consumer/recipes/audioTextModeration - [Bundles blobs into a single zip or tar that callers download from a signed streaming URL](https://developer.civitai.com/orchestration/reference/operations/InvokeBlobArchiveStepTemplate.md): POST /v2/consumer/recipes/blobArchive - [ChatCompletion](https://developer.civitai.com/orchestration/reference/operations/InvokeChatCompletionStepTemplate.md): POST /v2/consumer/recipes/chatCompletion - [Comfy workflows](https://developer.civitai.com/orchestration/reference/operations/InvokeComfyStepTemplate.md): POST /v2/consumer/recipes/comfy - [POST /v2/consumer/recipes/comfyNodepackSnapshot](https://developer.civitai.com/orchestration/reference/operations/InvokeComfyNodepackSnapshotStepTemplate.md): POST /v2/consumer/recipes/comfyNodepackSnapshot - [Compose Media](https://developer.civitai.com/orchestration/reference/operations/InvokeComposeMediaStepTemplate.md): POST /v2/consumer/recipes/composeMedia - [A workflow step that converts images to different formats and applies optional transforms](https://developer.civitai.com/orchestration/reference/operations/InvokeConvertImageStepTemplate.md): POST /v2/consumer/recipes/convertImage - [CustomComfy](https://developer.civitai.com/orchestration/reference/operations/InvokeCustomComfyStepTemplate.md): POST /v2/consumer/recipes/customComfy - [POST /v2/consumer/recipes/humanoidImageMask](https://developer.civitai.com/orchestration/reference/operations/InvokeHumanoidImageMaskStepTemplate.md): POST /v2/consumer/recipes/humanoidImageMask - [Removes the background from an image using BiRefNet](https://developer.civitai.com/orchestration/reference/operations/InvokeImageBackgroundRemovalStepTemplate.md): POST /v2/consumer/recipes/imageBackgroundRemoval - [Image Generation](https://developer.civitai.com/orchestration/reference/operations/InvokeImageGenStepTemplate.md): POST /v2/consumer/recipes/imageGen - [LORA Training](https://developer.civitai.com/orchestration/reference/operations/InvokeImageResourceTrainingStepTemplate.md): POST /v2/consumer/recipes/imageResourceTraining - [Converts a raster image to an SVG using a local StarVector or OmniSVG model](https://developer.civitai.com/orchestration/reference/operations/InvokeImageToSvgStepTemplate.md): POST /v2/consumer/recipes/imageToSvg - [Image upload](https://developer.civitai.com/orchestration/reference/operations/InvokeImageUploadStepTemplate.md): POST /v2/consumer/recipes/imageUpload - [POST /v2/consumer/recipes/imageUpscaler](https://developer.civitai.com/orchestration/reference/operations/InvokeImageUpscalerStepTemplate.md): POST /v2/consumer/recipes/imageUpscaler - [Live text to speech](https://developer.civitai.com/orchestration/reference/operations/InvokeLiveTextToSpeechStepTemplate.md): POST /v2/consumer/recipes/liveTextToSpeech - [Live transcription](https://developer.civitai.com/orchestration/reference/operations/InvokeLiveTranscriptionStepTemplate.md): POST /v2/consumer/recipes/liveTranscription - [Media Captioning](https://developer.civitai.com/orchestration/reference/operations/InvokeMediaCaptioningStepTemplate.md): POST /v2/consumer/recipes/mediaCaptioning - [MediaHash](https://developer.civitai.com/orchestration/reference/operations/InvokeMediaHashStepTemplate.md): POST /v2/consumer/recipes/mediaHash - [MediaRating](https://developer.civitai.com/orchestration/reference/operations/InvokeMediaRatingStepTemplate.md): POST /v2/consumer/recipes/mediaRating - [Merge](https://developer.civitai.com/orchestration/reference/operations/InvokeMergeStepTemplate.md): POST /v2/consumer/recipes/merge - [Generate a complete song from a structured caption and lyrics with MiniMax Music 3](https://developer.civitai.com/orchestration/reference/operations/InvokeMiniMaxMusic3StepTemplate.md): POST /v2/consumer/recipes/miniMaxMusic3 - [3D model preview](https://developer.civitai.com/orchestration/reference/operations/InvokeModel3DPreviewStepTemplate.md): POST /v2/consumer/recipes/model3DPreview - [ModelHash](https://developer.civitai.com/orchestration/reference/operations/InvokeModelHashStepTemplate.md): POST /v2/consumer/recipes/modelHash - [ModelParseMetadata](https://developer.civitai.com/orchestration/reference/operations/InvokeModelParseMetadataStepTemplate.md): POST /v2/consumer/recipes/modelParseMetadata - [3D model generation](https://developer.civitai.com/orchestration/reference/operations/InvokePolyGenStepTemplate.md): POST /v2/consumer/recipes/polyGen - [Prepare Resource](https://developer.civitai.com/orchestration/reference/operations/InvokePrepareResourceStepTemplate.md): POST /v2/consumer/recipes/prepareResource - [POST /v2/consumer/recipes/preprocessImage](https://developer.civitai.com/orchestration/reference/operations/InvokePreprocessImageStepTemplate.md): POST /v2/consumer/recipes/preprocessImage - [POST /v2/consumer/recipes/preprocessVideo](https://developer.civitai.com/orchestration/reference/operations/InvokePreprocessVideoStepTemplate.md): POST /v2/consumer/recipes/preprocessVideo - [PromptEnhancement](https://developer.civitai.com/orchestration/reference/operations/InvokePromptEnhancementStepTemplate.md): POST /v2/consumer/recipes/promptEnhancement - [PromptModeration](https://developer.civitai.com/orchestration/reference/operations/InvokePromptModerationStepTemplate.md): POST /v2/consumer/recipes/promptModeration - [Qwen Image Bench](https://developer.civitai.com/orchestration/reference/operations/InvokeQwenImageBenchStepTemplate.md): POST /v2/consumer/recipes/qwenImageBench - [Repeat workflow step](https://developer.civitai.com/orchestration/reference/operations/InvokeRepeatStepTemplate.md): POST /v2/consumer/recipes/repeat - [Generate music or a standalone sound effect from a text prompt with Sonilo](https://developer.civitai.com/orchestration/reference/operations/InvokeSoniloAudioGenStepTemplate.md): POST /v2/consumer/recipes/soniloAudioGen - [TextToImage](https://developer.civitai.com/orchestration/reference/operations/InvokeTextToImageStepTemplate.md): POST /v2/consumer/recipes/textToImage - [Text-to-Speech](https://developer.civitai.com/orchestration/reference/operations/InvokeTextToSpeechStepTemplate.md): POST /v2/consumer/recipes/textToSpeech - [Training](https://developer.civitai.com/orchestration/reference/operations/InvokeTrainingStepTemplate.md): POST /v2/consumer/recipes/training - [Transcoding](https://developer.civitai.com/orchestration/reference/operations/InvokeTranscodeStepTemplate.md): POST /v2/consumer/recipes/transcode - [Transcription](https://developer.civitai.com/orchestration/reference/operations/InvokeTranscriptionStepTemplate.md): POST /v2/consumer/recipes/transcription - [POST /v2/consumer/recipes/tryOnU](https://developer.civitai.com/orchestration/reference/operations/InvokeTryOnUStepTemplate.md): POST /v2/consumer/recipes/tryOnU - [Tracks a prompted foreground object across a video and returns a lossless animated WebP with transparency](https://developer.civitai.com/orchestration/reference/operations/InvokeVideoBackgroundRemovalStepTemplate.md): POST /v2/consumer/recipes/videoBackgroundRemoval - [Upscale videos and/or interpolate frames](https://developer.civitai.com/orchestration/reference/operations/InvokeVideoEnhancementStepTemplate.md): POST /v2/consumer/recipes/videoEnhancement - [Video Frame Extraction](https://developer.civitai.com/orchestration/reference/operations/InvokeVideoFrameExtractionStepTemplate.md): POST /v2/consumer/recipes/videoFrameExtraction - [Video generation](https://developer.civitai.com/orchestration/reference/operations/InvokeVideoGenStepTemplate.md): POST /v2/consumer/recipes/videoGen - [Interpolate videos using VFI Mamba](https://developer.civitai.com/orchestration/reference/operations/InvokeVideoInterpolationStepTemplate.md): POST /v2/consumer/recipes/videoInterpolation - [Extract metadata from videos including width, height, FPS, and duration](https://developer.civitai.com/orchestration/reference/operations/InvokeVideoMetadataStepTemplate.md): POST /v2/consumer/recipes/videoMetadata - [Upscale videos using FlashVSR](https://developer.civitai.com/orchestration/reference/operations/InvokeVideoUpscalerStepTemplate.md): POST /v2/consumer/recipes/videoUpscaler - [WDTagging](https://developer.civitai.com/orchestration/reference/operations/InvokeWDTaggingStepTemplate.md): POST /v2/consumer/recipes/wdTagging - [WebScrape](https://developer.civitai.com/orchestration/reference/operations/InvokeWebScrapeStepTemplate.md): POST /v2/consumer/recipes/webScrape - [WebSearch](https://developer.civitai.com/orchestration/reference/operations/InvokeWebSearchStepTemplate.md): POST /v2/consumer/recipes/webSearch - [Generate a song from style and lyrics with YuE2](https://developer.civitai.com/orchestration/reference/operations/InvokeYuE2StepTemplate.md): POST /v2/consumer/recipes/yuE2 - [List resources: `view=Queue` is what the orchestrator is loading now, `view=Loaded`](https://developer.civitai.com/orchestration/reference/operations/QueryResources.md): GET /v2/resources - [Get an existing resource](https://developer.civitai.com/orchestration/reference/operations/GetResource.md): GET /v2/resources/{air} - [List services, optionally filtered](https://developer.civitai.com/orchestration/reference/operations/ListServices.md): GET /v2/services - [Get a single service by id, e.g. "image/flux2/klein/createImage/9b", with its bucketed](https://developer.civitai.com/orchestration/reference/operations/GetService.md): GET /v2/services/{serviceId} - [GET /v2/consumer/streaming-blobs/{blobKey}](https://developer.civitai.com/orchestration/reference/operations/GetStreamingBlob.md): GET /v2/consumer/streaming-blobs/{blobKey} - [POST /v2/consumer/streaming-blobs/{blobKey}](https://developer.civitai.com/orchestration/reference/operations/AppendStreamingBlob.md): POST /v2/consumer/streaming-blobs/{blobKey} - [Query workflows](https://developer.civitai.com/orchestration/reference/operations/QueryWorkflows.md): GET /v2/consumer/workflows - [Submit workflow](https://developer.civitai.com/orchestration/reference/operations/SubmitWorkflow.md): POST /v2/consumer/workflows - [Get workflow](https://developer.civitai.com/orchestration/reference/operations/GetWorkflow.md): GET /v2/consumer/workflows/{workflowId} - [Update workflow](https://developer.civitai.com/orchestration/reference/operations/UpdateWorkflow.md): PUT /v2/consumer/workflows/{workflowId} - [Delete workflow](https://developer.civitai.com/orchestration/reference/operations/DeleteWorkflow.md): DELETE /v2/consumer/workflows/{workflowId} - [Patch workflow](https://developer.civitai.com/orchestration/reference/operations/PatchWorkflow.md): PATCH /v2/consumer/workflows/{workflowId} - [Add workflow tag](https://developer.civitai.com/orchestration/reference/operations/AddWorkflowTag.md): POST /v2/consumer/workflows/{workflowId}/tags - [Delete all workflow tags](https://developer.civitai.com/orchestration/reference/operations/RemoveAllWorkflowTags.md): DELETE /v2/consumer/workflows/{workflowId}/tags - [Delete workflow tag](https://developer.civitai.com/orchestration/reference/operations/RemoveWorkflowTag.md): DELETE /v2/consumer/workflows/{workflowId}/tags/{tag} - [Get the status of a workflow step](https://developer.civitai.com/orchestration/reference/operations/GetWorkflowStep.md): GET /v2/consumer/workflows/{workflowId}/steps/{stepName} - [Updates a step within a particular workflow](https://developer.civitai.com/orchestration/reference/operations/UpdateWorkflowStep.md): PUT /v2/consumer/workflows/{workflowId}/steps/{stepName} - [PATCH /v2/consumer/workflows/{workflowId}/steps/{stepName}](https://developer.civitai.com/orchestration/reference/operations/PatchWorkflowStep.md): PATCH /v2/consumer/workflows/{workflowId}/steps/{stepName} ### Recipes - [Recipes](https://developer.civitai.com/orchestration/recipes.md) ### Video - [WAN video generation](https://developer.civitai.com/orchestration/recipes/wan.md) - [LTX2 video generation](https://developer.civitai.com/orchestration/recipes/ltx2.md) - [Kling video generation](https://developer.civitai.com/orchestration/recipes/kling.md) - [Vidu video generation](https://developer.civitai.com/orchestration/recipes/vidu.md) - [Veo 3 video generation](https://developer.civitai.com/orchestration/recipes/veo3.md) - [Gemini Omni video generation](https://developer.civitai.com/orchestration/recipes/gemini-omni.md) - [Grok video generation](https://developer.civitai.com/orchestration/recipes/grok-video.md) - [Happy-Horse video generation](https://developer.civitai.com/orchestration/recipes/happy-horse.md) - [FLUX-3 video generation](https://developer.civitai.com/orchestration/recipes/flux3-video.md) - [MiniMax H3 video generation](https://developer.civitai.com/orchestration/recipes/minimax-h3.md) - [MiniMax H3 (ComfyUI) video generation](https://developer.civitai.com/orchestration/recipes/minimax-h3-comfy.md) - [Seedance video generation](https://developer.civitai.com/orchestration/recipes/seedance.md) - [HunyuanVideo generation](https://developer.civitai.com/orchestration/recipes/hunyuan.md) - [Video upscaling](https://developer.civitai.com/orchestration/recipes/video-upscaler.md) - [Video frame interpolation](https://developer.civitai.com/orchestration/recipes/video-interpolation.md) - [Compose media (video)](https://developer.civitai.com/orchestration/recipes/compose-media-video.md) ### Image - [Flux 2 image generation](https://developer.civitai.com/orchestration/recipes/flux2.md) - [Flux 1 image generation](https://developer.civitai.com/orchestration/recipes/flux1.md) - [Z-Image generation](https://developer.civitai.com/orchestration/recipes/zimage.md) - [Qwen image generation](https://developer.civitai.com/orchestration/recipes/qwen.md) - [Krea v2 image generation](https://developer.civitai.com/orchestration/recipes/krea.md) - [MAI Image 2.5 image generation](https://developer.civitai.com/orchestration/recipes/mai-image.md) - [Anima image generation](https://developer.civitai.com/orchestration/recipes/anima.md) - [ERNIE image generation](https://developer.civitai.com/orchestration/recipes/ernie.md) - [SDXL image generation](https://developer.civitai.com/orchestration/recipes/sdxl.md) - [SD1 image generation](https://developer.civitai.com/orchestration/recipes/sd1.md) - [OpenAI image generation](https://developer.civitai.com/orchestration/recipes/openai.md) - [Google image generation](https://developer.civitai.com/orchestration/recipes/google.md) - [Gemini image generation](https://developer.civitai.com/orchestration/recipes/gemini.md) - [Seedream image generation](https://developer.civitai.com/orchestration/recipes/seedream.md) - [Grok image generation](https://developer.civitai.com/orchestration/recipes/grok.md) - [WAN image generation](https://developer.civitai.com/orchestration/recipes/wan-image.md) - [Image upscaling](https://developer.civitai.com/orchestration/recipes/image-upscaler.md) ### 3D - [3D model generation](https://developer.civitai.com/orchestration/recipes/3d.md) ### Audio - [Transcription](https://developer.civitai.com/orchestration/recipes/transcription.md) - [Text-to-speech](https://developer.civitai.com/orchestration/recipes/text-to-speech.md) - [Multi-speaker dialogue](https://developer.civitai.com/orchestration/recipes/multi-speaker-dialogue.md) - [ACE-Step music generation](https://developer.civitai.com/orchestration/recipes/ace-step-audio.md) ### Language models - [Chat completion](https://developer.civitai.com/orchestration/recipes/chat-completion.md) ### Utilities - [Prompt enhancement](https://developer.civitai.com/orchestration/recipes/prompt-enhancement.md) - [Image conversion](https://developer.civitai.com/orchestration/recipes/convert-image.md) - [Image background removal](https://developer.civitai.com/orchestration/recipes/image-background-removal.md) - [Web search](https://developer.civitai.com/orchestration/recipes/web-search.md) - [Web scrape](https://developer.civitai.com/orchestration/recipes/web-scrape.md) ### Training - [LoRA training overview](https://developer.civitai.com/orchestration/recipes/training.md): What every AI Toolkit LoRA training recipe shares — request shape, common parameters, training data, continuing a run, reading the result, live progress logs, and how cost is calculated. - [SDXL & SD1 LoRA training](https://developer.civitai.com/orchestration/recipes/training-sdxl-sd1.md) - [Flux 1 LoRA training](https://developer.civitai.com/orchestration/recipes/training-flux1.md) - [Flux 2 Klein LoRA training](https://developer.civitai.com/orchestration/recipes/training-flux2-klein.md) - [Wan video LoRA training](https://developer.civitai.com/orchestration/recipes/training-wan.md) - [LTX2 video LoRA training](https://developer.civitai.com/orchestration/recipes/training-ltx2.md) - [Chroma / ERNIE / Qwen / Z-Image LoRA training](https://developer.civitai.com/orchestration/recipes/training-other-image.md) ### MCP Server - [MCP Server](https://developer.civitai.com/orchestration/mcp.md) - [Tools, prompts, and resources](https://developer.civitai.com/orchestration/mcp/tools.md) ### MCP Server - [MCP Server](https://developer.civitai.com/site/mcp.md): Connect an MCP client to the remote Civitai platform MCP server to browse and act on civitai.com. - [Tools](https://developer.civitai.com/site/mcp/tools.md): The tools the Civitai platform MCP server exposes, grouped by area, with their auth and scope requirements. ### Guide - [Introduction to Civitai Apps](https://developer.civitai.com/apps/guide.md): What Civitai Apps are, who they're for, and how to start building one. - [Concepts](https://developer.civitai.com/apps/guide/concepts.md): The Civitai Apps mental model — block, install, slot, page apps vs slot apps, the iframe trust frame, and the host/block bridge. - [Quickstart](https://developer.civitai.com/apps/guide/quickstart.md): Scaffold a Civitai App with the civitai CLI — web components and @civitai/sdk by default, React on request — run it against the local mock host, and build it. - [The @civitai/sdk client](https://developer.civitai.com/apps/guide/sdk.md): What a block does with @civitai/sdk — initialize(), app.onChange, app.host, app.site, app.requestGrants, and app.workflows for generation, with the idempotency key every submit needs. - [Using the civitai-* elements in a block](https://developer.civitai.com/apps/guide/elements.md): Using the custom elements in a block — which import defines which elements, the SDK-backed elements, theming from the host, , and why and record nothing. - [Local dev loop — mock and live](https://developer.civitai.com/apps/guide/local-dev.md): Running a Civitai App against a real host locally — the page-money dev harness's mock and live modes, minting a dev block token with civitai app dev-token, which credentials can spend Buzz, and how dev:live reaches the backend. - [What `civitai app validate` proves](https://developer.civitai.com/apps/guide/validate.md): What the local civitai app validate covers of the platform's approve-time checks — the lockfile rule, the BLOCK_READY advisory, the storage checks, and the --json result shape for CI. - [What goes in the bundle](https://developer.civitai.com/apps/guide/packaging.md): What civitai app submit packages and leaves out — its three reported sizes, the submit-body ceiling, the dotenv rules, the dirty-work-tree guard and the credential warning. - [First review checklist](https://developer.civitai.com/apps/guide/first-review.md): A checklist to work through before civitai app submit — states, layout, theme, the money path, batching a submission, and confirming the live build. - [Review, approval and deploy](https://developer.civitai.com/apps/guide/review-and-deploy.md): What happens to a Civitai App after civitai app submit — the review and deploy lifecycle, tracking it, the recorded source commit, and withdrawing a submission. - [Your store listing](https://developer.civitai.com/apps/guide/store-listing.md): The icon, cover, screenshots and text a Civitai App listing needs to publish — what is checked where, which edits stage a revision, and how civitai app doctor gates a release. - [App Store sub-listings](https://developer.civitai.com/apps/guide/sub-listings.md): Publishing items your viewers make as their own /apps store cards — the apps:store:items:write scope, the three REST routes, limits, error codes and review. - [App Store catalog sync](https://developer.civitai.com/apps/guide/catalog-sync.md): Keeping an off-site app's own items in the /apps store as their own cards, server to server — the AppStoreCatalogWrite client-credentials token, PUT/DELETE/GET /api/v1/catalog/items, attribution, review, limits and error codes. - [How an app earns](https://developer.civitai.com/apps/guide/earning.md): How an App Block earns — digital goods (including paid admission) and the per-generation author fee — what each pays, when it settles, and the refusals to branch on. - [Moving a block off the bridge](https://developer.civitai.com/apps/guide/porting.md): Replace a block's postMessage data calls with /api/v1/blocks/* REST calls — what each credential reaches, what auth oauth gives up, and a hook-by-hook replacement table. - [Generating images (text-to-image)](https://developer.civitai.com/apps/guide/text-to-image.md): The primary App Blocks generation path — submit a text-to-image WorkflowBody, add LoRAs, do img2img (page apps only), handle refusals and limits, and read the result. - [Comfy on Civitai (customComfy)](https://developer.civitai.com/apps/guide/comfy-cloud.md): Drive ComfyUI from an App Block — either by naming a server-registered recipe, or by shipping your own graph inline. The two arms, the gates on each, the budget rules, and how to try it in the local harness. - [Multi-step workflows (kind 'workflow')](https://developer.civitai.com/apps/guide/workflows.md): Chain up to eight orchestrator steps in one App Blocks generation, where a later step reads an earlier step's result. References, repeat, merge, the limits, how the price and the author fee work, every refusal code, the per-step result, partial failure, and testing it with the mock host. - [Storing data (document store)](https://developer.civitai.com/apps/guide/storage.md): Keep an app's data on Civitai with the document store — declare collections in the manifest, the apps:storage and apps:storage:publish scopes, documents, conditional writes, lists, counters and marks, moderation, error codes, limits, local development, createFakeStorage, the REST routes, and moving off the legacy useAppStorage / useSharedStorage stores. - [Posting from an app](https://developer.civitai.com/apps/guide/posting.md): Publish a post to the viewer's Civitai profile from a page app — the two source kinds, the upload-then-post flow, requirements, limits and testing. - [Custom events (analytics)](https://developer.civitai.com/apps/guide/custom-events.md): Send custom analytics events from an app — declare each event and its properties under analytics.events in the manifest, send them with useBlockAnalytics().track() or app.host.track(), what the platform records and drops, the per-mount limits, and where owners see the aggregates. - [Running embedded & handling direct traffic](https://developer.civitai.com/apps/guide/embedding.md): Why a Civitai App runs embedded in civitai.com, why to share the /apps/run/ route, and how and manifest.bootSkeleton handle a direct visit. - [Markup that holds up](https://developer.civitai.com/apps/guide/markup.md): Four structural habits that make a block accessible, reviewable and testable — semantic collections, stable test hooks, an honest boot signal, and destructive controls that announce themselves. - [Responsive blocks](https://developer.civitai.com/apps/guide/responsive.md): Making a block fit the slot the host gives it — the --civitai-bp-* scale, useBlockBreakpoint(), the em-vs-px breakpoint trap, and what the design system reflows for you. - [Theming & the design system](https://developer.civitai.com/apps/guide/theming.md): Civitai's design system — tokens, framework-agnostic CSS, custom elements and React bindings — with setup, light/dark theming and the @layer override model. ### Examples - [Example apps](https://developer.civitai.com/apps/examples.md): The maintained Civitai App examples in civitai-app-starters — what each shows, its scopes and hooks, and how to run it — plus larger public apps. ### The `civitai` CLI - [CLI troubleshooting](https://developer.civitai.com/site/guide/cli-troubleshooting.md): Look up a civitai CLI error message by the text it printed, grouped by what you were doing. - [CLI terminal output](https://developer.civitai.com/site/guide/cli-output.md): How the civitai CLI decides whether to colour its output, and what it does to server-supplied text before printing it. - [Report a platform problem](https://developer.civitai.com/site/guide/platform-feedback.md): Send Civitai feedback about its developer platform — the CLI, SDKs, these docs, app review, the sandbox, token scopes, the MCP servers — with civitai feedback send or the MCP send_platform_feedback tool, and read back whether it was fixed. ### Reference - [Apps Reference](https://developer.civitai.com/apps/reference.md): Generated-from-source reference for Civitai Apps — scopes, manifest, message bridge, React hooks, and the CLI. - [Scopes reference](https://developer.civitai.com/apps/reference/scopes.md): The full Civitai App scope catalog — what each scope authorizes, its OAuth bit, and how it is bound. - [Manifest reference](https://developer.civitai.com/apps/reference/manifest.md): Every block.manifest.json field, generated from the canonical JSON Schema. - [Generation bridge reference](https://developer.civitai.com/apps/reference/generation.md): The field-level generation contract — the WorkflowBody union, the useBuzzWorkflow lifecycle (incl. cancel), and the BlockWorkflowSnapshot result — with every type indexed and linked to the page that documents it, generated from the published SDK type JSDoc. - [Components reference](https://developer.civitai.com/apps/reference/components.md): The @civitai/components framework-agnostic component pack — each component's data-civitai-ui name, enumerable attributes, and the ARIA/role markup contract. - [Message bridge reference](https://developer.civitai.com/apps/reference/messages.md): The full postMessage protocol between a Civitai App and its host — payloads, directions, request/reply pairing, and page-only messages. - [Hooks reference](https://developer.civitai.com/apps/reference/hooks.md): Every @civitai/blocks-react hook, indexed by name and linked to the topic page that documents it — signature, example and README notes, generated from the published package. - [CLI reference](https://developer.civitai.com/apps/reference/cli.md): The whole civitai CLI command tree, indexed by name and linked to the page that documents each command — commands, flags, examples and the global flags — generated from the canonical Go CLI (civitai/cli). #### Generation bridge - [useBuzzWorkflow lifecycle and snapshot types](https://developer.civitai.com/apps/reference/generation/lifecycle.md): The useBuzzWorkflow() lifecycle, the submit and watch options, and the workflow snapshots and app-workflow records it returns. Part of the Generation bridge reference. - [Workflow body types](https://developer.civitai.com/apps/reference/generation/bodies.md): The WorkflowBody union and its text-to-image, ComfyUI and orchestrator-step members, with their parameter types. Part of the Generation bridge reference. - [Training and multi-step workflow types](https://developer.civitai.com/apps/reference/generation/training-and-multi-step.md): The training body and its ai-toolkit parameter types, and the multi-step workflow body. Part of the Generation bridge reference. #### Hooks - [Context, frame and analytics hooks](https://developer.civitai.com/apps/reference/hooks/context.md): The host handshake, theme, sizing, the block token and settings, direct-load and nested documents, and analytics. Part of the Hooks reference. - [Generation hooks](https://developer.civitai.com/apps/reference/hooks/generation.md): useBuzzWorkflow and the hooks that list, publish and resource a generation. Part of the Hooks reference. - [Batch, confirmed-step and training hooks](https://developer.civitai.com/apps/reference/hooks/batches-and-training.md): Estimating and running batches, running one job above the per-call budget, and LoRA training. Part of the Hooks reference. - [Buzz, purchase and tip hooks](https://developer.civitai.com/apps/reference/hooks/buzz-and-purchases.md): Buzz balance and transactions, Buzz and goods purchases, entitlements, compensation and tips. Part of the Hooks reference. - [Viewer, consent and navigation hooks](https://developer.civitai.com/apps/reference/hooks/viewer-and-navigation.md): The viewer, sign-in and consent prompts, maturity and gated images, following collections, and navigating the host. Part of the Hooks reference. - [Storage, picker and media hooks](https://developer.civitai.com/apps/reference/hooks/storage-and-media.md): Per-app and shared storage, wildcard packs, checkpoint, resource and image pickers, uploading and saving images, and creating posts. Part of the Hooks reference. #### CLI - [civitai app — authoring commands](https://developer.civitai.com/apps/reference/cli/app.md): Scaffold, validate, submit and operate an App: every civitai app command except the listing group. Part of the CLI reference. - [civitai app listing — store listing commands](https://developer.civitai.com/apps/reference/cli/app-listing.md): Edit an App's store listing: icon, cover, screenshots, text, source repo and revisions. Part of the CLI reference. - [Catalog and download commands](https://developer.civitai.com/apps/reference/cli/catalog.md): Browse and search the public catalog, and download model files. Part of the CLI reference. - [Generation commands](https://developer.civitai.com/apps/reference/cli/generation.md): Run generations and manage workflows. These spend Buzz. Part of the CLI reference. - [Account, setup and utility commands](https://developer.civitai.com/apps/reference/cli/account-and-setup.md): Sign in, inspect your account and Buzz, configure your coding agent, and update the CLI. Part of the CLI reference. ### Design system - [Component showcase](https://developer.civitai.com/apps/showcase.md): Every custom element in @civitai/components, live and themed, with the CSS-only data-civitai-ui fallback where one exists. - [Design tokens](https://developer.civitai.com/apps/tokens.md): Every --civitai-* design token from @civitai/theme, with its light and dark value, and how to consume tokens. - [Theming & the design system](https://developer.civitai.com/apps/guide/theming.md): Civitai's design system — tokens, framework-agnostic CSS, custom elements and React bindings — with setup, light/dark theming and the @layer override model. - [Components reference](https://developer.civitai.com/apps/reference/components.md): The @civitai/components framework-agnostic component pack — each component's data-civitai-ui name, enumerable attributes, and the ARIA/role markup contract. ### Guide - [Site API Guide](https://developer.civitai.com/site/guide.md): Getting started with the public Civitai site API. - [Getting started](https://developer.civitai.com/site/guide/getting-started.md): Create an API token and make your first request to the Civitai site API. - [Authentication](https://developer.civitai.com/site/guide/authentication.md): How to authenticate with the Civitai site API using bearer tokens. - [CLI](https://developer.civitai.com/site/guide/cli.md): Browse, search, and download from Civitai in the terminal with the civitai CLI — read commands plus the authenticated download command. - [CLI credentials and scopes](https://developer.civitai.com/site/guide/cli-auth.md): Which civitai CLI credential can do what — the OAuth device flow, the --scopes generate opt-in, a personal API key — and how to read civitai whoami from a script. - [Generating images from the CLI](https://developer.civitai.com/site/guide/cli-generate.md): civitai generate spends real Buzz — how to price a run with --dry-run, what --max-cost can and cannot do, the confirmation gate, waiting and downloading outputs, and the exit code for every failure. - [Choosing a model, and what the server may run instead](https://developer.civitai.com/site/guide/cli-generate-models.md): How civitai generate's --checkpoint, --ecosystem and --image interact, and how the CLI reports and refuses silent model substitution. - [Raw generation graphs](https://developer.civitai.com/site/guide/cli-generation-graphs.md): Use civitai generate --print-input and --input to set seed, steps, cfgScale and sampler in a raw generation graph, and what the CLI refuses or cannot check there. - [Tracking and cancelling generations](https://developer.civitai.com/site/guide/cli-workflows.md): civitai workflows list, get and cancel — cursor paging, the deliverable/total output count, what the server says went wrong, what cancelling does to a charge, and the per-workflow Buzz transaction record. - [Scripting the CLI with --json](https://developer.civitai.com/site/guide/cli-json.md): What civitai --json guarantees for scripts — pure-JSON stdout, errors on stderr, re-indented and repaired bodies, and the generation payload's caveats. - [CLI terminal output](https://developer.civitai.com/site/guide/cli-output.md): How the civitai CLI decides whether to colour its output, and what it does to server-supplied text before printing it. - [CLI troubleshooting](https://developer.civitai.com/site/guide/cli-troubleshooting.md): Look up a civitai CLI error message by the text it printed, grouped by what you were doing. - [Report a platform problem](https://developer.civitai.com/site/guide/platform-feedback.md): Send Civitai feedback about its developer platform — the CLI, SDKs, these docs, app review, the sandbox, token scopes, the MCP servers — with civitai feedback send or the MCP send_platform_feedback tool, and read back whether it was fixed. - [Pagination](https://developer.civitai.com/site/guide/pagination.md): Page-based vs. cursor-based pagination on the Civitai site API. - [Errors](https://developer.civitai.com/site/guide/errors.md): Error response shape and HTTP status codes used by the Civitai site API. - [AIR identifiers](https://developer.civitai.com/site/guide/air.md): The AI Resource Identifier (AIR) URN format used across Civitai and the Orchestration API. ### OAuth - [OAuth](https://developer.civitai.com/site/oauth.md): Authorize a third-party app to act on a Civitai user's behalf using OAuth 2.0 with PKCE. - [OAuth Quickstart](https://developer.civitai.com/site/oauth/quickstart.md): End-to-end Authorization Code + PKCE walkthrough with curl. - [Registering an OAuth app](https://developer.civitai.com/site/oauth/register-app.md): Create an OAuth client from your Civitai account settings. - [OAuth Scopes](https://developer.civitai.com/site/oauth/scopes.md): The full scope bitmask used by Civitai OAuth tokens, plus the four presets exposed in the app-registration UI. - [OAuth Endpoints](https://developer.civitai.com/site/oauth/endpoints.md): Request/response reference for the Civitai OAuth authorize, token, revoke, and userinfo endpoints. - [Buzz spend limits](https://developer.civitai.com/site/oauth/buzz-limits.md): How Civitai users cap an OAuth app's buzz spending, and what your app should expect at runtime. ### Reference - [Reference](https://developer.civitai.com/site/reference.md): Civitai site API reference — per-resource endpoint documentation. - [Models](https://developer.civitai.com/site/reference/models.md): List and fetch Civitai models. - [Model versions](https://developer.civitai.com/site/reference/model-versions.md): Fetch a specific version of a Civitai model by ID or file hash. - [Images](https://developer.civitai.com/site/reference/images.md): Browse images posted to Civitai, with filters for post, model, version, and creator. - [Posts](https://developer.civitai.com/site/reference/posts.md): Fetch a published Civitai post with its title, description, tags, and images. - [Articles](https://developer.civitai.com/site/reference/articles.md): List, search, and fetch Civitai articles. - [Collections](https://developer.civitai.com/site/reference/collections.md): List, search, and fetch public Civitai collections. - [Creators](https://developer.civitai.com/site/reference/creators.md): List Civitai creators. - [Tags](https://developer.civitai.com/site/reference/tags.md): List model tags used on Civitai. - [Users](https://developer.civitai.com/site/reference/users.md): Look up users by ID or username, and inspect the authenticated caller. - [Permissions](https://developer.civitai.com/site/reference/permissions.md): Check whether a caller (or another user) is allowed to generate from a given resource. - [Vault](https://developer.civitai.com/site/reference/vault.md): Manage a member's saved model versions — list, check, add, and remove. - [Enums](https://developer.civitai.com/site/reference/enums.md): Valid enum values used across the Civitai site API. ### Other - [Agent setup](https://developer.civitai.com/agent-setup.md): One line that sets your coding agent up to build Civitai Apps. - [Civitai Apps](https://developer.civitai.com/apps.md): Build small web apps that run inside civitai.com: guide, examples and reference for Civitai Apps. - [Civitai Orchestration](https://developer.civitai.com/orchestration.md): Submit AI workflows (video, image, audio, text) to the Civitai orchestrator through one API, and get results back. - [Civitai Site API](https://developer.civitai.com/site.md): REST API for browsing models, images, creators, and tags on civitai.com.