Install any skill in seconds. Free to start, no credit card required.
Get Started Free →majiayu000/ai-apis-like-chatgpt
How to use AI APIs like OpenAI, ChatGPT, Elevenlabs, etc. When a user asks you to make an app that requires an AI API, use this skill to understand how to use the API or how to respond to the user.
Passed 17 of 22 test cases with the skill, and 4 of 22 without it.
and 20 more in the full report
14 fixed3 passed either way4 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
Should I pass `dall-e-2` or `dall-e-3` as the model parameter when sending an image edit request via FormData in Vibecode?
| Checked | Without skill | With skill |
|---|---|---|
| The model appended to FormData is gpt-image-1 | Missed | Passed |
The instructions your model reads when the skill loads.
The Vibecode Enviroment comes pre-installed with a lot of AI APIs like OpenAI, ChatGPT, Elevenlabs, etc. You can use these APIs to generate text, images, videos, sounds, etc.
Users can find most of the APIs in the API tab of the Vibecode App. You can tell the user to look there for any custom or advanced API integrations.
However, we will go over the basic OpenAI APIs.
You can use the OpenAI Responses API to generate text, search the web, and analyze images. The latest model family is gpt-5.2 as of December 2025. Docs: https://platform.openai.com/docs/api-reference/responses/create
Basic request:
const response = await fetch("https://api.openai.com/v1/responses", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.EXPO_PUBLIC_VIBECODE_OPENAI_API_KEY}`,
},
body: JSON.stringify({ model: "gpt-5.2", input: "Your prompt here" }),
});
Vision (Image Analysis): Use expo-image-picker to select images. You must use expo-file-system to read as base64 data URL:
import * as ImagePicker from "expo-image-picker";
import * as FileSystem from "expo-file-system";
// Pick image from library
const result = await ImagePicker.launchImageLibraryAsync({
mediaTypes: ["images"],
allowsEditing: true,
quality: 0.8,
});
if (result.canceled) return;
const imageUri = result.assets[0].uri;
test cases passed, vs 4 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.