# JunFeiAI cf-global API > OpenAI-compatible text, image, and video APIs, plus discoverable Gemini and audio catalogs. Vector APIs are not currently integrated. Base URL: https://cf-global.junfeiai.com Use `Authorization: Bearer `. Never expose or persist API keys or signed media URLs. ## Start here - [Model catalog](https://doc.global.junfeiai.com/docs/models.html) - [Machine-readable model catalog](https://doc.global.junfeiai.com/model-catalog.json) - [AI and Agent integration](https://doc.global.junfeiai.com/docs/ai.html) - [OpenAPI 3.1 schema](https://doc.global.junfeiai.com/openapi.yaml) - [Complete Markdown documentation](https://doc.global.junfeiai.com/llms-full.txt) - [Downloadable Agent Skill](https://doc.global.junfeiai.com/downloads/cf-global-api-skill.zip) ## API guides - [Start and authentication](https://doc.global.junfeiai.com/docs/api.html) - [Model catalog](https://doc.global.junfeiai.com/docs/models.html) - [Text API](https://doc.global.junfeiai.com/docs/text-api.html) - [Image API](https://doc.global.junfeiai.com/docs/image-api.html) - [Video API](https://doc.global.junfeiai.com/docs/video-api.html) - [Official pricing and cf-global billing](https://doc.global.junfeiai.com/docs/pricing.html) ## Billing and price sources `actual_cost = total_cost * effective_rate_multiplier` Official provider prices and cf-global effective prices are separate fields in the model catalog. The account-specific multiplier overrides the group default. For completed requests, the production bill is authoritative. ## Runtime checks - Call `GET /v1/models` with the target API key before relying on a model list. - Ask for confirmation before initiating paid image or video generation unless already authorized. - Poll video tasks with the same API key that created them until a terminal state. - Download completed video from the signed URL returned by task status; never construct /content manually. - Validate downloaded media bytes and do not persist signed URLs.